Home > 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 以降の製品に当てはまります。

   pfw_dxp.gif

                                                                              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)では正しく出力されないことを意味しており、古い回路図を再利用する場合には注意が必要です。

では以下の回路図をご覧ください。

SCH.jpg

 SCH1.jpg

SCH2.jpg

この回路図では同一ネット上に "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
99SE.jpg

Altium Designer SP4 Protel Licence
2004.jpg

 この結果をみると、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 ではどうなのか、検証してみます。

まず、プロジェクトオプションでネットリストオプションがどのように設定されているか確認したところ、以下のように 「ネット名にシートエントリー名を使う」 という箇所にチェックが入っていました。おそらくこれがデフォルトであると思われます。 

net_test_option1.gif

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

net_test1.gif

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

次に、ネットリストオプションの 「上位階層名を優先」 にチェックを追加しました。

 net_test_option2.gif

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

net_test2.gif

長らく、この問題がどのように解決されているか気になっておりましたが、ようやく重い腰を上げ調べました。また Altium Designer 6 でも試してみたところ Summer 08 と同じネットリストが出力され、Altium Designer 6 の段階ですでに対策されていたことがわかりました。

以上、Altium Designer でも Protel 99 SE と同様のルールで処理されることがわかりましたが、ネット名の競合がイレギュラーなコンディションであることに違いありませんので、このような箇所が見つかれば、可能な限り修正されることをお奨めします。

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Trackbacks:0

TrackBack URL for this entry
http://jono.jp/mt/mt-tb.cgi/219
Listed below are links to weblogs that reference
ネット名が競合した場合の処理 from アルティウムの情報箱

Home > Altium Designerの機能/用法 > ネット名が競合した場合の処理

ネット名が競合した場合の処理
Links
Search
Feeds

Return to page top