前回、FM11のバスとそのサブセットで作りかけた、FM-11用のメモリをKiCadで製図しプリント基板をALLPCBに製造依頼した。

 デバッグのために4個のSRAMの*CSに対応したLEDを付けている。
2021-06-27 21.49.45

 さて動作確認してみると2番め(U2)のSRAMだけ読み書きでデータが化ける。一部のビットしか読み書きできない。アドレス/データバスは正しくつながっている。ほかのSRAMは正常に読み書きできるのでショートなどしているわけではなさそう。SRAMを交換しても現象はU2の位置についてまわる。基板の問題だがU2の下はビアが多く配線が混んでいる。製造不良だろうか?

 そんな中このつぶやきを見て気付いた。

 CMOSデバイスは電源の配線を忘れていても信号線から回り込んだ電力で動いてしまうことがある。SRAMの電源はみていなかった。テスタで確認するとU2のpin16がGNDに接続されていない。

 メッキ線で基板を修正したらU2もメモリチェックをパスした。
2021-06-29 15.12.35


 さて、次は個別故障なのか設計ミスなのか。

 KiCad (5.1.8)-1 で設計した配線でU2周辺を確認。

スクリーンショット 2021-06-30 032745

 16ピンはベタ経由でGNDにつながっているはずが、そのベタが周囲から浮いている。
スクリーンショット 2021-06-30 032820

 これは浮きベタというやつ。DRCでは警告されなかった。
コートヤードのオーバーラップは無視して製造に出したが、基板セットアップでこの警告が出ないよう消してみても配線に関するDRCエラーは出なかった。
スクリーンショット 2021-06-30 025502

































 これは目視確認漏れによるミスになるなあ。この浮きベタ内にGND属性のビアがあって、それをもってGNDに接続されているとDRCは判断したのかもしれない。あと予防策としてはベタに接続できるよう GND(電源端子)を囲ってしまうような配線を引かないこと、だろうか。

 改版作業中。