JP2000207440A - 半導体集積回路の設計検証装置、方法及び記憶媒体 - Google Patents
半導体集積回路の設計検証装置、方法及び記憶媒体Info
- Publication number
- JP2000207440A JP2000207440A JP11009373A JP937399A JP2000207440A JP 2000207440 A JP2000207440 A JP 2000207440A JP 11009373 A JP11009373 A JP 11009373A JP 937399 A JP937399 A JP 937399A JP 2000207440 A JP2000207440 A JP 2000207440A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- change
- verification
- circuit description
- output
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
速で検証確度の高い機能検証環境を構築する半導体集積
回路の設計検証装置、方法及び記憶媒体を提供する。 【解決手段】この発明の半導体集積回路の設計検証方法
及び装置は、変更前後の回路記述が入力され(1,
2)、不一致箇所に応じて変更箇所を特定し(3、
6)、上記変更前後の回路記述においてレジスタの出力
及び信号の入出力に対応したキーポイントの一致を補償
できる回路記述に対して形式検証を行い(4、5)、前
記キーポイントの一致もしくは等価性を補償できない回
路記述に対してはイベントドリブン方式のシミュレーシ
ョンを利用して検証を行う(7,8,9,10)機能検
証方式を備えることを特徴とする。
Description
に係り、特に大規模、複雑な回路の機能検証について、
高速で検証確度の高い機能検証が要求される半導体集積
回路の設計検証装置、方法及び記憶媒体に関する。
て、イベントドリブンシミュレータは、イベントが回路
を通ってどのように処理されていくかをシミュレーショ
ンしていくものである。イベントとは検証対象の回路に
対して準備される複数種類の入力信号をいう。
検証方法は、集積回路の規模が大きくなるほど、扱われ
るイベントが著しく増加し、シミュレーション時間が膨
大となる。この結果、設計期間を長期化させる。
検証したい動作をするための回路への入力信号の組み合
せ(イベント)を設計者が考えなければならない。設計
者は、上記イベントを、回路の個々の事象に関しテスト
ベクトルとして作成する。
証する際、全ての事象を網羅したようなテストベクトル
を人手で作成することは不可能となってきている。この
ため、イベントドリブンシミュレータは、大規模で複雑
な機能を有する回路に対し、検証確度は低下する傾向に
ある。
ュレータにおける上記問題点を解決する技術として注目
されている。形式検証は、設計した回路記述を論理式に
変換し、その論理式を用いて機能検証を行う。形式検証
は、検証対象の設計回路を反映した論理式から機能検証
が行われる(等価性検証機能)ので、テストベクトルが
不要であり、検証確度は100%である。
第1の技法は、回路全体をそのまま論理式に変換する技
法である。第2の技法は、回路をコーンと呼ばれる小さ
い部分に分割し、それぞれのコーン単位で論理式に変換
する技法である。図7に、一つのコーンの概念を示す。
すなわち、機能ブロック近傍のレジスタ出力、外部入出
力を単位に論理式に対応する回路部を検証比較するもの
である。
きくなりすぎ、メモリ容量の問題により、大規模集積回
路に適用するのは事実上不可能である。また、第2の技
法は上記問題を解消し得る。しかし、第2の技法は、コ
ーン単位で検証することが前提となるので、回路に含ま
れるレジスタ構成が同じでないと、設計検証比較ができ
ないという制約が発生する。
ベル設計)等、レジスタへ変換される設計入力などのレ
ベル(段階)の上位設計から、ゲートレベルの記述に移
行した結果、タイミング調整の必要性からバッファを挿
入したい箇所ができたとする。このとき、レジスタ構成
を変更せずに設計変更が完了できれば、形式検証による
等価性検証機能を利用できる。
の設計回路がある場合、これら2つの回路の等価性を調
べるという等価性検証機能を用いるツールである。バグ
修正のために機能を変更するような場合、形式検証で
は、機能の不一致が発生した箇所と、不一致が発生する
ときの入力の組合わせが出力される。よって、設計者は
ある程度の変更には対応できる。
的に変換するという特性上、時間の概念が無い。このた
め、設計者が行った機能変更を既知のものとして検証対
象とするような設定を、時間の概念を含めて設定するこ
とはできない。
証機能を用いるツールである。従って、設計変更に対処
しにくく、現在の設計フローの中では、形式検証の適用
可能範囲は限られている。RTレベル設計時は、機能や
レジスタ構成の変更が頻繁に行われる。従って、最も機
能検証の必要とされるRTレベル設計等の上位設計にお
いて効果的に導入できない状況にある。
は、上位設計においても形式検証を効果的に導入でき、
高速で検証確度の高い機能検証環境を構築する半導体集
積回路の設計検証装置、方法及び記憶媒体を提供するこ
とにある。
路の設計検証装置、方法及び記憶媒体は、変更前後の回
路記述が入力され、不一致箇所に応じて変更箇所を特定
し、前記変更前後の回路記述においてレジスタの出力及
び信号の入出力に対応したキーポイントの一致を補償で
きる回路記述に対して形式検証を行い、前記キーポイン
トの一致もしくは等価性を補償できない回路記述に対し
てはイベントドリブン方式のシミュレーションを利用し
て検証を行う機能検証方式を備えることを特徴とする。
集積回路に関し、変更箇所以外は形式検証を利用するの
で高速な機能検証が実現される。さらに、変更箇所のみ
を切り出してのイベントドリブン方式のシミュレーショ
ンは高速である。よって、大規模な集積回路に対しても
高速な機能検証を実現可能とする環境が得られる。
態に係る半導体集積回路の設計検証方法を示すフローチ
ャートである。この発明の設計検証は、まず、図中少な
くとも次の(A),(B)に示す処理フローが重要であ
る。
し、不一致箇所に応じて変更箇所を特定する。すなわ
ち、処理3に示すように、回路記述1,2両者における
入出力信号ノードの配置関係を表わすキーポイントのマ
ッピングを行う。変更の程度によって全キーポイントに
関してマッピングできる場合もあれば一部できない場合
もある。このマッピングにより、不一致箇所が認められ
れば、不一致箇所に応じて変更箇所への入出力を外部入
出力扱いとする。
変更前後の回路記述の一致しているキーポイントを外部
入出力扱いとする。全キーポイントに関して一部がマッ
ピングされていなくても、最も近くのマッピングされて
いる上記変更前後の回路記述の一致しているキーポイン
トを指定し、外部入出力扱いとすることができる。つま
り、変更箇所を含む回路記述部分のみをモジュール化
し、変更箇所の特定をする。
なって、形式検証された回路部のうち、論理的不一致が
発生する場合があり、この論理的な変更箇所を含む回路
部をモジュール化し、論理的変更箇所の特定をする。
うち、特定された論理的な変更箇所およびその周辺にお
ける形式検証前に外部入出力扱いとしたノードを含むコ
ーンの入出力を外部入出力扱いとして、この論理的な変
更箇所を含む回路記述を切り出しモジュール化する。
おいてキーポイントの一致を補償できる回路記述に対し
て形式検証を行い(処理4,5)、かつ上記キーポイン
トの一致、もしくは等価性を補償できない回路記述に対
してはイベントドリブン方式のシミュレーションを利用
して検証を行う(処理7,8,9,10)。
路記述それぞれに対して形式検証を利用し回路を検証す
る。このとき、上記処理3でモジュール化した回路部が
あるなら、各回路部において上記外部入出力扱いとした
ノードのみを反映させる。つまり、モジュール化した変
更箇所を含む回路部はブラックボックス扱いとしなが
ら、変更前後の回路記述それぞれに対して全体的な形式
検証を行う。
ち、等価性が判定される。論理的な不一致箇所が無けれ
ば、変更箇所以外の全体の形式検証は等価とみなされる
(検証終了(17))。また、論理的な不一致箇所があ
る場合は、変更箇所として特定される(処理6)。
式のシミュレーションを利用に際し、上述の処理3(さ
らに必要なら処理6)によりモジュール化された各回路
部の入力キーポイントにシミュレーション時間の区切ら
れたランダムなテストベクトル(入力信号)を繰り返し
回路に入力するためのテストベンチを生成する。
モジュール化された変更前後の各回路部の入力キーポイ
ントにテストベクトル(入力信号)が繰り返し入力さ
れ、イベントドリブン方式のシミュレーションを利用し
たシミュレーション検証を行う。
前後の回路部におけるシミュレーション結果を比較す
る。そして、処理10では、上記シミュレーション結果
が等価であるか不一致であるかが判定される。この判定
で等価と判定されると検証終了である(17)。
なる半導体集積回路に関し、変更箇所以外は形式検証を
利用するので高速な機能検証ができる。さらに、変更箇
所のみを切り出してのイベントドリブン方式のシミュレ
ーションは高速である。よって、大規模な集積回路に対
しても高速な機能検証を実現可能とする。
の機能ブロックが構成されている場合、変更箇所を自動
的に判定し、変更された箇所のみ切り出しモジュール化
することができる。もちろん変更箇所が複数コーンに隣
接していたり重なり合っている場合でも変更箇所を切り
出してモジュール化することができる。
い回路記述部分は、形式検証によって高速に機能検証が
行われる。レジスタを越えて組合せ回路を移動するよう
な場合にも対応できる。
る。自動生成されるランダムなテストベクトルを用いる
ことによってテストベクトルの作成ミスによる検証抜け
の防止、テストベクトル作成作業の省略をすることがで
きる。
ベンチを自動生成することによってテストベンチの作成
ミスの防止、テストベンチ作成作業の省略に寄与する。
さらに、シミュレーション時間を区切ったランダムなテ
ストベクトルを繰り返し入力する方式を用いるので、不
一致が発生した際のデバッグ効率を向上させる。
模な回路に対して自動生成されたランダムなテストベク
トルでのシミュレーション検証が行われる。このため、
大量なテストベクトルを実行することが可能となり、検
証確度を向上させる。
る各処理について再び図1を参照して説明する。上記処
理9の変更前後のモジュール化された回路部についての
シミュレーション結果の比較において、結果の異なる値
になった場合、それが設計者の予測どおりの値となるこ
とがある。
ン結果の予測される期待値を例えば波形表示ツールのG
UI(グラフィック・ユーザ・インタフェイス)を用い
て入力する。このような期待値は、例えばRTレベルの
回路記述段階における変更前後の回路の変更箇所を指定
することでその回路記述を解析し、変更前後で異なる実
行結果が得られるテストベクトル(入力信号)とその実
行結果から作成してもよい。
9を経た実際のシミュレーション結果から、不一致の発
生したテストベクトル(入力信号)とこのテストベクト
ルを用いた前記変更後の回路の出力を上記期待値と比較
する。その後、上述の処理10につながり、期待した変
更がなされているか否か判定が行われる。
シミュレーション結果の判定を経て、不一致の発生した
テストベクトル(入力信号)とその結果出力をファイル
出力または波形表示出力する。
て表示された変更前後の回路部の不一致が発生した箇所
の確認、判定が行われる。ここでの判定とは、表示され
た不一致が、設計者の期待したとおりの変更であるかが
判断される。
たとおりである場合には、この不一致に至るテストベク
トル(入力信号)およびその変更後の回路部の出力を新
たな期待値として追加登録し(15)、イベントドリブ
ンシミュレータでのシミュレーションの続行を可能とす
る。また、表示された不一致が、設計者の期待したとお
りの変更でない場合、シミュレーション結果を参照して
デバッグすることになる(16)。
れば、変更前後の回路でシミュレーション結果を比較す
ることによって、機能を変更した部分のテストベクトル
と回路出力のみ選別できる。
を解析し、それに基づいて期待値を作成することによ
り、期待値の作成ミス、作成抜けを防止する。そして、
処理12によれば、機能変更を行った際、期待値と、変
更前後の回路で不一致となったテストベクトル、回路出
力を比較することにより、期待した変更のみ実施された
かどうかを自動的に判定できる。
ンシミュレータよりシミュレーション結果の出力を波形
表示する機能を持つ。これにより、GUIを用いたデバ
ッグ環境を提供する。
所の検証を行うための環境を自動生成することになる。
これにより、ケアレスミスや設計者の意図していない機
能変更によるバグ検出あるいはバグ混入が防止される。
また、期待値の作成ミスを無くし、迅速に期待値の設定
を行うことができるのでデバッグ効率が向上する。
半導体集積回路の設計検証装置を示すブロック図であ
る。この設計検証装置は、上記第1の実施形態で示した
検証方法のフローを実現する。
(1,2)を入力する。処理部200中のマッピング変
更箇所特定手段22は、変更前後の回路記述中において
レジスタの出力および信号の入出力に対応したキーポイ
ントのマッピングを行う。不一致箇所がある場合は、不
一致箇所から最も近くの一致しているキーポイントを外
部入出力とし、変更箇所を含む回路部をモジュール化す
る。
によっては全キーポイントに対し一部がマッピングでき
なくなることもある。しかし、最も近くのマッピングさ
れている上記変更前後の回路記述の一致しているキーポ
イントを指定し、外部入出力扱いとすることができる。
つまり、変更箇所を含む回路記述部分のみをモジュール
化し、変更箇所の特定をする。
記モジュール化した各回路部においては上記外部入出力
扱いとしたノードのみを反映させながら前記変更前後の
それぞれに対して形式検証を利用し回路全体を検証す
る。
上記形式検証機構23で論理的不一致が発生した場合、
形式検証に伴うコーンのうち、特定された論理的な変更
箇所およびその周辺における形式検証前に外部入出力扱
いとしたノードを含んだコーンの入出力を外部入出力扱
いとして回路記述を切り出しモジュール化する。
レータ25は、モジュール化された変更前後の回路部そ
れぞれに対し、シミュレーションする。モジュール化さ
れた回路部とは、上記マッピング変更箇所特定手段22
によってモジュール化された回路部であり、また、論理
的変更箇所特定手段24によってモジュール化された回
路部もあれば加える、上記シミュレーションは、入力キ
ーポイントにテストベンチに応じてシミュレーション時
間の区切られたランダムなテストベクトル(入力信号)
を繰り返し入力するイベントドリブン方式のシミュレー
ションを利用した検証である。
ュレーション結果を比較する比較判定機構26が設けら
れる。出力部27では、この比較判定機構26により不
一致が発生した場合、不一致の発生したテストベクトル
(入力信号)とその結果出力を得る。この結果出力は例
えばファイル出力や波形表示等モニタ出力である。
明する。期待値入力手段31は、シミュレーション結果
の予測される期待値を例えば波形表示ツールのGUI
(グラフィック・ユーザ・インタフェイス)を用いて入
力する。期待値は、上記に限らず、例えばRTレベルの
回路記述段階における変更前後の回路の変更箇所を指定
することでその回路記述を解析し、変更前後で異なる実
行結果が得られるテストベクトル(入力信号)とその実
行結果から作成してもよい。
ョン結果から、不一致の発生したテストベクトル(入力
信号)とこのテストベクトルを用いた前記変更後の回路
の出力を上記期待値と比較する。すなわち、期待した変
更がなされているか否か判定が行われる。
ン結果の判定を経て、不一致の発生したテストベクトル
(入力信号)とその結果出力をファイル出力または波形
表示出力する。
回路部の不一致が発生した箇所の確認、判定が行われ
る。すなわち、上記表示された不一致が、設計者の期待
したとおりの変更である場合には、この不一致に至るテ
ストベクトル(入力信号)およびその変更後の回路部の
出力を新たな期待値として追加登録し、イベントドリブ
ンシミュレータでのシミュレーションの続行を可能とす
る。また、表示された不一致が、設計者の期待したとお
りの変更でない場合、シミュレーション結果を参照して
デバッグすることになる。
同様の効果を有する。すなわち、検証対象となる半導体
集積回路に関し、変更箇所以外は形式検証を利用するの
で高速な機能検証ができる。さらに、変更箇所のみを切
り出してのイベントドリブン方式のシミュレーションは
高速である。よって、大規模な集積回路に対しても高速
な機能検証を実現可能とする。
の機能ブロックが構成されている場合、変更箇所を自動
的に判定し、変更された箇所のみ切り出しモジュール化
することができる。もちろん変更箇所が複数コーンに隣
接していたり重なり合っている場合でも変更箇所を切り
出してモジュール化することができる。
い回路記述部分は、形式検証によって高速に機能検証が
行われる。レジスタを越えて組合せ回路を移動するよう
な場合にも対応できる。
シミュレーション結果を比較する。これにより、機能を
変更した部分のテストベクトルと回路出力のみ選別でき
る。また、期待値入力手段31は、期待値の作成は、期
待値の作成ミス、作成抜けを防止する。そして、機能変
更を行った際、期待値と、変更前後の回路で不一致とな
ったテストベクトル、回路出力を比較することにより、
期待した変更のみ実施されたかどうかを自動的に判定で
きる。
所の検証を行うための環境を自動生成することになる。
これにより、ケアレスミスや設計者の意図していない機
能変更によるバグ検出あるいはバグ混入が防止される。
また、期待値の作成ミスを無くし、迅速に期待値の設定
を行うことができるのでデバッグ効率が向上する。
ミュレータよりシミュレーション結果の出力を波形表示
する機能を持つ。これにより、GUIを用いたデバッグ
環境を提供する。
発明の設計検証方法について(i)〜(iii) のケースを
例に、より具体的に説明する。なお、図3(a),
(b)それぞれは、ケース(ii)で用いる変更前の組合
せ回路部、変更後の組合せ回路部を示す。図4(a),
(b)それぞれは、ケース(ii)で用いる変更前回路部
の入出力波形、変更後回路部の入出力波形を示す。図5
は、RTレベル設計の変更前後のソースコードからの変
更箇所の期待値の生成の様子を示す説明図である。図6
(a),(b)それぞれは、ケース (iii)で用いる変更
前の組合せ回路部、変更後の組合せ回路部を示す。
更:無し> 例:ゲートレベル記述のバッファ挿入、セルの置き換
え、タイミングチューニング。
ける全キーポイント(レジスタ出力、外部入出力)に関
してマッピングできる(処理3)。 (2) 形式検証実行(処理4)。 上記2つの回路は等価であるというレポート出力(処理
5)。 (3) 機能検証終了。 すなわち、上記(i)のケースでは、形式検証のみで所
望の設計検証は達成できる。
更:有り> 例1:ゲートレベル記述のバッファ挿入、セルの置き換
え、タイミングチューニングでバグが混入した場合。 例2:RTレベル記述でレジスタ間の組合せ回路の一部
を他のレジスタ間へ移動(リソースシェリング)。 例3:RTレベル記述で組合せ回路記述変更時にバグが
混入した場合。
イント(レジスタ出力、外部入出力)に関してマッピン
グできる(処理3)。 (2) 形式検証実行(処理4)。 (3) 不一致箇所がレポート出力される。図3では変更
前回路の組合わせ回路Aと変更後回路の組合せ回路A,
B、変更前回路の組合わせ回路B,Cと変更後回路の組
合せ回路Cの2箇所が機能不一致としてレポート出力さ
れる(処理5)。
それらの回路を全て切り出すため、外部入出力信号から
順次信号をトレースしていき、論理的不一致点の入出力
に最初に至った点を外部入出力とし、回路の切り出しを
行う。この図3では、変更前後それぞれの回路部に関
し、ノードa,b,eを外部入力、ノードd,fを外部
出力として点線内部の回路を切り出し、モジュール化す
る(処理6)。
ンシミュレーションするためのテストベンチと、入力に
一定のシミュレーション時間で区切られたランダムな信
号を繰り返し入力するシミュレーション記述を作成す
る。ランダムな信号を入力する際、シミュレーション時
間を区切って、繰り返し行う利点は、後でデバッグをす
る際にテストベクトルを取り扱うのに効率がよいからで
ある(処理7)。
する。vcdファイルやシステムタスクを使用し、シミ
ュレーション時間毎の信号変化をファイル出力させ、比
較を行う(処理9)。
る期待値があれば、その期待値と比較する。期待値と一
致している場合はカバレッジを向上させるためシミュレ
ーションを続ける(処理12)。期待値は、例えば設計
者が変更箇所を認識しており、動作が異なる場合の入出
力状態が既知の場合、シミュレーション途中でも登録で
きる。
期待値が入力されていない場合は不一致の発生する際の
テストベクトルと出力結果をレポートし、波形表示可能
なファイル形式で不一致の発生したランダム入力信号と
出力信号を出力する(処理13)。
よび出力されたテストベクトルを用いてデバッグする。
図4の場合、波形表示ツールの比較機能を使用して変更
前後の2つの波形を比較すると、斜線部分が不一致箇所
であると判定できる。設計者はその波形を見て、設計者
の変更のとおりであるかを判断する(処理14)。
れば、斜線部分を期待値として登録し(処理15)、シ
ミュレーションを続行する。確度が十分になったら検証
を終了する。期待どおりでなければ、デバッグ作業(処
理16:図示せぬ別フロー)に入る。
説明する。例えば、波形表示ツールのGUIを使用し、
グラフィカルに入力する技法である。図4の場合は、斜
線内の入出力信号ベクトルが期待値となるので、このパ
ターンを予め入力しておく。
のソースコードから変更箇所の期待値を生成する技法で
ある。図5のように、入力記述がRTレベルの場合、ソ
ースコードの変更部分をクリックすることで、その変更
部分を実行するための条件式を解析し、期待値ベクトル
を作成する。
能であるので、CLK立ち上がり時にINPUT A=
1かつINPUT BまたはCのどちらかが1である場
合はOUTPUT Bがbになるベクトルを期待値とし
て設定する。
更:有り> 例:RTレベル記述でのバグ修正。仕様変更、または高
速化のための記述変更。 (1) 入力される変更前後の回路記述においてマッピン
グできないキーポイントが発生する。複数のコーンで不
一致箇所が認められた場合、それらの回路を全て切り出
すため、外部入出力信号から順次信号をトレースしてい
き、マッピングできないキーポイントに最も近いマッピ
ングされているキーポイントを外部入出力として回路を
切り出し、モジュール化を行う(処理3)。例えば図6
では、ノードa,bを外部入力、ノードc,dを外部出
力として回路を切り出しモジュール化する。
ンシミュレーションするためのテストベンチと、入力に
一定のシミュレーション時間で区切られたランダムな信
号を繰り返し入力するシミュレーション記述を作成す
る。ランダムな信号を入力する際、シミュレーション時
間を区切って、繰り返し行う利点は、後でデバッグをす
る際にテストベクトルを取り扱うのに効率がよいからで
ある(処理7)。
する。vcdファイルやシステムタスクを使用し、シミ
ュレーション時間毎の信号変化をファイル出力させ、比
較を行う(処理9)。
る期待値があれば、その期待値と比較する。期待値と一
致している場合はカバレッジを向上させるためシミュレ
ーションを続ける(処理12)。期待値は、例えば設計
者が変更箇所を認識しており、動作が異なる場合の入出
力状態が既知の場合、シミュレーション途中でも登録で
きる。なお、期待値の入力方法は、上記具体例(ii)で
述べたのと同様である。
期待値が入力されていない場合は不一致の発生する際の
テストベクトルと出力結果をレポートし、波形表示可能
なファイル形式で不一致の発生したランダム入力信号と
出力信号を出力する(処理13)。
よび出力されたテストベクトルを用いてデバッグする。
例えば、波形表示ツールの比較機能を使用して変更前後
の2つの波形を比較し、設計者の期待どおりの結果であ
れば、必要な部分を期待値として登録し、シミュレーシ
ョンを続行する(処理14、15)。
化された回路部への入出力を外部入出力として取り扱
う。モジュール化した変更箇所を含む回路部はブラック
ボックス扱いとしながら、変更前後の回路記述それぞれ
に対して全体的な形式検証を行う(処理4)。
i)における (3)以降の処理と同様の処理を経て検証を
終了する。
なる半導体集積回路に関し、変更箇所以外は形式検証に
より高速な機能検証が、さらに、変更箇所のみを切り出
して高速にかつ検証確度の高いイベントドリブン方式の
シミュレーションが実現できる。
少なくとも半導体集積回路の設計検証プログラムを記憶
した、コンピュータで読み取り可能な記憶媒体におい
て、前記図1の処理フローに含まれる本発明に係る基本
的な設計検証方法がプログラムされているものも本発明
の範囲内である。
前後の回路記述を入力させ、不一致箇所に応じて変更箇
所を特定させて、変更前後の回路記述においてレジスタ
の出力及び信号の入出力に対応したキーポイントの一致
を補償できる回路記述に対しては形式検証を行うよう
に、また、キーポイントの一致もしくは等価性を補償で
きない回路記述に対してはイベントドリブン方式のシミ
ュレーションを利用して検証を行うようにプログラムさ
れている。
ば、最も機能検証の必要とされるRTレベル設計等の上
位設計において、形式検証を効果的に導入できる。すな
わち、変更前後の回路記述において、変更箇所以外は形
式検証を利用するので高速な機能検証ができる。
ントドリブン方式のシミュレーションは高速化、確度向
上が可能である。よって、大規模な集積回路に対しても
高速で信頼性の高い機能検証環境を実現可能とする半導
体集積回路の設計検証装置、方法及び記憶媒体が提供で
きる。
路の設計検証方法を示すフローチャート。
路の設計検証装置を示すブロック図。
設計検証の具体例を説明するための変更前の組合せ回路
部、変更後の組合せ回路部を示す第1の回路ブロック
図。
設計検証の具体例を説明するための変更前回路部の入出
力波形、変更後回路部の入出力波形を示すタイミングチ
ャート。
の変更箇所の期待値の生成の様子を示す説明図。
設計検証の具体例を説明するための変更前の組合せ回路
部、変更後の組合せ回路部を示す第2の回路ブロック
図。
Claims (17)
- 【請求項1】 変更前後の回路記述を入力する入力手段
と、 前記入力手段からの回路記述の不一致箇所に応じて変更
箇所を特定する機構を有し、 前記変更前後の回路記述においてレジスタの出力及び信
号の入出力に対応したキーポイントの一致を補償できる
回路記述に対して形式検証を行い、前記変更前後の回路
記述において前記キーポイントの一致もしくは等価性を
補償できない回路記述に対してはイベントドリブン方式
のシミュレーションを利用して検証を行う検証機構を備
えることを特徴とした半導体集積回路の設計検証装置。 - 【請求項2】 変更前と変更後の回路記述を入力する手
段と、入力された前記回路記述中においてレジスタの出
力および信号の入出力に対応したキーポイントのマッピ
ングを行い、前記変更前と変更後の回路記述の不一致箇
所から、最も近くの前記変更前と変更後の回路記述の一
致しているキーポイントを外部入出力とし、変更箇所を
含む回路部をモジュール化する変更箇所特定手段と、 前記モジュール化した前記変更前と変更後の回路記述中
の回路部それぞれに対しイベントドリブン方式のシミュ
レーションを利用した検証を行うシミュレーション検証
手段と、 前記モジュール化した各回路部では外部入出力扱いとし
たノードのみを反映させながら前記変更前と変更後の回
路記述それぞれに対して形式検証を利用し回路を検証す
る形式検証手段とを具備したことを特徴とする半導体集
積回路の設計検証装置。 - 【請求項3】 前記形式検証手段において、論理的不一
致が発生した場合、前記変更前と変更後の回路記述に対
し論理的な変更箇所があるとして前記形式検証に伴うコ
ーンのうち前記論理的な変更箇所および前記外部入出力
扱いとしたノードを含んだコーンの入出力を外部入出力
扱いとして前記論理的な変更箇所を含む回路記述を切り
出しモジュール化する機能を有し、このモジュール化し
た前記変更前と変更後の回路記述中の回路部それぞれが
前記シミュレーション検証手段で検証されることを特徴
とする請求項2に記載の半導体集積回路の設計検証装
置。 - 【請求項4】 前記イベントドリブン方式のシミュレー
ションを利用するため、前記モジュール化された各回路
部の入力キーポイントに繰り返し入力されるシミュレー
ション時間の区切られたランダムなテストベクトルを生
成するためのテストベンチ生成手段を含むことを特徴と
する請求項2または3に記載の半導体集積回路の設計検
証装置。 - 【請求項5】 前記シミュレーション検証手段における
前記変更後の回路記述に関する期待値を入力できる機能
を備え、 前記シミュレーション検証手段からの実際のシミュレー
ション結果と前記期待値とを比較する比較判定手段を具
備することを特徴とする請求項1〜4いずれか一つに記
載の半導体集積回路の設計検証装置。 - 【請求項6】 前記比較判定手段は、前記シミュレーシ
ョン検証手段からの実際のシミュレーション結果によ
り、不一致の発生したテストベクトルとこのテストベク
トルを用いた前記変更後の回路記述に応じた出力を前記
期待値と比較することにより、期待した変更がなされて
いるか否か判定を行うことを特徴とする請求項5に記載
の半導体集積回路の設計検証装置。 - 【請求項7】 前記期待値は、RTレベルの回路記述段
階における変更箇所を指定することでその回路記述を解
析し、前記変更前と変更後の回路記述で異なる実行結果
が得られるテストベクトル(入力信号)とその実行結果
から作成することを特徴とする請求項5に記載の半導体
集積回路の設計検証装置。 - 【請求項8】 前記不一致が発生したテストベクトル
(入力信号)についてこのテストベクトルを用いた前記
変更後の回路記述に関する回路部の出力を新たな期待値
として登録できる機能をさらに具備し、前記イベントド
リブン方式のシミュレーションの続行を可能とすること
を特徴とする請求項5〜7いずれか一つに記載の半導体
集積回路の設計検証装置。 - 【請求項9】 変更前後の回路記述を入力して不一致箇
所に応じて変更箇所を特定し、 前記変更前後の回路記述においてレジスタの出力及び信
号の入出力に対応したキーポイントの一致を補償できる
回路記述に対して形式検証を行い、前記キーポイントの
一致もしくは等価性を補償できない回路記述に対しては
イベントドリブン方式のシミュレーションを利用して検
証を行うことを特徴とする半導体集積回路の設計検証方
法。 - 【請求項10】 変更前と変更後の回路記述を入力する
過程と、 入力された前記回路記述中においてレジスタの出力およ
び信号の入出力に対応したキーポイントのマッピングを
行い、前記変更前と変更後の回路記述の不一致箇所か
ら、最も近くの前記変更前と変更後の回路記述の一致し
ているキーポイントを外部入出力とし、変更箇所を含む
回路部をモジュール化する変更箇所特定過程と、 前記モジュール化した前記変更前と変更後の回路記述中
の回路部それぞれに対しイベントドリブン方式のシミュ
レーションを利用した検証を行うシミュレーション検証
過程と、 前記モジュール化した各回路部では外部入出力扱いとし
たノードのみを反映させながら前記変更前と変更後の回
路記述それぞれに対して形式検証を利用し回路を検証す
る形式検証過程とを具備したことを特徴とする半導体集
積回路の設計検証方法。 - 【請求項11】 前記形式検証過程で論理的不一致が発
生した場合、前記変更前と変更後の回路記述に対し論理
的な変更箇所があるとして前記形式検証に伴うコーンの
うち前記論理的な変更箇所および前記外部入出力扱いと
したノードを含んだコーンの入出力を外部入出力扱いと
して前記論理的な変更箇所を含む回路記述を切り出しモ
ジュール化する論理的変更箇所特定過程を具備し、 前記モジュール化した前記変更前と変更後の回路記述中
の回路部それぞれに対し前記シミュレーション検証過程
が実行されることを特徴とする請求項10に記載の半導
体集積回路の設計検証方法。 - 【請求項12】 前記シミュレーション検証過程におけ
る前記変更後の回路記述に関する期待値を入力する過程
と、 前記シミュレーション検証過程における実際のシミュレ
ーション結果と前記期待値とを比較する比較判定過程と
を具備することを特徴とする請求項9〜11いずれか一
つに記載の半導体集積回路の設計検証方法。 - 【請求項13】 前記シミュレーション検証過程におい
て不一致が発生したテストベクトル(入力信号)につい
てこのテストベクトルを用いた前記変更後の回路記述に
関する回路部の出力を新たな期待値として登録し、前記
イベントドリブン方式のシミュレーションの続行を可能
とする過程とを具備したことを特徴とする請求項12に
記載の半導体集積回路の設計検証方法。 - 【請求項14】 コンピュータを動作させるための、少
なくとも半導体集積回路の設計検証プログラムを記憶し
た、コンピュータで読み取り可能な記憶媒体において、 前記プログラムは、 変更前と変更後の回路記述を入力させる過程と、 入力された前記回路記述中においてレジスタの出力およ
び信号の入出力に対応したキーポイントのマッピングを
行わせ、前記変更前と変更後の回路記述の不一致箇所か
ら、最も近くの前記変更前と変更後の回路記述の一致し
ているキーポイントを外部入出力とし、変更箇所を含む
回路部をモジュール化させる変更箇所特定過程と、 前記モジュール化された前記変更前と変更後の回路記述
中の回路部それぞれに対しイベントドリブン方式のシミ
ュレーションを利用した検証を行わせるシミュレーショ
ン検証過程と、 前記モジュール化された各回路部では外部入出力扱いと
したノードのみを反映させながら前記変更前と変更後の
回路記述それぞれに対して形式検証を利用し回路を検証
させる形式検証過程とを具備したことを特徴とする記憶
媒体。 - 【請求項15】 前記形式検証過程で論理的不一致が発
生した場合、前記変更前と変更後の回路記述に対し論理
的な変更箇所があるとして前記形式検証に伴うコーンの
うち前記論理的な変更箇所および前記外部入出力扱いと
したノードを含んだコーンの入出力を外部入出力扱いと
して前記論理的な変更箇所を含む回路記述を切り出して
モジュール化させる論理的変更箇所特定過程を具備し、 前記モジュール化された前記変更前と変更後の回路記述
中の回路部それぞれに対し前記シミュレーション検証過
程を実行させることを特徴とする請求項14に記載の記
憶媒体。 - 【請求項16】 前記シミュレーション検証過程におけ
る前記変更後の回路記述に関する期待値を入力させる過
程と、 前記シミュレーション検証過程における実際のシミュレ
ーション結果と前記期待値とを比較させる比較判定過程
とを具備することを特徴とする請求項14または15に
記載の記憶媒体。 - 【請求項17】 前記シミュレーション検証過程におい
て不一致が発生したテストベクトル(入力信号)につい
てこのテストベクトルを用いた前記変更後の回路記述に
関する回路部の出力を新たな期待値として登録させ、前
記イベントドリブン方式のシミュレーションの続行を可
能にする過程とを具備したことを特徴とする請求項16
に記載の記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00937399A JP3825572B2 (ja) | 1999-01-18 | 1999-01-18 | 半導体集積回路の設計検証装置、方法及び記憶媒体 |
US09/482,935 US6449750B1 (en) | 1999-01-18 | 2000-01-14 | Design verification device, method and memory media for integrated circuits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00937399A JP3825572B2 (ja) | 1999-01-18 | 1999-01-18 | 半導体集積回路の設計検証装置、方法及び記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000207440A true JP2000207440A (ja) | 2000-07-28 |
JP3825572B2 JP3825572B2 (ja) | 2006-09-27 |
Family
ID=11718673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00937399A Expired - Fee Related JP3825572B2 (ja) | 1999-01-18 | 1999-01-18 | 半導体集積回路の設計検証装置、方法及び記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6449750B1 (ja) |
JP (1) | JP3825572B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143375B2 (en) | 2002-11-15 | 2006-11-28 | Fujitsu Limited | Logical equivalence verifying device, method and computer readable medium thereof |
JP2008262318A (ja) * | 2007-04-11 | 2008-10-30 | Fujitsu Ten Ltd | ソフトウェア評価装置及びその信号モニタ方法 |
JP2011054070A (ja) * | 2009-09-04 | 2011-03-17 | Fujitsu Ltd | 冗長論理回路検出方法及び冗長論理回路検出装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3842489B2 (ja) * | 1999-06-30 | 2006-11-08 | 株式会社東芝 | 回路設計装置、回路設計方法および回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体 |
US6691286B1 (en) * | 2000-10-31 | 2004-02-10 | Synplicity, Inc. | Methods and apparatuses for checking equivalence of circuits |
US6567959B2 (en) * | 2001-03-30 | 2003-05-20 | Intel Corporation | Method and device for verification of VLSI designs |
US6687882B1 (en) * | 2002-01-31 | 2004-02-03 | Synplicity, Inc. | Methods and apparatuses for non-equivalence checking of circuits with subspace |
US6792581B2 (en) | 2002-11-07 | 2004-09-14 | Intel Corporation | Method and apparatus for cut-point frontier selection and for counter-example generation in formal equivalence verification |
US7266790B2 (en) * | 2003-03-07 | 2007-09-04 | Cadence Design Systems, Inc. | Method and system for logic equivalence checking |
JP4175953B2 (ja) * | 2003-05-23 | 2008-11-05 | シャープ株式会社 | 高位合成装置、ハードウェア検証用モデル生成方法、ハードウェア検証方法、制御プログラムおよび可読記録媒体 |
US7065726B1 (en) * | 2003-05-30 | 2006-06-20 | Jasper Design Automation, Inc. | System and method for guiding and optimizing formal verification for a circuit design |
JP2005321861A (ja) * | 2004-05-06 | 2005-11-17 | Nec Electronics Corp | 機能検証方法 |
CN100365638C (zh) * | 2004-09-03 | 2008-01-30 | 华为技术有限公司 | 一种电路原理图标准化分析方法及装置 |
US8813006B1 (en) * | 2008-03-26 | 2014-08-19 | Cadence Design Systems, Inc. | Accelerated characterization of circuits for within-die process variations |
US8423934B1 (en) * | 2010-02-22 | 2013-04-16 | Cadence Design Systems, Inc. | Model validation cockpit |
US8806401B1 (en) | 2013-03-15 | 2014-08-12 | Atrenta, Inc. | System and methods for reasonable functional verification of an integrated circuit design |
CN115422863B (zh) * | 2022-08-31 | 2023-10-10 | 山东启芯软件科技有限公司 | 一种嵌入式的逻辑优化验证流程框架及验证方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4319321A (en) * | 1979-05-11 | 1982-03-09 | The Boeing Company | Transition machine--a general purpose computer |
US4328542A (en) * | 1979-11-07 | 1982-05-04 | The Boeing Company | Secure implementation of transition machine computer |
US5253181A (en) * | 1989-04-27 | 1993-10-12 | Kawasaki Steel Corporation | Programmable one-board computer, and methods of verification of logic circuit and alteration to actual circuit using the programmable one-board computer |
JP3212157B2 (ja) | 1992-09-14 | 2001-09-25 | 株式会社リコー | 論理回路検証装置 |
US5493508A (en) * | 1994-06-01 | 1996-02-20 | Lsi Logic Corporation | Specification and design of complex digital systems |
US6049662A (en) * | 1997-01-27 | 2000-04-11 | International Business Machines Corporation | System and method for model size reduction of an integrated circuit utilizing net invariants |
US6295636B1 (en) * | 1998-02-20 | 2001-09-25 | Lsi Logic Corporation | RTL analysis for improved logic synthesis |
US6148436A (en) * | 1998-03-31 | 2000-11-14 | Synopsys, Inc. | System and method for automatic generation of gate-level descriptions from table-based descriptions for electronic design automation |
US6077305A (en) * | 1998-12-16 | 2000-06-20 | Cadence Design Systems, Inc. | Latch inference using dataflow analysis |
US6279146B1 (en) * | 1999-01-06 | 2001-08-21 | Simutech Corporation | Apparatus and method for verifying a multi-component electronic design |
-
1999
- 1999-01-18 JP JP00937399A patent/JP3825572B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-14 US US09/482,935 patent/US6449750B1/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143375B2 (en) | 2002-11-15 | 2006-11-28 | Fujitsu Limited | Logical equivalence verifying device, method and computer readable medium thereof |
US7337414B2 (en) | 2002-11-15 | 2008-02-26 | Fujitsu Limited | Logical equivalence verifying device, method, and computer-readable medium thereof |
JP2008262318A (ja) * | 2007-04-11 | 2008-10-30 | Fujitsu Ten Ltd | ソフトウェア評価装置及びその信号モニタ方法 |
JP2011054070A (ja) * | 2009-09-04 | 2011-03-17 | Fujitsu Ltd | 冗長論理回路検出方法及び冗長論理回路検出装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3825572B2 (ja) | 2006-09-27 |
US6449750B1 (en) | 2002-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6754862B1 (en) | Gaining access to internal nodes in a PLD | |
US7020856B2 (en) | Method for verifying properties of a circuit model | |
US9064068B1 (en) | Debuggable opaque IP | |
US8560985B1 (en) | Configuration-based merging of coverage data results for functional verification of integrated circuits | |
EP1093619B1 (en) | System and method for identifying finite state machines and verifying circuit designs | |
US7958470B1 (en) | Method and system for false path analysis | |
JP3825572B2 (ja) | 半導体集積回路の設計検証装置、方法及び記憶媒体 | |
JP2006285865A (ja) | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム | |
US6611779B2 (en) | Automatic test vector generation method, test method making use of the test vectors as automatically generated, chip manufacturing method and automatic test vector generation program | |
JPH11328251A (ja) | モデル検査のための動作環境を自動的に生成する方法 | |
US7523029B2 (en) | Logic verification and logic cone extraction technique | |
US10635767B2 (en) | Glitch detection at clock domain crossing | |
US6964027B2 (en) | System and method for optimizing exceptions | |
US8868396B1 (en) | Verification and debugging using heterogeneous simulation models | |
CN111624475B (zh) | 大规模集成电路的测试方法及系统 | |
US7657851B2 (en) | Device, system, and method for correction of integrated circuit design | |
US20230376662A1 (en) | Circuit simulation based on an rtl component in combination with behavioral components | |
US20190163844A1 (en) | Checking equivalence between changes made in a circuit definition language and changes in post-synthesis nets | |
WO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
Hung et al. | Faster FPGA debug: Efficiently coupling trace instruments with user circuitry | |
US6968523B2 (en) | Design method of logic circuit using data flow graph | |
Chang et al. | InVerS: an incremental verification system with circuit similarity metrics and error visualization | |
Keng et al. | Automated debugging of missing assumptions | |
Harris | Hardware-software covalidation: Fault models and test generation | |
CN116431582B (zh) | 一种自动化扩展硬件设计电路资源的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060630 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090707 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100707 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |