論理設計を進めていくと、また難題が降りかかってきた。使用するトランジスタ数を2,000個以内にすることと、汎用レジスタやアドレススタックだけでなく、すべての論理にダイナミック回路の使用という要請であった。前回の訪問時に実施したトランジスタ数の見積もりでは、大きな容量を持つ信号線を駆動するドライバ回路、命令とシステムバスの制御などについて論理量の見積もりを行わなかった。したがって、要求された2,000個のトランジスタはかなりきついハードルと予想した。

 さらに、レイアウト設計を行うマスク設計者が2人しかいないので、回路設計とレイアウト設計のプランとしても使えるように、4004CPUの論理設計をゲ-トレベルではなくトランジスタレベルで行う必要が生じた。

 電卓の基板設計と同じく、その頃の半導体のレイアウトも2次元の世界だったので、電卓の基板設計の経験が生かされた。トランジスタという部品の配置を考え、横方向の配線にメタルを使い、縦方向の配線にポリシリコンや拡散層を使い、論理設計を行うことにした。PMOSトランジスタを使うために正論理ではなく負論理での論理設計となり、慣れるのに少々の時間がかかった。同時に、ダイナミック論理用の回路とレイアウトの勉強もしなければならなかった。

 設計に入ると時間は待ってくれなかった。論理を如何に構築するかは重要だ。しかし、詳細な論理設計に入ると、論理の具体的な実装にあたっては、集中力を持続しつつ、自分の考え方を如何に収束させ最適化を図るかがより重要な課題となった。アーキテクチャ設計だけでなく、論理や回路設計においても最適化が重要な作業となった。

図1●4004システム構成図
図1●4004システム構成図
[画像のクリックで拡大表示]