- HOME
- 技術
- 4bit-CPU TD4
- [TD4] 製作に向けた基本方針、機能ブロックへの分解
[TD4] 製作に向けた基本方針、機能ブロックへの分解
TD4関連記事は4bit-CPU TD4で管理しています。
TD4制作の設計方針
これから設計を本格的に始めるにあたり、作業を整理するために設計対象の範囲をステージ分けしてみました。
第一ステージ
– CPUを除いた機能全て(電源、クロック/リセット回路、ROMなど)
第二ステージ
– CPU部分(命令デコーダやレジスタ群など)
これから4bit CPUを作るのに「CPUを除いた機能って何だ?」と思われるかもしれませんが、これは電源、クロック/リセット回路、ROMのことを指しています。これらの基盤となる部分を先に整えることで、CPU本体部分の設計・実装がスムーズになるはずです。いわゆる「土台作り」から始めるアプローチです。
また「設計」と言いつつ教科書(CPUの創りかた)で全部設計済みじゃないか……という声が聞こえてきそうですが、その通りです(笑)。そのため今回の「設計」は、メモリアクセス用LEDなどの追加部品の検討と、PasSを使用した部品配置および仮想配線の作成に焦点を当てます。この段階をしっかりと行えば、あとは半田付けするだけで終了!というレベルまで準備できると考えています。
実際の量産回路設計においてもこの「仮想配線」の段階が非常に重要です。既存の回路図から単に部品を配置して配線するだけでは、実装時に様々な問題が発生する可能性があります。事前に部品配置や配線経路を十分に検討することで、不必要なクロストークやノイズの問題を回避し、デバッグの手間を大幅に減らすことができます。
TD4の機能ブロック分解
続いてTD4構成要素を機能ブロックに分解してみます。回路の繋がる順に作るのではなく、それぞれの機能ブロック毎に設計・実装していく方針です。これにより、各ブロックの動作確認が容易になり、トラブルシューティングもしやすくなります。
この「モジュール分割アプローチ」は、実際のプロセッサ開発の現場でも採用されている手法です。インテルやAMDの大規模CPUでさえ、ALU、FPU(浮動小数点演算ユニット)、キャッシュコントローラなど、機能別のチームが並行して開発を進めています。TD4のような小規模なプロジェクトでも、この方法論を採用することで、体系的な開発スキルが身に付くと考えています。
第一ステージ – CPUを除いた機能全て
– 電源
– リセット/クロック
– ROM
第二ステージ – CPU部分
※下記、製作順は未定です。
– レジスタ群(74HC161・4つ分)
– マルチプレクサ(74HC153・2つ分)
– ALUとステータスレジスタ(74HC74 と 74HC283)
– プログラムカウンタ(レジスタ群に含まれる)
– I/O部分(LEDと入力用DIPスイッチ)
– 命令デコーダ(74HC10 と 74HC32)
ブロック図はこんな感じでしょうか。
ブロック図が無い……移転前のサイトにもブロック図がありませんでした。泣 もちろん記憶も無いため改めて用意することはなさそうです。