CPUの創りかた
最近FPGAをいじっているのですが、FPGAやるからにはCPUもハードウェアレベルでわかってないといけないよなぁと思い、こんな本を読みました。パタヘネCPUの次に読めっていわれるやつですね。
- 作者: 渡波郁
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2003/10/01
- メディア: 単行本(ソフトカバー)
- 購入: 35人 クリック: 445回
- この商品を含むブログ (193件) を見る
絵柄に古さを感じますね。信頼できます。フレンチメイドにテスター棒。ノリも00年代真っ盛りな感じで00年代オタクは涙なしに読み切ることはできないでしょう。2003年出版の本で、私が中学生のころ読んで挫折したものになります。当時はまったく意味わからんかった。
でもいまならいけるかと思って図書館で借りて読んでみました。
なんてわかりやすいんだ。あの頃はさっぱりわからなかったのに今ではスラスラわかる!人間って成長してるんですね。わかった気になれました。
この本についてTechTalkで発表しました。もしよければSlideをご覧ください。
さて読み進めていくうちに自分も本の中で製作されているCPU「TD4」(Toriaezu Dousa-suru-dakeno 4BitCPU)を作りたくなりました。思い入れのある本なので頑張って作りたい。そのために下調べをします。
本が実に16年前なので乗っているパーツがだいぶ古い。いくつか入手困難のパーツもあるので備忘録がてらパーツリストにまとめます。
ロジックICパーツリスト
74HC74 | フリップフロップ | http://akizukidenshi.com/catalog/g/gI-08597/ | |
74HC161 | 同期4ビット二進カウンタ | http://eleshop.jp/shop/g/gT11508/ | |
74HC153 | マルチプレクサ | http://akizukidenshi.com/catalog/g/gI-10924/ | |
74HC32 | OR | http://akizukidenshi.com/catalog/g/gI-12877/ | |
74HC10 | 3入力NAND | 74HC00, 74HC04で代替 | http://akizukidenshi.com/catalog/g/gI-10856/ |
74HC14 | シュミットトリガNOT | http://akizukidenshi.com/catalog/g/gI-10923/ | |
74HC283 | 全加算器 | https://www.kashinoki.shop/?pid=122479187 | |
74HC540 | 反転バッファ | 74HC04で代替 | http://akizukidenshi.com/catalog/g/gI-08596/ |
74HC154 | 4to16デコーダー | 74HC138を2個で代替 | http://akizukidenshi.com/catalog/g/gI-10013/ |
入手困難なIC
74HC10
これは3入力のNANDです。NANDとNOTがあれば自作できるので問題なし。
74HC540
8Bitの反転バッファです。本の中ではICの数を減らすためにわざわざこれが使われていますが別にNOTでもよいので04で代用します。
74HC154
4入力16出力のデコーダーですね。3to8のデコーダーであれば秋月等で入手できるので138を2つつなげて使います。これについては
で詳しくまとめてあります。っていうかほとんど内容被ってしまった。この方も2019年にTD4を作られていますね。今でもこの本が読まれているんだなって驚きです。参考になります。
オリジナルの回路から少し改変して、MicroUSB給電で動くようにしようとかLEDの数を増やしてチカチカさせようとか色々考えています。回路図にしないとね。
パーツも決まったので発注しようと思います。本当は秋葉原行って買いたいんだけどね...時間がなくてね...
最終的なパーツリストを貼っときます。あっICの隣の数字はICの数じゃなくて必要な回路数なのでここからまた計算しないとだめ。
74HC74 | 2 |
74HC161 | 4 |
74HC153 | 2 |
74HC32 | 4 |
74HC00 | 3 |
74HC14 | 6 |
74HC283 | 1 |
74HC04 | 9 |
74HC138 | 2 |
セラコン0.1u | 13 |
電解コンデンサ16V100u | 1 |
電解コンデンサ16V10u | 2 |
無極性電解コンデンサ10u | 1 |
トグルスイッチ | 3 |
プッシュスイッチ | 2 |
DIPスイッチ 8bit | 16 |
1N4148 | 128(16*8bit) |
R10k | |
R10k集合抵抗 | 1 |
R100k | |
R1k | |
R100 | |
33K | |
33KVR(可変用) | 4 |
LED | 適宜 |
2KVR(微調整用) | 1 |
MicroUSBモジュール | 1 |
かっこいいつまみ | 1 |
各種ピンソケット | 適宜 |
基板 | 適宜 |
線材 | 適宜 |
本当にメモ書き程度って感じ。次は回路書いて基板作っていきたいなぁ。
今回は全部ユニバーサル基板で実装するつもりです。だいぶ半田付けの感覚を忘れているので練習したいと思います。うまく行ったら基板発注するかも!
そんな感じです。
続編できました。