電子回路の CAD 部品

仕事で使ってる CAD がすごい年代物で操作性が悪すぎる。それでもそれを使えと言うんで、データファイルをみたら単純なテキストファイルでプロットしていることがわかった。だったらパラメータを元に自動生成した方が早いんじゃないのということでプログラムを書いている。

作ったものはパラメータのテキストファイルを読ませて、CAD用のデータを作るだけでこんな文法にした。

device_name= BS62LV4006
pin_order=1,1,16
pin_assignment=A18,A16,A14,A12,A7,A6,A5,A4,A3,A2,A1,A0,DQ0,DQ1,DQ2,GND
pin_order=32,-1,16
pin_assignment=VCC,A15,A17,WE#,A13,A8,A9,A11,OE#,A10,CE#,DQ7,DQ6,DQ5,DQ4,DQ3
pin_sort_left=A[18:0]
pin_sort_right=CE#,OE#,WE#,DQ[7:0]


  • pin_order はパラメータが定義の開始ピン番号,次のピン番号,定義する数。
  • pin_assignment はピン番号から順番に定義する。
  • pin_sort は回路図に載せるピンの順番でバスは簡略表記が可能で、A[18:0] なら A18 から A0 まで19個順番に記載する
  • pin_order の定義する数は目を指を介してたくさん書くと抜けることがよくあるのでそれの防止。
  • pin_order に4つ目の追加パラメータを考えていて sprintf 形式にすれば B10, B11 といった数字以外のピン番号も振れるんじゃないの

2回目の pin_assignment を見てもらうとわかるんだけど、左のピンを上から順番にかけるようにした。これはピン配置を上から下へ効率よく書くための配慮。さらに sort でバスの順番を簡略してかける。合理的だ。

操作性はともかくとして、論理順に並び替えてピン番号を探したり、レイアウトの好みでちょっと替えるのは、操作性が普通の CAD でもかったるい。

これは便利だ!! なんでいままでついてないんだと自慢げに書いてるんだが、既に誰かが作ってそうだ。