LogiClover開発ブログ

LogiCloverは、趣味でFPGAを使った電子工作をしているサークルです。主に開発中の出来事や技術メモを投稿します

KiCadでピン数の多い回路シンボルを作成する

KiCadで回路を引くときに厄介な作業として回路シンボルの作成があります。

近頃はライブラリのOSS化が進んでいますが、自分が使うデバイスがない場合自作する必要があります。しかしピン数が100や200を超えてくると自力でやるには限度があります。

シンボルの中身はテキストなので自前で生成してもいいですが、今回はQuick KICAD Library Component Builder(以下コンポーネントビルダー)を使って作成します。

kicad.rohrbacher.net

例として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

f:id:logiclover:20170501133405p:plain

Intel(Altera)の場合、各デバイスごとにまとめてあります

www.altera.co.jp

自分が使いたいデバイスのメーカサイトを探して、テキスト形式のピン配置ファイルを入手します。

ピンリストの加工

あとで説明しますが、コンポーネントビルダーはスペース区切りでピン番号、ピン名が並んだファイルをインポートできるので加工します。

スペースが複数あったり、後ろに余計な文字がくっついているとうまくピン名がインポートできませんでした。

編集前 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

f:id:logiclover:20170501134841p:plain

バイス名とシンボルの形状を選びます。今回はBGAなので一番右下にグリッドの大きさを入力しています。

準備が出来たらAssign Pinsをクリックしてピン一覧編集に移ります。

f:id:logiclover:20170501135046p:plain

ピン数が少なければ手入力でもいいですがなかなか骨が折れる作業ですので、ページ一番下にあるImport pin listをクリックします。

ここで先ほど作成したピンリストを読み込ませると

f:id:logiclover:20170501135217p:plain

f:id:logiclover:20170501135230p:plain

すべてのピン名とピン名から推論した属性まで設定してくれます。最高です。

あとはページ一番下のBuild Library Componentをクリックすると完成した.libがダウンロードできるのでKiCadで読み込みます。

f:id:logiclover:20170501135441p:plain

成功です。これでピンがたくさんあっても怖くありません。

*1:私は過去にMAX10のシンボルを作ったときはExcel、今回はVSCodeでやっています。