幼女でもできる自作CPUチップ (15) CPUチップの製造

 前回の記事

ourfool.hatenablog.com

では、CPUチップの製造に向けて、CPUのレイアウトをおこなった。ここまででチップ開発者としておこなう作業は全て終了したため、彼のデータを国内工場へと送付し、手薬煉いて製造完了の知らせを待つ状態であった。

 さて、去る本年1月、1年弱の月日を経て、ついに正常に製造されたCPUチップが到着した。

f:id:ourfool:20180214232251j:plain

ここまでの道のりも平坦ではなかった、というのも、実は昨年3月の時点でCPUチップは一度製造されていたのである。

 昨年3月に無事製造されたかに見えたチップは、全く動作をしなかった。話によると、製造側でトラブルがあり、回路の特性がかなり怪しいらしい。そうなると、せめて、不良モデル・原因だけでも正確に把握したいところである。幸い同一チップ上にCPU以外にも非常に簡単な回路が載っており、このデバイス特性を参考にすることができる、また同一のラインで複数チップが製造されたため、他のチップに載った回路に関しても参考にできるはずであった。しかし、そもそもトランジスタとしての特性を示していないように思われる回路が多く、どの回路もまともに動いてくれなかったため、デバッグの甲斐もなかった。したがって、ともかく今回は製造に失敗したが同じデータで再度製造すれば大丈夫なはず、という非常に曖昧な状態で次の機会へ臨むこととなった。

 そうした状況で、次の製造機会までにいったい何ができるか。ひとまず、前回駆け足で作ったため貧弱になっていたレイアウトの電源部分を強化することにした。プリント基板作成などの場合と同様、大きな電流が流れる電源配線は可能な限り太く、複数経路で配線するのが望ましい。加えて、重要な信号配線のいくつかについて、直接チップの外へとつなぎ、直接観測できるようにした。これによって万が一回路にミスがあった場合にも、容易にデバッグが可能になる。

 こうした気休め程度の修正を終えたのち、ある考えが頭をよぎった。これまで真面目に作ってきたチップにおいて、製造側で問題が発生したことは一度もなかった。そうしたチップと今回のCPUチップとの違いは何か。明白である。貴重なシリコン面積を犠牲にして、絵を描いているのだ。

f:id:ourfool:20180214233648p:plain

そこで、ついに大きな決断を下した。絵を削除し、そのスペースを使った電源配線の強化、デバッグ用の信号配線に踏み切ったのである。これは疑心暗鬼というべきものだろうし、絵のひとつも載っていないCPUなど無用、学術的な裏付けなしにこの削除をおこなったのは理性の敗北というものかもしれない。しかし、絵を載せたところでCPUの特性に全く変化はなく、無駄に配線し辛くなるということだけは違いなく事実であるからして、今回は絵を全て削除して右のような新レイアウトを得た。

 そうした苦難の末に、ついに、正常に製造されたCPUチップは到着したのである。これを測定用のソケットに入れ、信号生成用のArduinoと接続したのが以下の図。せっかく1チップのCPUを作ったにも関わらず滅茶苦茶な配線である。

f:id:ourfool:20180215001243j:plain

 次回はこのチップの測定とその結果について書いていく。何気に3年ほど続いて来たCPUチップの製造開発にも、終わりが近づいて来たようだ。