- 2008年9月26日 11:40
- Altium Designerの機能/用法
約 3 年前、CircuitStudio のユーザから、「同一ネットに複数のネット名が定義されている場合、正しいネットリストが出力されない」という指摘を受け、調査を行なったことがあります。そしてその結果をプロテル探検隊で報告いたしましたが、その後これがどのようになったかについて、全く追跡できていませんでした。
そこで今回、Summer 08 でこの問題が解消しているかどうかを調べてみることにしました。
まず、問題点とその調査結果が示されている旧プロテル探検隊の記事をご覧下さい。
注: これは Protel の製品名が Protel 2004 / CircuitStudio 2004 から、
Altium Designer Protel Option / Altium Designer CircuitStudio Option
に変更された直後の 2005 年 9 月 26 日 の記事です。
Protel 2004、CircuitStudio 2004 と同世代の製品であり、
現在ではこの世代の製品をひっくるめて Altium Desgner 2004 と呼んでいます。
また Altium Desgner 2004 は、Protel DXP の改良型ですので、
ここで行なわれている説明は、Protel DXP 以降の製品に当てはまります。

Protel DXP と Protel 2004
プロテル探検隊からの引用開始 (加筆/修正あり)
--------------------------------
Protel 99 SE と Altium Designer (CircuitStudio / Protel License )では、回路図が同じでも異なったネットリストが出力される場合があります。
Altium Designer (CircuitStudio / Protel License )で回路図を描く場合にはワイヤを用いて接続するだけでなく、種々の識別子を用いてネット名を付加することにより回路を接続します。また、階層化された回路図では同一ネットに対して、階層上位と下位のそれぞれの回路図上にネット名を付加することができます。
このように同一ネットに対して、回路図上のいたるところでネット名を付加することができますので、同じネットに対して異なったネット名を与えないように注意することが必要です。しかし回路図エディタが常に接続性を監視しているわけでなありませんので、もしこのような不整合があってもすぐにはわかりません。このため、ルールチェックによりこのような部分を見つけ出し修正することが必要です。
しかし、標準化や実績のある過去の回路の再利用を行なうため、ネット名の修正がままならない場合が多々あります。このような場合には、同一ネット上に複数の種類のネット名が定義されている状態を放置し、あとはソフトウェアにその処理を任せることになります。
この場合に問題になるのが、ソフトウェアがどのようなルールでこれを処理するかということです。そこで実際に Protel 99 SE(SP6)と Altium Designer SP4 Protel Licence からネットリストを出力してみたとこと、それぞれの結果違いがあることがわかりました。これは Protel 99 SE でネットが正しく出力された回路図でも、Altium Designer (CircuitStudio / Protel License)では正しく出力されないことを意味しており、古い回路図を再利用する場合には注意が必要です。
では以下の回路図をご覧ください。



この回路図では同一ネット上に "Clock" "Clock_ext" "Signal" の3 種のネット名が重複して定義されています。またSheet2 には Sheet1 で使用されている "Clock" が別のネットに使用されています。本来はこのようなネットの競合は避けるべきなのですが、どうしてもこのように残ってしまう場合があります。
この回路図を、Protel 99 SE と Altium Designer SP4 Protel Licence の双方に読み込みネットリストを出力すると、双方の結果は異なります。もちろん Net Identifire Scoope は Sheet Symbol Port Connections に設定してあります。
Protel 99 SE

Altium Designer SP4 Protel Licence

この結果をみると、Protel 99 SE から出力されたネットリストでは、階層上位で定義されたネット名 "Signal" が優先されています。一方 Protel(Altium Designer) では、下位回路図およびシートエントリに使用された"Clock" が優先され、Sheet2 にローカルに使用されている "Clock" との間でショートが発生しています。そしてこの 結果から、Protel 99 SE と Altium Designer では接続性の認識ルールが異なることがわかります。また双方を比較すると、Protel 99 SE の方が設計者の意図に近いものであるといえます。
この双方の仕様の違いは、新たに回路図を作成する場合にはさほど問題にはなりませんが、Protel 99 SE で検証を終えた回路を、Altium Designer SP4 Protel Licenc で再利用する場合には問題になります。また、回路図の新旧にかかわらず、回路図を転用/共用する場合にはネット名の統一が難しい場面も出てきますので、アルティウム社に改良を申し入れております。
以上のように Protel 99 SE とAltium Designer (CircuitStudio、Protel License)にはネット認識に差異がありますので、Protel 99 SE で作成された回路図を再利用される場合には、ネット名の競合を除去することが必要です。
--------------------------------
プロテル探検隊からの引用終了
では次に、最新の Altium Designer ではどうなのか、検証してみます。
まず、プロジェクトオプションでネットリストオプションがどのように設定されているか確認したところ、以下のように 「ネット名にシートエントリー名を使う」 という箇所にチェックが入っていました。おそらくこれがデフォルトであると思われます。

この設定でネットリストを出力したところ以下のようになりました。

この結果を見ると以前の Altium Designer Protel/CircuitStudio Option のように、Clock ネットがショートしておらず、改良が加えられていることがわかります。しかし、Protel 99 SE のように階層上位で付加されている Signal というネット名は反映されていません。
次に、ネットリストオプションの 「上位階層名を優先」 にチェックを追加しました。

この設定でネットリストを出力したところ以下のようになりました。この結果を見ると、Protel 99 SE のように階層上位で付加されている Signal というネット名が反映されており Protel 99 SE と同一レベルに改善されていることがわかります。

長らく、この問題がどのように解決されているか気になっておりましたが、ようやく重い腰を上げ調べました。また Altium Designer 6 でも試してみたところ Summer 08 と同じネットリストが出力され、Altium Designer 6 の段階ですでに対策されていたことがわかりました。
以上、Altium Designer でも Protel 99 SE と同様のルールで処理されることがわかりましたが、ネット名の競合がイレギュラーなコンディションであることに違いありませんので、このような箇所が見つかれば、可能な限り修正されることをお奨めします。
- Newer: 知る人ぞ知る隠れた情報源
- Older: Protel ユーザの為の傾向と対策