(57)【特許請求の範囲】
【請求項１】
回路設計を行うＣＡＤシステムであって、
ディスプレイと、
回路絞り込み条件を入力する入力部と、
前記回路絞り込み条件に基づいて、設計する回路の回路トポロジを変更する場合の推奨回路を、部品データ及び回路データを格納したデータベース部を検索することで求め、推奨回路一覧を該ディスプレイに表示する処理部
を備え、
前記処理部は、前記回路絞り込み条件による推奨回路の絞り込みの後、前記データベース部に格納されたマルチベンダ情報に基づいて推奨回路を更に絞り込むことを特徴とするＣＡＤシステム。
【請求項２】
前記データベース部は、
ピン数、ピン名、使用周波数帯、価格、熱情報、部品高さ、重量、前記マルチベンダ情報を含む部品データを格納した部品データベースと、
過去に実回路として使用された回路に関する回路データを格納した実回路データベースと、
検討段階の回路に関する回路データを格納した検討回路データベース
を有することを特徴とする請求項１記載のＣＡＤシステム。
【請求項３】
前記回路絞り込み条件は、部品の価格、部品の種類の数、最遠端の配線長、動作周波数、終端抵抗、ダンピング抵抗、熱条件、総ライン長さ、動作周波数、レシーバ数、抵抗の数、ｖｉａ数、インピーダンス、コネクタ数、分岐数、温度のうち少なくとも１つを含むことを特徴とする請求項１又は２記載のＣＡＤシステム。
【請求項４】
前記設計する回路を解析した解析結果を前記データベース部に格納された過去に設計した回路の解析結果と比較する解析部を更に備えたことを特徴とする請求項１乃至３のいずれか１項記載のＣＡＤシステム。
【請求項５】
コンピュータに回路設計を行わせるプログラムであって、
回路絞り込み条件を入力する入力手順と、
前記回路絞り込み条件に基づいて、設計する回路の回路トポロジを変更する場合の推奨回路を、部品データ及び回路データを格納したデータベース部を検索することで求め、推奨回路一覧を該ディスプレイに表示する処理手順
を該コンピュータに実行させ、
前記処理手順は、前記回路絞り込み条件による推奨回路の絞り込みの後、前記データベース部に格納されたマルチベンダ情報に基づいて推奨回路を更に絞り込むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ設計支援（ＣＡＤ：Computer Aided Design）システム及びプログラムに係り、特に集積回路や回路基板等の回路設計において設計変更をする際に回路絞り込み条件に基づいて回路の絞り込みを行う構成のＣＡＤシステム及びコンピュータをそのようなＣＡＤシステムとして機能させるプログラムに関する。
【背景技術】
【０００２】
ＣＡＤシステムは、回路設計等の分野で幅広く利用されている。従来、例えば回路設計をＣＡＤシステムで行う場合、設計した回路上の各部で得られる信号波形の解析は、回路毎、回路が設けられる基板毎、或いは、回路を備えた装置毎に行われ、解析結果に基づいて問題状況の有無等を判断している。又、解析結果から問題が有ると判断されると、ＣＡＤシステムが回路設計の修正に関するアドバイスを出力し、回路設計に修正が施されると再度信号波形の解析を行っている。
【０００３】
ＣＡＤシステムによる回路設計方法は、例えば特許文献１、特許文献２、特許文献３等にて提案されている。
【特許文献１】特開平５−１２０３７５号公報
【特許文献２】特開２００１−１３４６３１号公報
【特許文献３】特開２００２−１０８９６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来のＣＡＤシステムは、例えば過去に同様の、或いは、類似した回路設計を行っていても、回路設計を行う際に過去の回路設計に関するデータを積極的に利用して回路設計を補助する構成ではない。このため、過去の回路設計に関するデータを有効利用して回路設計を行うことができないという問題があった。
【０００５】
そこで、本発明は、登録されている過去の回路設計に関するデータを有効利用して回路設計を行うことが可能なＣＡＤシステム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題は、回路設計を行うＣＡＤシステムであって、ディスプレイと、回路絞り込み条件を入力する入力部と、該回路絞り込み条件に基づいて、設計する回路の回路トポロジを変更する場合の推奨回路を、部品データ及び回路データを格納したデータベース部を検索することで求め、推奨回路一覧を該ディスプレイに表示する処理部を備えたことを特徴とするＣＡＤシステムにより達成できる。
【０００７】
上記の課題は、コンピュータに回路設計を行わせるプログラムであって、回路絞り込み条件を入力する入力手順と、該回路絞り込み条件に基づいて、設計する回路の回路トポロジを変更する場合の推奨回路を、部品データ及び回路データを格納したデータベース部を検索することで求め、推奨回路一覧を該ディスプレイに表示する処理手順を該コンピュータに実行させることを特徴とするプログラムによって達成できる。
【発明の効果】
【０００８】
本発明によれば、登録されている過去の回路設計に関するデータを有効利用して回路設計を行うことが可能なＣＡＤシステム及びプログラムを実現することができる。
【発明を実施するための最良の形態】
【０００９】
本発明では、ＣＡＤにより回路設計を行う際に、回路絞り込み条件を入力し、この回路絞り込み条件に基づいて、設計する回路の回路トポロジを変更する場合の推奨回路を、部品データ及び回路データを格納したデータベース部を検索することで求め、推奨回路一覧をディスプレイに表示する。
【００１０】
以下に、本発明のＣＡＤシステム及びプログラムの各実施例を、図面と共に説明する。
【実施例】
【００１１】
図１は、本発明の一実施例が適用されるコンピュータシステムを示す斜視図である。図１に示すコンピュータシステム１００は、ＣＰＵやディスクドライブ等を内蔵した本体部１０１、本体部１０１からの指示により表示画面１０２ａ上に回路モデル、解析結果等の回路設計に関するデータを表示するディスプレイ１０２、コンピュータシステム１００に種々の情報を入力するためのキーボード１０３、ディスプレイ１０２の表示画面１０２ａ上の任意の位置を指定するマウス１０４及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードするモデム１０５を有する。
【００１２】
ディスク１１０等の可搬型記録媒体に格納されるか、モデム１０５等の通信装置を使って他のコンピュータシステムの記録媒体１０６からダウンロードされる、コンピュータシステム１００に少なくともＣＡＤ機能を持たせるプログラム（ＣＡＤソフトウェア）は、コンピュータシステム１００に入力されてコンパイルされる。このプログラムは、コンピュータシステム１００（即ち、後述するＣＰＵ２０１）をＣＡＤシステム（又は、シミュレーションシステム）として機能させる。プログラムは、例えばディスク１１０等のコンピュータ読み取り可能な記録媒体に格納されていても良い。コンピュータ読み取り可能な記録媒体は、ディスク１１０、ＩＣカードメモリ、フロッピー（登録商標）ディスク等の磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の可搬型記録媒体に限定されるものではなく、モデム１０５やＬＡＮ等の通信装置や通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【００１３】
図２は、コンピュータシステム１００の本体部１０１内の要部の構成を説明するブロック図である。同図中、本体部１０１は、バス２００により接続されたＣＰＵ２０１、ＲＡＭやＲＯＭ等からなるメモリ部２０２、ディスク１１０用のディスクドライブ２０３及びハードディスクドライブ（ＨＤＤ）２０４からなる。この例では、ディスプレイ１０２、キーボード１０３及びマウス１０４も、バス２００を介してＣＰＵ２０１に接続されているが、これらは直接ＣＰＵ２０１に接続されていても良い。又、ディスプレイ１０２は、入出力画像データの処理を行う周知のグラフィックインタフェース（図示せず）を介してＣＰＵ２０１に接続されていても良い。
【００１４】
尚、コンピュータシステム１００の構成は図１及び図２に示す構成に限定されるものではなく、代わりに各種周知の構成を使用しても良い。
【００１５】
先ず、本発明の一実施例におけるＣＡＤ処理を説明する。ここでは説明の便宜上、図３に示す回路構成（即ち、回路トポロジ）を有する現行回路を別部品（又は、別素子）等で実現する回路設計（この場合、設計変更）を行う場合について説明する。図３中、ＤＶ１はドライバ、ＲＣ１，ＲＶ２はレシーバ、Ｎ１〜Ｎ６はノード、ＳＥＧ１〜ＳＥＧ４は配線セグメントであり、各部品の下にはその部品の性能、配線長、インピーダンスＺ等の部品表記が示されている。尚、図３では、レシーバＲＶ１，ＲＶ２の回路トポロジのデータの図示は省略する。尚、回路トポロジのデータとしては、図３に示すデータに限られず、総線長、ダンピング又は終端抵抗の有無、ＡＣカップリングコンデンサの有無、トポロジ形態区分（例えば、いもづる、スター)等を数字等で表示可能である。
【００１６】
図３に示す現行回路の回路トポロジは、例えば以下の如き形式で、例えば図４に示す実回路データベース１２に格納されている。
・部品シンボル情報
[BLOCK]    ： 
DV1:X=1520,Y=1648,DIR=0,SYMNAME=DRIVER,SYMKIND=DV,
MDLNAME=PI6C2308A-1HW_Typ,MDLPATH=d:\Model,PPIN=3,
属性等......．
RV1:X=1888,Y=1648,DIR=0,SYMNAME=RECEIVER,SYMKIND=RV,
MDLNAME=SN74LVC08002_Typ,MDLPATH=d:\Model,PPIN=1,
属性等......．
RV2:X=1888,Y=1752,DIR=0,SYMNAME=RECEIVER,SYMKIND=RV,
MDLNAME=SN74LVC08002_Typ,MDLPATH=d:\Model,PPIN=1,
属性等......．
[END BLOCK]
・ネット属性
[NET]
NET1:KIND=CLK,FREQ=50.000,TOPO=ONEV,SKEW=1.000,EDGE=UP,DUTY=0.500,EDGECHKFLAG=ON;
[END NET]
・セグメント情報
[SEGMENT] 
SEG1:LEN=100.000,WID=100.000,IMP=50.000,DLY=7.000,
詳細ライン特性値等...．．
SEG2:LEN=20.000,WID=100.000,IMP=50.000,DLY=7.000,
詳細ライン特性値等...．．
SEG3:LEN=5.000,WID=100.000,IMP=50.000,DLY=7.000,
詳細ライン特性値等...．．
SEG4:LEN=10.000,WID=100.000,IMP=50.000,DLY=7.000,
詳細ライン特性値等...．．
[END SEGMENT]
・端点情報
[NODE] 
N1:X=1520,Y=1648,LAY=1,KIND=PIN,BLK=DV1,PIN=01,PPIN=;
N2:X=1888,Y=1648,LAY=1,KIND=PIN,BLK=RV1,PIN=01,PPIN=;
N3:X=1888,Y=1752,LAY=1,KIND=PIN,BLK=RV2,PIN=01,PPIN=;
N4:X=1760,Y=1752,LAY=1,KIND=DIV;
N5:X=1760,Y=1648,LAY=1,KIND=DIV;
[END NODE]
・部品情報
[ELEMENT] 
ELM1:KIND=BLK,NAME=DV1,NODE1=N1,NODE2=N1,NET=NET1;
ELM2:KIND=BLK,NAME=RV1,NODE1=N2,NODE2=N2,NET=NET1;
ELM3:KIND=BLK,NAME=RV2,NODE1=N3,NODE2=N3,NET=NET1;
ELM4:KIND=SEG,NAME=SEG1,NODE1=N1,NODE2=N5,NET=NET1;
ELM5:KIND=SEG,NAME=SEG2,NODE1=N3,NODE2=N4,NET=NET1;
ELM6:KIND=SEG,NAME=SEG3,NODE1=N4,NODE2=N5,NET=NET1;
ELM7:KIND=SEG,NAME=SEG4,NODE1=N5,NODE2=N2,NET=NET1;
[END ELEMENT]
[DV-RV]
1:DVBLKL=,DVBLK=DV1,DVNODE=N1,RVBLKL=,RVBLK=DV1,RVNODE=N1,
MINDLY=0.000,MAXDLY=10.000,TARGET=OFF;
2:DVBLKL=,DVBLK=DV1,DVNODE=N1,RVBLKL=,RVBLK=RV1,RVNODE=N2,
MINDLY=0.000,MAXDLY=10.000,TARGET=ON;
3:DVBLKL=,DVBLK=DV1,DVNODE=N1,RVBLKL=,RVBLK=RV2,RVNODE=N3,
MINDLY=0.000,MAXDLY=10.000,TARGET=ON;
4:DVBLKL=,DVBLK=DV1,DVNODE=N1,RVBLKL=,RVBLK=,RVNODE=N4,
MINDLY=0.000,MAXDLY=10.000,TARGET=OFF;
5:DVBLKL=,DVBLK=DV1,DVNODE=N1,RVBLKL=,RVBLK=,RVNODE=N5,
MINDLY=0.000,MAXDLY=10.000,TARGET=OFF;
[END DV-RV]
・解析条件
[ANALYSIS] 
1:TIME=0.000,STEP=0.000,
解析条件等...
[END ANALYSIS]
[PAIR]
[END PAIR]
図４は、本実施例の概略動作を説明する図である。ステップＳ１は、処理部として機能するＣＰＵ２０１により実行され、ユーザがキーボード１０３等の入力部から入力した回路絞り込み条件２１に基づいて現行回路（又は、既存回路）の回路トポロジ２２を変更する場合の推奨回路を、部品データベース１１、実回路データベース１２及び検討回路データベース１３を含むデータベース部を検索することで自動的に求め、推奨回路一覧３０をディスプレイ１０２の表示画面１０２ａに表示する。部品データベース１１は、ピン（又は、端子）数、ピン名、使用周波数帯、価格、熱情報、部品高さ、重量、マルチベンダ情報等を格納しており、例えばＩＢＩＳ（I/O Buffer Information Specification）等を含むライブラリを構成する。回路データベースは、過去に実回路として使用された回路に関する実回路データベース１２と、検討段階（或いは、設計中）の回路に関する検討回路データベース１３を含む。これらのデータベース１１〜１３は、コンピュータシステム１００内のメモリ部２０２等の記憶部、及び／又は、コンピュータシステム１００外部の記憶媒体１０６等の記憶部で構成される。現行回路の回路トポロジ２２は、実回路データベース１２又は検討回路データベース１３から読み出してコンピュータシステム１００に入力されても、ユーザがコンピュータシステム１００上で作成して入力しても、外部のシステムから入力しても良い。
【００１７】
回路絞り込み条件２１は、例えば次のような条件ｃ１〜ｃ６のうち少なくとも１つを含む。尚、回路絞り込み条件２１に含まれる条件ｃ１〜ｃ６の優先度は、回路絞り込み条件２１の記載順、又は、条件ｃ１〜ｃ６毎に優先度を指定可能としても良い。
ｃ１：ドライバの価格が現行回路のドライバ以下である。
ｃ２：レシーバが３種類である。
ｃ３：最遠端の配線長が現行より例えば＋５０mm以上長い。
ｃ４：動作周波数が現行回路の動作周波数以上である。
ｃ５：終端抵抗、ダンピング抵抗を問わない（即ち、あってもなくても良い）。
ｃ６：熱条件が現行回路の熱条件以上である。
【００１８】
上記の如き回路絞り込み条件２１を用いた場合、表示される推奨回路一覧３０は例えば次のようなものとなり、各推奨回路の条件ｃ１〜ｃ６が表示される。
推奨回路1  価格-50、3RV、185mm、60MHz、ダンピング有り、終端無し、熱同等
推奨回路2  価格-30、3RV、200mm、66MHz、ダンピング有り、終端有り、熱同等
推奨回路3  価格-10、3RV、200mm、50MHz、ダンピング無し、終端有り、熱同等
...
「価格-50」は、ドライバの価格が５０任意単位であることを示し、「熱同等」は熱条件が現行回路の熱条件と同等であることを示す。
【００１９】
推奨回路1としては、例えば図５に示す回路構成（即ち、回路トポロジ）がディスプレイ１０２の表示画面１０２ａに表示される。尚、図５中、レシーバＲＶ１〜ＲＶ３の回路トポロジのデータの図示は省略する。
【００２０】
ところで、部品によっては、ピンの割り当てに互換性があり機能が同じであってもベンダが異なる所謂マルチベンダ部品がある。しかし、マルチベンダ部品の場合、機能は同じでもドライブ能力や出力インピーダンス等のＩ／Ｏ特性が大きく異なる場合がある。このため、例えばマルチベンダ部品Ａ，Ｂ，Ｃ、Ｄを採用可能である場合、部品Ａの代わりに部品Ｃを採用したら回路が正常動作をしなくなる等の現象が発生する可能性があり、マルチベンダ部品を用いる場合にはそのような不都合が発生しないような対策をとる必要がある。
【００２１】
そこで、本実施例では、部品毎及びピン毎に、Ｉ／Ｏ特性を含む性能情報等の各種情報を部品データベース１１内に保持する。各部品に対しては、どの部品と同じ機能を有するマルチベンダ部品であるのかを示す情報、価格、信頼度等の情報がテーブル形式で格納されている。例えば、マルチベンダ部品Ａ，Ｂ，Ｃ，Ｄの各ピンの特性を分類して、部品データベース１１内のバッファテーブルＴ１内に保持する。図６は、バッファテーブルＴ１の一例を示す図である。図６に示すバッファテーブルＴ１は、各部品Ａ〜Ｄのピンについて、ドライブ能力、出力インピーダンス及び信号立ち上がり時間ｔｒと信号立ち下がり時間ｔｆの比ｔｒ／ｔｆが格納されている。
【００２２】
例えば、現行回路が部品Ｃを使用しており、現行回路の解析の結果、ユーザが現行回路の回路トポロジの変更は不要であると判断した場合、部品Ｃと同一能力で価格や信頼性の良いマルチベンダ部品をバッファテーブルＴ１から選択することで、推奨部品を選定することができる。一方、解析の結果、ユーザが何らかの問題があると判断した場合、部品Ｃを変更することで問題が解決しそうか否かをユーザが判断する。この判断のために、多くの部品を全て解析するのではなく、解析の結果から明らかに候補とならない部品については解析を行わない。部品Ｃに代わる候補とする部品を選定する際には、例えば使用する基板のインピーダンス（及び誤差）に応じてその判断基準に用いる閾値を変動させることにより、高速に判断を行うことが可能となる。
【００２３】
例えば、部品Ｃを使用している現行回路の解析の結果、比ｔｒ／ｔｆが０．２ｎｓ以上であることが必要であると判断された場合、部品Ｃに代わる候補としては部品Ａ，Ｂのみが対象になり、部品Ｄは候補から外れる。その他の条件として、価格や使用実績等から部品Ａ又はＢを推奨部品とし、必要に応じて部品Ａ又はＢの解析を実施し、問題が無いことを確認することで、高速に適切な部品を選定することが可能となる。
【００２４】
現行回路で使用している部品でよりエラーが少ない方のマルチベンダ部品を選択し、使用実績も最近の物を採用すれば、その時点での部品選定の傾向に合わせることが可能となる。又、あるピンにおける信号波形の不良を改善する方法として、例えばバッファのみを考慮の対象となる部品に限定すれば、その分、改善方法を導くための計算処理を減らして適切な改善方法を求めることが可能となる。
【００２５】
更に、ある部品の代わりに使用可能な部品の候補、或いは、推奨部品をユーザに提示することで、部品に熟知したユーザでなくても容易に回路設計を行うことが可能になると共に、ユーザは提示された部品から部品の知識を深めることが可能となる。
【００２６】
図７及び図８は、データベース部へのデータ登録処理を説明するフローチャートである。データ登録処理は、ＣＰＵ２０１により実行される。
【００２７】
図７において、ステップＳ１１は、ユーザがディスプレイ１０２の表示画面１０２ａの表示を見ながらキーボード１０３等から入力した指示に応答して、設計する回路に使用する部品の選定を含む回路設計処理を行う。ステップＳ１２は、回路設計処理の結果に対して任意のピン又はノードにおける信号波形を解析する波形解析処理を行い、波形解析処理の結果をディスプレイ１０２の表示画面１０２ａに表示する。つまり、ステップＳ１２を行う際、ＣＰＵ２０１は波形解析処理を行う解析部として機能する。ステップＳ１２の波形解析処理が終了しないと、ステップＳ１３は、ユーザがディスプレイ１０２の表示画面１０２ａの表示を見ながらキーボード１０３等から入力した指示に応答して、選定した部品の実装を含む実装設計処理を行う。ステップＳ１４は、実装設計処理の結果に対して任意のピン又はノードにおける信号波形を解析する波形解析処理を行い、波形解析結果をディスプレイ１０２の表示画面１０２ａに表示する。ステップＳ１４の波形解析処理が終了しないと、処理はステップＳ１５へ進む。ステップＳ１５は、アートワーク（ＡＷ：ArtWork)処理を行い、ＡＷ処理の結果を実回路データとして格納するか否かを判定する。
【００２８】
ステップＳ１５の判定結果がＹＥＳになると、処理は後述するステップＳＴ２及び図８と共に後述するステップＳ４１へ進む。
【００２９】
ステップＳ１２又はＳ１４の判定結果がＹＥＳであると、処理はステップＳＴ１へ進む。ステップＳＴ１は、ステップＳ２１〜Ｓ３５からなり、検討回路データベース１３へのデータ格納処理を行う。ステップＳ２１は、波形解析処理の解析結果に問題（ＮＧ）があるか否かを判定し、判定結果がＮＯであると処理は後述するステップＳ３５へ進む。ステップＳ２１の判定結果がＹＥＳであると、ステップＳ２６は、設計する回路のネット種別がデータ系であるかエッジ系であるかを判定する。データ系の場合、ステップＳ２２は解析結果にタイミング不良が有るか否かを判定する。信号タイミングが許容範囲内にないと、タイミング不良が検出される。ステップＳ２２の判定結果がＹＥＳであると、ステップＳ２３は設計する回路に対してタイミング不良のフラグを設定する。ステップＳ２２の判定結果がＮＯ、或いは、ステップＳ２３の後、ステップＳ２４は解析結果に振幅の問題（ＮＧ）があるか否かを判定する。信号振幅が許容範囲内にないと、振幅の問題が検出される。ステップＳ２４の判定結果がＹＥＳであると、ステップＳ２５は設計する回路に対して振幅問題のフラグを設定する。ステップＳ２４の判定結果がＮＯ、或いは、ステップＳ２５の後、処理はステップＳ３５へ進む。
【００３０】
エッジ系の場合、ステップＳ２７は解析結果に波形割れがあるか否かを判定する。信号波形が例えば階段状の波形を含んで許容形状の範囲内にないと、波形割れが検出される。ステップＳ２７の判定結果がＹＥＳであると、ステップＳ２８は設計する回路に対して波形割れのフラグを設定する。ステップＳ２７の判定結果がＮＯ、或いは、ステップＳ２８の後、ステップＳ２９は解析結果にオーバーシュート（ＯＳ：OverShoot）又はアンダーシュート（ＵＳ：UnderShoot）があるか否かを判定する。信号波形に許容範囲を超えるＯＳ又はＵＳがあると、ＯＳ又はＵＳが検出される。ステップＳ２９の判定結果がＹＥＳであると、ステップＳ３０は設計する回路に対してＯＳ又はＵＳのフラグを設定する。ステップＳ２９の判定結果がＮＯ、或いは、ステップＳ３０の後、ステップＳ３１は解析結果に振幅の問題（ＮＧ）があるか否かを判定する。信号振幅が許容範囲内にないと、振幅の問題が検出される。ステップＳ３１の判定結果がＹＥＳであると、ステップＳ３２は設計する回路に対して振幅問題のフラグを設定する。ステップＳ３１の判定結果がＮＯ、或いは、ステップＳ３２の後、ステップＳ３３は基準割れであるか否かを判定する。信号が所望の時間に立ち上がらない等、基準を満たしていないと、基準割れが検出される。ステップＳ３３の判定結果がＹＥＳであると、ステップＳ３４は設計する回路に対して基準割れのフラグを設定する。ステップＳ３３の判定結果がＮＯ、或いは、ステップＳ３４の後、処理はステップＳ３５へ進む。ステップＳ２３，Ｓ２５，Ｓ２８，Ｓ３０，Ｓ３４で設定されるフラグは、検討回路データベース１３に格納された設計する回路（検討回路）に対して設定される。従って、これらの設定されたフラグを参照することで、各種障害の有無や障害状況を把握することができる。
【００３１】
ステップＳ３５は、設計する回路の回路トポロジの分解及び解析条件を自動的に整理する処理を行い、設計する回路に関する整理されたデータを検討回路データベース１３に格納する。ステップＳ３５で整理されるデータには、部品、ライン長、ビア（ｖｉａ）、分岐、動作周波数、インピーダンス、温度等のデータが含まれる。
【００３２】
ステップＳＴ２は、ステップＳＴ１と同様にして、実回路データベース１２へのデータ格納処理を行うと共に、実回路に対してＡＷフラグを設定する。ＡＷフラグは、実回路データベース１２に格納された実回路に対して設定される。
【００３３】
図８において、ステップＳ４１は実回路の試験を行い、ステップＳ４２は試験を行った実回路の信号波形（実測値）と設計上の信号波形（解析値）とを比較する。ステップＳ４３は、比較された信号波形が一致するか否かを判定し、判定結果がＮＯであると、処理はステップＳ４４及びＳ４５へ進む。ステップＳ４４は試験時の信号波形の不一致を示すフラグを実回路データベース１２に格納された実回路に対して設定する。ステップＳ４３の判定結果がＹＥＳであると、処理は後述するステップＳ４７へ進む。ステップＳ４５は部品データベース１１が構成する例えばＩＢＩＳ等を含むライブラリに問題があるか否かを判定する。ステップＳ４５の判定結果がＹＥＳであると、処理はステップＳ４６及びＳ４７へ進む。ステップＳ４６はライブラリに起因する問題がある理由を実回路データベース１２に格納された実回路に対して設定する。ステップＳ４５の判定結果がＮＯであると、処理は終了する。ステップＳ４７はフィールド障害があるか否かを判定する。ステップＳ４７の判定結果がＹＥＳであると、ステップＳ４８はフィールド障害の情報を実回路データベース１２に格納された実回路に対して設定する。ステップＳ４７の判定結果がＮＯであると、処理は終了する。従って、これらの設定されたフラグ、問題がある理由や障害の情報を参照することで、リスク判定を行うことができる。
【００３４】
図９及び図１０は、データベース部へのデータ参照処理を含む回路設計処理を説明するフローチャートである。データ参照処理を含む回路設計処理は、ＣＰＵ２０１により実行される。
【００３５】
図９において、ステップＳ５１は、ユーザがディスプレイ１０２の表示画面１０２ａの表示を見ながらキーボード１０３等から入力した指示に応答して、設計する現行回路の回路トポロジを作成して波形解析を行う。ステップＳ５２は、現行回路の回路トポロジの分解及び解析条件を自動的に整理する処理を行う。ステップＳ５２で整理されるデータには、部品、ライン長、ビア（ｖｉａ）、分岐、動作周波数、インピーダンス、温度等のデータが含まれる。ステップＳ５３は、現行回路の回路トポロジと同一回路トポロジの実績があるか否かを判定する。ステップＳ５３の判定結果がＮＯであると、ステップＳ５４は実績無しのアラームメッセージをディスプレイ１０２の表示画面１０２ａに表示し、処理は後述するステップＳ５６へ進む。
【００３６】
ステップＳ５３の判定結果がＹＥＳであると、ステップＳ５５は、ユーザがキーボード１０３等の入力部から入力した回路絞り込み条件に基づいて現行回路の回路トポロジを変更する場合の推奨回路を、実回路データベース１２及び検討回路データベース１３を検索することで求める。この場合の回路絞り込み条件には、総ライン長さ、動作周波数、レシーバ数、抵抗の数、ｖｉａ数、インピーダンス、コネクタ数、分岐数、温度等のうち少なくとも１つが含まれるが、ドライバ等の部品の価格、レシーバ等の部品の種類の数、最遠端の配線長、動作周波数、終端抵抗、ダンピング抵抗及び熱条件等のうち少なくとも１つを含んでも良い。
【００３７】
ステップＳ５６は、ステップＳ５５で回路絞り込み条件に基づいて絞り込まれた推奨回路を、部品データベース１１から読み出した部品絞り込み条件に基づいて更に絞り込む。この例では、部品絞り込み条件には、マルチベンダ情報が含まれ、コストダウン、発熱又は耐熱、重量、部品高さ、各ピンバッファテーブル等の条件を含む。この場合、コストダウン等の条件のうちどの条件を選択或いは優先するかは、ユーザによって指定されても、予めデフォルトで決められていても良い。
【００３８】
ステップＳ５７は、マルチベンダ部品があるか否かを判定する。ステップＳ５７の判定結果がＮＯであると、ステップＳ５８はマルチベンダ部品無しのメッセージをディスプレイ１０２の表示画面１０２ａに表示し、処理は図１０と共に後述するステップＳ６７へ進む。ステップＳ５７の判定結果がＹＥＳであると、処理は図１０に示すステップＳ６１へ進む。
【００３９】
図１０において、ステップＳ６１は、該当するネットを他のマルチベンダ部品に代えられるか否かを判定する。ステップＳ６１の判定結果がＮＯであると、ステップＳ６２はネットのマルチベンダ部品への変更ができない旨を示すメッセージをディスプレイ１０２の表示画面１０２ａに表示し、処理は後述するステップＳ６７へ進む。ステップＳ６１の判定結果がＹＥＳであると、ステップＳ６３は部品としてマルチベンダ部品に代えられるか否かを判定する。ステップＳ６３の判定結果がＮＯであると、ステップＳ６４は部品のマルチベンダ部品への変更ができない旨を示すメッセージをディスプレイ１０２の表示画面１０２ａに表示し、処理は後述するステップＳ６７へ進む。ステップＳ６５は、現行回路全体で同一部品をマルチベンダ部品に代えられるか否かを判定する。ステップＳ６５の判定結果がＮＯであると、ステップＳ６６は現行回路全体で同一部品のマルチベンダ部品への変更ができない旨を示すメッセージをディスプレイ１０２の表示画面１０２ａに表示し、処理はステップＳ６７へ進む。ステップＳ６７は、推奨回路一覧をディスプレイ１０２の表示画面１０２ａに表示し、処理は終了する。推奨回路一覧には、変更可能なマルチベンダ部品の情報等が優先順に含まれる。
【００４０】
部品データベース１１は、図１１に示す如き部品テーブルＴ２と、図１２に示す如き部品ピンテーブルＴ３と、図１３に示す如き部品バッファテーブルＴ４が含まれる。
【００４１】
部品テーブルＴ２は、各部品に対して、代表仕様名、メーカ型名、メーカ品名、ピン数、部品トータルとして部品ランク、故障率、ＲｏＨＳ、耐熱ランク、価格、発熱ランク、パッケージ形状、部品高さ、動作寿命、部品重量、吸湿管理等を格納している。
【００４２】
部品ピンテーブルＴ３は、各部品の各ピン（ピン番号）に対して、バッファ名及びパッケージ（ＰＫＧ）容量を格納している。
【００４３】
部品バッファテーブルＴ４は、図６に示すバッファテーブルＴ１と同様のものであり、図１３では各部品バッファ（バッファ名）について、ドライブ能力、出力インピーダンス、信号立ち上がり時間ｔｒと信号立ち下がり時間ｔｆの比ｔｒ／ｔｆ、及び入力クランプを格納している。図１３中、ＧＮＤはロー（Ｌｏｗ）側にクランプがあることを示し、ＰＷＲはハイ（Ｈｉｇｈ）側にクランプがあることを示す。
【００４４】
現行回路の解析の結果、現行回路の使用部品でエラーが検出された場合、他の部品に変更できるのであれば、マルチベンダ部品から検索を開始することが望ましい。一例として、次のような波形エラーの代表的内容Ｅ１〜Ｅ４で変更部品の検討を行う場合について説明する。
Ｅ１：エッジ動作ネットで致命的エラーである波形割れ。
Ｅ２：ＥＭＩの問題、グランドの揺れ等の問題によるリンギング。
Ｅ３：部品破損、ＥＭＩの問題等によるオーバーシュート又はアンダーシュート。
Ｅ４：動作不良によるタイミング不良。
【００４５】
現行回路が例えばメーカ型名ＣＣＣのマルチベンダ部品を使用している状態で、ピン番号１の出力のネットで上記Ｅ１のエラーが発生した場合、マルチベンダ部品の同一ピン番号１のエラーに対応するため、最も良いと思われるバッファを自動的に選択して推奨候補として提示し、他の候補があれば、優先度を付けて提示する。この場合、推奨候補として提示するバッファは、図１４に示すメーカ型名ＣＣＣのバッファテーブルＴ５に基づいて、図１５のメーカ型名ＡＡＡのバッファテーブルＴ６、図１６のメーカ型名ＢＢＢのバッファテーブルＴ７、図１７のメーカ型名ＤＤＤのバッファテーブルＴ８等を参照することで自動的に選択される。図１４〜図１７中、Ｃｃｏｍｐはバッファ名Ｉｎｐｕｔ１のピン４におけるシリコンダイの容量を示す。
【００４６】
図１８は、解析結果に対する処理を説明するフローチャートであり、図７のステップＳＴ１又はＳＴ２の処理の要部をより詳細に示す。図１８の処理は、ＣＰＵ２０１により実行される。
【００４７】
図１８において、ステップＳ７１は設計された回路、例えばステップＳＴ１の場合であれば現行回路の波形解析を行い、ステップＳ７２は波形解析の結果を判定する。波形解析の結果の判定自体は、周知の方法で行うことができる。ステップＳ７３は、波形解析の結果エラーが有るか否かを判定し、判定結果がＮＯであると、処理は後述するステップＳ８２へ進む。他方、ステップＳ７３の判定結果がＹＥＳであると、処理はステップＳ７４へ進む。
【００４８】
ステップＳ７４は、波形割れがあるか否かを判定し、判定結果がＹＥＳであると、ステップＳ７５は波形割れを防止するべくドライバ能力を上げたり、ダンピング抵抗を付けたり大きくしたり、近端レシーバを遠くに移動する等の回路トポロジの変更を自動的に行う。ステップＳ７４の判定結果がＮＯ、或いは、ステップＳ７５の後、ステップＳ７６は振幅エラーがあるか否かを判定する。
【００４９】
ステップＳ７６の判定結果がＹＥＳであると、ステップＳ７７は振幅エラーを防止するべく使用ドライバの電圧設定ミスを確認したり、プルアップ又はプルダウン電圧を変更したり、より適切な出力インピーダンスのバッファに変更する等の回路トポロジの変更を自動的に行う。ステップＳ７６の判定結果がＮＯ、或いは、ステップＳ７７の後、ステップＳ７８はＯＳ又はＵＳがあるか否かを判定する。
【００５０】
ステップＳ７８の判定結果がＹＥＳであると、ステップＳ７９はＯＳ又はＵＳを防止するべくより適切な出力インピーダンスのバッファに変更したり、クランプ有りのレシーバに変更したり、終端抵抗を付ける等の回路トポロジの変更を自動的に行う。ステップＳ７８の判定結果がＮＯ、或いは、ステップＳ７９の後、ステップＳ８０は信号波形が所望の時間に立ち上がるか否かを判定する。
【００５１】
ステップＳ８０の判定結果がＮＯであると、ステップＳ８１は信号波形が所望の時間に立ち上がるようにするべく動作速度の速いドライバに変更したり、近端レシーバを遠くにしたり最遠端レシーバを近くする等の回路トポロジの変更を自動的に行う。ステップＳ８０の判定結果がＹＥＳ、或いは、ステップＳ８１の後、ステップＳ８２は安価及び／又は信頼度の高い部品があるか否かを判定する。
【００５２】
ステップＳ８２の判定結果がＹＥＳであると、ステップＳ８３は使用されているバッファと同等のドライブ能力を有するバッファの中から、安価な部品、信頼度の高い部品、部品高さの低い部品、発熱の少ない部品等を、優先度が設定されていれば優先順位に従って自動的に選定する。ステップＳ８２の判定結果がＮＯ、或いは、ステップＳ８３の後、処理は終了する。
【００５３】
尚、データベース部に格納するデータに、日付情報を含めれば使用される回路トポロジや部品の例えば最近の傾向を把握することができ、又、部品が回路設計に使用された回数情報を含めれば設計の傾向を把握することができ、更に、ユーザ情報を含めれば各ユーザの設計の傾向（又は、ノウハウ）を把握することができる。
【００５４】
上記実施例によれば、例えば現行回路トポロジで設計する回路で使用する部品とピンを指定することで、設計する回路と同様の、或いは、類似した回路トポロジの過去の回路設計に関するデータを自動的表示することができる。又、現行回路と登録されている過去の回路設計に関するデータに基づいて、現行回路の障害の有無や障害状況等の解析結果を過去に設計した回路の解析結果と自動的に比較することができる。このようにして、回路トポロジ傾向、部品の組み合わせの傾向、障害状況等の解析結果等のユーザによる確認を容易にすることができる。
【００５５】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）
回路設計を行うＣＡＤシステムであって、
ディスプレイと、
回路絞り込み条件を入力する入力部と、
該回路絞り込み条件に基づいて、設計する回路の回路トポロジを変更する場合の推奨回路を、部品データ及び回路データを格納したデータベース部を検索することで求め、推奨回路一覧を該ディスプレイに表示する処理部
を備えたことを特徴とするＣＡＤシステム。
（付記２）
該データベース部は、
ピン数、ピン名、使用周波数帯、価格、熱情報、部品高さ、重量、マルチベンダ情報を含む部品データを格納した部品データベースと、
過去に実回路として使用された回路に関する回路データを格納した実回路データベースと、
検討段階の回路に関する回路データを格納した検討回路データベース
を有することを特徴とする付記１記載のＣＡＤシステム。
（付記３）
該回路絞り込み条件は、部品の価格、部品の種類の数、最遠端の配線長、動作周波数、終端抵抗、ダンピング抵抗、熱条件、総ライン長さ、動作周波数、レシーバ数、抵抗の数、ｖｉａ数、インピーダンス、コネクタ数、分岐数、温度の少なくとも１つを含むことを特徴とする付記１又は２記載のＣＡＤシステム。
（付記４）
該処理部は、該回路絞り込み条件による推奨回路の絞り込みの後、該部品データベースに格納されたマルチベンダ情報に基づいて推奨回路を更に絞り込むことを特徴とする付記３記載のＣＡＤシステム。
（付記５）
該推奨回路一覧は、部品の価格、部品の種類の数、最遠端の配線長、動作周波数、終端抵抗、ダンピング抵抗及び熱条件の少なくとも１つを含むことを特徴とする付記１乃至４のいずれか１項記載のＣＡＤシステム。
（付記６）
該設計する回路を解析した解析結果を該データベース部に格納された過去に設計した回路の解析結果と比較する解析部を更に備えたことを特徴とする付記１乃至５のいずれか１項記載のＣＡＤシステム。
（付記７）
該解析結果は、障害の有無及び障害状況を含み、
該解析部は該解析結果を該ディスプレイに表示することを特徴とする付記６記載のＣＡＤシステム。
（付記８）
回路の設計時に該実回路データベースを自動的に更新する更新部を更に備えたことを特徴とする付記２記載のＣＡＤシステム。
（付記９）
コンピュータに回路設計を行わせるプログラムであって、
回路絞り込み条件を入力する入力手順と、
該回路絞り込み条件に基づいて、設計する回路の回路トポロジを変更する場合の推奨回路を、部品データ及び回路データを格納したデータベース部を検索することで求め、推奨回路一覧を該ディスプレイに表示する処理手順
を該コンピュータに実行させることを特徴とするプログラム。
（付記１０）
該データベース部は、
ピン数、ピン名、使用周波数帯、価格、熱情報、部品高さ、重量、マルチベンダ情報を含む部品データを格納した部品データベースと、
過去に実回路として使用された回路に関する回路データを格納した実回路データベースと、
検討段階の回路に関する回路データを格納した検討回路データベース
を有することを特徴とする付記９記載のプログラム。
（付記１１）
該回路絞り込み条件は、部品の価格、部品の種類の数、最遠端の配線長、動作周波数、終端抵抗、ダンピング抵抗、熱条件、総ライン長さ、動作周波数、レシーバ数、抵抗の数、ｖｉａ数、インピーダンス、コネクタ数、分岐数、温度のうち少なくとも１つを含むことを特徴とする付記９又は１０記載のプログラム。
（付記１２）
該処理手順は、該回路絞り込み条件による推奨回路の絞り込みの後、該部品データベースに格納されたマルチベンダ情報に基づいて推奨回路を更に絞り込むことを特徴とする付記１１記載のプログラム。
（付記１３）
該推奨回路一覧は、部品の価格、部品の種類の数、最遠端の配線長、動作周波数、終端抵抗、ダンピング抵抗及び熱条件の少なくとも１つを含むことを特徴とする付記９乃至１２のいずれか１項記載のプログラム。
（付記１４）
該設計する回路を解析した解析結果を該データベース部に格納された過去に設計した回路の解析結果と比較する解析手順
を更に該コンピュータに実行させることを特徴とする付記９乃至１３のいずれか１項記載のプログラム。
（付記１５）
該解析結果は、障害の有無及び障害状況を含み、
該解析手順は該解析結果を該ディスプレイに表示することを特徴とする付記１４記載のプログラム。
（付記１６）
回路の設計時に該実回路データベースを自動的に更新する更新手順
を更に該コンピュータに実行させることを特徴とする付記１０記載のプログラム。
【００５６】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施例が適用されるコンピュータシステムを示す斜視図である。
【図２】コンピュータシステムの本体部内の要部の構成を説明するブロック図である。
【図３】現行回路の回路トポロジの一例を示す図である。
【図４】実施例の概略動作を説明する図である。
【図５】推奨回路の回路トポロジの一例を示す図である。
【図６】バッファテーブルの一例を示す図である。
【図７】データ登録処理を説明するフローチャートである。
【図８】データ登録処理を説明するフローチャートである。
【図９】データ参照処理を含む回路設計処理を説明するフローチャートである。
【図１０】データ参照処理を含む回路設計処理を説明するフローチャートである。
【図１１】部品テーブルの一例を示す図である。
【図１２】部品ピンテーブルの一例を示す図である。
【図１３】部品バッファテーブルの一例を示す図である。
【図１４】メーカ型名ＣＣＣのバッファテーブルの一例を示す図である。
【図１５】メーカ型名ＡＡＡのバッファテーブルの一例を示す図である。
【図１６】メーカ型名ＢＢＢのバッファテーブルの一例を示す図である。
【図１７】メーカ型名ＤＤＤのバッファテーブルの一例を示す図である。
【図１８】解析結果に対する処理を説明するフローチャートである。
【符号の説明】
【００５８】
１００      コンピュータシステム
１０１      本体部
１０２      ディスプレイ
１０２ａ      表示画面
１０３      キーボード
１０４      マウス
１０５      モデム
１０６      記録媒体
１１０      ディスク
２００      バス
２０１      ＣＰＵ
２０２      メモリ部
２０３      ディスクドライブ
２０４      ハードディスクドライブ
【図１】
0005082784.tif 000002
【図２】
0005082784.tif 000003
【図３】
0005082784.tif 000004
【図４】
0005082784.tif 000005
【図５】
0005082784.tif 000006
【図６】
0005082784.tif 000007
【図７】
0005082784.tif 000008
【図８】
0005082784.tif 000009
【図９】
0005082784.tif 000010
【図１０】
0005082784.tif 000011
【図１１】
0005082784.tif 000012
【図１２】
0005082784.tif 000013
【図１３】
0005082784.tif 000014
【図１４】
0005082784.tif 000015
【図１５】
0005082784.tif 000016
【図１６】
0005082784.tif 000017
【図１７】
0005082784.tif 000018
【図１８】
0005082784.tif 000019