JPH09204460A - 集積回路設計装置及び等価回路チエツク方法 - Google Patents
集積回路設計装置及び等価回路チエツク方法Info
- Publication number
- JPH09204460A JPH09204460A JP8031391A JP3139196A JPH09204460A JP H09204460 A JPH09204460 A JP H09204460A JP 8031391 A JP8031391 A JP 8031391A JP 3139196 A JP3139196 A JP 3139196A JP H09204460 A JPH09204460 A JP H09204460A
- Authority
- JP
- Japan
- Prior art keywords
- design data
- module
- circuit
- integrated circuit
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Abstract
(57)【要約】
【課題】本発明は、集積回路設計装置及び等価回路チエ
ツク方法において、第1及び第2の回路設計データが論
理的に等価であるか否かを、より短時間で検証し得るよ
うにする。 【解決手段】ハードウエア記述言語を用いて集積回路を
設計する集積回路設計装置において、第1及び第2の回
路設計データを所望のモジユール単位で分割して複数の
第1及び第2のモジユール設計データをそれぞれ生成し
て単数又は複数の第1及び第2のモジユール設計データ
を抽出して、抽出した単数又は複数の第1及び第2のモ
ジユール設計データを対応するモジユール単位で比較す
るデータ処理手段を設けて、複数のモジユール単位でな
る第1及び第2のモジユール設計データから、実際に等
価チエツクする部分のみを抽出して、この部分について
論理的に等価であるか否かをチエツクする。またこれ以
外のモジユールでは、全てのセル及び信号線が一対一に
対応しているか否かをチエツクする。
ツク方法において、第1及び第2の回路設計データが論
理的に等価であるか否かを、より短時間で検証し得るよ
うにする。 【解決手段】ハードウエア記述言語を用いて集積回路を
設計する集積回路設計装置において、第1及び第2の回
路設計データを所望のモジユール単位で分割して複数の
第1及び第2のモジユール設計データをそれぞれ生成し
て単数又は複数の第1及び第2のモジユール設計データ
を抽出して、抽出した単数又は複数の第1及び第2のモ
ジユール設計データを対応するモジユール単位で比較す
るデータ処理手段を設けて、複数のモジユール単位でな
る第1及び第2のモジユール設計データから、実際に等
価チエツクする部分のみを抽出して、この部分について
論理的に等価であるか否かをチエツクする。またこれ以
外のモジユールでは、全てのセル及び信号線が一対一に
対応しているか否かをチエツクする。
Description
【0001】
【目次】以下の順序で本発明を説明する。 発明の属する技術分野 従来の技術(図17) 発明が解決しようとする課題 課題を解決するための手段 発明の実施の形態(図1〜図16) 発明の効果
【0002】
【発明の属する技術分野】本発明は集積回路設計装置及
び等価回路チエツク方法に関し、例えばハードウエア記
述言語を用いて設計する集積回路に適用して好適なもの
である。
び等価回路チエツク方法に関し、例えばハードウエア記
述言語を用いて設計する集積回路に適用して好適なもの
である。
【0003】
【従来の技術】従来、集積回路の設計手法の一つとし
て、ハードウエア記述言語を用いる手法がある。これ
は、例えばVerilog−HDL(Hardware Descrip
tion Language )等に代表されるような設計記述言語を
用いて、所望の集積回路における機能を表現することに
より回路設計データを作成する手法である。ここで、C
AD(Conputer Aided Design )で作成する図形データ
を用いて集積回路を設計する手法もあるが、今日のよう
に数十万ゲート以上の単位で構成される集積回路を設計
するには不向きであり、設計及び論理検証にかなりの時
間を要する。ハードウエア記述言語を用いて作成された
回路設計データでは、構造を記述すること無く、機能の
みを記述することによつて回路設計し得るため、容易に
回路を設計変更及び修正し得ると共に設計した回路の論
理及び動作検証を比較的短時間で実行することができ
る。
て、ハードウエア記述言語を用いる手法がある。これ
は、例えばVerilog−HDL(Hardware Descrip
tion Language )等に代表されるような設計記述言語を
用いて、所望の集積回路における機能を表現することに
より回路設計データを作成する手法である。ここで、C
AD(Conputer Aided Design )で作成する図形データ
を用いて集積回路を設計する手法もあるが、今日のよう
に数十万ゲート以上の単位で構成される集積回路を設計
するには不向きであり、設計及び論理検証にかなりの時
間を要する。ハードウエア記述言語を用いて作成された
回路設計データでは、構造を記述すること無く、機能の
みを記述することによつて回路設計し得るため、容易に
回路を設計変更及び修正し得ると共に設計した回路の論
理及び動作検証を比較的短時間で実行することができ
る。
【0004】図17において、集積回路の設計から製造
までの手順を示す。ステツプSP1で手順を開始して、
まずステツプSP2で、例えばVerilog−HDL
を用いて回路設計データを作成する。この時の記述は、
レジスタトランスフア(Register Transfer )レベル
(以下、これをRTレベルと呼ぶ)でなされる。RTレ
ベルは実際の集積回路上でのゲート、例えばインバータ
ゲート、ANDゲート及びORゲート等、を意識せずに
回路機能を記述していくレベルであり、上流の設計であ
る。こうしてステツプSP3で、Verilog−HD
Lによる回路設計データ(RTレベル)が得られる。
までの手順を示す。ステツプSP1で手順を開始して、
まずステツプSP2で、例えばVerilog−HDL
を用いて回路設計データを作成する。この時の記述は、
レジスタトランスフア(Register Transfer )レベル
(以下、これをRTレベルと呼ぶ)でなされる。RTレ
ベルは実際の集積回路上でのゲート、例えばインバータ
ゲート、ANDゲート及びORゲート等、を意識せずに
回路機能を記述していくレベルであり、上流の設計であ
る。こうしてステツプSP3で、Verilog−HD
Lによる回路設計データ(RTレベル)が得られる。
【0005】次にステツプSP4で、この回路設計デー
タ(RTレベル)をコンピユータ上で論理シミユレーシ
ヨンする。このシミユレーシヨンでは、回路設計データ
(RTレベル)で表されている集積回路の入力として所
定の入力パターンを供給した場合に、所望の出力パター
ンが得られるか否かをチエツクする。もし、期待値と違
う出力パターンが出力されたら、ステツプSP5で、誤
り個所を訂正して再度シミユレーシヨンする(ステツプ
SP4)。こうしてステツプSP3、SP4及びSP5
による一連の手順を、シミユレーシヨン結果として期待
値通りの出力パターンが得られるまで繰り返す。そし
て、期待値通りの出力パターンが得られたら、ステツプ
SP6に進む。
タ(RTレベル)をコンピユータ上で論理シミユレーシ
ヨンする。このシミユレーシヨンでは、回路設計データ
(RTレベル)で表されている集積回路の入力として所
定の入力パターンを供給した場合に、所望の出力パター
ンが得られるか否かをチエツクする。もし、期待値と違
う出力パターンが出力されたら、ステツプSP5で、誤
り個所を訂正して再度シミユレーシヨンする(ステツプ
SP4)。こうしてステツプSP3、SP4及びSP5
による一連の手順を、シミユレーシヨン結果として期待
値通りの出力パターンが得られるまで繰り返す。そし
て、期待値通りの出力パターンが得られたら、ステツプ
SP6に進む。
【0006】ステツプSP6では、RTレベルで機能記
述されている回路設計データを実際のゲートにマツピン
グする変換を行い、回路設計データ(RTレベル)を回
路設計データ(ゲートレベル)に変換する。こうした変
換によつて、ステツプSP7で、回路設計データ(ゲー
トレベル)が得られる。このゲートレベルでの記述で
は、実際の集積回路上で配置されるゲート、例えばイン
バータゲート、ANDゲート及びORゲート等、で記述
されている。なお、ステツプSP6による回路設計デー
タの変換は、自動変換ツールを用いて実行されるために
人間の不注意によるミス混入が無い。このため、ステツ
プSP3での回路設計データ(RTレベル)と、ステツ
プSP7での回路設計データ(ゲートレベル)とは論理
的に完全に等価なものとなつている。また、ちなみに、
このような変換を実行するための変換ツールとして特に
有名なものとして、例えばSynopSys社のDes
ign・Compilerがある。
述されている回路設計データを実際のゲートにマツピン
グする変換を行い、回路設計データ(RTレベル)を回
路設計データ(ゲートレベル)に変換する。こうした変
換によつて、ステツプSP7で、回路設計データ(ゲー
トレベル)が得られる。このゲートレベルでの記述で
は、実際の集積回路上で配置されるゲート、例えばイン
バータゲート、ANDゲート及びORゲート等、で記述
されている。なお、ステツプSP6による回路設計デー
タの変換は、自動変換ツールを用いて実行されるために
人間の不注意によるミス混入が無い。このため、ステツ
プSP3での回路設計データ(RTレベル)と、ステツ
プSP7での回路設計データ(ゲートレベル)とは論理
的に完全に等価なものとなつている。また、ちなみに、
このような変換を実行するための変換ツールとして特に
有名なものとして、例えばSynopSys社のDes
ign・Compilerがある。
【0007】次に、ステツプSP8で、回路設計データ
(ゲートレベル)で表されている各ゲートを集積回路上
のどの位置に配置するかの決定、即ち、レイアウト設計
を行う。続いて、ステツプSP9で、こうして得られた
レイアウト結果に基づいてタイミング検証を行つて、回
路設計データ(ゲートレベル)を修正する。例えば、実
際にレイアウトをした結果、信号線の配線長が長くなり
回路上にバツフアを追加しないと動作しないことが分か
つた場合、ステツプSP7の回路設計データ(ゲートレ
ベル)にバツフアゲートを追加する。この追加等の変更
は集積回路全体の大きさに比してごく一部の変更である
ため、ユーザが手動で回路設計データ(ゲートレベル)
を書き換えてしまうのが一般的である。こうして、ステ
ツプSP10で、多少の変更をした回路設計データ(ゲ
ートレベル)が得られる。
(ゲートレベル)で表されている各ゲートを集積回路上
のどの位置に配置するかの決定、即ち、レイアウト設計
を行う。続いて、ステツプSP9で、こうして得られた
レイアウト結果に基づいてタイミング検証を行つて、回
路設計データ(ゲートレベル)を修正する。例えば、実
際にレイアウトをした結果、信号線の配線長が長くなり
回路上にバツフアを追加しないと動作しないことが分か
つた場合、ステツプSP7の回路設計データ(ゲートレ
ベル)にバツフアゲートを追加する。この追加等の変更
は集積回路全体の大きさに比してごく一部の変更である
ため、ユーザが手動で回路設計データ(ゲートレベル)
を書き換えてしまうのが一般的である。こうして、ステ
ツプSP10で、多少の変更をした回路設計データ(ゲ
ートレベル)が得られる。
【0008】次に、ステツプSP11で、SP7の回路
設計データとSP10の回路設計データとが論理的に等
価であるか否かをチエツクする。これは、ステツプSP
9で一部とはいえ手動で回路設計データを書き換えてお
り、人間の不注意によるミス混入もあり得るため、これ
らの回路設計データが本当に論理的に同じであるかをチ
エツクするために実行される。この部分については、本
発明に関わるところであり、後述することにする。チエ
ツクによつて論理的に整合性がとれなかつたという結果
が得られた場合、ミスが混入したということであるの
で、ステツプSP12で、そのミスの部分を書き直し
て、再度チエツクする(SP11)。
設計データとSP10の回路設計データとが論理的に等
価であるか否かをチエツクする。これは、ステツプSP
9で一部とはいえ手動で回路設計データを書き換えてお
り、人間の不注意によるミス混入もあり得るため、これ
らの回路設計データが本当に論理的に同じであるかをチ
エツクするために実行される。この部分については、本
発明に関わるところであり、後述することにする。チエ
ツクによつて論理的に整合性がとれなかつたという結果
が得られた場合、ミスが混入したということであるの
で、ステツプSP12で、そのミスの部分を書き直し
て、再度チエツクする(SP11)。
【0009】こうして、整合性がとれた回路設計データ
が得られたら、ステツプSP13で、得られた回路設計
データで集積回路をレイアウトする。そして、ステツプ
SP14で、このレイアウトデータに基づいて半導体工
場で集積回路を製造する。最後に、ステツプSP15
で、手順が完了する。
が得られたら、ステツプSP13で、得られた回路設計
データで集積回路をレイアウトする。そして、ステツプ
SP14で、このレイアウトデータに基づいて半導体工
場で集積回路を製造する。最後に、ステツプSP15
で、手順が完了する。
【0010】
【発明が解決しようとする課題】ところでこのような集
積回路の設計手法においては、2つの回路設計データ
(SP7及びSP10)を比較することによつて、この
2つの回路設計データが論理的に等価であるかをチエツ
クしている(SP11)。このようなチエツクでは、考
えられる全ての入力パターンを2つの回路設計データに
入力し、それぞれの出力結果が同じであるか否かをチエ
ツクすれば良い。ちなみに、このような等価チエツクを
行うツールは、既に商用として売られている。具体的に
は、上述したSynopSys社のDesign・Co
mpilerである。このDesign・Compil
erはゲートへのマツピングツールであるが、オプシヨ
ンとして等価チエツクのプログラムも内蔵している。具
体的には、Design・Compilerを起動させ
て、compare_design命令を実行させれば
よい。
積回路の設計手法においては、2つの回路設計データ
(SP7及びSP10)を比較することによつて、この
2つの回路設計データが論理的に等価であるかをチエツ
クしている(SP11)。このようなチエツクでは、考
えられる全ての入力パターンを2つの回路設計データに
入力し、それぞれの出力結果が同じであるか否かをチエ
ツクすれば良い。ちなみに、このような等価チエツクを
行うツールは、既に商用として売られている。具体的に
は、上述したSynopSys社のDesign・Co
mpilerである。このDesign・Compil
erはゲートへのマツピングツールであるが、オプシヨ
ンとして等価チエツクのプログラムも内蔵している。具
体的には、Design・Compilerを起動させ
て、compare_design命令を実行させれば
よい。
【0011】ところで、一般的にこれらの回路設計デー
タ(SP7及びSP10)は数千個のゲートで構成され
ている。そして変更による回路設計データの違いは、わ
ずかに数個である。しかしながら、従来から行われてい
る等価回路チエツク方法では、そのことを考慮せずに全
ての入力パターンを、2つのわずかに違う回路設計デー
タに与えて、それぞれの出力結果が同じであるかをチエ
ツクしている。このため、変更されていない回路データ
部分までチエツクすることになり、等価チエツクに多く
の時間を要するという問題がある。
タ(SP7及びSP10)は数千個のゲートで構成され
ている。そして変更による回路設計データの違いは、わ
ずかに数個である。しかしながら、従来から行われてい
る等価回路チエツク方法では、そのことを考慮せずに全
ての入力パターンを、2つのわずかに違う回路設計デー
タに与えて、それぞれの出力結果が同じであるかをチエ
ツクしている。このため、変更されていない回路データ
部分までチエツクすることになり、等価チエツクに多く
の時間を要するという問題がある。
【0012】本発明は以上の点を考慮してなされたもの
で、第1及び第2の回路設計データが論理的に等価であ
るか否かを、より短時間で検証し得る集積回路設計装置
及び等価回路チエツク方法を提案しようとするものであ
る。
で、第1及び第2の回路設計データが論理的に等価であ
るか否かを、より短時間で検証し得る集積回路設計装置
及び等価回路チエツク方法を提案しようとするものであ
る。
【0013】
【課題を解決するための手段】かかる課題を解決するた
め本発明においては、ハードウエア記述言語を用いて集
積回路を設計する集積回路設計装置において、第1及び
第2の回路設計データを所望のモジユール単位で分割し
て複数の第1及び第2のモジユール設計データをそれぞ
れ生成して単数又は複数の第1及び第2のモジユール設
計データを抽出して、抽出した単数又は複数の第1及び
第2のモジユール設計データを対応するモジユール単位
で比較するデータ処理手段を設ける。また本発明におい
ては、上述の機能に加えて、第1及び第2のモジユール
設計データの下位階層でなる第3及び第4のモジユール
設計データを全て又は一部削除すると共に、第3及び第
4のモジユール設計データに接続されていた信号線を入
出力端子に変更するデータ処理手段を設ける。
め本発明においては、ハードウエア記述言語を用いて集
積回路を設計する集積回路設計装置において、第1及び
第2の回路設計データを所望のモジユール単位で分割し
て複数の第1及び第2のモジユール設計データをそれぞ
れ生成して単数又は複数の第1及び第2のモジユール設
計データを抽出して、抽出した単数又は複数の第1及び
第2のモジユール設計データを対応するモジユール単位
で比較するデータ処理手段を設ける。また本発明におい
ては、上述の機能に加えて、第1及び第2のモジユール
設計データの下位階層でなる第3及び第4のモジユール
設計データを全て又は一部削除すると共に、第3及び第
4のモジユール設計データに接続されていた信号線を入
出力端子に変更するデータ処理手段を設ける。
【0014】複数のモジユール単位でなる第1及び第2
のモジユール設計データから、実際に等価チエツクする
部分のみを抽出して、この部分について論理的に等価で
あるか否かをチエツクする。またこれ以外のモジユール
では、全てのセル及び信号線が一対一に対応しているか
否かをチエツクする。さらに、第1及び第2のモジユー
ル設計データが下位階層として第3及び第4のモジユー
ル設計データを有し、この第3及び第4のモジユール設
計データが論理的に等価なものである場合、この下位階
層を全部又は一部削除すると共に削除部分に接続されて
いた信号線を入出力ピンに変更した第1及び第2のモジ
ユール設計データを抽出して、論理的に等価であるか否
かをチエツクする。
のモジユール設計データから、実際に等価チエツクする
部分のみを抽出して、この部分について論理的に等価で
あるか否かをチエツクする。またこれ以外のモジユール
では、全てのセル及び信号線が一対一に対応しているか
否かをチエツクする。さらに、第1及び第2のモジユー
ル設計データが下位階層として第3及び第4のモジユー
ル設計データを有し、この第3及び第4のモジユール設
計データが論理的に等価なものである場合、この下位階
層を全部又は一部削除すると共に削除部分に接続されて
いた信号線を入出力ピンに変更した第1及び第2のモジ
ユール設計データを抽出して、論理的に等価であるか否
かをチエツクする。
【0015】
【発明の実施の形態】以下図面について、本発明の一実
施例を詳述する。
施例を詳述する。
【0016】図1において、1は集積回路設計装置を示
し、例えばVerilog−HDL(Hardware Descrip
tion Language )のようなハードウエア記述言語を用い
て所望の集積回路を設計する。集積回路設計装置1は、
バス2を介して処理部3、ROM(Read Only Memory)
4、RAM(Random Access Memory)5、モニタ6及び
キーボード7をそれぞれ接続することにより構成されて
いる。ROM4は、Verilog−HDLを用いる集
積回路設計プログラム及び設計上で必要となる各種ゲー
ト類等のデータを記憶している。またRAM5は、実際
にユーザがVerilog−HDLを用いて作成する集
積回路の回路設計データを記憶する。処理部3は、RO
M4及びRAM5に制御信号を送出して、これらプログ
ラム及びデータを読み出すと共に、RAM5に回路設計
データを自在に記憶させ得るようになされている。また
キーボード7は、ROM3から読み出され実行されるプ
ログラムの入力要求に応じてユーザが入力する各種指示
及びデータを、処理部3に入力する。さらにモニタ6
は、処理部3がプログラム及びユーザによる入力によつ
て作成する回路設計データを表示して、作成した回路設
計データをユーザが確認し得るようにしている。
し、例えばVerilog−HDL(Hardware Descrip
tion Language )のようなハードウエア記述言語を用い
て所望の集積回路を設計する。集積回路設計装置1は、
バス2を介して処理部3、ROM(Read Only Memory)
4、RAM(Random Access Memory)5、モニタ6及び
キーボード7をそれぞれ接続することにより構成されて
いる。ROM4は、Verilog−HDLを用いる集
積回路設計プログラム及び設計上で必要となる各種ゲー
ト類等のデータを記憶している。またRAM5は、実際
にユーザがVerilog−HDLを用いて作成する集
積回路の回路設計データを記憶する。処理部3は、RO
M4及びRAM5に制御信号を送出して、これらプログ
ラム及びデータを読み出すと共に、RAM5に回路設計
データを自在に記憶させ得るようになされている。また
キーボード7は、ROM3から読み出され実行されるプ
ログラムの入力要求に応じてユーザが入力する各種指示
及びデータを、処理部3に入力する。さらにモニタ6
は、処理部3がプログラム及びユーザによる入力によつ
て作成する回路設計データを表示して、作成した回路設
計データをユーザが確認し得るようにしている。
【0017】また、集積回路設計装置1はユーザの指示
入力に応じて、ユーザが集積回路のレイアウト上で変更
を加えた回路設計データと変更前の回路設計データとを
RAM5から読み出して、処理部3によるシミユレーシ
ヨン処理を施す。具体的には、各回路設計データにあら
ゆる入力パターンを供給して、これにより出力される出
力パターンを比較する。同一の入力パターンを与えたに
もかかわらず、出力パターンが相違した場合、変更前の
回路設計データと変更後の回路設計データとが論理的に
等価では無いことがチエツクし得る。
入力に応じて、ユーザが集積回路のレイアウト上で変更
を加えた回路設計データと変更前の回路設計データとを
RAM5から読み出して、処理部3によるシミユレーシ
ヨン処理を施す。具体的には、各回路設計データにあら
ゆる入力パターンを供給して、これにより出力される出
力パターンを比較する。同一の入力パターンを与えたに
もかかわらず、出力パターンが相違した場合、変更前の
回路設計データと変更後の回路設計データとが論理的に
等価では無いことがチエツクし得る。
【0018】このように、集積回路設計装置1は、RO
M4から読み出したプログラム及びデータを処理部3に
入力して集積回路の設計処理を実行し、モニタ6に表示
されるプログラムによる入力要求に応じてユーザがキー
ボード7から入力する指示及びデータを用いて所望の回
路設計データを作成すると共に、作成された又は作成途
中の回路設計データを、ユーザの要求に応じてRAM5
に記憶する。
M4から読み出したプログラム及びデータを処理部3に
入力して集積回路の設計処理を実行し、モニタ6に表示
されるプログラムによる入力要求に応じてユーザがキー
ボード7から入力する指示及びデータを用いて所望の回
路設計データを作成すると共に、作成された又は作成途
中の回路設計データを、ユーザの要求に応じてRAM5
に記憶する。
【0019】また回路設計データの設計過程においてユ
ーザが回路設計データを変更する場合、変更前及び変更
後の回路設計データをRAM5に記憶しておき、処理部
3によつて変更前と変更後の回路設計データを比較する
ことにより、変更前及び変更後の回路設計データが論理
的に等価であるか否かをチエツクする。かくして集積回
路設計装置1は、ユーザが所望する集積回路の回路設計
データを作成することができると共に、ユーザが変更し
たデータが変更前のデータと等価であるか否かを判別す
ることができる。なお、製造工程において、こうして作
成された回路設計データに基づいて実際に集積回路が製
造される。
ーザが回路設計データを変更する場合、変更前及び変更
後の回路設計データをRAM5に記憶しておき、処理部
3によつて変更前と変更後の回路設計データを比較する
ことにより、変更前及び変更後の回路設計データが論理
的に等価であるか否かをチエツクする。かくして集積回
路設計装置1は、ユーザが所望する集積回路の回路設計
データを作成することができると共に、ユーザが変更し
たデータが変更前のデータと等価であるか否かを判別す
ることができる。なお、製造工程において、こうして作
成された回路設計データに基づいて実際に集積回路が製
造される。
【0020】次に、このような集積回路設計装置1によ
つて作成される回路設計データの作成過程において上述
したような、変更前の回路設計データ及びユーザによる
変更後の回路設計データが論理的に等価であるか否かを
チエツクする等価回路チエツク方法について説明する。
なお、ここではユーザによつて変更を加えられた部分
は、予め確認されているものとする。図2に示す手順に
おいて、ステツプSP20で開始して、まずステツプS
P21でRAM5(図1)から変更前の回路設計データ
Aを読み出す。次に、ステツプSP22で、回路設計デ
ータA内で変更箇所に対応する部分をモニタ6(図1)
に表示される画面を参照しながら、キーボード7(図
1)から入力して指定する。続いて、ステツプSP23
で、こうして指定した箇所を抽出してモジユール化する
(以下、これをA_SUBモジユールと呼ぶ)。次に、
ステツプSP24でRAM5(図1)から変更後の回路
設計データBを読み出し、ステツプSP25で、回路設
計データB内で変更箇所に対応する部分をモニタ6(図
1)に表示される画面を参照しながら、キーボード7
(図1)から入力して指定する。続いて、ステツプSP
26で、こうして指定した箇所を抽出してモジユール化
する(以下、これをB_SUBモジユールと呼ぶ)。
つて作成される回路設計データの作成過程において上述
したような、変更前の回路設計データ及びユーザによる
変更後の回路設計データが論理的に等価であるか否かを
チエツクする等価回路チエツク方法について説明する。
なお、ここではユーザによつて変更を加えられた部分
は、予め確認されているものとする。図2に示す手順に
おいて、ステツプSP20で開始して、まずステツプS
P21でRAM5(図1)から変更前の回路設計データ
Aを読み出す。次に、ステツプSP22で、回路設計デ
ータA内で変更箇所に対応する部分をモニタ6(図1)
に表示される画面を参照しながら、キーボード7(図
1)から入力して指定する。続いて、ステツプSP23
で、こうして指定した箇所を抽出してモジユール化する
(以下、これをA_SUBモジユールと呼ぶ)。次に、
ステツプSP24でRAM5(図1)から変更後の回路
設計データBを読み出し、ステツプSP25で、回路設
計データB内で変更箇所に対応する部分をモニタ6(図
1)に表示される画面を参照しながら、キーボード7
(図1)から入力して指定する。続いて、ステツプSP
26で、こうして指定した箇所を抽出してモジユール化
する(以下、これをB_SUBモジユールと呼ぶ)。
【0021】次に、ステツプSP27で、A_SUBモ
ジユール以外の回路設計データA内及びB_SUBモジ
ユール以外の回路設計データB内で、論理的に等価であ
るか否かを検出する。具体的には、処理部3(図1)が
回路設計データA及びB内の全てのセル及び信号線が一
対一に対応しているか否かをチエツクすることにより検
出する。論理的に等価であれば、次のステツプSP28
に進み、等価で無ければステツプSP29に進む。
ジユール以外の回路設計データA内及びB_SUBモジ
ユール以外の回路設計データB内で、論理的に等価であ
るか否かを検出する。具体的には、処理部3(図1)が
回路設計データA及びB内の全てのセル及び信号線が一
対一に対応しているか否かをチエツクすることにより検
出する。論理的に等価であれば、次のステツプSP28
に進み、等価で無ければステツプSP29に進む。
【0022】続いて、ステツプSP28で、A_SUB
モジユール及びB_SUBモジユールが論理的に等価で
あるか否かを検出する。具体的には、従来の等価チエツ
ク方法と同様に、処理部3(図1)によるシミユレーシ
ヨン処理によつて、あらゆる入力パターンを各モジユー
ルに入力して出力パターンを比較する。論理的に等価で
あれば、同一の入力パターンを与えられた場合、同一の
出力パターンが得られる。この場合、次のステツプSP
30に進む。また出力パターンが相違する場合は、論理
的に等価では無いことが確認し得る。この場合、ステツ
プSP29へ進む。またステツプSP28での等価チエ
ツクは、Design・Compilerのcompa
re_design命令により実行することもできる。
モジユール及びB_SUBモジユールが論理的に等価で
あるか否かを検出する。具体的には、従来の等価チエツ
ク方法と同様に、処理部3(図1)によるシミユレーシ
ヨン処理によつて、あらゆる入力パターンを各モジユー
ルに入力して出力パターンを比較する。論理的に等価で
あれば、同一の入力パターンを与えられた場合、同一の
出力パターンが得られる。この場合、次のステツプSP
30に進む。また出力パターンが相違する場合は、論理
的に等価では無いことが確認し得る。この場合、ステツ
プSP29へ進む。またステツプSP28での等価チエ
ツクは、Design・Compilerのcompa
re_design命令により実行することもできる。
【0023】ステツプSP29では、論理的に等価で無
いことが確認されたので、モニタ6(図1)にこの結果
を示す表示パターンを表示する。またステツプSP30
では、論理的に等価であることが確認されたので、モニ
タ6にこの結果を示す表示パターンを表示する。ステツ
プSP29及びステツプSP30のいずれの場合も、表
示が完了したら、ステツプSP31に進んで手順を完了
する。かくして、このような等価回路チエツク方法を用
いることにより、変更を加えられた部分のモジユール単
位で等価チエツクすることができる。
いことが確認されたので、モニタ6(図1)にこの結果
を示す表示パターンを表示する。またステツプSP30
では、論理的に等価であることが確認されたので、モニ
タ6にこの結果を示す表示パターンを表示する。ステツ
プSP29及びステツプSP30のいずれの場合も、表
示が完了したら、ステツプSP31に進んで手順を完了
する。かくして、このような等価回路チエツク方法を用
いることにより、変更を加えられた部分のモジユール単
位で等価チエツクすることができる。
【0024】以上の構成において、集積回路設計装置1
は上述したような等価回路チエツク方法を用いて、回路
設計データA及びこれにユーザが変更を加えた回路設計
データBが論理的に等価であるか否かを短時間でチエツ
クすることができる。以下に、等価回路チエツク方法の
具体例を図3〜図8を示して説明する。
は上述したような等価回路チエツク方法を用いて、回路
設計データA及びこれにユーザが変更を加えた回路設計
データBが論理的に等価であるか否かを短時間でチエツ
クすることができる。以下に、等価回路チエツク方法の
具体例を図3〜図8を示して説明する。
【0025】まず回路設計データAを読み込む(図2の
SP21)。これは、図3に示す回路図を表す回路設計
データである。図3に示す回路図は、変更前の回路図で
あり、外部から入力ピンW1及びW3に入力された信号
を、出力ピンW5から外部に出力する。入力ピンW1か
ら入力された信号は、インバータA0を介してAND回
路A1の一方の入力端子に入力されている。また、入力
ピンW3から入力された信号は、直接AND回路A1の
他方の入力端子に入力されている。そして、A1の出力
端子からの出力信号は、インバータA2を介して出力ピ
ンW5に送出されている。図4に示すように、Veri
log−HDLを用いて、図3の回路のモジユール単位
での入出力ピン及び各ゲート単位での入出力ピンを記述
して回路上の機能等を表したものが、回路設計データA
である。
SP21)。これは、図3に示す回路図を表す回路設計
データである。図3に示す回路図は、変更前の回路図で
あり、外部から入力ピンW1及びW3に入力された信号
を、出力ピンW5から外部に出力する。入力ピンW1か
ら入力された信号は、インバータA0を介してAND回
路A1の一方の入力端子に入力されている。また、入力
ピンW3から入力された信号は、直接AND回路A1の
他方の入力端子に入力されている。そして、A1の出力
端子からの出力信号は、インバータA2を介して出力ピ
ンW5に送出されている。図4に示すように、Veri
log−HDLを用いて、図3の回路のモジユール単位
での入出力ピン及び各ゲート単位での入出力ピンを記述
して回路上の機能等を表したものが、回路設計データA
である。
【0026】次に、変更個所に対応する部分の指定を行
う(図2のSP22)。具体的には、図3において破線
で囲まれた部分を指定する。次に、この部分をA_SU
Bモジユールとして切り出す(図2のSP23)。具体
的には、図3の破線で囲まれた部分に着目すると、入力
が入力ピンW2及びW3で、出力が出力ピンW4とな
り、AND回路A1が含まれているので、図7に示すよ
うな回路設計データがA_SUBモジユールとなつてい
る。
う(図2のSP22)。具体的には、図3において破線
で囲まれた部分を指定する。次に、この部分をA_SU
Bモジユールとして切り出す(図2のSP23)。具体
的には、図3の破線で囲まれた部分に着目すると、入力
が入力ピンW2及びW3で、出力が出力ピンW4とな
り、AND回路A1が含まれているので、図7に示すよ
うな回路設計データがA_SUBモジユールとなつてい
る。
【0027】続いて、回路設計データBを読み込む(図
2のSP25)。これは、図5に示す回路図を表す回路
設計データであり、図3の回路図をレイアウトした結
果、入力ピンW3への信号の入力タイミングが早すぎる
ため、AND回路A1の前段にインバータA3及びA4
を挿入して、所定の時間だけ遅延させるようにしたもの
である。図5に示す回路図においては、外部から入力ピ
ンW1及びW3に入力された信号を、出力ピンW5から
外部に出力する。入力ピンW1から入力された信号は、
インバータA0を介してAND回路A1の一方の入力端
子に入力されている。また、入力ピンW3から入力され
た信号はインバータA2及びA4を介して、AND回路
A1の他方の入力端子に入力されている。そして、A1
の出力端子からの出力信号は、インバータA2を介して
出力ピンW5に送出されている。図6に示すように、V
erilog−HDLを用いて、この回路のモジユール
単位での入出力ピン及び各ゲート単位での入出力ピンを
記述して回路上の機能等を表したものが、回路設計デー
タBである。
2のSP25)。これは、図5に示す回路図を表す回路
設計データであり、図3の回路図をレイアウトした結
果、入力ピンW3への信号の入力タイミングが早すぎる
ため、AND回路A1の前段にインバータA3及びA4
を挿入して、所定の時間だけ遅延させるようにしたもの
である。図5に示す回路図においては、外部から入力ピ
ンW1及びW3に入力された信号を、出力ピンW5から
外部に出力する。入力ピンW1から入力された信号は、
インバータA0を介してAND回路A1の一方の入力端
子に入力されている。また、入力ピンW3から入力され
た信号はインバータA2及びA4を介して、AND回路
A1の他方の入力端子に入力されている。そして、A1
の出力端子からの出力信号は、インバータA2を介して
出力ピンW5に送出されている。図6に示すように、V
erilog−HDLを用いて、この回路のモジユール
単位での入出力ピン及び各ゲート単位での入出力ピンを
記述して回路上の機能等を表したものが、回路設計デー
タBである。
【0028】次に、変更個所に対応する部分の指定を行
う(図2のSP25)。具体的には、図5において破線
で囲まれた部分を指定する。次に、この部分をB_SU
Bモジユールとして切り出す(図2のSP26)。具体
的には、図5の破線で囲まれた部分に着目すると、入力
が入力ピンW2及びW3で、出力が出力ピンW4とな
り、インバータA2及びA4とAND回路A1が含まれ
ているので、図8に示すような回路設計データがB_S
UBモジユールとなつている。
う(図2のSP25)。具体的には、図5において破線
で囲まれた部分を指定する。次に、この部分をB_SU
Bモジユールとして切り出す(図2のSP26)。具体
的には、図5の破線で囲まれた部分に着目すると、入力
が入力ピンW2及びW3で、出力が出力ピンW4とな
り、インバータA2及びA4とAND回路A1が含まれ
ているので、図8に示すような回路設計データがB_S
UBモジユールとなつている。
【0029】次に、A_SUBモジユール以外の回路設
計データA内の全てのセル及び信号線と、B_SUBモ
ジユール以外の回路設計データB内の全てのセル及び信
号線とが完全に一対一に対応しているか否かをチエツク
する(図2のSP27)。この場合は、OKである。次
に、A_SUBモジユールとB_SUBモジユールとが
論理的に等価であるか否かをチエツクする。具体的に
は、A_SUBモジユール及びB_SUBモジユールに
あらゆる入力パターンをそれぞれ入力し、出力結果が同
じであるかをチエツクする。同じであれば、ユーザにO
Kを表示する(図2のSP30)。また、同じでなけれ
ば、ユーザにNGを表示する(図2のSP29)。
計データA内の全てのセル及び信号線と、B_SUBモ
ジユール以外の回路設計データB内の全てのセル及び信
号線とが完全に一対一に対応しているか否かをチエツク
する(図2のSP27)。この場合は、OKである。次
に、A_SUBモジユールとB_SUBモジユールとが
論理的に等価であるか否かをチエツクする。具体的に
は、A_SUBモジユール及びB_SUBモジユールに
あらゆる入力パターンをそれぞれ入力し、出力結果が同
じであるかをチエツクする。同じであれば、ユーザにO
Kを表示する(図2のSP30)。また、同じでなけれ
ば、ユーザにNGを表示する(図2のSP29)。
【0030】従来の方式による等価回路チエツクでは、
変更前及び変更後の回路を表す回路設計データ(図4及
び図6)に対して、全ての入力パターンをそれぞれ入力
し、出力結果が同じであるかをチエツクしていた。その
ため、回路全体についてチエツクしなければならず、チ
エツクに時間がかかり過ぎていた。ところが、上述のよ
うに、変更した部分のみに対して等価チエツクすること
により、チエツク箇所が小規模で済むために等価チエツ
クに要する時間を短縮することができる。上述の場合、
説明の都合上、分かり易くするために、未変更部分がイ
ンバータA0及びA2であり、変更個所がAND回路A
1とインバータA3及びA4であった。しかし、実際の
設計においては、未変更部分が数千箇所であり、変更個
所が数箇所に過ぎないため、従来に比して大幅に時間短
縮し得る。
変更前及び変更後の回路を表す回路設計データ(図4及
び図6)に対して、全ての入力パターンをそれぞれ入力
し、出力結果が同じであるかをチエツクしていた。その
ため、回路全体についてチエツクしなければならず、チ
エツクに時間がかかり過ぎていた。ところが、上述のよ
うに、変更した部分のみに対して等価チエツクすること
により、チエツク箇所が小規模で済むために等価チエツ
クに要する時間を短縮することができる。上述の場合、
説明の都合上、分かり易くするために、未変更部分がイ
ンバータA0及びA2であり、変更個所がAND回路A
1とインバータA3及びA4であった。しかし、実際の
設計においては、未変更部分が数千箇所であり、変更個
所が数箇所に過ぎないため、従来に比して大幅に時間短
縮し得る。
【0031】以上の構成によれば、処理部3によつて、
回路設計データAと回路設計データAをユーザが部分的
に変更して得られる回路設計データBとを所望のモジユ
ール単位で分割してユーザによる変更が加えられた小規
模なモジユール及びこれに対応するモジユールを抽出す
ると共に、抽出したモジユールの出力パターンを比較し
て論理的に等価であるか否かを検証する。またこれ以外
のモジユールでは、全てのセルと全ての信号線が1対1
に対応しているか否かをチエツクすることで、等価チエ
ツクに換える。これにより、ユーザによる変更が加えら
れた比較的小規模なモジユール単位で等価チエツクする
ことによつて、回路全体が等価であるか否かを検証し得
るかくして、変更前の回路設計データとこれにユーザが
変更を加えた回路設計データとが論理的に等価であるか
否かを、より短時間で検証し得る集積回路設計装置1及
び等価回路チエツク方法を実現することができる。
回路設計データAと回路設計データAをユーザが部分的
に変更して得られる回路設計データBとを所望のモジユ
ール単位で分割してユーザによる変更が加えられた小規
模なモジユール及びこれに対応するモジユールを抽出す
ると共に、抽出したモジユールの出力パターンを比較し
て論理的に等価であるか否かを検証する。またこれ以外
のモジユールでは、全てのセルと全ての信号線が1対1
に対応しているか否かをチエツクすることで、等価チエ
ツクに換える。これにより、ユーザによる変更が加えら
れた比較的小規模なモジユール単位で等価チエツクする
ことによつて、回路全体が等価であるか否かを検証し得
るかくして、変更前の回路設計データとこれにユーザが
変更を加えた回路設計データとが論理的に等価であるか
否かを、より短時間で検証し得る集積回路設計装置1及
び等価回路チエツク方法を実現することができる。
【0032】なお上述の実施例においては、ユーザによ
り変更が加えられた部分のモジユールを抽出して等価チ
エツクする場合について述べたが、本発明はこれに限ら
ず、例えばユーザによる変更が加えられたモジユールが
階層構造を有しており、下位階層のモジユール部分には
変更が加えられていない場合、この下位階層部分を削除
して全体のモジユールを等価チエツクするようにしても
よい。
り変更が加えられた部分のモジユールを抽出して等価チ
エツクする場合について述べたが、本発明はこれに限ら
ず、例えばユーザによる変更が加えられたモジユールが
階層構造を有しており、下位階層のモジユール部分には
変更が加えられていない場合、この下位階層部分を削除
して全体のモジユールを等価チエツクするようにしても
よい。
【0033】この場合の等価チエツク方法を図9〜図1
6を示して説明する。図9及び図11は、等価であるか
否かをチエツクしようとする回路であり、それぞれ同一
モジユールでなる下位の階層を有する構造である。ここ
で下位の階層のモジユール名はSUBであり、C0とい
う名前が割り当てられている。図10は、図9の回路図
を表すためにVerilog−HDLで記述された回路
設計データである(以下、これを回路設計データAAと
呼ぶ)。ここで示すように、回路設計データAAで表す
モジユール外部から入力ピンWINに入力された信号
は、インバータB0を介して下位階層のモジユールC0
の入力端子INに入力される。またモジユールC0の出
力端子OUTから送出された信号は、信号線WA2を介
してAND回路B1の一方の入力端子IN1に入力され
る。さらに入力ピンWINから入力される信号は、イン
バータB0に入力される前段で分岐されており、直接A
ND回路B1の他方の入力端子IN2に入力される。そ
してAND回路B1の出力端子OUTから送出される信
号が、出力ピンWOUTを介して回路設計データAAで
表すモジユール外部に出力される。
6を示して説明する。図9及び図11は、等価であるか
否かをチエツクしようとする回路であり、それぞれ同一
モジユールでなる下位の階層を有する構造である。ここ
で下位の階層のモジユール名はSUBであり、C0とい
う名前が割り当てられている。図10は、図9の回路図
を表すためにVerilog−HDLで記述された回路
設計データである(以下、これを回路設計データAAと
呼ぶ)。ここで示すように、回路設計データAAで表す
モジユール外部から入力ピンWINに入力された信号
は、インバータB0を介して下位階層のモジユールC0
の入力端子INに入力される。またモジユールC0の出
力端子OUTから送出された信号は、信号線WA2を介
してAND回路B1の一方の入力端子IN1に入力され
る。さらに入力ピンWINから入力される信号は、イン
バータB0に入力される前段で分岐されており、直接A
ND回路B1の他方の入力端子IN2に入力される。そ
してAND回路B1の出力端子OUTから送出される信
号が、出力ピンWOUTを介して回路設計データAAで
表すモジユール外部に出力される。
【0034】図11は、図9で示す回路にユーザが変更
を加えて得られる回路図である。これは回路図をレイア
ウトした結果、モジユールC0の入力端子INへの入力
が早すぎるために、インバータB0に換えてインバータ
B2、B3及びB4を挿入するようにユーザが回路図を
変更したものである。ここで、削除したインバータB0
と挿入したインバータB2、B3及びB4とをユーザに
よる手入力で変更しているために回路図にケアレスミス
が生じている可能性があり、図9及び図11の回路図が
等価であるか否か、等価回路チエツクする必要がある。
図12は、図11の回路図を表すためにVerilog
−HDLで記述された回路設計データである(以下、こ
れを回路設計データBBと呼ぶ)。
を加えて得られる回路図である。これは回路図をレイア
ウトした結果、モジユールC0の入力端子INへの入力
が早すぎるために、インバータB0に換えてインバータ
B2、B3及びB4を挿入するようにユーザが回路図を
変更したものである。ここで、削除したインバータB0
と挿入したインバータB2、B3及びB4とをユーザに
よる手入力で変更しているために回路図にケアレスミス
が生じている可能性があり、図9及び図11の回路図が
等価であるか否か、等価回路チエツクする必要がある。
図12は、図11の回路図を表すためにVerilog
−HDLで記述された回路設計データである(以下、こ
れを回路設計データBBと呼ぶ)。
【0035】まず回路設計データAAを読み込み、変更
箇所に対応するモジユール部分の指定を行う。ここで、
モジユールC0の部分は回路設計データAA及び回路設
計データBBにおいて、同一のモジユールでなるために
論理的に等価であることは自明であるので、モジユール
C0以外の部分を指定する。次に、この部分をAA_S
UBという名前のモジユールとして切り出す。このよう
に、モジユールC0以外の部分を切り出すことにより、
図13に示すような回路図を抽出することができる。こ
こでモジユールC0を削除してあるため、モジユールC
0に接続されていた信号線の端部を入出力ピンに変換し
ておく。図14は、図13の回路図を表すためにVer
ilog−HDLで記述された回路設計データである。
ここで示すように、WA1がC0_INに又WA2がC
0_OUTにそれぞれ信号線名が変換されている。
箇所に対応するモジユール部分の指定を行う。ここで、
モジユールC0の部分は回路設計データAA及び回路設
計データBBにおいて、同一のモジユールでなるために
論理的に等価であることは自明であるので、モジユール
C0以外の部分を指定する。次に、この部分をAA_S
UBという名前のモジユールとして切り出す。このよう
に、モジユールC0以外の部分を切り出すことにより、
図13に示すような回路図を抽出することができる。こ
こでモジユールC0を削除してあるため、モジユールC
0に接続されていた信号線の端部を入出力ピンに変換し
ておく。図14は、図13の回路図を表すためにVer
ilog−HDLで記述された回路設計データである。
ここで示すように、WA1がC0_INに又WA2がC
0_OUTにそれぞれ信号線名が変換されている。
【0036】次に回路設計データBBを読み込み、変更
個所に対応するモジユール部分の指定を行う。具体的に
は、モジユールC0以外の部分である。次に、この部分
をBB_SUBという名前のモジユールとして切り出
す。このように、モジユールC0以外の部分を切り出す
ことにより、図15に示すような回路図を抽出すること
ができる。ここでモジユールC0を削除してあるため、
モジユールC0に接続されていた信号線の端部を入出力
ピンに変換しておく。図16は、図15の回路図を表す
ためにVerilog−HDLで記述された回路設計デ
ータである。ここで示すように、WA3がC0_INに
又WA4がC0_OUTにそれぞれ信号線名が変換され
ている。
個所に対応するモジユール部分の指定を行う。具体的に
は、モジユールC0以外の部分である。次に、この部分
をBB_SUBという名前のモジユールとして切り出
す。このように、モジユールC0以外の部分を切り出す
ことにより、図15に示すような回路図を抽出すること
ができる。ここでモジユールC0を削除してあるため、
モジユールC0に接続されていた信号線の端部を入出力
ピンに変換しておく。図16は、図15の回路図を表す
ためにVerilog−HDLで記述された回路設計デ
ータである。ここで示すように、WA3がC0_INに
又WA4がC0_OUTにそれぞれ信号線名が変換され
ている。
【0037】次に、AA_SUBモジユール以外の回路
の全てのセル及び信号線と、BB_SUBモジユール以
外の回路の全てのセル及び信号線が完全に一致している
ことをチエツクする。この場合は、下位の階層であるモ
ジユールC0だけなので、このチエツクは実際には何も
行わずにOKとなる。このように変更されなかつた回路
部分については、セル及び信号線が一致しているか否か
をチエツクすることにより、論理検証すること無く、等
価チエツクに換えることができる。次に、AA_SUB
モジユールとBB_SUBモジユールとが論理的に等価
であるか否かをチエツクする。このチエツクでは、例え
ばあらゆる入力パターンをそれぞれの回路に入力し、出
力結果が同じであるかをチエツクする。同じであれば設
計者にOKを表示し、また正しくなければ設計者にNG
を表示する。
の全てのセル及び信号線と、BB_SUBモジユール以
外の回路の全てのセル及び信号線が完全に一致している
ことをチエツクする。この場合は、下位の階層であるモ
ジユールC0だけなので、このチエツクは実際には何も
行わずにOKとなる。このように変更されなかつた回路
部分については、セル及び信号線が一致しているか否か
をチエツクすることにより、論理検証すること無く、等
価チエツクに換えることができる。次に、AA_SUB
モジユールとBB_SUBモジユールとが論理的に等価
であるか否かをチエツクする。このチエツクでは、例え
ばあらゆる入力パターンをそれぞれの回路に入力し、出
力結果が同じであるかをチエツクする。同じであれば設
計者にOKを表示し、また正しくなければ設計者にNG
を表示する。
【0038】従来の方式による等価回路チエツクでは、
上述の回路について等価チエツクする場合、下位の階層
のモジユールでなるモジユールC0も含めた回路全体に
対してチエツクがなされていた。ところが回路規模が大
きい場合、このチエツクに時間がかかり過ぎてしまうと
いう問題がある。上述したように、下位の階層で変更を
していない部分を削除して等価チエツクすることによ
り、チエツクの対象となる回路規模を小さくすることが
でき、チエツク時間を短縮し得る。
上述の回路について等価チエツクする場合、下位の階層
のモジユールでなるモジユールC0も含めた回路全体に
対してチエツクがなされていた。ところが回路規模が大
きい場合、このチエツクに時間がかかり過ぎてしまうと
いう問題がある。上述したように、下位の階層で変更を
していない部分を削除して等価チエツクすることによ
り、チエツクの対象となる回路規模を小さくすることが
でき、チエツク時間を短縮し得る。
【0039】また上述の実施例においては、ハードウエ
ア記述言語としてVerilog─HDLを用いた場合
について述べたが、本発明はこれに限らず、例えばVH
DL又はHSL−FX等の他のハードウエア記述言語を
用いた場合においても適用し得る。
ア記述言語としてVerilog─HDLを用いた場合
について述べたが、本発明はこれに限らず、例えばVH
DL又はHSL−FX等の他のハードウエア記述言語を
用いた場合においても適用し得る。
【0040】さらに上述の実施例においては、ゲートレ
ベルの回路設計データに適用した場合について述べた
が、本発明はこれに限らず、例えばRTレベルの回路設
計データに適用してもよい。
ベルの回路設計データに適用した場合について述べた
が、本発明はこれに限らず、例えばRTレベルの回路設
計データに適用してもよい。
【0041】また上述の実施例においては、処理部3で
第1及び第2の回路設計データを所望のモジユール単位
に分割して生成した第3及び第4の回路設計データか
ら、ユーザが変更を加えたモジユールでなる単数又は複
数の第3及び第4の回路設計データを抽出すると共に、
この単数又は複数の第3及び第4の回路設計データを対
応するモジユール毎に比較して論理的に等価であるか否
かを検出する場合について述べたが、本発明はこれに限
らず、単数又は複数の第3及び第4の回路設計データを
抽出する抽出手段及び単数又は複数の第3及び第4の回
路設計データを対応するモジユール毎に比較して論理的
に等価であるか否かを検出する比較検出手段を処理部3
と別個に設けるようにしてもよい。
第1及び第2の回路設計データを所望のモジユール単位
に分割して生成した第3及び第4の回路設計データか
ら、ユーザが変更を加えたモジユールでなる単数又は複
数の第3及び第4の回路設計データを抽出すると共に、
この単数又は複数の第3及び第4の回路設計データを対
応するモジユール毎に比較して論理的に等価であるか否
かを検出する場合について述べたが、本発明はこれに限
らず、単数又は複数の第3及び第4の回路設計データを
抽出する抽出手段及び単数又は複数の第3及び第4の回
路設計データを対応するモジユール毎に比較して論理的
に等価であるか否かを検出する比較検出手段を処理部3
と別個に設けるようにしてもよい。
【0042】また上述の実施例においては、記憶手段と
してROM4及びRAM5を用いた場合について述べた
が、本発明はこれに限らず、例えばハードデイスク装置
等の他の記憶手段を用いてもよい。
してROM4及びRAM5を用いた場合について述べた
が、本発明はこれに限らず、例えばハードデイスク装置
等の他の記憶手段を用いてもよい。
【0043】また上述の実施例においては、集積回路設
計装置1が独立して設けられている場合について述べた
が、本発明はこれに限らず、例えばバスを介して接続す
ることにより、複数のユーザが使用し得るLAN(Loca
l Area Network)形態でなる集積回路設計装置に適用し
てもよい。この場合、記憶手段内に記憶された回路設計
データを各ユーザが共有することができるため、設計効
率をより向上させることができる。
計装置1が独立して設けられている場合について述べた
が、本発明はこれに限らず、例えばバスを介して接続す
ることにより、複数のユーザが使用し得るLAN(Loca
l Area Network)形態でなる集積回路設計装置に適用し
てもよい。この場合、記憶手段内に記憶された回路設計
データを各ユーザが共有することができるため、設計効
率をより向上させることができる。
【0044】さらに上述の実施例においては、等価チエ
ツクの結果としてOK又はNGをモニタ6に表示する場
合について述べたが、本発明はこれに限らず、他の表示
パターンによつてユーザにチエツク結果を通知するよう
にしてもよい。
ツクの結果としてOK又はNGをモニタ6に表示する場
合について述べたが、本発明はこれに限らず、他の表示
パターンによつてユーザにチエツク結果を通知するよう
にしてもよい。
【0045】また上述の実施例においては、等価チエツ
クするモジユール部分をユーザが指定することにより選
択される場合について述べたが、本発明はこれに限ら
ず、例えばプログラムによつて、第1及び第2の回路設
計データ内で記述が異なる部分を検索し、この部分を含
むモジユールが自動的に抽出されるようにしてもよい。
クするモジユール部分をユーザが指定することにより選
択される場合について述べたが、本発明はこれに限ら
ず、例えばプログラムによつて、第1及び第2の回路設
計データ内で記述が異なる部分を検索し、この部分を含
むモジユールが自動的に抽出されるようにしてもよい。
【0046】
【発明の効果】上述のように本発明によれば、ハードウ
エア記述言語を用いて集積回路を設計する集積回路設計
装置において、第1及び第2の回路設計データを所望の
モジユール単位で分割して複数の第1及び第2のモジユ
ール設計データをそれぞれ生成して単数又は複数の第1
及び第2のモジユール設計データを抽出して、抽出した
単数又は複数の第1及び第2のモジユール設計データを
対応するモジユール単位で比較するデータ処理手段を設
けて、複数のモジユール単位でなる第1及び第2のモジ
ユール設計データから、実際に等価チエツクする部分の
みを抽出して、この部分について論理的に等価であるか
否かをチエツクする。またこれ以外のモジユールでは、
全てのセル及び信号線が一対一に対応しているか否かを
チエツクする。
エア記述言語を用いて集積回路を設計する集積回路設計
装置において、第1及び第2の回路設計データを所望の
モジユール単位で分割して複数の第1及び第2のモジユ
ール設計データをそれぞれ生成して単数又は複数の第1
及び第2のモジユール設計データを抽出して、抽出した
単数又は複数の第1及び第2のモジユール設計データを
対応するモジユール単位で比較するデータ処理手段を設
けて、複数のモジユール単位でなる第1及び第2のモジ
ユール設計データから、実際に等価チエツクする部分の
みを抽出して、この部分について論理的に等価であるか
否かをチエツクする。またこれ以外のモジユールでは、
全てのセル及び信号線が一対一に対応しているか否かを
チエツクする。
【0047】また本発明においては、上述の機能に加え
て、第1及び第2のモジユール設計データの下位階層で
なる第3及び第4のモジユール設計データを全て又は一
部削除すると共に、第3及び第4のモジユール設計デー
タに接続されていた信号線を入出力端子に変更するデー
タ処理手段を設けて、第1及び第2のモジユール設計デ
ータが下位階層として第3及び第4の回路設計データを
有し、この第3及び第4のモジユール設計データが論理
的に等価なものである場合、この下位階層を全て又は一
部削除すると共に削除した下位階層に接続されていた信
号線を入出力ピンに変更した第1及び第2のモジユール
設計データを抽出して、論理的に等価であるか否かをチ
エツクする。
て、第1及び第2のモジユール設計データの下位階層で
なる第3及び第4のモジユール設計データを全て又は一
部削除すると共に、第3及び第4のモジユール設計デー
タに接続されていた信号線を入出力端子に変更するデー
タ処理手段を設けて、第1及び第2のモジユール設計デ
ータが下位階層として第3及び第4の回路設計データを
有し、この第3及び第4のモジユール設計データが論理
的に等価なものである場合、この下位階層を全て又は一
部削除すると共に削除した下位階層に接続されていた信
号線を入出力ピンに変更した第1及び第2のモジユール
設計データを抽出して、論理的に等価であるか否かをチ
エツクする。
【0048】かくして、第1及び第2の回路設計データ
が論理的に等価であるか否かを、より短時間で検証し得
る集積回路設計装置及び等価回路チエツク方法を実現す
ることができる。
が論理的に等価であるか否かを、より短時間で検証し得
る集積回路設計装置及び等価回路チエツク方法を実現す
ることができる。
【図1】実施例による集積回路設計装置の構成を示すブ
ロツク図である。
ロツク図である。
【図2】本発明の等価回路チエツク方法を示すフローチ
ャートである。
ャートである。
【図3】等価回路チエツク方法を詳述するために供する
回路図(変更前)である。
回路図(変更前)である。
【図4】等価回路チエツク方法の具体例を詳述するため
に供するハードウエア記述言語による回路設計データ
(変更前)である。
に供するハードウエア記述言語による回路設計データ
(変更前)である。
【図5】等価回路チエツク方法を詳述するために供する
回路図(変更後)である。
回路図(変更後)である。
【図6】等価回路チエツク方法の具体例を詳述するため
に供するハードウエア記述言語による回路設計データ
(変更後)である。
に供するハードウエア記述言語による回路設計データ
(変更後)である。
【図7】変更前の回路から抽出されたモジユールを表す
回路設計データである。
回路設計データである。
【図8】変更後の回路から抽出されたモジユールを表す
回路設計データである。
回路設計データである。
【図9】他の実施例による等価回路チエツク方法を説明
するために供する回路図(変更前)である。
するために供する回路図(変更前)である。
【図10】他の実施例による等価回路チエツク方法を説
明するために供するハードウエア記述言語による回路設
計データ(変更前)である。
明するために供するハードウエア記述言語による回路設
計データ(変更前)である。
【図11】他の実施例による等価回路チエツク方法を説
明するために供する回路図(変更後)である。
明するために供する回路図(変更後)である。
【図12】他の実施例による等価回路チエツク方法を説
明するために供するハードウエア記述言語による回路設
計データ(変更後)である。
明するために供するハードウエア記述言語による回路設
計データ(変更後)である。
【図13】変更前の回路図から抽出されたモジユール部
分を示す回路図である。
分を示す回路図である。
【図14】変更前の回路から抽出されたモジユールを表
す回路設計データである。
す回路設計データである。
【図15】変更後の回路図から抽出されたモジユール部
分を示す回路図である。
分を示す回路図である。
【図16】変更後の回路から抽出されたモジユールを表
す回路設計データである。
す回路設計データである。
【図17】従来の集積回路の設計手順を示すフローチヤ
ートである。
ートである。
1……集積回路設計装置、2……バス、3……処理部、
4……ROM、5……RAM、6……モニタ、7……キ
ーボード、A0、A2、A3、A4、B0、B2、B
3、B4……インバータ、A1、B1、B5……AND
回路、C0……モジユール。
4……ROM、5……RAM、6……モニタ、7……キ
ーボード、A0、A2、A3、A4、B0、B2、B
3、B4……インバータ、A1、B1、B5……AND
回路、C0……モジユール。
Claims (5)
- 【請求項1】ハードウエア記述言語を用いて集積回路を
設計するためのプログラム及びデータとユーザが設計す
る上記集積回路の回路設計データとを記憶する記憶手段
と、 上記集積回路の設計に関する各種データを表示する表示
手段と、 上記ユーザからの指示及びデータを入力するための入力
手段と、 上記プログラムに基づいて上記集積回路の設計を処理す
ると共に、上記記憶手段から読み出した所望の集積回路
を表す第1の回路設計データを所望のモジユール単位で
分割することにより得られる複数の第1のモジユール設
計データと、上記記憶手段から読み出した所望の集積回
路を表す第2の回路設計データを所望のモジユール単位
で分割することにより得られる複数の第2のモジユール
設計データとからそれぞれ単数又は複数の第1及び第2
のモジユール設計データを抽出し、上記単数又は複数の
第1及び第2のモジユール設計データの対応する上記モ
ジユール単位毎にあらゆる入力パターンを入力して、同
一の入力パターンを与えた場合に同一の出力パターンが
得られるか否かを検出することにより、上記第1及び第
2の回路設計データが論理的に等価な回路であるか否か
を判断するデータ処理手段とを具えることを特徴とする
集積回路設計装置。 - 【請求項2】上記データ処理手段は、 上記複数の第1及び第2のモジユール設計データからそ
れぞれ上記単数又は複数の第1及び第2のモジユール設
計データを抽出する際に、各上記第1及び第2のモジユ
ール設計データの下位階層でなる第3及び第4のモジユ
ール設計データの全て又は一部を削除すると共に、上記
第3及び第4のモジユール設計データに接続されていた
信号線を入出力ピンに変更することを特徴とする請求項
1に記載の集積回路設計装置。 - 【請求項3】ハードウエア記述言語を用いて所望の集積
回路を設計することにより得られた第1及び第2の回路
設計データが論理的に等価であるか否かを検出する等価
回路チエツク方法において、 上記第1の回路設計データを所望のモジユール単位で分
割して得られた複数の第1のモジユール設計データか
ら、単数又は複数の上記第1のモジユール設計データを
抽出し、 上記第2の回路設計データを所望のモジユール単位で分
割して得られた複数の第2のモジユール設計データか
ら、単数又は複数の上記第1のモジユール設計データに
対応する単数又は複数の上記第2のモジユール設計デー
タを抽出し、 抽出した単数又は複数の上記第1及び第2のモジユール
設計データを、対応する上記モジユール単位毎に比較す
ることにより、上記第1及び第2の回路設計データが論
理的に等価であるか否かを検出することを特徴とする等
価回路チエツク方法。 - 【請求項4】上記抽出されたモジユールを除く上記第1
及び第2のモジユール設計データを、対応する上記モジ
ユール単位毎に全てのセルと全ての信号線が1対1に対
応しているか否かを検出することを特徴とする請求項3
に記載の等価回路チエツク方法。 - 【請求項5】ハードウエア記述言語を用いて所望の集積
回路を設計して得られる第1及び第2の回路設計データ
を所望のモジユール単位で分割することにより生成され
る第1及び第2のモジユール設計データが論理的に等価
であるか否かを検出する等価回路チエツク方法におい
て、 上記第1のモジユール設計データの下位階層でなる第3
のモジユール設計データを上記第1のモジユール設計デ
ータから全て又は一部削除すると共に、上記第3のモジ
ユール設計データに接続されていた信号線を入出力端子
に変更し、 上記第2のモジユール設計データの下位階層でなる第4
のモジユール設計データを上記第2のモジユール設計デ
ータから全て又は一部削除すると共に、上記第4のモジ
ユール設計データに接続されていた信号線を入出力端子
に変更し、 上記変更された第1及び第2のモジユール設計データを
比較することにより、上記第1及び第2のモジユール設
計データが論理的に等価であるか否かを検出することを
特徴とする等価回路チエツク方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8031391A JPH09204460A (ja) | 1996-01-25 | 1996-01-25 | 集積回路設計装置及び等価回路チエツク方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8031391A JPH09204460A (ja) | 1996-01-25 | 1996-01-25 | 集積回路設計装置及び等価回路チエツク方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09204460A true JPH09204460A (ja) | 1997-08-05 |
Family
ID=12329973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8031391A Abandoned JPH09204460A (ja) | 1996-01-25 | 1996-01-25 | 集積回路設計装置及び等価回路チエツク方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09204460A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7234127B2 (en) | 2003-12-02 | 2007-06-19 | Nec Corporation | Integrated circuit designing support apparatus and method for the same |
-
1996
- 1996-01-25 JP JP8031391A patent/JPH09204460A/ja not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7234127B2 (en) | 2003-12-02 | 2007-06-19 | Nec Corporation | Integrated circuit designing support apparatus and method for the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6353806B1 (en) | System level hardware simulator and its automation | |
JP2862886B2 (ja) | Asic用計算機支援設計システム | |
US5220512A (en) | System for simultaneous, interactive presentation of electronic circuit diagrams and simulation data | |
US6058492A (en) | Method and apparatus for design verification using emulation and simulation | |
US6564365B1 (en) | Method of simultaneously displaying schematic and timing data | |
CN112949233B (zh) | Fpga芯片的自动化开发方法及装置、电子设备 | |
EP1447759A1 (en) | Generation of a testbench for a representation of a device | |
CN108052769A (zh) | 网表仿真验证方法和装置 | |
EP0508620B1 (en) | Method and System for automatically determing the logical function of a circuit | |
US9053278B1 (en) | System and method for hybrid cloud computing for electronic design automation | |
GB2380818A (en) | ASIC design technique | |
WO1999013420A2 (en) | Methods and apparatus for configuring schematic diagrams | |
Gateley et al. | Ultrasparc-i | |
Martin | Cadence design environment | |
US10515170B1 (en) | Deep insight for debug using internal equivalence visualization and counter-example for sequential equivalence checking | |
Zezin | Modern open source IC design tools for electronics engineer education | |
Sayinta et al. | A mixed abstraction level co-simulation case study using systemc for system on chip verification | |
CN107784185A (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
JPH09204460A (ja) | 集積回路設計装置及び等価回路チエツク方法 | |
JP2009223661A (ja) | 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法 | |
US5715170A (en) | Apparatus for forming input data for a logic simulator | |
JP3941336B2 (ja) | 論理回路検証装置 | |
Moreno | RISC Processor Steps to Fabrication | |
Koch et al. | FPGA Applications in Education and Research | |
TW202333081A (zh) | 將邏輯網表轉換為分層寄生網表 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060609 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20060718 |