Altium Designer PCB編


Altium Designerを用いた基板設計手順を説明していきます。
自作のUtilityを使用した独自の手法も交えてあります。

1.ネットリストのフットプリント名の差し替え
ネットリストを半自動または自動でデータベースを参考にして差し替えます。
ネットリストのファイルを読み込めば表示方法を替えて見やすくなります。
主に3種類のEXCELマクロを内容や顧客別で使い分けています。

A.ネットリストエディタで差し替え
 自作のネットリストエディタを使用します。
 Altium(Protel)フォーマットは冗長なのでEXCELマクロにてA-C列に変換しています。
 デジグネータ(REF番号)で横並びにしてあるので型番やコメントを一行で編集可能になっています。
 クロスリファレンスのような表示方法です。

B.置換テーブルで差し替え
 コメント欄の情報を元にした置換テーブルで差し替えを行います。
 使用するチップ形状が事前に決まっている場合は、例として0.1uCの場合はC2012とします。
 ただ、この場合は回路図内のコメント欄の記述に信頼度がある場合(顧客による)のみに使用可能です。

C.データベースで照合と変換
 ネットリストに記載された型番に近いものを手持ちのフットプリント名とプログラムで変換します。
 合っているかどうかは自分で判断しますが、信頼度を別の欄に記載することで判断しやすくしています。

どの場合も編集後には再度、修正済のネットリストを生成します。
更に、回路図由来のネットリストとプログラムで照合して変換部分を再確認します。

2.新規作成する型番の抽出
どれが新規部品なのかわかりにくく、見積もり時に困りますがそれを自動で抽出します。

1.で使用したマクロにはこれまでに作成したフットプリント名をデータベースとして搭載しています。
それと比較して存在して無い型番だけをリスト化します。
(下図の場合はすべてを表示するタイプ)

見積もりの時点でもリスト化することが可能なので新規作成するフットプリントの数がわかります。
データベースは自動で更新ではないので月単位ぐらいの頻度で更新しています。

3.PDF資料の検索
個別にネット検索していては多くの時間と手間が掛かります。
検索すべきものをリスト化し、短時間で情報を収集する必要性があります。

2.で生成した新規作成リストを別のEXCELマクロに貼りつけます。
5種類ぐらいの検索エンジン用にハイパーリンクをプログラムで生成し貼ります。
リンクのあるどれかのセルをクリックすればグーグルなどの検索サイトの結果に飛んでいけます。
検索エンジンが5種類もあれば、通常はどれかのサイトで必要な情報サイトにヒットします。
これまでの経験ではヒットしない場合は型番のミスまたはカスタム品の場合が殆どです。

4.フットプリント作成のテンプレート
複雑なコネクタや機構部品以外のものはテンプレートで作成可能にしています。
自社用の太さやレイヤになるのでIPCフットプリント作成ウィザードより楽です。

チップLCRやQFPなど10種類のテンプレートを用意してあります。
自社用にメカニカルレイヤを設定し、ラインの太さや距離なども調整してあります。
作成したフットプリントは修正無しですぐに利用可能です。

5.ページ別に部品の整列
複数のページの場合は基板上にレイアウトするのに時間が掛かります。
各ページ別に部品がブロックで移動し、それを手動で一ケ所に集める方が楽です。

A.Orcad Capture用
 REF番号のXY座標を出力する機能がOrcad Captureには存在しています。
 それを専用のEXCELマクロで加工します。

B.Altium Designer用
 ページ設定をした後でデジグネータ(REF番号)のXY座標をレポートファイルとして生成します。
 それをEXCELマクロで加工します。

C.PDFの回路図の場合
 PDFから文字列の座標を抽出するソフトウェアが存在しています。
 インターネット上の無料サイトや有料のシェルプログラムで処理します。
 他と同様にEXCELマクロで加工します。
 ただ、欠点としてデータバスのD*などがダイオードD*と区別がつかない場合があります。
 下記の後工程でネットリストも使用し照合するのでREF番号以外の情報は無視されます。

上記のどれも加工したファイルは同じフォーマットにしてあります。
別のEXCELマクロではA-Cのどれにも対応し、Altiumのピックアンドプレースファイルに変換します。

これをAltiumでインポートすればページごとにグループで整列してくれます。
隣のページと重ならないように縮小などの処理をしています。
左下は空白にして他のページのものを集めるワークエリアになるように考慮してあります。

6.ラッツネストの印刷
Altiumにはない機能をEXCELマクロ経由で実現し、印刷可能にしました。

AltiumのDRCレポートには未配線パッド2点のXY座標が含まれています。
これをEXCELマクロで加工して座標だけを抽出し、2点を結ぶ線分をガーバーデータにします。

ガーバーデータをメカニカルレイヤにインポートすればラッツネスト代わり表示し印刷できます。
またCamtasticまたはガーバーエディタでレイヤ合成してカラーで色分けして印刷することも可能です。
線幅は丸アパチャーの直径で表現していて、0.1mmしてあります。

ネットリスト名で分類されているので編集して特定のネットだけを0.2mm幅で出力することも可能です。
その都度リネームして処理すれば複数のガーバーデータが作れます。
VCCを0.2mm幅の赤色で、DGNDを0.2mm幅の緑色でAGNDを0.2mm幅の青色などのように分類可能です。
DコードはD10ひとつだけなのでガーバーデータの8行目の数字を編集すれば太さが変わります。

7.パターン設計
各種スクリプトを利用することでストレスを軽減できスピーディーに処理できます。
利用しているスクリプトの数が多いので代表的なものだけを抜粋してみました。

A.グリッド設定をスクリプトで処理しショートカットキーに登録
 ミリ系で12種類、インチ系で4種類ぐらいを登録して瞬時に切り替えています。

B.レイヤ表示やドラフト表示もショートカットキーに登録
 一番使用頻度が高いものなのでショートカットキーに登録しています。
 単純な登録ではなくスクリプトとしても登録可能です。

C.部品エディタ画面にて四角形や円を生成するスクリプトを利用
 縦横の寸法を入力するだけでメカニカルレイアとそれと連動してシルクを配置可能です。

8.SCH/PCBのネットリスト比較
接続情報のチェック以外の内容をチェックします。

SCH/PCB由来のフットプリント名とコメントを比較します。
SCHを基準として比較し、異なる部分を色分けすることでその部分がわかりやすくなります。
事前に部品点数に違いがあるとメッセージで知らせてくれ、不用意に削除されたものもわかります。


※ 今後も情報を追記していきます。