SSブログ
English Version

SuperSimpleController(その25)ALLPCBのUSELESSコンテストに入賞 [OriginalCPU]

 中華系の格安プリント基板製造業者の一つであるALLPCBさんで "Useless" Design Competition を開催していたので応募してみました。ALLPCBさんでは初登録者への無料クーポン(送料も含めて基板製造が無料)の提供などのサービスがあり、一度基板製造を依頼してみてはいかがでしょうか?

 コンテストの結果ですが、拙作のオリジナル8bit CPUが「めっちゃ面白い賞」に選ばれました(^^)/

ALLPCB "Useless" Design Competition Result


 英語ですが応募内容も貼っておきます。


Original architecture 8-bit CPU board consisting of 13 DIP ICs

### Project background ###
I like to use DIP ICs to run old CPUs such as Z80. One of my design policies is to use as few chips as possible. It's completely useless, but this time I made the CPU itself using DIP ICs.

### Design policy ###
* An 8-bit CPU with a 16-bit address bus.
* Use only DIP type logic ICs and memory ICs (GAL can be used).
* Minimize the number of ICs used.
* Implement the CPU functions and the memory required for the CPU to operate on one board.

### CPU configuration ###
In order to reduce the number of ICs used, the machine language implementation method was a microprogram method using ROM. In addition, the ALU (Arithmetic and Logic Unit) function has been realized by using a large-capacity ROM(32Mbit) as a look-up table in order to realize addition, subtraction, logical operation and bit shift arithmetic processing. Two general-purpose registers (R0, R1) are implemented, and the output of these two registers is also used as the input of the ALU. Implemented a conditional jump instruction that refers to the zero flag and carry flag output from the ALU. In addition, the carry flag is also used as the input of the ALU, and the carry correspondence processing of arithmetic operations and bit shift instructions is also implemented.
Furthermore, it has an I/O space independent of the 64K bytes memory space, and by adding a connector for I/O, it is easy to connect an external interface.

### Outcome ###
* The CPU function was realized using only 13 DIP ICs and mounted on one board (11 ICs can be seen in the photo, but 2 ICs are mounted on the back of the board).
* I made an assembler for this CPU using the macro function of the macro assembler (M80, L80) for CP/M.
* By connecting a small board for serial communication to the external interface connector, I have developed a monitor program that can operate the memory and download the executable file.
* I created a 16-bit addition, subtraction, multiplication and division operation in machine language, and created a calculator program that can execute formulas in reverse Polish notation.

### Difficulties and solutions ###
* When creating microcode to implement machine language, it is difficult to create binary data directly, so I created an environment to convert microcode instructions into bit data using the macro function of the macro assembler.
* Furthermore, when implementing complex machine language such as call instructions, even microcode instructions are inefficient, so I created microcode by writing using microcode mnemonics with a higher degree of abstraction. However, I manually converted the microcode mnemonics to microcode instructions.
* To facilitate microcode debugging, I used the PIC24FJ64 to enable external clocking. By controlling the reset and clock with PIC24FJ64, it is possible to stop processing and step operation at the specified location of the microcode.



*Reference video
https://www.youtube.com/watch?v=LzoIbzHgR4k

*Reference fig

Fig. 1


Fig. 2


Fig. 3


Fig. 4


Fig. 5



[TOP] [ 前へ ] 連載記事 [ 次へ ]

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

リバーシブルなDIP変換基板(その2) [PIC]

 前回の記事で書いたDIP変換基板は11/5にALLPCBさんに製造依頼し、11/12に届きました。5枚依頼していつものように6枚入っていました。

ALLPCBさんから届いたDIP変換基板


 メモリ(IS62WV51216)を半田付けしたものが下の写真になります。ブレッドボードでの使用が前提なので細ピンヘッダを付けています。
 ピンヘッダのピンを入れるのが少しきつかったのでもう少し穴径を大きくした方がいいかもしれません。現在のホール直径の設計値は0.76mmです。
★変更:念のためピンヘッダのピンの横幅を確認したところ0.7mm、以前秋月さんから購入した細ピンヘッダは0.4mmで今回使用したものは細ピンヘッダではありませんでしたorz

TSOPのDIP化(44ピン)


 半田ごてで半田付けしたのであまりきれいじゃないですね^^;
 反対側の半田付けはこんな感じです。(下の写真・・なんか浮いているように見えません?)

TSOPのDIP化での後半のピンの半田付け状況(ピンヘッダ取付前)


 ついでなのでPIC24FJ64GA-004(TQFP)も付けてみました。半田付けが更に汚くなりましたw

TQFPのDIP化(44ピン)


 以前44ピンQFPのDIP変換基板を探したことがありますが、秋月さんでも取り扱っておらずAitendoさんでやっと見つけることができました。
 下の写真は今回作成したものと市販のものを並べた写真です。今回作成したものは市販のものより幅が2ピン分小さいのでブレッドボードに刺した場合、上下2列分を配線で使うことができます(製品化したら売れそうですねw)。

TQFPのDIP化変換基板比較



[TOP] [ 前へ ] 連載記事 [ 次へ ]

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー