JP2007052585A - 回路検証装置及び回路検証方法 - Google Patents
回路検証装置及び回路検証方法 Download PDFInfo
- Publication number
- JP2007052585A JP2007052585A JP2005236583A JP2005236583A JP2007052585A JP 2007052585 A JP2007052585 A JP 2007052585A JP 2005236583 A JP2005236583 A JP 2005236583A JP 2005236583 A JP2005236583 A JP 2005236583A JP 2007052585 A JP2007052585 A JP 2007052585A
- Authority
- JP
- Japan
- Prior art keywords
- input
- circuit
- verification
- parameter
- test pattern
- 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.)
- Pending
Links
Images
Abstract
【課題】 検証対象回路の期待値を生成するときの処理量を必要最小限とする。
【解決手段】 手段1はテストパタンから所定数のパラメタの組を抽出する。手段2はパラメタを組毎に解析して選択された機能を抽出し、論理動作順序を動作順序リスト5として全てのパラメタの組について抽出し記憶する。手段3はパラメタのみを組単位で入力し、手段4はこのパラメタの組に対応する動作順序リストをリスト5から検証モデルとして選択する。手段6はデータのみを入力し、手段7は入力したデータに対して選択した検証モデルを動作させる。手段8は検証対象回路に入力テストパタンを入力する。手段9は検証対象回路のテストパタンに対する出力値と検証モデルにより生成された期待値を比較する。
【選択図】 図1
【解決手段】 手段1はテストパタンから所定数のパラメタの組を抽出する。手段2はパラメタを組毎に解析して選択された機能を抽出し、論理動作順序を動作順序リスト5として全てのパラメタの組について抽出し記憶する。手段3はパラメタのみを組単位で入力し、手段4はこのパラメタの組に対応する動作順序リストをリスト5から検証モデルとして選択する。手段6はデータのみを入力し、手段7は入力したデータに対して選択した検証モデルを動作させる。手段8は検証対象回路に入力テストパタンを入力する。手段9は検証対象回路のテストパタンに対する出力値と検証モデルにより生成された期待値を比較する。
【選択図】 図1
Description
本発明は、回路検証装置及び回路検証方法、特に、CADにおいて、パラメタの設定により機能が選択される半導体集積回路の論理検証を行う回路検証装置及び回路検証方法に関する。
近年の半導体集積回路の回路規模の増大に伴い、回路の論理検証に要する時間も増加する傾向にある。その対策として、従来の論理回路検証方法では、HDLやゲートレベルで作成された論理回路全体から検証に必要なブロックの回路のみを指定し、検証に必要ではない階層を論理シミュレータに読み込まないようにすることで、論理シミュレータの処理量を軽減している(例えば、特許文献1参照)。このとき、データ入力部からは、テストパタンと共に、入力するテストパタンに対応する検証対象モデルの情報を供給し、回路記述選択部において、回路記述記憶部から必要なブロックの回路記述のみを選択し、これを用いて検証用回路を構成するようにしている。
ここで、パラメタにより機能を選択できるモジュールが複数存在する一般的な検証対象回路の例を図3及び図4に図示して説明する。
図3に示した回路は、例えば省面積化のため回路規模の大きなモジュールの演算器共有を行って、パラメタにより信号伝播のパスが切り替わるようにした回路である。この回路はセレクタ17とモジュール18とを有する。セレクタ17は、データ入力信号14としてDin1、データ入力信号15としてDin2、パラメタ入力信号16としてSelを定義した場合、Selの値によりDin1かDin2を選択する。モジュール18は、セレクタ17で選択された信号を入力として動作し、その結果をデータ出力信号19としてのDoutを出力する。
図4に示した回路は、図3に示した回路を3つ組み合わせることにより、パラメタにより回路全体としての機能を選択できる回路を構成した例である。以下、図4に示した回路を、パラメタにより回路全体としての機能を選択できるモジュールが複数存在する回路の例としてとりあげて説明する。
図2は、図4に示したような検証対象回路の期待値生成を行うための検証対象モデル(以下、「検証モデル」と記す)を用いた論理検証システムの一般的な全体構成を示す。テストベンチ部12から検証対象回路部13、及び検証モデル部11にテストパタンを供給する。検証モデル部11は検証モデルによる検証対象回路のテストパタンに対する期待値を生成し、検証対象回路部13は検証対象回路にテストパタンに対する動作をさせる。結果比較部9はその動作結果と生成された期待値を比較し、比較の結果が一致していることを確認することによって検証対象回路が正しいことを検証する。
ここで、特許文献1記載の入力テストパタンに応じて回路構成を指定することにより必要な論理モデルを動作させる手法と同様な方法により検証モデルを動作させる場合、図10のような回路検証装置となる。図10では、回路検証装置の構成を示すとともに、処理の手順をも示している。
図10の回路検証装置において、先ず、入力テストパタン毎に検証対象回路の期待値を生成するための検証モデルを入力テストパタン毎の検証モデルリスト35に用意する。検証モデル部11は検証モデル選択部36と検証モデル動作部7とから成る。検証モデル選択部36は、テストベンチ部12から入力するテストパタンに対応した期待値生成用の検証モデルを入力テストパタン毎の検証モデルリスト35から選択する。
次に、テストベンチ部12のデータ・パラメタ入力部37において入力パタンのデータ値、及びパラメタ値を検証モデル部11に入力する。すると、検証モデル動作部7において検証モデル選択部36で選択した検証モデルを動作させることで期待値を生成する。一方、テストベンチ部12の検証対象回路パタン入力部8において、検証対象回路部13へ入力パタンのパラメタ値、及びデータ値の入力を行う。そして、結果比較部9において、検証対象回路部13の出力値と検証モデル部11で生成された期待値を比較する。
最後に、テストパタン終了判定部10において、入力テストパタンが終了したかどうかの判定を行い、入力テストパタンが終了していない場合は、次パタンの処理を行う。例えば、図4の回路例では、パラメタ値設定用の入力信号24,29,32の3種類の信号が存在している。このため、検証対象回路全体では、入力テストパタンをパラメタ設定毎に用意した場合、入力テストパタン毎の検証モデルとして2の3乗種類の検証モデルを用意する必要がある。図4の回路例では、図3の回路を2段で構成しているが、n段で構成されていた場合はパラメタ設定の種類は、1+2+4〜2の(n-1)乗となるため、最大でこの和だけの種類の検証モデルを用意する必要がある。
また、1つの入力テストパタンで複数のパラメタ設定を検証する場合、複数のパラメタ設定に対応する検証モデルとして、各パラメタ設定に対応する検証モデルの機能を全て包含した検証モデルが必要となる。例えば、図4の回路例において、入力テストパタンで設定されるパラメタ値設定用の入力信号32(Sin0_0)が0の場合、検証モデルは、セレクタ22(Sel1_1),モジュール23(Module1_1),セレクタ30(Sel0_0)およびモジュール31(Module0_0)の機能を含んでいればよい。また、入力テストパタンで設定されるパラメタ値設定用の入力信号32(Sin0_0)が1の場合、検証モデルは、セレクタ27(Sel1_0),モジュール28(Module1_0),セレクタ30(Sel0_0)およびモジュール31(Module0_0)の機能を含んでいればよい。
これに対し、入力テストパタンでパラメタ値設定用の入力信号32(Sin0_0)が0と1の複数のパラメタ値が設定される場合、検証モデルは、セレクタ22(Sel1_1),モジュール23(Module1_1),セレクタ27(Sel1_0),モジュール28(Module1_0),セレクタ30(Sel0_0)およびモジュール31(Module0_0)の機能を含んでいる必要がある。
例えば、複数のパラメタ設定に対応する検証モデルとして、個々のパラメタ設定により制御されるモジュールレベルの検証モデルの集合によって検証対象回路全体の期待値を生成する検証モデルを構成した場合、図11の機能構成図に示すように、通常の論理シミュレータと同様に、検証モデルの内部ブロックを入力信号側から処理することになる。
具体的には、データ・パラメタ入力部37において検証モデル部11に入力パタンのデータ値、及びパラメタ値が入力される。これにより、図4の入力信号20(Din1)、21(Din2)、24(Sin1_1)、25(Din3)、26(Din4)、29(Sin1_0)、32(Sin0_0)に値が設定される。この後、個々のパラメタ設定により制御されるモジュールレベルの検証モデルを入力信号側から1段ずつ動作させることにより、検証対象回路全体の期待値を生成する。
先ず、1段目からの処理を行うため、段数初期値設定部38において、段数を意味する変数iに1を設定する。次に、i段目の検証モデル動作部39において、入力信号からi段目のモジュールの検証モデルを動作させる。当初、iは1であるため、図4において、入力信号Din1をセレクタ22(Sel1_1)の入力Din1、入力信号Din2をセレクタ22の入力Din2、入力信号Sin1_1をセレクタ22の入力Sel、入力信号Din3をセレクタ27(Sel1_0)の入力Din1、入力信号Din4をセレクタ27の入力Din2、入力信号Sin1_0をセレクタ27の入力Selへ信号伝播させる。次にセレクタ22、27の検証モデルを動作させ、その出力Doutをそれぞれモジュール23(Module1_1)、モジュール28(Module1_0)に信号伝播した後、モジュール23、28のモジュールレベルの検証モデルを動作させる。これにより、入力側から1段目の処理が完了する。
ここで、図4の回路は入力から2段で構成されているため、検証モデル動作終了判定部40において処理が終了していないことが判定される。そこで、段数加算部41において、入力信号側からの段数iに1を加え、i段目の検証モデル動作部39において、入力信号側から2段目の処理を行う。これにより、図4のセレクタ30(Sel0_0)への信号伝播、及びセレクタ30の検証モデルの動作、モジュール31(Module0_0)への信号伝播、及びモジュール31の検証モデルの動作が行われる。
図4の回路は、入力信号側からの段数は2段であるため、検証モデル動作終了判定部40において、全てのモジュールレベルの検証モデルの動作を終了したことを判定し、入力側から最終段のモジュールであるモジュール31の出力値を回路全体の検証モデルの出力信号33(Dout)に信号伝播し、検証対象回路の期待値が生成できる。一方、検証対象回路パタン入力部8において検証対象回路にも入力パタンのデータ値、及びパラメタ値が入力される。そして、結果比較部9において、検証モデル部11で生成した期待値と検証対象回路の出力値を比較する。
最後に、テストパタン終了判定部10において、入力テストパタンが終了したかどうかの判定を行い、入力テストパタンが終了していない場合は、次パタンの処理を行う。以上のように図11の機能構成図により図4の回路例の処理を行った場合、1パタン分の期待値生成のために、セレクタ、及びモジュールをそれぞれ3個分の処理を行う必要がある。図4の回路例では、図3の回路を2段で構成しているが、n段で構成されていた場合は、セレクタ、及びモジュールについて、1+2+4〜2の(n-1)乗となるため、この和だけの処理が必要となる。
しかしながら、上述した特許文献1に開示された回路検証装置及び回路検証方法に示されるような手法を用いて、パラメタにより機能を選択できるモジュールが複数存在する回路について、全てのパラメタ設定に対する論理検証を行う場合にはいくつかの問題がある。
第1の問題点は、検証対象回路のパラメタ設定の種類が膨大であった場合、入力テストパタン毎に期待値を生成する検証モデルを予め用意することが困難であるということである。この問題が発生する原因は、パラメタ設定の種類の増大に伴い、検証対象回路に対して予め用意しておく検証モデルの種類が、指数的に増大することに起因する。
第2の問題点は、複数のパラメタ設定に対応する検証モデルを用意した場合、パラメタの設定によっては、検証モデル内において不要となる処理が発生する可能性が高いことである。この問題が発生する原因は、複数のパラメタ設定に対応する検証モデルを用意した場合、設定される複数のパラメタに対応する検証モデルを全て包含した機能を持つ検証モデルとなり、入力テストパタンによりある1つのパラメタが設定された状態においては、最終的な期待値生成には不要となる機能を含んでいることに起因する。
そこで、本発明の目的は、パラメタ設定により機能が選択されるようなモジュールが複数存在するような半導体集積回路の論理検証に必要となる検証対象回路の期待値を検証モデルを使用して生成するときに、自動的に必要最小限の処理量による期待値生成を行う回路検証装置及び回路検証方法を提供することにある。
本発明の回路検証装置は、パラメタの設定により機能が選択される半導体集積回路に対する回路検証装置において、入力されるテストパタンのパラメタを解析することによりテストに必要な機能を抽出する手段と、抽出した機能から検証対象回路のテストパタンに対する期待値を生成するための論理動作順序を抽出することにより検証モデルを選択する手段と、抽出した論理動作順序どおりに検証モデルを動作させることにより期待値を生成する手段と、検証対象回路のテストパタンに対する出力値と検証モデルによる期待値を比較する手段を有することを特徴とする。
より詳しくは、本発明の回路検証装置は、パラメタの設定により機能が選択される半導体集積回路に対する回路検証装置において、入力するテストパタンを解析して所定数のパラメタの組を抽出する入力テストパタン解析部(図1の1)と、入力テストパタンから抽出したパラメタを組毎に解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リスト(図1の5)として全てのパラメタの組について抽出し記憶する論理動作抽出部(図1の2)と、入力テストパタンのうちパラメタのみを組単位で入力するパラメタ入力部(図1の3)と、入力されたパラメタの組に対応する動作順序リストを記憶されている動作順序リストから検証モデルとして選択する検証モデル選択部(図1の4)と、入力テストパタンのうち入力されたパラメタの組対応のデータのみを入力するデータ入力部(図1の6)と、入力したデータに対して選択した検証モデルを動作させる検証モデル動作部(図1の7)と、検証対象回路に入力テストパタンを入力する検証対象回路パタン入力部(図1の8)と、検証対象回路のテストパタンに対する出力値と検証モデルにより生成された期待値を比較する結果比較部(図1の9)と、全てのテストパタンについて上記の処理が終了したかどうかを判定するテストパタン終了判定部(図1の10)を有することを特徴とする。
本発明の回路検証方法は、パラメタの設定により機能が選択される半導体集積回路に対する回路検証方法において、入力するテストパタンを解析して所定数のパラメタの組を抽出する第1段階と、入力テストパタンから抽出したパラメタを組毎に解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リストとして全てのパラメタの組について抽出し記憶する第2段階と、入力テストパタンのうちパラメタのみを組単位で入力する第3段階と、入力されたパラメタの組に対応する動作順序リストを記憶されている動作順序リストから検証モデルとして選択する第4段階と、入力テストパタンのうち入力されたパラメタの組対応のデータのみを入力する第5段階と、入力したデータに対して選択した検証モデルを動作させる第6段階と、検証対象回路に入力テストパタンを入力する第7段階と、検証対象回路のテストパタンに対する出力値と検証モデルにより生成された期待値を比較する第8段階と、全てのテストパタンについて上記の処理が終了したかどうかを判定する第9段階を有し、処理が終了していなければ第3段階以下を繰り返すことを特徴とする。
また、本発明の他の回路検証装置は、パラメタの設定により機能が選択される半導体集積回路に対する回路検証装置において、入力するテストパタンのうちパラメタのみを組単位で入力するパラメタ入力部(図7の3)と、入力したパラメタの値が既入力のパラメタの値と異なっているか判定するパラメタ変化判定部(図7の34)と、パラメタの値が異なっている場合のみ入力テストパタンから抽出したパラメタを解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リスト(図7の5)として抽出する論理動作抽出部(図7の2)と、入力テストパタンのうち入力されたパラメタの組対応のデータのみを入力するデータ入力部(図7の6)と、入力したデータに対して抽出された動作順序リストの検証モデルを動作させる検証モデル動作部(図7の7)と、検証対象回路に入力テストパタンを入力する検証対象回路パタン入力部(図7の8)と、検証対象回路の前記テストパタンに対する出力値と検証モデルにより生成された期待値を比較する結果比較部(図7の9)と、全てのテストパタンについて上記の処理が終了したかどうかを判定するテストパタン終了判定部(図7の10)を有することを特徴とする。
本発明の他の回路検証方法は、パラメタの設定により機能が選択される半導体集積回路に対する回路検証方法において、入力するテストパタンのうちパラメタのみを組単位で入力する第1段階と、入力したパラメタの値が既入力のパラメタの値と異なっているか判定する第2段階と、パラメタの値が異なっている場合のみ入力テストパタンから抽出したパラメタを解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リストとして抽出する第3段階と、入力テストパタンのうち入力されたパラメタの組対応のデータのみを入力する第4段階と、入力したデータに対して抽出された動作順序リストの検証モデルを動作させる第5段階と、検証対象回路に入力テストパタンを入力する第6段階と、検証対象回路のテストパタンに対する出力値と検証モデルにより生成された期待値を比較する第7段階と、全てのテストパタンについて上記の処理が終了したかどうかを判定する第8段階を有し、処理が終了していなければ第1段階以下を繰り返すことを特徴とする。
なお、パラメタの設定により選択される機能は検証対象回路全体としての機能であっても、検証対象回路を構成する機能モジュール内部の機能であってもよい。また、論理動作抽出部には、検証対象回路における機能選択のための論理動作、及び検証対象回路における機能モジュール間の接続構造の情報が予め設定されている。
このような構成を採用したため、本発明の回路検証装置及び回路検証方法では、予め入力するテストパタンのパラメタ値を解析することにより、入力テストパタンで設定されるパラメタ値毎に期待値を生成するための必要最小限の論理動作を抽出し、検証モデルでは抽出した動作処理のみを行うことによって、必要最小限の処理量による期待値生成が行うことができる。
本発明の第1の効果は、検証対象回路における全てのパラメタ設定の検証を行う場合、全ての入力テストパタン毎に選択される検証対象回路全体に対する期待値生成用の検証モデルを予め用意しなくても、入力するテストパタンのパラメタ値を解析し、選択される論理動作を抽出しておくことで、必要最小限の処理で期待値を生成することができることである。その理由は、入力するテストパタンを解析することで、設定されるパラメタ値に基づいて論理動作を抽出することにより、パラメタ値毎に期待値生成のための必要最小限の処理を抽出することが可能であるためである。
本発明の第2の効果は、パラメタ設定の種類が膨大であっても、期待値生成の処理量への影響が少ないことである。その理由は、パラメタ設定の種類に対して、検証対象回路全体の機能の組み合わせは指数的に増大するが、設定されるパラメタ値に基づいて論理動作を抽出する場合は、パラメタ値の解析量の増加は最大でも線形的とすることが可能となるからである。
本発明の回路検証装置は、パラメタの設定により機能が選択される半導体集積回路に対する回路検証装置において、入力するテストパタンを解析して所定数のパラメタの組を抽出する入力テストパタン解析部と、入力テストパタンから抽出したパラメタを組毎に解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リストとして全てのパラメタの組について抽出し記憶する論理動作抽出部と、入力テストパタンのうちパラメタのみを組単位で入力するパラメタ入力部と、入力されたパラメタの組に対応する動作順序リストを記憶されている動作順序リストから検証モデルとして選択する検証モデル選択部と、入力テストパタンのうち入力されたパラメタの組対応のデータのみを入力するデータ入力部と、入力したデータに対して選択した検証モデルを動作させる検証モデル動作部と、検証対象回路に入力テストパタンを入力する検証対象回路パタン入力部と、検証対象回路のテストパタンに対する出力値と検証モデルにより生成された期待値を比較する結果比較部と、全てのテストパタンについて上記の処理が終了したかどうかを判定するテストパタン終了判定部を有する。以下、本発明の実施例について図面を参照して詳細に説明する。
[構成の説明]
本発明に対しても図2が適用される。図2は、図4に示したような検証対象回路の期待値生成を行うための検証モデルを用いた論理検証システムの一般的な全体構成を示し、テストベンチ部12,検証対象回路部13,検証モデル部11及び結果比較部9で構成されている。この論理検証システムは操作部と表示部を備えたコンピュータ及び、そこで実行されるプログラムによって構成され、検証対象回路は、このコンピュータ上に形成される。なお、検証対象回路とはCADにおいて作成されたHDLやゲートレベルの論理回路である。
本発明に対しても図2が適用される。図2は、図4に示したような検証対象回路の期待値生成を行うための検証モデルを用いた論理検証システムの一般的な全体構成を示し、テストベンチ部12,検証対象回路部13,検証モデル部11及び結果比較部9で構成されている。この論理検証システムは操作部と表示部を備えたコンピュータ及び、そこで実行されるプログラムによって構成され、検証対象回路は、このコンピュータ上に形成される。なお、検証対象回路とはCADにおいて作成されたHDLやゲートレベルの論理回路である。
先ず、テストベンチ部12から検証対象回路部13、及び検証モデル部11にテストパタンを供給する。検証モデル部11は検証モデル(図示省略)を使用して検証対象回路のテストパタンに対する期待値を生成し、検証対象回路部13は検証対象回路(図示省略)にテストパタンに対する動作をさせる。結果比較部9はその動作結果と生成された期待値を比較し、比較の結果が一致していることを確認することによって検証対象回路が正しいことを検証する。検証モデルは、使用されるコンピュータ上に生成される。
図1は、本発明の回路検証装置の実施例1を示すブロック図である。図1では、回路検証装置の構成を示すとともに、処理の手順をも示している。1は入力テストパタン解析部、2は論理動作抽出部、3はパラメタ入力部、4は検証モデル選択部、5は抽出された論理動作に対応する動作順序リスト、6はデータ入力部、7は検証モデル動作部、8は検証対象回路パタン入力部、9は結果比較部、10はテストパタン終了判定部、11は検証モデル部である。入力テストパタン解析部1,論理動作抽出部2,検証モデル選択部4,動作順序リスト5及び検証モデル動作部7が検証モデル部11を構成する。
入力テストパタン解析部1は入力するテストパタンを解析することで設定される全てのパラメタ値を抽出し、論理動作抽出部2はパラメタ値が設定された場合に選択される論理動作を動作順序リスト5として抽出する。パラメタ入力部3は入力パタンのうちパラメタ値のみを検証モデル部11に入力し、検証モデル選択部4は予め作成した動作順序リスト5から、入力されたパラメタ値に対応する動作順序リストを選択して以下の処理に供する。
データ入力部6は入力パタンのうちデータ値のみを検証モデル部11に入力し、検証モデル動作部7は選択した動作順序リストに基づいて検証モデル部11の動作を行う。検証対象回路パタン入力部8は検証モデルと同一の入力パタンのデータ値、及びパラメタ値を検証対象回路(図示省略)へ入力する。
結果比較部9は検証対象回路パタン入力部8により入力したパタンに対する検証対象回路の出力値と検証モデル動作部7により生成された期待値を比較する。テストパタン終了判定部10はテストパタンの終了を判定する。テストパタンが終了していない場合は、次パタンの処理として、パラメタ入力部3、及び検証対象回路パタン入力部8の処理を行う。
[動作の説明]
次に、図1に示す回路検証装置のブロック図により、図4の回路に対して、図5に示すテストパタンを入力する場合の動作を説明する。ただし、図4において、セレクタ22(Sel1_1)、セレクタ27(Sel1_0)、セレクタ30(Sel0_0)は制御信号Selが0の場合はDin1、1の場合はDin2をDoutに出力するものとし、セレクタ22のパラメタ値となる入力信号24(Sin1_1)が0、及びセレクタ30のパラメタ値となる入力信号32(Sin0_0)が0に設定された状態を示しており、それぞれ、セレクタ内の矢印の信号を選択している状態を示している。また、モジュール23(Module1_1)の機能は入力Dinに対して1を加算、モジュール28(Module1_0)の機能は入力Dinに対して1を減算、モジュール31(Module0_0)の機能は入力Dinに対して2を乗算するものとする。
[動作の説明]
次に、図1に示す回路検証装置のブロック図により、図4の回路に対して、図5に示すテストパタンを入力する場合の動作を説明する。ただし、図4において、セレクタ22(Sel1_1)、セレクタ27(Sel1_0)、セレクタ30(Sel0_0)は制御信号Selが0の場合はDin1、1の場合はDin2をDoutに出力するものとし、セレクタ22のパラメタ値となる入力信号24(Sin1_1)が0、及びセレクタ30のパラメタ値となる入力信号32(Sin0_0)が0に設定された状態を示しており、それぞれ、セレクタ内の矢印の信号を選択している状態を示している。また、モジュール23(Module1_1)の機能は入力Dinに対して1を加算、モジュール28(Module1_0)の機能は入力Dinに対して1を減算、モジュール31(Module0_0)の機能は入力Dinに対して2を乗算するものとする。
論理動作抽出部2には、論理動作抽出のため、各セレクタの論理動作、及びモジュール間の接続構造の情報を予め設定しておく。これにより、セレクタ22、27、30の出力が制御信号Selの設定によりDin1とDin2のいずれから入力されるかという判断と、出力信号33(Dout)はモジュール31の出力(Module0_0/Dout)から伝播することや、モジュール31の入力(Module0_0/Din)はセレクタ30の出力(Sel0_0/Dout)から伝播することが認識できることとする。
ここで、図5に示すパタン長が5のテストパタンを入力する。先ず、入力テストパタン解析部1により、入力するテストパタンを解析することにより、設定されるの全てのパラメタ値を抽出する。これにより、入力テストパタンのパラメタ設定として、(Sin0_0,Sin1_0,Sin1_1)=(0,0,0)または(0,0,1)の2種類のパラメタ値が抽出できる。
次に、論理動作抽出部2において、入力テストパタンにより設定される2種類のパラメタ値(Sin0_0,Sin1_0,Sin1_1)=(0,0,0)と(0,0,1)に対応する動作順序リスト5として、各セレクタの論理動作とモジュール間の接続構造の情報を用いて、出力ポートから入力元の信号の探索を行うことで、図6に示すような動作順序リストを生成する。
具体的な動作順序リスト生成のための探索処理の動作例を以下に示す。先ず、パラメタ値が(Sin0_0,Sin1_0,Sin1_1)=(0,0,0)である場合の探索を行う。ここでは、検証対象回路として出力となり得る信号である出力信号33(Dout)について入力元の信号の探索を行う。それには、出力ポートである出力信号33(Dout)から回路接続構造の情報に基づいて探索を行うことで、モジュール31の出力(Module0_0/Dout)に到達するため、この信号伝播を出力ポートからの探索の深さ1の動作として抽出する。更に、モジュール31(Module0_0)の動作を出力ポートからの探索の深さ2として抽出する。
次に、この到達したモジュール31の入力(Module0_0/Din)から更に探索を続けることによりセレクタ30の出力(Sel0_0/Dout)に到達する。ここで、セレクタ30(Sel0_0)は、パラメタに制御されるモジュールであるため、パラメタ値の信号を示す入力信号32(Sin0_0)の値を参照することより、セレクタ30の出力(Sel0_0/Dout)はセレクタ30の入力Din1(Sel0_0/Din1)が信号の入力元であることが抽出できる。
更に、セレクタ30の入力Din1(Sel0_0/Din1)から探索することによりモジュール23の出力(Module1_1/Dout)に到達する。これにより、モジュール31の入力(Module0_0/Din)から探索した結果、モジュール23の出力(Module1_1/Dout)に到達することが判明したため、この信号伝播を出力ポートからの探索の深さ3として抽出する。
以上の動作繰り返すことにより、モジュール23(Module1_1)の動作を外部ポートからの深さ4、入力信号20(Din1)からモジュール23の入力(Module1_1/Din)への信号伝播を外部ポートからの深さ5として抽出し、探索が完了する。
出力ポートからの探索の深さの降順が信号の伝播とモジュールの動作順序であるため、この探索結果を出力ポートからの探索の深さの降順にソートすることで、パラメタ値が(Sin0_0,Sin1_0,Sin1_1)=(0,0,0)である場合の動作順序リストが、図6に示すような出力期待値を生成するために関連するモジュールとモジュール間の信号伝播のモジュールの処理順を示す動作順序リストとして抽出できる。パラメタ値が(Sin0_0,Sin1_0,Sin1_1)=(0,0,1)である場合についても同様に探索を行うことで、図6に示すような入力テストパタンで設定される全てのパラメタ値に対応した動作順序リスト5が生成できる。
以上により、入力するテストパタンについて予め行う解析が完了したため、パラメタ入力部3は、入力テストパタンのパラメタ値を検証モデル選択部4へ入力する。検証モデル選択部4は1パタン目のパラメタ値(Sin0_0,Sin1_0,Sin1_1)=(0,0,0)が入力すると、入力されたパラメタ値(Sin0_0,Sin1_0,Sin1_1)=(0,0,0)に対応する動作順序リストを図6に示した動作順序リスト5から選択することで検証モデル部11の処理、すなわち検証モデルの選択とする。
次に、データ入力部6により、入力テストパタンの1パタン目のデータ値(Din1,Din2,Din3,Din4)=(5,3,0,1)が検証モデル動作部7に入力される。そして、検証モデル動作部7は、図6の(Sin0_0,Sin1_0,Sin1_1)=(0,0,0)に対応する動作順序リストの示すとおりに検証モデルを動作させることにより、検証対象回路全体の期待値を生成することができる。まず、動作順序リストの1行目の処理として、入力信号20(Din1)の信号値をモジュール23の入力(Module1_1/Din)に伝播する。これによりモジュール23の入力(Module1_1/Din)の値は5となる。
次に、動作順序リストの2行目の動作として、モジュール23(Module1_1)を動作させる。これにより、モジュール23の機能である入力Dinに1を加算する処理が行われ、モジュール23の出力(Module1_1/Dout)の値は6となる。次に、3行目の処理として、モジュール23の出力(Module1_1/Dout)の信号値をモジュール31の入力(Module0_0/Din)に伝播する。これにより、モジュール31の入力(Module0_0/Din)の値は6となる。次に、4行目の処理として、モジュール31(Module0_0)を動作させる。これにより、モジュール31の機能である2を乗算する処理が行われ、モジュール31の出力(Module0_0/Dout)の値は12となる。最後に、5行目の処理として、モジュール31の出力(Module0_0/Dout)の信号値を出力信号33(Dout)に伝播させる。以上により、入力パタンの1パタン目に対する検証対象回路の期待値を生成することができる。
一方、検証対象回路パタン入力部8において、入力テストパタンの1パタン目のデータ値及びパラメタ値が検証対象回路部13へ入力する。そして、結果比較部9において、検証対象回路部13の出力値と検証モデル部11で生成した期待値を比較することで、入力するテストパタンの1パタン目に対する検証対象回路の論理検証を行うことができる。
次に、テストパタン終了判定部10により、入力パタンが終了したかどうかを判定する。ここで、入力テストパタンは終了していないため、2パタン目の処理を行う。1パタン目と同様に、パラメタ入力部3において入力テストパタンの2パタン目のパラメタ値(Sin0_0,Sin1_0,Sin1_1)=(0,0,1)を検証モデル選択部4に入力する。入力されたパラメタ値(Sin0_0,Sin1_0,Sin1_1)=(0,0,1)に対応する動作順序リストも予め生成しているため、検証モデル選択部4において対応する動作順序リストを選択することができる。以下同様に図1の回路検証装置により処理を行うことで、出力信号33(Dout)の値が6として期待値を生成することができる。
以上の処理を入力パタンが終了するまで繰り返すことにより、自動的に必要最小限の信号伝播とモジュール動作の処理量を抽出して期待値を生成する回路検証装置及び回路検証方法を提供することが可能となる。
次に、本発明の他の実施例について説明する。実施例1はパラメタ設定により回路全体としての機能を選択できる検証対象回路についてのものであった。しかし、検証対象回路が、パラメタ設定によりモジュール自体の機能が切り替わるような回路であった場合、パラメタ設定によってはモジュール内部に不要な機能が存在することになる。この場合も、実施例1と同様に入力するテストパタンのパラメタ値を解析することで、検証モデルにおいて不要な機能を明確にすることができる。この不要な機能を検証モデルから削除することで、検証モデルによる期待値生成の処理量の削減を図ることもできる。
また、検証対象回路が、図4のようにパラメタ設定により必要なモジュールが選択され、かつモジュール自体の機能が切り替わるような回路であった場合も、本発明の実施例1と同様に入力するテストパタンのパラメタ値を解析することで、先ず検証モデルにおいて不要な機能を明確にし、この不要な機能を検証モデルから削除したうえで、必要な機能の抽出を行うことで、期待値生成の処理量の削減を図ることもできる。
また、実施例1では、入力するテストパタンの全てのパラメタ値を解析していたが、ある一定長のパタン長毎にパラメタ値を解析し必要な論理動作を抽出してもよい。これにより、入力するテストパタンに多数のパラメタ設定が存在していた場合でも、パラメタ値に対応して抽出した論理動作の記憶領域をある一定量に抑制した状態で、期待値生成の処理量を削減した検証モデルの動作を行うこともできる。
テストパタンを1パタン長分入力する毎にパラメタ値の解析を行う例の回路検証装置を図7に示す。図7の回路検証装置では、パラメタ変化判定部34においてパラメタ値の変化を検出し、パラメタ値に変化があった場合のみ入力されたパラメタ値に対する論理動作抽出部2の処理を行う。パラメタ値に変化がない場合は、同一の動作順序リストにより期待値が生成できるため、論理動作抽出部2の処理は行う必要はない。
また、実施例1では、入力するテストパタンの全てのパラメタ値を解析していたが、テストパタンを1パタン入力する毎にパラメタ値の解析を行い、ある一定量の種類のパラメタに対応する論理動作の分まで記憶しておく方式でもよい。この方式では、記憶している論理動作の種類がある一定量に達するまでは、新規パラメタ値に対する論理動作の記憶を追加し、記憶している論理動作の種類がある一定量の達した状態で新規パラメタが入力された場合は、最も不要と思われるパラメタ値に対する論理動作の記憶を新規パラメタ値に対する論理動作の記憶に置き換えるという処理を行う。
また、本発明は、入力するテストパタンによるパラメタ設定によって論理動作順序を一意に抽出することが可能であれば、同様の処理手順によって検証対象回路の期待値を生成することが可能である。このため、図1や図7における論理動作抽出部2に代わって、図8に示すように、クロスバースイッチを用いた構成であっても同様に動作順序リストを抽出することが可能であり、必要最小限の処理量によって検証モデルによる検証対象回路の期待値を生成することができる。
また、図8のクロスバースイッチ図9のバスを用いた構成であっても、上述と同様な効果を得ることができる。図8や図9のような構成においても、出力となりうる全ての入出力ポートを探索開始点として、信号の伝播を遡る。モジュールに到達した場合は、そのモジュールのパラメタ値を解析することで、そのモジュールの入力となる信号を特定し、されにその信号の入力元を探索する。以上のような探索を行うことにより、モジュール間の信号伝播、及びモジュールの動作順序を抽出し、動作順序リストとして生成することができる。
1 入力テストパタン解析部
2 論理動作抽出部
3 パラメタ入力部
4 検証モデル選択部
5 動作順序リスト
6 データ入力部
7 検証モデル動作部
8 検証対象回路パタン入力部
9 結果比較部
10 テストパタン終了判定部
11 検証モデル部
12 テストベンチ部
13 検証対象回路部
2 論理動作抽出部
3 パラメタ入力部
4 検証モデル選択部
5 動作順序リスト
6 データ入力部
7 検証モデル動作部
8 検証対象回路パタン入力部
9 結果比較部
10 テストパタン終了判定部
11 検証モデル部
12 テストベンチ部
13 検証対象回路部
Claims (8)
- パラメタの設定により機能が選択される半導体集積回路に対する回路検証装置において、
入力されるテストパタンのパラメタを解析することによりテストに必要な機能を抽出する手段と、
前記抽出した機能から検証対象回路の前記テストパタンに対する期待値を生成するための論理動作順序を抽出することにより検証モデルを選択する手段と、
前記抽出した論理動作順序どおりに前記検証モデルを動作させることにより前記期待値を生成する手段と、
検証対象回路の前記テストパタンに対する出力値と前記検証モデルによる期待値を比較する手段を有することを特徴とする回路検証装置。 - パラメタの設定により機能が選択される半導体集積回路に対する回路検証装置において、
入力するテストパタンを解析して所定数のパラメタの組を抽出する入力テストパタン解析部と、
前記入力テストパタンから抽出したパラメタを組毎に解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リストとして全てのパラメタの組について抽出し記憶する論理動作抽出部と、
前記入力テストパタンのうちパラメタのみを組単位で入力するパラメタ入力部と、
前記入力されたパラメタの組に対応する動作順序リストを前記記憶されている動作順序リストから検証モデルとして選択する検証モデル選択部と、
前記入力テストパタンのうち前記入力されたパラメタの組対応のデータのみを入力するデータ入力部と、
前記入力したデータに対して前記選択した検証モデルを動作させる検証モデル動作部と、
検証対象回路に前記入力テストパタンを入力する検証対象回路パタン入力部と、
前記検証対象回路の前記テストパタンに対する出力値と前記検証モデルにより生成された期待値を比較する結果比較部と、
全てのテストパタンについて上記の処理が終了したかどうかを判定するテストパタン終了判定部を有することを特徴とする回路検証装置。 - パラメタの設定により機能が選択される半導体集積回路に対する回路検証装置において、
入力するテストパタンのうちパラメタのみを組単位で入力するパラメタ入力部と、
前記入力したパラメタの値が既入力のパラメタの値と異なっているか判定するパラメタ変化判定部と、
前記パラメタの値が異なっている場合のみ前記入力テストパタンから抽出したパラメタを解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リストとして抽出する論理動作抽出部と、
前記入力テストパタンのうち前記入力されたパラメタの組対応のデータのみを入力するデータ入力部と、
前記入力したデータに対して前記抽出された動作順序リストの検証モデルを動作させる検証モデル動作部と、
検証対象回路に前記入力テストパタンを入力する検証対象回路パタン入力部と、
前記検証対象回路の前記テストパタンに対する出力値と前記検証モデルにより生成された期待値を比較する結果比較部と、
全てのテストパタンについて上記の処理が終了したかどうかを判定するテストパタン終了判定部を有することを特徴とする回路検証装置。 - パラメタの設定により選択される機能は前記検証対象回路全体としての機能であることを特徴とする請求項1ないし請求項3のいずれかに記載の回路検証装置。
- パラメタの設定により選択される機能は前記検証対象回路を構成する機能モジュール内部の機能であることを特徴とする請求項1ないし請求項4のいずれかに記載の回路検証装置。
- 前記論理動作抽出部には、前記検証対象回路における機能選択の論理動作、及び検証対象回路における機能モジュール間の接続構造の情報が予め設定されていることを特徴とする請求項1ないし請求項4のいずれかに記載の回路検証装置。
- パラメタの設定により機能が選択される半導体集積回路に対する回路検証方法であって、
入力するテストパタンを解析して所定数のパラメタの組を抽出する第1段階と、
前記入力テストパタンから抽出したパラメタを組毎に解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リストとして全てのパラメタの組について抽出し記憶する第2段階と、
前記入力テストパタンのうちパラメタのみを組単位で入力する第3段階と、
前記入力されたパラメタの組に対応する動作順序リストを前記記憶されている動作順序リストから検証モデルとして選択する第4段階と、
前記入力テストパタンのうち前記入力されたパラメタの組対応のデータのみを入力する第5段階と、
前記入力したデータに対して前記選択した検証モデルを動作させる第6段階と、
検証対象回路に前記入力テストパタンを入力する第7段階と、
前記検証対象回路の前記テストパタンに対する出力値と前記検証モデルにより生成された期待値を比較する第8段階と、
全てのテストパタンについて上記の処理が終了したかどうかを判定する第9段階を有し、処理が終了していなければ第3段階以下を繰り返すことを特徴とする回路検証方法。 - パラメタの設定により機能が選択される半導体集積回路に対する回路検証方法であって、
入力するテストパタンのうちパラメタのみを組単位で入力する第1段階と、
前記入力したパラメタの値が既入力のパラメタの値と異なっているか判定する第2段階と、
前記パラメタの値が異なっている場合のみ前記入力テストパタンから抽出したパラメタを解析することにより選択された機能を抽出し、その抽出した機能から回路の期待値を生成するための論理動作順序を動作順序リストとして抽出する第3段階と、
前記入力テストパタンのうち前記入力されたパラメタの組対応のデータのみを入力する第4段階と、
前記入力したデータに対して前記抽出された動作順序リストの検証モデルを動作させる第5段階と、
検証対象回路に前記入力テストパタンを入力する第6段階と、
前記検証対象回路の前記テストパタンに対する出力値と前記検証モデルにより生成された期待値を比較する第7段階と、
全てのテストパタンについて上記の処理が終了したかどうかを判定する第8段階を有し、処理が終了していなければ第1段階以下を繰り返すことを特徴とする回路検証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005236583A JP2007052585A (ja) | 2005-08-17 | 2005-08-17 | 回路検証装置及び回路検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005236583A JP2007052585A (ja) | 2005-08-17 | 2005-08-17 | 回路検証装置及び回路検証方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007052585A true JP2007052585A (ja) | 2007-03-01 |
Family
ID=37917001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005236583A Pending JP2007052585A (ja) | 2005-08-17 | 2005-08-17 | 回路検証装置及び回路検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007052585A (ja) |
-
2005
- 2005-08-17 JP JP2005236583A patent/JP2007052585A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7159202B2 (en) | Methods, apparatus and computer program products for generating selective netlists that include interconnection influences at pre-layout and post-layout design stages | |
CN103164585B (zh) | 缓冲器的插入方法及装置 | |
JP6995451B2 (ja) | 回路適正化装置及び回路適正化方法 | |
JPH07200642A (ja) | 半導体集積回路の遅延時間計算装置 | |
CN108090288B (zh) | 一种通过机器学习获取时序参数的方法 | |
US8510693B2 (en) | Changing abstraction level of portion of circuit design during verification | |
US7467362B2 (en) | Failure detection improvement apparatus, failure detection improvement program, failure detection improvement method | |
US9348963B1 (en) | Automatic abutment for devices with horizontal pins | |
US20100269003A1 (en) | Delay fault diagnosis program | |
JP2007052585A (ja) | 回路検証装置及び回路検証方法 | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
US20050086621A1 (en) | Method for processing design data of semiconductor integrated circuit | |
JP2006039614A (ja) | タイミング制約情報の作成方法及び作成システム | |
JP4985211B2 (ja) | 論理回路のシミュレーション | |
JPH07175851A (ja) | バスチェック装置及びバスチェック方法 | |
JP3102408B2 (ja) | 信号遅延低減方法及び装置 | |
US20070044053A1 (en) | Multimode delay analyzer | |
JP4648865B2 (ja) | プリント基板パターン設計装置およびプログラム | |
Lemma et al. | Natural language based power domain partitioning | |
JP2006146711A (ja) | タイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラム | |
Pomeranz et al. | On diagnosis and diagnostic test generation for pattern-dependent transition faults | |
JP2006146595A (ja) | 遅延特性評価のための回路シミュレーション方法、回路シミュレーションプログラム及び回路シミュレーション装置 | |
JP2006350548A (ja) | タイミングライブラリの作成方法、タイミングライブラリの作成プログラム、およびタイミングライブラリの作成装置 | |
JP5381591B2 (ja) | ディレイ解析装置、ディレイ解析方法及びディレイ解析プログラム | |
JP2006331212A (ja) | 論理シミュレーション方法及びその装置 |