KiCadでピン数の多い回路シンボルを作成する
KiCadで回路を引くときに厄介な作業として回路シンボルの作成があります。
近頃はライブラリのOSS化が進んでいますが、自分が使うデバイスがない場合自作する必要があります。しかしピン数が100や200を超えてくると自力でやるには限度があります。
シンボルの中身はテキストなので自前で生成してもいいですが、今回はQuick KICAD Library Component Builder(以下コンポーネントビルダー)を使って作成します。
例としてXilinx社のXC7Z015-1CLG485という22×22のBGAのシンボルを作成してみます。
ピンリストの入手
多くのメーカはバウンダリスキャン用のBSDLファイルやピン配置のcsvやテキストファイルを公開しています。
Xilinx社Zynqの場合、UG865に記載があります。
https://japan.xilinx.com/support/documentation/user_guides/j_ug865-Zynq-7000-Pkg-Pinout.pdf
Intel(Altera)の場合、各デバイスごとにまとめてあります
自分が使いたいデバイスのメーカサイトを探して、テキスト形式のピン配置ファイルを入手します。
ピンリストの加工
あとで説明しますが、コンポーネントビルダーはスペース区切りでピン番号、ピン名が並んだファイルをインポートできるので加工します。
スペースが複数あったり、後ろに余計な文字がくっついているとうまくピン名がインポートできませんでした。
編集前 xc7z015clg485pkg.txt
Device/Package xc7z015clg485 10/16/2013 16:15:27 Pin Pin Name Memory Byte Group Bank VCCAUX Group Super Logic Region I/O Type No-Connect T10 DONE_0 NA 0 NA NA CONFIG NA N12 DXP_0 NA 0 NA NA CONFIG NA K11 GNDADC_0 NA 0 NA NA CONFIG NA ...
編集後
T10 DONE_0 N12 DXP_0 K11 GNDADC_0 ...
やる作業としては
余計な行を削除する(#がコメントアウトとして扱われるような記載があるような気がしますが試していません)
行の後ろ側の余計な情報を削除する
ピン番号とピン名をスペース1つ区切りにする(余計なスペースの削除、タブやカンマ区切りの場合は置換)
マルチカーソルや矩形選択のような機能を有するテキストエディタか、Excelで編集したものをCSVで出して置換を書けるといいと思います。*1
コンポーネントビルダーを使う
まずはサイトにアクセスします。
http://kicad.rohrbacher.net/quicklib.php
デバイス名とシンボルの形状を選びます。今回はBGAなので一番右下にグリッドの大きさを入力しています。
準備が出来たらAssign Pinsをクリックしてピン一覧編集に移ります。
ピン数が少なければ手入力でもいいですがなかなか骨が折れる作業ですので、ページ一番下にあるImport pin listをクリックします。
ここで先ほど作成したピンリストを読み込ませると
すべてのピン名とピン名から推論した属性まで設定してくれます。最高です。
あとはページ一番下のBuild Library Componentをクリックすると完成した.libがダウンロードできるのでKiCadで読み込みます。
成功です。これでピンがたくさんあっても怖くありません。