以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、回路設計を支援する。例えば、情報処理装置1は、回路設計を支援するためのGUIを表示装置に表示させる。例えば、当該GUIは回路図の画像をユーザに提示する。回路図の画像は、回路に含まれる部品のシンボルおよび部品のシンボル間を接続する線などを含む。
情報処理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aはRAM(Random Access Memory)などのメモリでもよい。演算部1bはCPU(Central Processing Unit)などのプロセッサでもよい。第1の実施の形態の情報処理は、記憶部1aに記憶されたプログラムを演算部1bが実行することで実現されてもよい。
記憶部1aは、第1の回路2を示す情報および第2の回路3を示す情報を記憶する。記憶部1aは、演算部1bによる回路内の配線を示す情報を辿るための条件を示す情報を記憶する。例えば、当該条件を示す情報には、回路に含まれる各部品の属性に応じて、透過してよいか否かを示す情報が登録される。ここで、“透過する”とは、配線を辿ってある部品に到達したとき、当該部品が、辿ってきた配線以外の他の配線をもつ場合に、当該他の配線を更に辿っていくことを意味する。
演算部1bは、第1の回路2を示す情報に含まれる第1の部品Aを示す情報および第2の回路3を示す情報に含まれる第2の部品Bを示す情報を特定する。例えば、演算部1bは、第1の回路2を示す情報に含まれる第1の部品Aを示す情報のユーザによる選択入力を許容してもよい。この場合、演算部1bは、選択された第1の部品Aを示す情報を特定する。同様に、演算部1bは、第2の回路3を示す情報に含まれる第2の部品Bを示す情報のユーザによる選択入力を許容してもよい。この場合、演算部1bは、選択された第2の部品Bを示す情報を特定する。
演算部1bは、記憶部1aに記憶された条件を示す情報に基づいて、第1の部品Aを示す情報を起点に第1の回路2を示す情報に含まれる部品間の配線を示す情報を辿ることで第1の回路内の第1の部分2aを示す情報を取得する。また、演算部1bは、記憶部1aに記憶された条件を示す情報に基づいて、第2の部品Bを示す情報を起点に第2の回路3を示す情報に含まれる部品間の配線を示す情報を辿ることで第2の回路3内の第2の部分3aを示す情報を取得する。
例えば、第1の回路2および第2の回路3は3種類の属性の部品を含む。図1では3種類の属性を部品のシンボルのサイズで表している。第1の属性は最大サイズのシンボルである。第2の属性は2番目に大きなサイズのシンボルである。第3の属性は最小サイズのシンボルである。このとき、例えば、記憶部1aに記憶された条件を示す情報には次のような情報が登録される。(1)配線を辿って到達した部品が第1,第2の属性の場合、透過しない。(2)配線を辿って到達した部品が第3の属性の場合、透過する。
例えば、演算部1bは第1の回路2を示す情報に含まれる第1の部品Aを示す情報および第2の回路3を示す情報に含まれる第2の部品Bを示す情報を特定する。すると、演算部1bは、第1の部品Aを起点に、第1,第2の属性の部品に最初に到達するまで配線を辿る。演算部1bは、第1の部品Aが備えるピンごとに当該処理を行うことで、第1の部分2aを示す情報を取得する。また、演算部1bは、第2の部品Bを起点に、第1,第2の属性の部品に最初に到達するまで配線を辿る。演算部1bは、第2の部品Bが備えるピンごとに当該処理を行うことで、第2の部分3aを示す情報を取得する。
演算部1bは、第1の部分2aを示す情報と第2の部分3aを示す情報とに基づいて、第1の部分2aと第2の部分3aとの差分を示す情報を出力する。例えば、演算部1bは、第1の部分2aを示す情報に含まれる部品や配線を示す情報と、第2の部分3aを示す情報に含まれる部品や配線を示す情報とを対比することで、第1の部分2aと第2の部分3aとの差分を示す情報を生成する。
具体的には、第1の部分2aを示す情報は部品Cを示す情報を含むのに対し、第2の部分3aを示す情報は部品Cを示す情報を含まない(第1の差分)。また、第1の部分2aを示す情報は部品Dを示す情報を含まないのに対し、第2の部分3aを示す情報は部品Dを示す情報を含む(第2の差分)。演算部1bは、第1の部分2aを示す情報に含まれる部品や配線を示す情報と、第2の部分3aを示す情報に含まれる部品や配線を示す情報とを対比することで、第1,第2の差分を検出する。演算部1bは、第1,第2の差分を示す情報を生成し、出力する。例えば、演算部1bは、第1,第2の差分を示す情報を表示装置に出力し、表示させてもよい。
情報処理装置1によれば、演算部1bにより、第1の回路2を示す情報に含まれる第1の部品Aを示す情報および第2の回路3を示す情報に含まれる第2の部品Bを示す情報が特定される。演算部1bにより、第1の部品Aを示す情報を起点に第1の回路2を示す情報に含まれる部品間の配線を示す情報を辿ることで第1の回路2内の第1の部分2aを示す情報が取得される。演算部1bにより、第2の部品Bを示す情報を起点に第2の回路3を示す情報に含まれる部品間の配線を示す情報を辿ることで第2の回路3内の第2の部分3aを示す情報が取得される。演算部1bにより、第1の部分2aを示す情報と第2の部分3aを示す情報とに基づいて、第1の部分2aと第2の部分3aとの差分を示す情報が出力される。
これにより、回路の差分を効率的に取得できる。具体的には次の通りである。例えば、比較したい2つの回路の全体を対象にして、差分を取得するための処理を行うことも考えられる。しかし、2つの回路の全体を対比すると、余計な箇所について対比処理が実行され得る。例えば、第2の回路3の一部に第1の回路2の一部を流用することがある。この場合に、第1の回路2のうち流用対象の部分について、第2の回路3に適用する際の差分を把握したいことがある。ところが、第1の回路2および第2の回路3の全体を対比すると、第2の回路3のうち第1の回路2を流用しない箇所についても対比の対象範囲に含まれてしまい、処理コストが増大し得る。また、余計な対比が行われることで、余計な箇所についても差分が検出されてしまい、差分の情報を適切に把握することが容易でない。
そこで、情報処理装置1では、第1の回路2を示す情報および第2の回路3を示す情報のそれぞれについて、特定された部品を起点にした第1の部分2aおよび第2の部分3aを取得して差分の検出に用いる。これにより、第1の回路2および第2の回路3の余計な箇所について対比が行われることを抑制できる。
更に、第1の部分2aは、第1の部品Aを起点に第1の回路2内の配線を辿って取得された部分である。また、第2の部分3aは、第2の部品Bを起点に第2の回路3内の配線を辿って取得された部分である。ここで、例えば、第2の部品Bを中心とする所定半径の円や所定の辺の長さの多角形を第2の回路3に重ねて、ある部分を抽出することも考えられる。しかし、この場合、第2の部品Bと直接または間接には接続されていない余計な要素までも抽出されてしまうおそれがある。よって、この場合も、余計な箇所について対比が行われ得る。そこで、第1の実施の形態のように第1の部品Aおよび第2の部品Bを起点に配線を辿って第1の部分2aおよび第2の部分3aを抽出することで、第1の部品Aおよび第2の部品Bに直接または間接に接続された範囲を適切に抽出して対比できる。
このように、余計な箇所の対比処理を抑制できるので、余計な箇所について差分が検出されることを抑制できる。すなわち、差分の検出結果の数が過多となる可能性を低減できる。よって、ユーザは対比箇所につき差分の情報の適切な把握を容易に行える。
また、第1の回路2を示す情報および第2の回路3を示す情報の中からユーザにより選択された部品を特定し、当該部品を起点に対比する部分を抽出してもよい。このようにすれば、第1の回路2および第2の回路3の中からユーザが対比したい部分を適切に絞り込んで、対比を行える。これにより、回路設計の検証作業を効率的に支援できる。
[第2の実施の形態]
図2は、設計支援装置のハードウェア例を示す図である。設計支援装置100は、回路設計を支援するコンピュータである。設計支援装置100は、CADの機能を提供するものでもよい。設計支援装置100は、プロセッサ101、RAM102、HDD(Hard Disk Drive)103、通信部104、画像信号処理部105、入力信号処理部106、ディスクドライブ107および機器接続部108を有する。各ユニットが設計支援装置100のバスに接続されている。
プロセッサ101は、設計支援装置100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)などである。プロセッサ101は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、設計支援装置100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、設計支援装置100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。設計支援装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信部104は、ネットワーク10を介して他のコンピュータと通信を行えるインタフェースである。通信部104は、有線インタフェースでもよいし、無線インタフェースでもよい。
画像信号処理部105は、プロセッサ101からの命令に従って、設計支援装置100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部106は、設計支援装置100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ107は、レーザ光などを利用して、光ディスク13に記録されたプログラムやデータを読み取る駆動装置である。光ディスク13として、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などを使用できる。ディスクドライブ107は、例えば、プロセッサ101からの命令に従って、光ディスク13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
機器接続部108は、設計支援装置100に周辺機器を接続するための通信インタフェースである。例えば、機器接続部108にはメモリ装置14やリーダライタ装置15を接続できる。メモリ装置14は、機器接続部108との通信機能を搭載した記録媒体である。リーダライタ装置15は、メモリカード16へのデータの書き込み、またはメモリカード16からのデータの読み出しを行う装置である。メモリカード16は、カード型の記録媒体である。機器接続部108は、例えば、プロセッサ101からの命令に従って、メモリ装置14またはメモリカード16から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
設計支援装置100は、2つの回路図の差分を抽出してユーザに提示する。例えば、回路の開発では、既存の標準回路を設計中の製品回路に流用することがある。既存の回路から流用できれば、一から全て設計する場合よりも、開発工程の短縮化を図れるからである。標準回路の回路図と製品回路の回路図とを対比することで、標準回路を製品回路に適用する際に、当該標準回路に追加される部品や当該標準回路から削除される部品などを把握し得る。このような対比を行うことで、回路を適正に動作させることができるか(例えば、回路の動作に深刻な影響を及ぼす部品の追加/削除が行われていないか)という検証を行える。標準回路に対する余計な要素の追加や不可欠な要素の削除は、製品障害の要因ともなるため、当該検証は回路設計において重要である。
第2の実施の形態では、標準回路と、標準回路が流用された回路とを比較する場合を想定する。以下の説明では、標準回路が流用された回路を比較対象回路ということがある。
図3は、設計支援装置のソフトウェア例を示す図である。図3に示すユニットの全部または一部は、プロセッサ101がRAM102に記憶されたプログラムを実行することで実現されてもよい。設計支援装置100は、記憶部110、回路編集部120、ルール設定部130、トレース部140および差分検出部150を有する。
記憶部110は、各部の処理に用いられる各種の情報を記憶する。例えば、次のような情報を含む。第1には、回路を示す情報である(以下、回路情報ということがある)。第2には、回路情報から当該回路の一部分を抽出するための条件を示す情報である(以下、トレースルールということがある)。第3には、抽出された回路同士の一部分を対比する際の対比条件を示す情報である(以下、対比ルールということがある)。
回路編集部120は、回路の設計支援用のGUIをディスプレイ11に表示させる。回路編集部120は、入力デバイス12を用いたユーザによる操作入力を受け付け、当該操作入力に応じて回路情報を編集する。例えば、回路編集部120は、新たな部品や配線を示す情報を回路情報に追加したり、既存の部品や配線を示す情報を回路情報から削除したりする。
ルール設定部130は、トレースルールおよび対比ルールのユーザによる編集を受け付ける。ルール設定部130は、受け付けた編集内容に応じて、記憶部110に記憶されたトレースルールおよび対比ルールを更新する。
トレース部140は、比較する2つの回路(標準回路および比較対象回路)の回路情報のユーザによる選択を受け付ける。また、トレース部140は、各回路情報から1つずつ、トレースの起点となる部品の選択を受け付ける。当該選択された部品を核部品ということがある。
ここで、トレースとは、核部品を起点にして配線を示す情報を辿りながら、当該回路情報に含まれる一部分を抽出することを意味する。トレース部140は、記憶部110に記憶されたトレースルールを用いて、2つの回路情報のそれぞれから核部品を起点とした一定範囲の情報を抽出することで、比較対象とする部分を示す情報を取得する。
差分検出部150は、トレース部140によって取得された2つの部分を示す情報同士を対比して、両方の部分の差分を検出する。差分検出部150は、ディスプレイ11に検出結果を表示させる。
図4は、回路図の例を示す図である。回路図200は、ネット201,202、部品210,220,230およびピン211,221,222,231を含む。ネット201,202は、部品間を接続する線である。ネット201,202で接続された部品は、実際の回路において電気的に接続されることを示す。部品210,220,230は、IC、抵抗およびコンデンサなどの電子部品や電源およびアースなどの端子である。
ピン211,221,222,231は、部品に設けられた端子である。ピン同士を結線することで、ネットが形成される。ピン211は部品210に設けられている。ピン221,222は部品220に設けられている。ピン231は部品230に設けられている。ピン211,221の間の結線がネット201である。ピン211,221は、ネット201に属しているということもできる。ピン222,231の間の結線がネット202である。ピン222,231は、ネット202に属しているということもできる。
なお、2つのピンが1つのネットに属している例を示したが、3以上のピンが1つのネットに属することもある(この場合、分岐する線を用いて3以上のピンを接続する)。設計支援装置100は、ネット、部品およびピンを含む回路図を、回路情報を用いて管理する。
図5は、回路情報の例を示す図である。回路情報は、記憶部110に格納される。回路情報は、回路図テーブル111、ネットテーブル112、部品テーブル113および部品ピンテーブル114を含む。各テーブルの関連は、UML(Unified Modeling Language)クラス図の表記法に倣っている。
例えば、回路図テーブル111とネットテーブル112との対応は1対多である。すなわち、1つの回路図に複数のネットが所属し得る。回路図テーブル111と部品テーブル113との対応は1対多である。すなわち、1つの回路図に複数の部品が所属し得る。ネットテーブル112と部品ピンテーブル114との対応は1対多である。すなわち、1つのネットに複数の部品ピンが所属し得る。部品テーブル113と部品ピンテーブル114との対応は1対多である。すなわち、1つの部品に複数の部品ピンが所属し得る。
図6は、回路図テーブルの例を示す図である。回路図テーブル111は、回路図ID、回路図名、ネットへのリンクおよび部品へのリンクの項目を含む。
回路図IDの項目には、回路図を一意に識別するための識別情報が登録される。回路図名の項目には、回路図の名称が登録される。ネットへのリンクの項目には、回路図テーブル111に対応するネットテーブル112を示すポインタが登録される。回路図に複数のネットが所属する場合は、複数のネットを示す複数のポインタが登録される。部品へのリンクの項目には、回路図テーブル111に対応する部品テーブル113を示すポインタが登録される。回路図に複数の部品が所属する場合は、複数の部品を示す複数のポインタが登録される。
図7は、ネットテーブルの例を示す図である。ネットテーブル112は、ネットID、ネット名、属性および部品ピンへのリンクの項目を含む。
ネットIDの項目には、ネットを一意に識別するための識別情報が登録される。ネット名の項目には、ネットの名称が登録される。属性の項目には、ネットの属性が登録される。例えば、ネットの属性としてネット種別、電圧値および線幅などの情報が登録される。
ここで、ネット種別は、配線が信号線、電源ネットおよびアースネットなどのうちの何れの用途であるかを示す情報である。電圧値は、配線に印加される電圧の値(例えば、+3.3V、−2.5Vなど)を示す情報である。線幅は、配線の幅(2mm,1mmなど)を示す情報である。
部品ピンへのリンクの項目には、ネットテーブル112に対応する部品ピンテーブル114を示すポインタが登録される。ネットに複数の部品ピンが所属する場合は、複数の部品ピンを示す複数のポインタが登録される。
図8は、部品テーブルの例を示す図である。部品テーブル113は、部品ID、部品名、属性および部品ピンへのリンクの項目を含む。
部品IDの項目には、部品を一意に識別するための識別情報が登録される。部品名の項目には、部品の名称が登録される。属性の項目には、部品の属性が登録される。例えば、部品の属性として、ライブラリアクセスキー、部品品種記号、部品詳細記号、論理種別、特定値および部品手配指示フラグなどの情報が登録される。
ここで、ライブラリアクセスキーは、部品データベース上での部品の登録/管理に用いられるIDである。ここで、部品データベースは、回路情報とは別個に各部品を管理するためのデータベースである。ライブラリアクセスキーは、当該部品データベース内において、部品を一意に識別するための識別情報である。例えば、部品データベースは記憶部110に記憶される。部品データベースは、ネットワークを介して設計支援装置100に接続された他のコンピュータが記憶するものでもよい。
部品品種記号は、部品の分類を示す記号である。例えば、分類“抵抗”に対して記号“R”、分類“コンデンサ”に対して記号“C”などのように、分類に応じた記号が予め定められている。
部品詳細記号は、部品品種記号よりも詳細に部品を分類するために用いられる記号である。例えば、詳細分類“抵抗タイプA”に対して記号“RA”、詳細分類“コンデンサタイプA”に対して記号“CA”などのように、分類に応じた記号を任意に決定できる。例えば、ユーザは、管理したい詳細分類に応じて、部品詳細記号を任意に定義可能である。
論理種別は、主に抵抗やコンデンサに対して設定可能な種別を示している。例えば、論理種別には、ダンピング抵抗やプルアップ抵抗などの種別が登録され得る。特性値は、抵抗値や容量値などの部品ごとに固有の値である。例えば、抵抗であれば、抵抗値“10.0Ω”などの値が登録され得る。また、コンデンサであれば、容量値“30.0F”などの値が登録され得る。部品手配指示フラグは、工場での製造時に部品を手配するか否かを制御するためのフラグである。工場での製造時に部品を手配する場合、部品手配指示フラグは“true”である。工場での製造時に部品を手配しない場合、部品手配指示フラグは“false”である。
部品ピンへのリンクの項目には、部品テーブル113に対応する部品ピンテーブル114を示すポインタが登録される。部品に複数の部品ピンが所属する場合は、複数の部品ピンを示す複数のポインタが登録される。
なお、各部品は、GUI上に当該部品のシンボルを表示するための情報(部品シンボル情報ということがある)に対応付けられている。例えば、部品シンボル情報は部品データベースに予め格納されている。部品シンボル情報は、ライブラリアクセスキーに対応付けられていてもよい。その場合、トレース部140はライブラリアクセスキーを用いて部品シンボル情報にアクセスし得る。部品シンボル情報は、部品に設けられた部品ピンの配置や数などの情報を含む。
図9は、部品ピンテーブルの例を示す図である。部品ピンテーブル114は、部品ピンID、部品ピン名、属性、部品へのリンクおよびネットへのリンクの項目を含む。
部品ピンIDの項目には、部品ピンを一意に識別するための識別情報が登録される。部品ピン名の項目には、部品ピンの名称が登録される。属性の項目には、部品ピンの属性が登録される。部品へのリンクの項目には、部品ピンテーブル114に対応する部品テーブル113を示すポインタが登録される。ネットへのリンクの項目には、部品ピンテーブル114に対応するネットテーブル112を示すポインタが登録される。
図10は、トレースルールテーブルの例を示す図である。トレースルールテーブル115は、記憶部110に格納される。トレースルールテーブル115は、項番およびトレースルールの項目を含む。
項番の項目には、レコードを識別するための番号が登録される。トレースルールの項目には、トレースルールの内容が登録される。トレースルールの項目は、判定内容および処理設定の項目に細分化されている。判定内容の項目には、トレースする際に判定する内容を示す情報が登録される。処理設定の項目には、判定内容に対するトレースの処理内容を示す情報が登録される。
例えば、トレースルールテーブル115には、次のような情報が登録される。第1には、項番が“1”、トレースルールの判定内容が“部品品種記号A,B,C,・・・”、トレースルールの処理設定が“論理透過可”という情報が登録される。これは、トレースを行う際に、部品品種記号が“A,B,C,・・・”の何れかに該当する部品を透過してトレース範囲を広げることを示す。
ここで、“論理透過”とは、トレースの際に、あるネットに接続された論理透過対象の部品が抽出された場合に、当該部品を通過して、当該部品の先に存在するネットもトレースの対象に含めることを意味する。“論理透過しない”とは、あるネットに接続された論理透過非対象の部品が抽出された場合に、当該部品の先にネットが存在していたとしても、トレースの対象に含めないことを意味する。すなわち、“論理透過しない”部品を、トレースの1つの末端に位置する部品ということができる。
第2には、項番が“2”、トレースルールの判定内容が“部品詳細記号a,b,c,・・・”、トレースルールの処理設定が“論理透過可”という情報が登録される。これは、トレースを行う際に、部品詳細記号が“a,b,c,・・・”の何れかに該当する部品を透過してトレース範囲を広げることを示す。
第3には、項番が“3”、トレースルールの判定内容が“部品ピン数Nmax以下”、処理設定が“論理透過可”という情報が登録される。これは、トレースを行う際に、部品ピン数がNmax以下である部品を透過してトレース範囲を広げることを示す。ここで、Nmaxには1より大きい任意の整数を設定できる。
第4には、項番が“4”、トレースルールの判定内容が“部品手配指示フラグがtrue”、処理設定が“論理透過可”という情報が登録される。これは、トレースを行う際に、部品手配指示フラグが“true”である部品を透過してトレース範囲を広げることを示す。
第5には、項番が“5”、トレースルールの判定内容が“透過先ピンの複数選択”、処理設定が“選択不可”という情報が登録される。これは、ある部品につき論理透過先のネットが複数存在する場合に、当該複数のネットに属する当該部品の部品ピン(透過先ピンということがある)の複数選択が許容されていないことを示す。すなわち、単一の透過先ピンのみが許容されていることになる。
なお、上記のトレースルールは一例であり、他の判定内容および処理設定を登録してもよい。例えば、トレースルールの判定内容が“起点ピンが中継部品(部品ID“X”)を介して他ピンと接続”、処理設定が“論理透過可”という情報を登録してもよい。これは、トレースの起点とする部品ピン(起点ピン)が、部品ID“X”の部品を介して他の部品の部品ピンと接続されている場合に、当該部品ID“X”の部品を透過してトレース範囲を広げることを示す。
また、トレースルールテーブル115の項番“1”〜“4”のルールは、AND条件である。全ての判定内容が真のときに、抽出された部品を論理透過することになる。このように、論理透過するための条件を多段に設けることで、論理透過対象の部品を適切に絞り込める。ただし、項番“1”〜“4”のルールを、OR条件としてもよい。すなわち、“1”〜“4”の判定内容の少なくとも1つが真のときに、抽出された部品を論理透過の対象としてもよい。
次に、トレースにより得られた回路の一部分を管理するためのトレースデータを例示する。トレースデータは記憶部110に格納される。トレースデータは次のテーブルを含む。第1にはトレースマップ(TM:Trace Map)テーブルである。TMテーブルは、核部品ごとに生成される。第2にはトレースピンマップ(TPM:Trace Pin Map)テーブルである。TPMテーブルは、核部品に設けられた部品ピンごとに生成される。第3にはトレースパス(TP:Trace Path)テーブルである。TPテーブルは、ネットごとに生成される。第4にはピンデータ(PD:Pin Data)テーブルである。PDテーブルは、当該ネットに属する部品ピンごとに生成される。
図11は、TMテーブルの例を示す図である。TMテーブル116は、核部品IDおよびTPMへのリンクの項目を含む。核部品IDの項目には、核部品の部品IDが登録される。核部品IDは部品IDのサブタイプと考えることができる。TPMへのリンクの項目には、TMテーブル116に対応するTPMテーブル(すなわち、当該核部品に設けられた部品ピンのTPMテーブル)を示すポインタが登録される。複数のTPMテーブルが対応する場合は、複数のTPMテーブルを示す複数のポインタが登録される。
図12は、TPMテーブルの例を示す図である。TPMテーブル117は、核部品ピンIDおよびTPへのリンクの項目を含む。核部品ピンIDの項目には、核部品に設けられた部品ピンの部品ピンIDが登録される。核部品ピンIDは部品ピンIDのサブタイプと考えることができる。TPへのリンクの項目には、TPMテーブル117に属するTPテーブルを示すポインタが登録される。複数のTPテーブルが属する場合は、複数のTPテーブルを示す複数のポインタが登録される。
図13は、TPテーブルの例を示す図である。TPテーブル118は、ネットID、PDへのリンクおよび隣接TPへのリンクの項目を含む。ネットIDの項目には、ネットIDが登録される。PDへのリンクの項目には、TPテーブル118のネットを形成する部品のPDテーブルを示すポインタが登録される。当該ネットが複数の部品により形成される場合は、複数のPDテーブルを示す複数のポインタが登録される。隣接TPへのリンクの項目には、TPテーブル118で示されるネットに対して隣接するネットのTPテーブル(隣接TP)を示すポインタが登録される。隣接するネットが複数ある場合は、複数のネットを示す複数のポインタが登録される。ここで、“2つのネットが隣接する”関係とは、2つのネットの間に、トレース時に論理透過の対象となる1つの部品が介在している関係を示す。
図14は、PDテーブルの例を示す図である。PDテーブル119は、部品ID、部品ピンIDおよびTPへのリンクの項目を含む。部品IDの項目には、部品IDが登録される。部品ピンIDの項目には、当該部品に設けられた部品ピンの部品ピンIDが登録される。TPへのリンクの項目には、当該部品ピンが属するネットのTPテーブルを示す。PDテーブル119は、部品ピンに対応付けられたデータであるということができる。また、PDテーブル119は、部品に対応付けられたデータであるということもできる。1つの部品が複数の部品ピンをもつ場合、当該1つの部品は複数のPDテーブルに対応付けられることになる。
図15は、トレースデータの例を示す図である。図15(A)は回路図300を例示している。回路図300は、ネット301,302,303、部品310,320,330および部品ピン311,312,321,322,331,332を含む。なお、図15(A)では、各部の符号とともに、図15(B)の説明に用いる別名も併記している。
部品310は部品ピン311,312を有する。部品320は部品ピン321,322を有する。部品320はトレースの際に論理透過の対象となる部品であるとする。部品330は部品ピン331,332を有する。部品330はトレースの際に論理透過の対象とならない部品であるとする。部品ピン311,321はネット301に属している。部品ピン322,331はネット302に属している。部品ピン312,332はネット303に属している。
図15(B)は部品310を核部品としたときの、回路図300に対応するトレースデータを例示している。TMテーブル116aは部品310(核部品)を示している。当該核部品を起点にトレースされるツリー構造のルート(root)を、図15(B)ではTM1と表記している。
部品310は、2つの部品ピン311,312を有する。よって、TMテーブル116aには、部品ピン311のTPMテーブル117aを示すポインタと、部品ピン312のTPMテーブル117bを示すポインタと、が登録される。
TPMテーブル117aは、部品ピン311に対応するものであり、部品ピン311を起点にトレース可能な全てのネットの集合TPM1を示すものである。回路図300の例ではTPM1にはネット301,302が属する。よって、TPMテーブル117aのTPへのリンクの項目にはネット301のTPテーブル118aを示すポインタと、ネット302のTPテーブル118bを示すポインタと、が登録される。
TPMテーブル117bは、部品ピン312に対応するものであり、部品ピン312を起点にトレース可能な全てのネットの集合TPM2を示すものである。回路図300の例ではTPM2にはネット303が属する。よって、TPMテーブル117bのTPへのリンクの項目にはネット303のTPテーブル118cを示すポインタが登録される。
TPテーブル118aは、ネット301(図15(B)ではTP1と表記)を示す。回路図300の例では、ネット301は、部品ピン311,321が接続されて形成される。よって、TPテーブル118aのPDへのリンクの項目には、部品ピン311のPDテーブル119aを示すポインタと、部品ピン321のPDテーブル119bを示すポインタと、が登録される。また、回路図300の例では、ネット301,302は隣接している。よって、TPテーブル118aの隣接TPへのリンクの項目には、ネット302のTPテーブル118bを示すポインタが登録される。
TPテーブル118bは、ネット302(図15(B)ではTP2と表記)を示す。回路図300の例では、ネット302は、部品ピン322,331が接続されて形成される。よって、TPテーブル118bのPDへのリンクの項目には、部品ピン322のPDテーブル119cを示すポインタと、部品ピン331のPDテーブル119dを示すポインタと、が登録される。また、回路図300の例では、ネット301,302は隣接している。よって、TPテーブル118bの隣接TPへのリンクの項目には、ネット301のTPテーブル118aを示すポインタが登録される。
TPテーブル118cは、ネット303(図15(B)ではTP3と表記)を示す。回路図300の例では、ネット303は、部品ピン312,332が接続されて形成される。よって、TPテーブル118cのPDへのリンクの項目には、部品ピン312のPDテーブル119eを示すポインタと、部品ピン332のPDテーブル119fを示すポインタと、が登録される。
PDテーブル119aは、部品ピン311(図15(B)ではPD1と表記)を示す。PDテーブル119aのTPへのリンクの項目には、TPテーブル118aを示すポインタが登録される。PDテーブル119bは、部品ピン321(図15(B)ではPD2と表記)を示す。PDテーブル119bのTPへのリンクの項目には、TPテーブル118aを示すポインタが登録される。
PDテーブル119cは、部品ピン322(図15(B)ではPD3と表記)を示す。PDテーブル119cのTPへのリンクの項目には、TPテーブル118bを示すポインタが登録される。PDテーブル119dは、部品ピン331(図15(B)ではPD4と表記)を示す。PDテーブル119dのTPへのリンクの項目には、TPテーブル118bを示すポインタが登録される。
PDテーブル119eは、部品ピン312(図15(B)ではPD5と表記)を示す。PDテーブル119eのTPへのリンクの項目には、TPテーブル118cを示すポインタが登録される。PDテーブル119fは、部品ピン332(図15(B)ではPD6と表記)を示す。PDテーブル119fのTPへのリンクの項目には、TPテーブル118cを示すポインタが登録される。
図16は、設計検証の処理例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
(S11)トレース部140は、ユーザによる標準回路と比較対象回路との選択入力を受け付ける。トレース部140は、標準回路と比較対象回路との両方の回路情報について、ユーザによる核部品の選択入力を受け付ける。例えば、トレース部140は、核部品の選択用のGUIをディスプレイ11に表示させる。ユーザは、当該GUIに従って入力デバイス12を操作することで、核部品を選択し得る。
(S12)トレース部140は、記憶部110に記憶されたトレースルールテーブル115に基づいて、標準回路および比較対象回路のトレースを行う。トレース部140は、トレースを行うことで、トレース結果として標準回路のトレースデータおよび比較対象回路のトレースデータを生成し、差分検出部150に出力する。
(S13)差分検出部150は、標準回路のトレースデータと比較対象回路のトレースデータとに基づいて、トレースデータの各要素を対応付ける。“対応付け”とは後段の差分チェックのために、各要素の間にリンクを張ることを意味する。具体的には、差分検出部150は、両方のトレースデータのTMテーブル、TPMテーブル、TPテーブルおよびPDテーブルを、両方のトレースデータのツリー構造を辿ることで対応付けを行う。
(S14)差分検出部150は、対応付けた各要素を示す情報を対比して、各要素の差分をチェックする。例えば、差分検出部150は、部品同士の対比であれば、部品の属性の相違をチェックする。例えば、差分検出部150は、ネット同士の対比であれば、ネットの属性の相違をチェックする。差分検出部150は、ステップS13で対応付けた全要素について、ステップS14の差分チェックを行う。
(S15)差分検出部150は、ステップS14の差分チェック結果をディスプレイ11に表示させる。例えば、差分検出部150は、標準回路の回路図に対して、変更された部品、追加された部品および削除された部品などのリストを含むGUIをユーザに提供し得る。
次に、ステップS12のトレース処理の手順を説明する。なお、トレース部140は、標準回路の回路情報および比較対象回路の回路情報のそれぞれに対してトレース処理を実行する。ただし、標準回路の回路情報および比較対象回路の回路情報の何れか、または両方について、選択された核部品に対するトレースデータを過去に取得済であれば、当該取得済のトレースデータを流用してもよい。その場合、トレース部140は、標準回路および比較対象回路のうち、トレースデータを流用する回路につきトレース処理をスキップできる。また、以下では処理の対象となる回路(標準回路および比較対象回路)を特に明示しないが、何れの回路に対しても同じ手順である。
図17は、トレース処理の例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(S21)トレース部140は、核部品の部品シンボル情報を参照して、核部品に設けられた部品ピン数N(Nは1以上の整数)を取得する。前述のように、部品シンボル情報は部品データベースに格納されている。トレース部140は、核部品のライブラリアクセスキーに基づいて、当該核部品の部品シンボル情報を取得できる。部品シンボル情報は、部品に設けられた部品ピンの配置や数と、当該部品ピンに対して部品内で一意に、昇順(“0”を最初とする)に付与された番号(部品ピン番号ということがある)とを含む。なお、トレース部140は当該核部品のTMテーブルを生成しておく。
(S22)トレース部140は、変数nに0を代入する。
(S23)トレース部140は、核部品のn番目の部品ピンPin(n)を取得する。例えば、n=0のとき、部品ピン番号“0”に対応する部品ピンを取得する。
(S24)トレース部140は、起点ピンPinS=Pin(n)を起点としたトレースを実行する。トレース部140は、当該トレースを実行することで、トレースデータとして、1つのTPMテーブルに関するデータ(TPMテーブル配下のTPテーブルおよびPDテーブル)を生成する。
(S25)トレース部140は、変数nにn+1を代入する。
(S26)トレース部140は、n<Nであるか否かを判定する。n<Nである場合、処理をステップS23に進める。n=Nである場合、処理を終了する。
次に、ステップS24の手順を説明する。
図18は、トレース処理の例(続き)を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
(S31)トレース部140は、起点ピンPinSを処理済であるか否かを判定する。処理済である場合、処理を終了する。処理済でない場合、処理をステップS32に進める。なお、起点ピンPinSを処理済であるか否かは、処理済である部品ピンを管理するための配列Arrayを参照することで判定できる。起点ピンPinSの部品ピンIDが配列Arrayに格納されていれば処理済である。起点ピンPinSの部品ピンIDが配列Arrayに格納されていなければ処理済でない。
(S32)トレース部140は、起点ピンPinSの部品ピンIDを処理済配列Arrayに格納する。
(S33)トレース部140は、起点ピンPinSに接続するネットNetSがあるか否かを判定する。ある場合、処理をステップS34に進める。ない場合、処理を終了する。例えば、当該判定は、起点ピンPinSの部品ピンIDに対応する部品ピンテーブルの、ネットへのリンクの項目の設定値に基づいて行える。当該設定値があれば、ネットNetSがある。当該設定値がなければ、ネットNetSがない。
(S34)トレース部140は、ネットNetSに接続する起点ピンPinS以外の未処理の部品ピン数を示す変数Npin(Npinは1以上の整数)の初期値を取得する。変数Npinの初期値は、ネットNetSのネットテーブルにおける部品ピンへのリンクの項目に設定されたポインタの数によって取得できる。当該ポインタの数の合計から1を減算したものがNpinである。また、トレース部140は、起点ピンPinSが核部品の部品ピンであれば、当該核部品の部品ピンに対応するTPMテーブルを生成する(ただし、TPへのリンクの項目は未設定)。トレース部140は、TMテーブルのTPMへのリンクの項目に当該TPMテーブルを示すポインタを追加する。
(S35)トレース部140は、変数mに0を代入する。
(S36)トレース部140は、Npin>0であるか否かを判定する。Npin>0である場合、処理をステップS37に進める。Npin≦0である場合、処理を終了する。
(S37)トレース部140は、ネットNetSに接続する部品ピン(起点ピンPinSを除く)のうち、m番目の部品ピンPin(m)を取得する。
(S38)トレース部140は、部品ピンPin(m)の部品ピンIDが配列Arrayに格納されているか否かを判定する。格納されている場合、処理をステップS43に進める。格納されていない場合、処理をステップS39に進める。
(S39)トレース部140は、部品ピンPin(m)の部品ピンIDを配列Arrayに格納する。
(S40)トレース部140は、記憶部110に記憶されたトレースルールテーブル115を用いて、部品ピンPin(m)に対する論理透過先の部品ピンである透過先ピンPin(t)の取得を試みる。
(S41)トレース部140は、透過先ピンPin(t)を取得できたか否かを判定する。取得できた場合、処理をステップS42に進める。取得できなかった場合、処理をステップS43に進める。
(S42)トレース部140は、起点ピンPinS=Pin(t)を起点としたトレースを実行する。すなわち、トレース部140は、起点ピンPinS=Pin(t)について、ステップS31〜S43の手順を実行する。ステップS41では、透過先ピンPin(t)が複数取得され得る。その場合は、1つずつトレースを実行していくことになる。
(S43)トレース部140は、変数mにm+1を代入する。また、トレース部140は、変数NpinにNpin−1を代入する。トレース部140は、ステップS31〜S43でトレースした範囲について、TPMテーブル、TPテーブルおよびPDテーブルの生成または更新を行う。例えば、ステップS36〜ステップS43の処理を繰り返すことで、TPMテーブル配下のTPテーブルおよびPDテーブルを新たに生成するたびに、当該TPMテーブルのTPへのリンクの項目にポインタを追加する。また、既存のTPテーブルに対して隣接TPへのリンクの設定を追加することもある。そして、処理をステップS36に進める。
次に、上記ステップS40の処理手順を説明する。以下では、記憶部110に記憶されたトレースルールテーブル115を用いた場合の手順を例示している。
図19は、部品ピン選択処理の例を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
(S51)トレース部140は、図18のステップS37で取得された処理対象の部品ピンPin(m)が属する部品P(m)を取得する。トレース部140は、部品ピンPin(m)の部品ピンテーブルに基づいて、部品P(m)を特定し得る。
(S52)トレース部140は、部品P(m)の部品テーブルを参照して、部品P(m)の部品品種記号が論理透過対象であるか否かを判定する。論理透過対象である場合、処理をステップS53に進める。論理透過対象でない場合、処理を終了する。ここで、当該判定は、部品P(m)の部品品種記号が、トレースルールテーブル115の項番“1”のルールに登録された部品品種記号に含まれるか否かを判定することで行える。当該ルールに登録された部品品種記号に含まれていれば論理透過対象であるし、含まれていなければ論理透過対象でない。
(S53)トレース部140は、部品P(m)の部品テーブルを参照して、部品P(m)の部品詳細記号が論理透過対象であるか否かを判定する。論理透過対象である場合、処理をステップS54に進める。論理透過対象でない場合、処理を終了する。ここで、当該判定は、部品P(m)の部品詳細記号が、トレースルールテーブル115の項番“2”のルールに登録された部品詳細記号に含まれるか否かを判定することで行える。当該ルールに登録された部品詳細記号に含まれていれば論理透過対象であるし、含まれていなければ論理透過対象でない。
(S54)トレース部140は、部品P(m)の部品シンボル情報から部品ピン数Np(Npは1以上の整数)を取得する。
(S55)トレース部140は、部品ピン数Np>1であるか否かを判定する。Np>1の場合、処理をステップS56に進める。Np≦1の場合、処理を終了する。
(S56)トレース部140は、部品ピン数Npの部品が論理透過対象であるか否かを判定する。論理透過対象である場合、処理をステップS57に進める。論理透過対象でない場合、処理を終了する。ここで、当該判定は、トレースルールテーブル115の項番“3”のルールに登録されたNmaxに対して、Np≦Nmaxであるか否かを判定することで行える。Np≦Nmaxであれば論理透過対象であるし、Np>Nmaxであれば論理透過対象でない。
(S57)トレース部140は、部品P(m)の部品テーブルを参照して、手配指示フラグが“true”であるか否かを判定する。手配指示フラグが“true”である場合、処理をステップS58に進める。手配指示フラグが“false”である場合、処理を終了する。ここで、当該判定は、トレースルールテーブル115の項番“4”のルールに対応するものである。
(S58)トレース部140は、部品P(m)に対して透過先ピンを1つに特定できるか否かを判定する。透過先ピンを1つに特定できる場合、処理をステップS59に進める。透過先ピンを1つに特定できない場合、処理をステップS60に進める。ここで、トレース部140は、部品P(m)に対する透過先ピンを次のように特定できる。トレース部140は、部品P(m)が有する部品ピンのうち部品ピンPin(m)以外の部品ピン(透過先ピンの候補)が1つであれば、透過先ピンを1つに特定できる。部品P(m)が有する部品のうち部品ピンPin(m)以外の部品ピンが複数であれば、透過先ピンを1つに特定できない。
(S59)トレース部140は、透過先ピンの候補として特定した1つの部品ピンを透過先ピンPin(t)として取得する。そして、処理を終了する。
(S60)トレース部140は、トレースルールテーブル115(項番“5”のルール)を参照して、透過先ピンとして複数の部品ピンが許可されている場合は、全ての透過先ピンの候補を透過先ピンとして取得する。トレース部140は、透過先ピンとして複数の部品が許可されていない(すなわち、単一ピンのみが許可されている)場合は、透過先ピンの複数の候補のうち部品ピン番号が最小の部品ピンを透過先ピンPin(t)として取得する。なお、トレース部140は、前述のように部品シンボル情報から部品ピンごとの部品ピン番号を把握できる。そして、処理を終了する。
図20は、トレースの例を示す図である。回路図400は、ネット401,402,403,404,405、部品410,420,430,440,450,460および部品ピン411,421,422,431,432,441,442,451,452,461,462を含む。
部品410は部品ピン411を有する。部品410は核部品である。部品420は部品ピン421,422を有する。部品430は部品ピン431,432を有する。部品420,430は論理透過の対象である。部品440は部品ピン441,442を有する。部品450は部品ピン451,452を有する。部品460は部品ピン461,462を有する。部品440,450,460は論理透過の対象ではない。
部品ピン411,421,441はネット401に属している。部品ピン422,431はネット402に属している。部品ピン432,461はネット403に属している。部品ピン442,451はネット404に属している。部品ピン452,462はネット405に属している。
例えば、トレース部140は、回路図400に対して次のようにトレースを行う。まず、部品ピン411を起点にネット401を辿ると部品ピン421,441が存在する。部品ピン421は部品420に属する。部品420は論理透過の対象である。部品420には部品ピン421に対する透過先ピンとして部品ピン422が存在する。よって、起点ピンを部品ピン422とする。部品ピン422を起点にネット402を辿ると部品ピン431が存在する。部品ピン431は部品430に属する。部品430は論理透過の対象である。部品430には部品ピン431に対する透過先ピンとして部品ピン432が存在する。よって、起点ピンを部品ピン432とする。部品ピン432を起点にネット403を辿ると部品ピン461が存在する。部品ピン461は部品460に属する。部品460は論理透過の対象ではない。よって、部品460の他の部品ピンについてはトレースを行わない。すなわち、部品460がトレースの1つの終端となる。
続いて、部品ピン441は部品440に属する。部品440は論理透過の対象ではない。よって、部品440の他の部品ピンについてはトレースを行わない。すなわち、部品440がトレースの1つの終端となる。
上記のトレース例によれば、トレースデータは次のようになる。部品410を核部品としたTMテーブルの配下に、部品ピン411に関する1つのTPMテーブルがリンクされる。当該TPMテーブルの配下に、ネット401,402,403に関する3つのTPテーブルがリンクされる。
ネット401のTPテーブルの配下に部品ピン411,421,441の3つのPDテーブルがリンクされる。ネット401の隣接TPとしてネット402のTPテーブルがリンクされる。ネット402のTPテーブルの配下に部品ピン422,431の2つのPDテーブルがリンクされる。ネット402の隣接TPとしてネット401,403の2つのTPテーブルがリンクされる。ネット403のTPテーブルの配下に部品ピン432,461の2つのPDテーブルがリンクされる。ネット403の隣接TPとしてネット402のTPテーブルがリンクされる。
次に、図16のステップS13の対応付け処理の手順を説明する。差分検出部150は、標準回路に対するトレースによって得られた標準回路のトレースデータと、比較対象回路に対するトレースによって得られた比較対象回路のトレースデータと、を用いて、以下の対応付け処理を行うことになる。標準回路のトレースデータに含まれる要素(テーブル)に対応する要素が比較対象回路のトレースデータにも含まれているかを判断していくことで、差分検出部150は対応付け処理を行う。
図21は、対応付け処理の例を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
(S61)差分検出部150は、核部品同士を対応付ける。1つのトレースデータにつきTMテーブルは1つなので、各トレースデータに含まれるTMテーブル同士を対応付ければよい。
(S62)差分検出部150は、標準回路における核部品に属する部品ピンの中から起点ピンを1つ選択する。このとき、差分検出部150は、既に選択済の部品ピンを選択の対象から除外する。例えば、差分検出部150は、未選択の部品ピンのうち、部品シンボル情報における部品ピン番号が最小のものを選択する。
(S63)差分検出部150は、標準回路における核部品上の起点ピンおよび比較対象回路における核部品上の起点ピンを対応付ける。差分検出部150は、既に対応付けが完了している起点ピンを対応付けの対象から除外する。起点ピン同士の対応付けは、部品シンボル情報における部品ピン番号が同一である起点ピン同士を対応付けることで行える。
(S64)差分検出部150は、ステップS63で対応付けた各起点ピンが属するTPMテーブル同士を対応付ける。ステップS62で取得された各起点ピンに対して、TPMテーブルが1つずつ存在するので、それらのTPMテーブル同士を対応付ければよい。
(S65)差分検出部150は、標準回路のトレースデータから対応付けを行うTPテーブルを1つ選択する。差分検出部150は、標準回路における核部品上の起点ピンに近いネットに対応するTPテーブルから順番に選択する。このとき、直前に対応付けされたPDテーブルがあれば、当該PDテーブルで示される部品が属するTPテーブル(隣接TP)を優先的に選択する。また、差分検出部150は、既に選択済の(対応付けが完了している)TPテーブルを選択の対象から除外する。
(S66)差分検出部150は、ステップS65で選択されたTPテーブルに対して、比較対象回路のトレースデータに含まれるTPテーブルを対応付ける。このとき、例えば、標準回路のあるTPテーブルに対して、比較対象回路の複数のTPテーブルが対応付けの候補となることもある。その場合、差分検出部150は、標準回路のTPテーブルに含まれるネットIDおよび対応付け候補となる比較対象回路の複数のTPテーブルに含まれる各ネットIDのそれぞれをキーにネットテーブルを参照し、各ネットを示す情報の異同により対応付けを行う。また、比較対象回路のトレースデータの中に対応付け可能なTPテーブルが存在しない場合もある。その場合、差分検出部150は、その情報(余分なTPテーブルの情報)も記録する。
(S67)差分検出部150は、ステップS66で対応付けた各TPテーブルに属するPDテーブル同士を対応付ける。このとき、例えば、標準回路のあるPDテーブルに対して、比較対象回路の複数のPDテーブルが対応付けの候補となることもある。その場合、差分検出部150は、標準回路のPDテーブルに含まれる部品IDおよび対応付け候補となる比較対象回路の複数のPDテーブルに含まれる各部品IDのそれぞれをキーに部品テーブルを参照し、各部品を示す情報の異同により対応付けを行う。また、標準回路または比較対象回路において対応付けを行えないPDテーブルが存在する場合もある。その場合、差分検出部150は、その情報(余分なPDテーブルの情報)も記録する。なお、既に対応付けが完了しているPDテーブルについては、重複して対応付けを行わなくてよい。
(S68)差分検出部150は、標準回路のトレースデータに含まれるTPテーブルのうち、未処理の(対応付けされていない)TPテーブルがあるか否かを判定する。未処理のTPテーブルがある場合、処理をステップS65に進める。未処理のTPテーブルがない場合、処理をステップS69に進める。
(S69)差分検出部150は、標準回路の核部品において未処理の起点ピンがあるか否かを判定する。未処理の起点ピンがある場合、処理をステップS62に進める。未処理の起点ピンがない場合、処理を終了する。
ここで、ステップS66の対応付けでは、標準回路のあるTPテーブルに対して、比較対象回路の複数のTPテーブルが対応付けの候補となることもある。その場合、例えば、各TPテーブルに対応するネットテーブル同士を対比することで、当該複数の候補を絞り込む。具体的には次の項目について対応付けを行う。(1)ネット名が一致するか。(2)ネット種別が電源ネットである場合に、電源電圧値が一致するか。(3)ネット種別(信号線、電源ネットおよびアースネットなど)が一致するか。(4)ネットの接続部品数が一致するか。これら(1)〜(4)のうち、番号が若い項目ほど一致度が高い。番号が若い項目で一致しているTPテーブルが、対応付けの候補の中から優先的に選択される。
例えば、標準回路のトレースデータに含まれる第1のTPテーブルに対して、比較対象回路のトレースデータに含まれる第2,第3のTPテーブルが対応付け候補として存在する場合を考える。差分検出部150は、第1のTPテーブルに含まれるネットIDをキーにネットテーブルを参照して、当該ネットIDに対応する第1のネットの情報を得る。また、第2のTPテーブルに含まれるネットIDをキーにネットテーブルを参照して、当該ネットIDに対応する第2のネットの情報を得る。第3のTPテーブルに含まれるネットIDをキーにネットテーブルを参照して、当該ネットIDに対応する第3のネットの情報を得る。このとき、第1,第2のネットはネット名が一致しており、第1,第3のネットはネットの接続部品数が一致しているとする(それ以外の項目は一致していない)。すると、差分検出部150は、候補である第2,第3のTPテーブルのうち、優先度のより高い項目が一致している第2のTPテーブルを第1のTPテーブルに対応付ける。
なお、この例において、第1,第3のネットのネット名が更に一致している場合、項目ごとの優先度では各候補の優劣を判断できない。この場合、第1,第3のネットの一致項目の数が、第1,第2のネットの一致項目の数よりも多くなるので、差分検出部150は、第3のTPテーブルを第1のTPテーブルに対応付ける。
また、ステップS67の対応付けでは、標準回路のあるPDテーブルに対して、比較対象回路の複数のPDテーブルが対応付けの候補となることもある。その場合、例えば、各PDテーブルに対応する部品テーブル同士を対比することで、当該複数の候補を絞り込む。具体的には次の項目について対応付けを行う。(1)ライブラリアクセスキーが一致するか。(2)部品品種記号と抵抗値などの特性値とが一致するか。(3)部品詳細記号が一致するか。(4)部品品種記号が一致するか。(5)部品名が一致するか。これら(1)〜(5)のうち、番号が若い項目ほど一致度が高い。番号が若い項目で一致しているPDテーブルが、対応付けの候補の中から優先的に選択される。
例えば、標準回路のトレースデータに含まれる第1のPDテーブルに対して、比較対象回路のトレースデータに含まれる第2,第3のPDテーブルが対応付け候補として存在する場合を考える。差分検出部150は、第1のPDテーブルに含まれる部品IDをキーに部品テーブルを参照して、当該部品IDに対応する第1の部品の情報を得る。また、第2のPDテーブルに含まれる部品IDをキーに部品テーブルを参照して、当該部品IDに対応する第2の部品の情報を得る。第3のPDテーブルに含まれる部品IDをキーに部品テーブルを参照して、当該部品IDに対応する第3の部品の情報を得る。このとき、第1,第2の部品は部品品種記号と特性値とが一致しており、第1,第3の部品は部品詳細記号と部品品種記号とが一致しているとする(それ以外は一致していない)。すると、差分検出部150は、候補である第2,第3のPDテーブルのうち、優先度のより高い項目が一致している第2のPDテーブルを第1のPDテーブルに対応付ける。
なお、この例において、第1,第3の部品の特性値が更に一致している場合、項目ごとの優先度では各候補の優劣を判断できない。この場合、差分検出部150は、第1,第3の部品の一致項目の数が、第1,第2の部品の一致項目の数よりも多くなるので、差分検出部150は、第3のPDテーブルを第1のPDテーブルに対応付ける。
上記ネットや部品の対応付け項目を示す情報や各項目の優先度を示す情報は、記憶部110に格納される対比テーブルに予め登録される。
図22は、対応付けの例を示す図である。図22では図21の手順を用いて回路図500,600のトレースデータに含まれる各要素の対応付けを例示している。回路図500は標準回路の回路図の一部(トレースにより取得された範囲)である。回路図600は比較対象回路の回路図の一部(トレースにより取得された範囲)である。
回路図500は、ネット501,502、部品510,520,530および部品ピン511,521,522,531を含む。部品510は部品ピン511を有する。部品520は部品ピン521,522を有する。部品530は部品ピン531を有する。部品ピン511,521はネット501に属する。部品ピン522,531はネット502に属する。
回路図600は、ネット601,602,603、部品610,620,630,640および部品ピン611,621,622,631,632,641を含む。部品610は部品ピン611を有する。部品620は部品ピン621,622を有する。部品630は部品ピン631,632を有する。部品640は部品ピン641を有する。部品ピン611,621はネット601に属する。部品ピン622,631はネット602に属する。部品ピン632,641はネット603に属する。
回路図500,600の全ての要素が部品510,610を核部品としたトレース範囲に含まれている。この場合、まず、差分検出部150は、核部品である部品510,610を示す各TMテーブルを対応付ける。続いて、部品ピン511,611の各TPMテーブルを対応付ける。ここで、核部品である部品510,610に複数の部品ピンが存在する場合には、部品シンボル情報における部品ピン番号が一致する各部品ピンのTPMテーブルを対応付ける。
次に、差分検出部150は、当該各TPMテーブルに属するネット501,601の各TPテーブルを対応付ける。そして、当該各TPテーブルに属する部品520,620の各PDテーブルを対応付ける。
更に、差分検出部150は、部品ピン511,611の各TPMテーブルに属するネット502,602の各TPテーブルを対応付ける。そして、当該各TPテーブルに属する部品530,630の各PDテーブルを対応付ける。ここで、回路図500について、トレースデータの全ての要素の対応付けが完了したので、差分検出部150は、対応付け処理を終了する。
差分検出部150は、上記の対応付け処理を行うと、トレースデータの対応付けた各要素(テーブル)に基づいて、回路情報を参照し、ネットおよび部品の対比を行う。例えば、回路図500,600の例では、差分検出部150は、ネット501,601の組についてネットテーブルに登録された各種属性などの対比を行い、差分の情報を生成する。ネット502,602の組についても同様である。また、ネット603は、対応するネットが回路図500に存在しないため、回路図500に対する追加分とされる。
例えば、ネットについて検出する差分の情報として次のような情報が考えられる。(1)ネット名。(2)電圧値。(3)接続部品数。(4)未対応付けのネット。ただし、これらは一例であり、他の情報を差分の情報として検出してもよい。
また、例えば、差分検出部150は、部品510,610の組について属性などの対比を行い、差分の情報を生成する。部品520,620の組についても同様である。部品530,630の組についても同様である。また、部品640は、対応する部品が回路図500に存在しないため、回路図500に対する追加分とされる。
例えば、部品について検出する差分の情報として次のような情報が考えられる。(1)ライブラリアクセスキー。(2)部品名。(3)部品特性値。抵抗であれば抵抗値。コンデンサであれば容量値。コイルであればインダクタンス値。(4)部品品種記号。(5)部品詳細記号。(6)未対応付けの部品。ただし、これらは一例であり、他の情報を差分の情報として検出してもよい。
ここで、標準回路と比較対象回路との差分を確認する場合、ユーザは、比較対象回路内の標準回路の流用箇所/範囲を目視により抽出し、抽出された範囲内の接続状態や部品定数などを確認することが考えられる。しかし、この場合、次の問題がある。(1)回路の接続が複雑になると、流用箇所の把握が困難になり、流用範囲の抽出を誤るおそれがある。(2)回路間で差分を比較する要素(部品やネット)を適切に対応付けられず、誤った要素と比較するおそれがある。(3)要素ごとの差分情報を見落とすおそれがある。
これに対し、標準回路の回路情報の全体と比較対象回路の回路情報の全体とを対比して、差分を検出することも考えられる。しかし、この場合も次の問題がある。(4)回路情報全体の差分を比較するため、確認不要な箇所についても差分を検出してしまう。(5)単純な部品の有無などしか検出できず、回路ネットの信号の流れに沿った差分(部品の接続順など)を検出できない。(6)部品名や信号名が変化するだけで差分として検出してしまう。(7)回路情報の全体について差分を取得するため、差分が多数存在する場合に目的の差分の情報を探索する手間がかかる。その結果、回路設計の工程の遅延、設計物の品質低下および余計な訂正作業工数の発生、などのおそれもある。
そこで、設計支援装置100では、標準回路の回路情報および比較対象回路の回路情報のそれぞれについて、核部品を起点にしたトレースデータを取得して差分の検出に用いる。これにより、標準回路および比較対象回路の余計な箇所について対比が行われることを抑制できる。更に、両回路の比較される部分は、核部品を起点に配線を辿って取得された部分である。このため、核部品に直接または間接に接続された範囲を適切に抽出して対比できる。すなわち、核部品に直接または間接に接続されていない箇所について余計な対比が行われるのを抑制できる。
また、標準回路についても、所定の部分を抽出して比較を行えるので、標準回路の全体を比較対象としなくてよい場合に有用である。標準回路についても比較対象としなくてよい箇所が含まれる場合に、当該箇所についても対比を行うのは余計だからである。
特に、標準回路の回路情報および比較対象回路の回路情報の中からユーザにより選択された核部品を特定し、当該核部品を起点に対比する部分を抽出する。このため、標準回路および比較対象回路の中からユーザが対比したい部分を適切に絞り込んで、対比を行える。これにより、両回路の対比を効率的に行える。また、ユーザは、標準回路および比較対象回路のうち、比較対象としたい所望の範囲を、トレースルールの設定を変えることで任意に選択できる。
また、標準回路のトレースデータに含まれる要素および比較対象回路のトレースデータに含まれる要素を順番に対応付けて対比を行うので、各要素の接続順を考慮した対比を行える。特に要素ごとの特性値などを含めた属性により各要素を対比できるので、詳細な比較が可能となる。
また、余計な箇所の対比処理を抑制でき、また、要素ごとの詳細な属性による詳細な対比を行えるので、余計な箇所について差分が検出されることを抑制できる。すなわち、差分の検出結果の数が過多となる可能性を低減できる。よって、ユーザは対比箇所につき差分の情報の適切な把握を容易に行える。また、余計な対比を抑制することで、対比の処理を高速化できるという利点もある。このようにして、回路の差分を効率的に取得可能となる。
なお、対応付け処理では、核部品から順番に対応付けを行う方法を例示した。ただし、追加された部品や削除された部品が分かっている場合など、ユーザが対応付け処理に介入したいということもある。より正確な対応付けを臨機応変に行えるからである。そこで、対応付け処理において、対比対象としない部品のユーザによる事前の指定を許容してもよい。また、強制的に対比対象とする部品の組み合わせのユーザによる事前の指定を許容してもよい。次に、このような事前の指定がある場合の対応付けの他の方法を例示する。
図23は、対応付けの他の例(その1)を示す図である。図23では対応付け例外部品を指定した場合を例示している。対応付け例外部品とは、対比対象としない部品(すなわち、対応付けの対象外とする部品)である。例えば、ユーザは、回路図600の部品630を対応付け例外部品として予め設定している。この場合、回路図500,600のトレースデータに対する対応付け処理は次のようになる。なお、図23の例においても、回路図500,600の全ての要素が部品510,610を核部品としたトレース範囲に含まれている。
ここで、ネット502,602の各TPテーブルを対応付けるまでは、図22の例と同様である。部品530のPDテーブルを、部品630のPDテーブルを対応付けない点が図22の例と異なる。部品630は、対応付け例外部品だからである。この場合、部品630をスキップし、ネット602に隣接する(対応付けがされていない)ネット603に属する部品640のPDテーブルを、部品530のPDテーブルに対応付ける。なお、ネット602に隣接するネットが複数存在し、部品530のPDテーブルの対応付け候補となるPDテーブルが複数存在することもある。その場合には、前述のように各PDテーブルの部品IDから部品テーブルを取得し、各部品テーブルから得られる部品の情報の異同に基づいて、対応付けを行えばよい。
例えば、部品630が追加された部品であることが分かっている場合には、ユーザは、部品630を対応付け対象外に指定しておく。このように対応付け処理においてユーザによる介入を可能とすることで、通常であれば部品530,630が対応付けされる場合でも、部品530,640についての対比を設計支援装置100に行わせ、部品530,640の差分の情報を得られる。
図24は、対応付けの他の例(その2)を示す図である。図24(A)では回路図500,700のトレースデータに含まれる各要素の通常の対応付けを例示している。図24(B)ではサブ部品および対応付け例外部品を指定した場合の対応付けを例示している。ここで、サブ部品とは、強制的に対比対象とする部品の組み合わせ(すなわち、強制的に対応付ける部品の組み合わせ)である。
ここで、回路図700は比較対象回路の回路図の一部(トレースにより取得された範囲)である。回路図700は、ネット701,702,703,704、部品710,720,730,740,750,760および部品ピン711,721,722,731,741,742,751,752,761を含む。部品710は部品ピン711を有する。部品720は部品ピン721,722を有する。部品730は部品ピン731を有する。部品740は部品ピン741,742を有する。部品750は部品ピン751,752を有する。部品760は部品ピン761を有する。部品ピン711,721,741はネット701に属する。部品ピン722,731はネット702に属する。部品ピン742,751はネット703に属する。部品ピン752,761はネット704に属する。
回路図500,700の全ての要素が部品510,710を核部品としたトレース範囲に含まれている。図24(A)の例では、図21の手順により、差分検出部150は次のような対応付けを行う。差分検出部150は、核部品である部品510,710を示す各TMテーブルを対応付ける。続いて、部品ピン511,711の各TPMテーブルを対応付ける。
次に、差分検出部150は、当該各TPMテーブルに属しており、ネット501,701の各TPテーブルを対応付ける。そして、ネット501のTPテーブルに属する部品520のPDテーブルの対応付けを行う。ここで、回路図700では、部品520のPDテーブルに対して対応付け候補が2つ存在する。部品720,740のPDテーブルである。この場合、前述のように、部品520の部品テーブルと部品720,740それぞれの部品テーブルとを対比して、一致項目数や一致項目の優先度に応じて対応付けを行う。ここでは、差分検出部150は、部品520のPDテーブルと部品720のPDテーブルとを対応付ける。
更に、差分検出部150は、部品ピン511,711の各TPMテーブルに属するネット502,702の各TPテーブルを対応付ける。そして、当該各TPテーブルに属する部品530,730の各PDテーブルを対応付ける。ここで、回路図500について、トレースデータの全ての要素につき対応付けが完了したので、差分検出部150は、対応付け処理を終了する。
これに対して、図24(B)では、部品520,740の組がサブ部品に、部品760が対応付け例外部品に指定されている。この場合、差分検出部150は次のような対応付けを行う。差分検出部150は、核部品である部品510,710を示す各TMテーブルを対応付ける。続いて、部品ピン511,711の各TPMテーブルを対応付ける。
次に、差分検出部150は、当該各TPMテーブルに属するネット501,701の各TPテーブルを対応付ける。そして、ネット501のTPテーブルに属する部品520のPDテーブルの対応付けを行う。ここで、回路図700では、部品520のPDテーブルに対して対応付け候補が2つ存在する。部品720,740のPDテーブルである。そして、サブ部品として部品520,740の組が指定されている。したがって、差分検出部150は、前述の項目一致の判定を行わずに、部品520,740の各PDテーブルを対応付ける。
更に、差分検出部150は、部品ピン511,711の各TPMテーブルに属するネット502,703の各TPテーブルを対応付ける。ここで、ネット502のTPテーブルに対して、ネット702のTPテーブルではなく、ネット703のTPテーブルを対応付けるのは、直前に対応付けを行ったPDテーブルで示される部品740(の部品ピン742)がネット703に属するからである。
続いて、差分検出部150は、部品530,770の各PDテーブルを対応付ける。ここで、部品760のPDテーブルが対応付けの候補とならないのは、部品760が対応付け例外部品だからである。
このように、部品520,740の組をサブ部品に指定することで、部品720に代えて、部品740のPDテーブルを部品520のPDテーブルに対応付けることができる。これにより、ユーザの所望の順序で各要素の対応付けを行い、差分の情報を得られるので、検証作業の効率化を図れる。次に、第2の実施の形態のGUIの例を説明する。
図25は、GUIの例(その1)を示す図である。標準回路ウィンドウ810、比較対象回路ウィンドウ820および回路選択ウィンドウ830は、トレース部140によってユーザに提供されるGUIである。例えば、トレース部140は、標準回路ウィンドウ810、比較対象回路ウィンドウ820および回路選択ウィンドウ830をディスプレイ11に表示させることができる。
標準回路ウィンドウ810は、標準回路の回路図を表示するためのウィンドウである。比較対象回路ウィンドウ820は、比較対象回路の回路図を表示するためのウィンドウである。ユーザは、標準回路ウィンドウ810および比較対象回路ウィンドウ820に表示された各回路図に含まれる何れかの部品を、カーソルP1を用いて選択可能である。ユーザは、入力デバイス12を操作することでカーソルP1の位置を変更できる。また、ユーザは、カーソルP1を何れかの部品に重畳表示させ、入力デバイス12の所定のボタンを押下することで、当該部品の選択をトレース部140に入力できる。トレース部140は、選択された部品を核部品として特定する。
回路選択ウィンドウ830は、標準回路および比較対象回路の選択および各回路図における核部品を表示するためのウィンドウである。回路選択ウィンドウ830は、標準回路選択フォーム831、比較対象回路選択フォーム832、核部品表示フォーム833、サブ部品ボタン834および差分チェックボタン835を含む。
標準回路選択フォーム831は、標準回路の回路図のデータを選択するためのフォームである。比較対象回路選択フォーム832は、比較対象回路の回路図のデータを選択するためのフォームである。例えば、標準回路選択フォーム831および比較対象回路選択フォーム832は、プルダウン形式で各回路図のデータを選択させるものである。ユーザは、カーソルP1を用いて、標準回路および比較対象回路の回路図を選択できる。トレース部140は、選択された標準回路の回路図のデータに基づいて、標準回路ウィンドウ810内に当該回路図を表示させる。トレース部140は、選択された比較対象回路の回路図のデータに基づいて、比較対象回路ウィンドウ820内に当該回路図を表示させる。
核部品表示フォーム833は、標準回路ウィンドウ810および比較対象回路ウィンドウ820で選択された各回路の核部品の部品IDを表示するためのフォームである。例えば、部品ID“I9”は、標準回路の核部品の部品IDである。部品ID“IA9”は、比較対象回路の核部品の部品IDである。サブ部品ボタン834は、サブ部品および対応付け例外部品を選択するためのGUIを呼び出すためのボタンである。差分チェックボタン835は指定された内容で、トレース、対応付け処理および差分チェックの一連の処理の実行を開始するためのボタンである。例えば、ユーザは、カーソルP1を用いて、サブ部品ボタン834や差分チェックボタン835を押下操作できる。
図26は、GUIの例(その2)を示す図である。対応付け設定ウィンドウ840は、回路選択ウィンドウ830のサブ部品ボタン834が押下されることで、トレース部140によってユーザに提供されるGUIである。例えば、トレース部140は、対応付け設定ウィンドウ840をディスプレイ11に表示させることができる。対応付け設定ウィンドウ840は、サブ部品指定フォーム841、例外部品指定フォーム842,843、OKボタン844およびキャンセルボタン845を含む。
サブ部品指定フォーム841は、サブ部品として組み合わせたい標準回路の部品の部品IDと比較対象回路の部品の部品IDとを指定するためのフォームである。1行が1つの組み合わせに相当する。サブ部品の指定を増やしたい場合は、行数を増やすこともできる。ユーザは、カーソルP1を操作してサブ部品指定フォーム841内の所望の箇所を選択し、部品IDを入力し得る。例えば、No.1で示される行には、部品ID“I9”の核部品と部品ID“IA9”の核部品との組がサブ部品として指定されている。核部品は両回路において1つであり、1対1に予め対応付けられるからである。この設定は、デフォルトで入力されている。No.2で示される行には、部品ID“R1”の部品と部品ID“RA1”の部品との組がサブ部品として指定されている。
例外部品指定フォーム842は、標準回路の対応付け例外部品を指定するためのフォームである。例えば、例外部品指定フォーム842には、部品ID“R8”、“R11”の部品が対応付け例外部品として指定されている。
例外部品指定フォーム843は、比較対象回路の対応付け例外部品を指定するためのフォームである。例えば、例外部品指定フォーム843には、部品ID“RA2”、“RA9”の部品が対応付け例外部品として指定されている。
OKボタン844は、対応付け設定ウィンドウ840の各フォームに入力された設定内容を確定して、対応付け設定ウィンドウ840を閉じるためのボタンである。キャンセルボタン845は、対応付け設定ウィンドウ840に現在入力されている内容を破棄して、対応付け設定ウィンドウ840を閉じるためのボタンである。例えば、ユーザは、カーソルP1を用いて、OKボタン844やキャンセルボタン845を押下操作できる。
図27は、GUIの例(その3)を示す図である。差分表示ウィンドウ850は、回路選択ウィンドウ830の差分チェックボタン835が押下され、差分チェックの処理が完了すると、差分検出部150によってユーザに提供されるGUIである。例えば、差分検出部150は、差分表示ウィンドウ850をディスプレイ11に表示させることができる。
差分表示ウィンドウ850は、差分チェックの結果を提供するためのウィンドウである。差分表示ウィンドウ850は、標準回路フォーム851、比較対象回路フォーム852、差分要素表示フォーム853および差分詳細表示フォーム854を含む。
標準回路フォーム851は、標準回路の回路図のデータ名を表示するフォームである。比較対象回路フォーム852は、比較対象回路の回路図のデータ名を表示するフォームである。
差分要素表示フォーム853は、差分として検出された要素のリストを表示するフォームである。1行が1つの差分要素の情報に相当する。例えば、差分要素表示フォーム853には、次のような情報が表示される。
No.1の行は、標準回路における部品ID“R4”の部品および比較対象回路における部品ID“RA4”の部品で差分が検出されたことを示す。要素属性“部品”は、差分が検出された要素が“部品”であることを示す。
No.2の行は、標準回路におけるネットID“N5”のネットおよび比較対象回路におけるネットID“NA5”のネットで差分が検出されたことを示す。要素属性“ネット”は、差分が検出された要素が“ネット”であることを示す。
No.3の行は、標準回路における部品ID“R12”の部品に対応する部品が比較対象回路内に存在しないことを示す。
差分詳細表示フォーム854は、差分として検出された要素について、当該差分の詳細を表示するためのフォームである。No.で示される行番号は、差分要素表示フォーム853のNo.で示される行番号に対応している。また、差分要素表示フォーム853のNo.3の行に対応する差分の詳細は差分詳細表示フォーム854には表示されていない。対応付けする相手の部品が存在しておらず、属性などについて差分の詳細を得られないからである。例えば、差分詳細表示フォーム854には、次のような情報が表示される。
No.1の行は、標準回路における部品ID“R4”の部品および比較対象回路における部品ID“RA4”の部品の差分の詳細を示している。エラーレベル“Error”は、誤った設計であることを示す。エラー情報“特性値不一致”は、両部品において、特性が不一致であることを示す。この場合、両部品は抵抗であり、部品ID“R4”の部品の抵抗値(標準回路値の項目で示される値)は“r1”、部品ID“RA4”の部品の抵抗値(製品回路値の項目で示される値)は“r2”である。
No.2の行は、標準回路におけるネットID“N5”のネットおよび比較対象回路におけるネットID“NA5”のネットの差分の詳細を表示している。エラーレベル“Caution”は、誤った設計であると断定はできないが注意を要することを示す。エラー情報“ネット名不一致”は、両ネットにおいてネット名が不一致であることを示す。この場合、ネットID“N5”のネットのネット名(標準回路値の項目で示される値)は“xxx”であるのに対し、ネットID“NA5”のネットのネット名(製品回路値の項目で示される値)は“yyy”である。
ユーザは、差分要素表示フォーム853または差分詳細表示フォーム854の何れかの行を、カーソルP1を用いて選択できる。差分検出部150は、選択された行に対応する要素を拡大してユーザに提示する。例えば、差分検出部150は、標準回路ウィンドウ810および比較対象回路ウィンドウ820において、選択された行に対応する各要素を拡大表示するようにトレース部140に指示する。
より具体的には、差分詳細表示フォーム854でNo.1の行がユーザにより選択される。すると、標準回路ウィンドウ810には、部品ID“R4”の部品が拡大表示される。また、比較対象回路ウィンドウ820には、部品ID“RA4”の部品が拡大表示される。このように差分が検出された要素を強調してユーザに提示する。このため、ユーザは、差分が検出された要素を容易に識別することができる。これにより、回路設計の検証作業の一層の効率化を図れる。
なお、前述のように、第1の実施の形態の情報処理は、記憶部1aに記憶されたプログラムを演算部1bに実行させることで実現できる。また、第2の実施の形態の情報処理は、RAM102に記憶されたプログラムをプロセッサ101に実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、光ディスク13、メモリ装置14およびメモリカード16など)に記録できる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。