『CPUの創りかた』のTD4をブレッドボードで作った話。

f:id:yousay100704:20180828110839j:image

今回は書籍『CPUの創りかた』のTD4(とりあえず 動作するだけの 4bitCPU)をブレッドボードで作ってみたので紹介したいと思います。

回路図、動作原理などは本書をご覧いただくとして、今回は製作物の紹介のみとさせていただきます。

 

今回、4つの制約をつけて製作しました。

 

1,ブレッドボードのみで作ること。

2,部品は全て秋葉原で現地調達すること。

3,配線をできるだけ美しく。

4,サンプルプログラムの動作と命令デコーダーの確認が取れ次第完成。

 

 

…だったのですが、自分の作ったクロック回路では74HC161の4ビットバイナリカウンタの値が飛び飛びになってしまい正常な動作ができず。

原因不明のまま、クロックはファンクションジェネレーターの矩形波に頼らせていただきました…。残念です。

また、電源には直流安定化電源を使用しています。

 

ということで完成したものがこちら。

f:id:yousay100704:20180828105733j:image

 

回路配置

主な回路の配置です。

名前は「TD4 on Bread Board ver.2.30」としました。

そのまんまです。ver.の値は適当です。

f:id:yousay100704:20180828110348j:image

動作

 サンプルプログラム1LEDちかちかの動作中の動画です。

10Hzで動作しています。CPU中央下の黄緑のLED4つが出力となっていて、ウェーブしているのが確認できると思います。


【CPUの創りかた】TD4 on Bread Board LEDチカチカ【4bitCPU】

 

 

サンプルプログラム2ラーメンタイマーの動作中の動画です。

0:20から3:00までは8倍速をしています。

本書に書いてある通り、1Hzで195クロック、3分15秒タイマーとなっており、ぴったりブザーがなっています。


【CPUの創りかた】TD4 on bread board ラーメンタイマー【4bitCPU】

 

その他の命令デコーダに関しても、しっかりと全て確認が取れました。

 

配線について

制約「3,配線をできるだけを美しく」を一応は心がけたつもりです。

ですがCPUの方のインターフェイス用のLEDなどはすべて柔らかいジャンパーワイヤーを用いてしまい、最終的にゴチャゴチャになってしまいました。

 

 

全体図

f:id:yousay100704:20180828122619j:image

ROMの配線

f:id:yousay100704:20180828111722j:image

クロック回路(使えませんでしたが…)・リセット回路・CPUの配線
f:id:yousay100704:20180828111707j:image

↑の柔らかいジャンパーワイヤーを取り除いたもの
f:id:yousay100704:20180828111715j:image

ブザー回路
f:id:yousay100704:20180828111659j:image

クロック・リセット回路
f:id:yousay100704:20180828141903j:image

コマンドデコーダ
f:id:yousay100704:20180828111656j:image

入力・出力・データセレクト・ABレジスタ・加算器・プログラムカウンタ
f:id:yousay100704:20180828111726j:image

ROMの柔らかいジャンパーワイヤーを取り除いたもの
f:id:yousay100704:20180828111648j:image

アドレスデコーダ

f:id:yousay100704:20180828111703j:image

電源回路

f:id:yousay100704:20180828111651j:image

解体後
f:id:yousay100704:20180828150622j:image

 

 

部品について

 

制約「2,部品は全て秋葉原で現地調達すること」は一部互換品もありますが『CPUの創りかた』初版2003年から15年経った今でもしっかりと達成できました。

秋月電子通商千石電商、マルツで揃えました。

 

以下、部品表ですが、細かい型番などは省略させていただきます。

総額ですが、1万5000円ぐらいはかかったと思います。

 

TD4 on Bread Board ver.2.30 部品表


1kΩ1/2W 4インチ幅 38個

1kΩ1/2W 5インチ幅 15個

33kΩ1/2W 4インチ幅 1個

3.3kΩ1/2W 4インチ幅 1個

100kΩ1/2W 4インチ幅 4個

10kΩ1/2W 4インチ幅 1個

集合抵抗 10kΩ 8素子9ピン 1個

集合抵抗 1kΩ 4素子5ピン 1個

積層セラミックコンデンサ 0.1μF 1個

積層セラミックコンデンサ 0.33μF 1個

電解コンデンサ 100μF 16V 1個

電解コンデンサ 10μF 16V 2個

オーディオ用無極性電解コンデンサ 10μF 25V 1個

ダイオードアレー 8素子9ピン 16個

黄色LED 25個

赤色LED 19個

緑色LED 6個

74HC161 4個

74HC283 1個

74HC138 2個

74HC153 2個

74HC540 1個

74HC04 1個

74HC32 1個

74HC10 1個

74HC74 1個

自励式ブザー 1個

DIPスイッチ8 16個

DIPスイッチ4 1個

タクトスイッチ 2個

トグルスイッチ 2個

三端子レギュレータ 5V1A 1個

ヒートシンク 1個

M3ネジ 1本

各ICソケット(IC、DIPスイッチ)

 

【固いジャンプワイヤ】

茶色 131個

白色 43個

灰色 11個

紫色 45個

青色 13個

緑色 11個

黄色 50個

橙色 85個

赤色 12個

無印 9個

橙長 2個

赤長 2個


【柔らかいジャンパワイヤ】

200mm 16本

100mm 38本

70mm 8本

50mm 18本

 

バナナプラグ⇄バナナプラグケーブル 2本

クワ型⇄ジャンパーピンケーブル 4本

ブレッドボード  2枚

 

 

まとめ

今回、TD4をブレッドボードで作ってみた感想ですが、ブレッドボードでの製作、とても楽でした。

TD4を製作するとなると大半の方がユニバーサル基板、プリント基板かと思われます。

ブレッドボードはハンダ付けが必要ありません。何度でも修正、やり直しができます。

ですがブレッドボードで製作している方はあまり見かけません。恐らく、理由としてはブレッドボードは単なる試作でしかないということ(ブログにまとめるほどのものではない)、配線材料にお金がかかってしまうことなどがあげられると思います。

ですが今回、自分はブレッドボードでの製作かつ配線をできるだけ美しくすることを目標に試作ではなく一つの「作品」として製作してみました。

CPUの創りかたを読んだ!作ってみたい!けどハンダ付けなんかやったの中学生以来だ…。」そのような方に、この記事を読んでいただいてTD4のブレッドボードでの製作のキッカケになればと思います。

 

ご覧いただきありがとうございました。