JP3822044B2 - 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体 - Google Patents

設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体 Download PDF

Info

Publication number
JP3822044B2
JP3822044B2 JP2000290530A JP2000290530A JP3822044B2 JP 3822044 B2 JP3822044 B2 JP 3822044B2 JP 2000290530 A JP2000290530 A JP 2000290530A JP 2000290530 A JP2000290530 A JP 2000290530A JP 3822044 B2 JP3822044 B2 JP 3822044B2
Authority
JP
Japan
Prior art keywords
test bench
design verification
logic simulation
circuit description
description
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.)
Expired - Fee Related
Application number
JP2000290530A
Other languages
English (en)
Other versions
JP2002099584A (ja
Inventor
丈彦 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000290530A priority Critical patent/JP3822044B2/ja
Priority to US09/962,827 priority patent/US7263478B2/en
Publication of JP2002099584A publication Critical patent/JP2002099584A/ja
Application granted granted Critical
Publication of JP3822044B2 publication Critical patent/JP3822044B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model 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)
  • Tests Of Electronic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子回路の設計検証処理に利用される設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体に関し、特に、テスト環境やテストベクトルが変更されたような場合であっても、変更に依存することなく、コードカバレッジ情報を効率良く管理することを可能にする技術に係わる。
【0002】
【従来の技術】
近年の回路の急速な大規模化、複雑化に伴い、既に作製された設計資産を回路の設計段階において積極的に再利用しようとする動きが活発になっている。
【0003】
設計資産を再利用して回路を設計する時には、再利用する回路が本当に信頼できるものであるか、十分に検証されたものであるか等、再利用する回路に対する検証確度に関する情報が、設計仕様を満たした回路を設計する上でも、大変重要となってくる。検証確度に関する情報としては、現在までの所、コードカバレッジ情報が一般に広く利用されている。コードカバレッジ情報とは、論理シミュレーション時に、回路記述内のどの記述が実行されたかを記録した情報であり、コードカバレッジ情報を参照することにより、設計者は、論理シミュレーションによってどの程度の回路記述が実行されたかを数値(%)により認識し、検証確度を図る目安を得ることができる。なお、最近では、回路記述の各行が実行されたか否かを判断する単純なステートカバレッジに加え、各条件式が実行されているか否かを示すブランチカバレッジ等、複数の種類のコードカバレッジ情報を取得することが可能となり、より精度の高い検証確度に関する情報を得ることができるようになっている。
【0004】
【発明が解決しようとする課題】
ところが、回路の設計検証処理に利用される従来までのコードカバレッジ情報には、以下に示すような解決すべき技術的課題がある。
【0005】
第1に、コードカバレッジ情報を取得する際、各回路に対して数種類のコードカバレッジ情報を保存するので、回路が大規模、複雑になるに伴い、その情報量が増大し、コードカバレッジ情報の管理が非常に煩雑となる。
【0006】
第2に、コードカバレッジ情報はテスト環境、テストベクトル単位で取得するために、既存の回路を組み合わせて新たな回路を作製した場合の全体検証(上位システム検証)においてテスト環境、テストベクトルの構成が変更されると、単体検証(下位システム検証)時のコードカバレッジ情報を全体検証に正しく反映させることができない。また、全体検証の際に問題が発生しても、その問題が単体検証時において検証されなかった記述の問題であるのか、仕様として許されていない入力信号列を入力しているのか、換言すれば、周辺回路に起因する問題であるのか等の判別を行うことができず、デバッグ処理の効率が非常に悪い。
【0007】
本発明は、このような技術的課題を解決すべくなされたものであり、その目的は、コードカバレッジ情報を効率良く管理することを可能にする設計検証システムを提供することにある。
【0008】
また、本発明の他の目的は、コードカバレッジ情報を効率良く管理することを可能にする設計検証方法を提供することにある。
【0009】
さらに、本発明の他の目的は、コードカバレッジ情報を効率良く管理することを可能にする設計検証プログラムを格納したコンピュータ読取り可能な記録媒体を提供することにある。
【0010】
【課題を解決するための手段】
上記技術的課題を解決するにあたって、発明者は、論理シミュレーションの際の入力パターンが仕様的に禁止されている入力パターンと同じかどうかを判定し、また、論理シミュレーション時にそれまでのシミュレーションで未実行記述が実行された場合にその旨をユーザに通知することを可能にすることにより、環境に依存することなく、コードカバレッジ情報を効率良く管理することが可能になると考え、精力的な研究の結果、以下の特徴を含む技術的思想を発案するに至った。
【0011】
本発明に係る設計検証システムの特徴は、テストベンチを用いて論理シミュレーションを実行する論理シミュレーション部と、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する未実行記述抽出部と、抽出された回路記述が論理的に実行される可能性があるか否かを判別する判別手段と、論理的に実行される可能性がある回路記述について、当該回路記述を実行するためのテストベンチを生成し、テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンがテストベンチの入力パターンと同じか否かを判定するテストベンチを生成する禁止入力チェッカ生成部とを具備することにある。
【0012】
本発明に係る設計検証方法の特徴は、コンピュータが、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出するステップと、コンピュータが、抽出された回路記述が論理的に実行される可能性があるか否かを判別するステップと、コンピュータが、論理的に実行される可能性がある回路記述について、回路記述を実行するためのテストベンチを生成するステップと、コンピュータが、生成されたテストベンチを用いて論理シミュレーションを実行するステップと、コンピュータが、テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンがテストベンチの入力パターンと同じか否かを判定するテストベンチを生成するステップとを有することにある。
【0013】
本発明に係る設計検証プログラムを格納したコンピュータ読取り可能な記録媒体の特徴は、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する処理と、抽出された回路記述が論理的に実行される可能性があるか否かを判別する処理と、論理的に実行される可能性がある回路記述について、回路記述を実行するためのテストベンチを生成する処理と、生成された前記テストベンチを用いて論理シミュレーションを実行する処理と、当該テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンがテストベンチの入力パターンと同じか否かを判定するテストベンチを生成する処理とを含み、これらの処理をコンピュータに実行させることにある。
【0014】
なお、テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に回路記述が実行されようとしたことを通知するテストベンチを生成することが望ましい。
【0015】
また、回路記述が論理的に実行可能性があるか否かの判別処理はモデルチェッキング技術を用いて行うことが望ましい。
【0016】
【発明の実施の形態】
本発明に係る設計検証システムおよび設計検証方法は、例えば、コードカバレッジ情報の管理処理に適用、実施することができる。以下、本発明の実施形態に係る設計検証システムの構成およびその動作について説明する。
【0017】
《設計検証システムの構成》
始めに、図1を参照して、本発明の実施形態に係る設計検証システムの構成について説明する。
【0018】
本発明の実施形態に係る設計検証システムは、図1に示すように、コードカバレッジ情報の管理を行う設計検証装置110を具備し、設計検証装置110は、入出力インタフェイス111、制御部112、論理シミュレーション部113、解析処理部114、未実行記述抽出部115、モデルチェッキング処理部116、未実行記述チェッカ生成部117、禁止入力チェッカ生成部118、回路記述データベース119、コードカバレッジ情報データベース120、テストベンチデータベース121、未実行記述チェック用データベース122、禁止入力パターンチェック用データベース123を備える。
【0019】
入出力インタフェイス111は、ユーザや設計検証装置110からの各種情報の入出力処理を支援、制御し、具体的には、グラフィカルユーザインタフェイス(Graphical User Interface)を利用する。
【0020】
制御部112は、設計検証装置110内の各構成要素の動作を制御する。
【0021】
論理シミュレーション部113は、コードカバレッジ情報の取得処理を含む論理シミュレーションを実行する。
【0022】
解析処理部114は、論理シミュレーション結果およびコードカバレッジ情報の解析処理を行う環境をユーザに提供し、例えば、システム内の任意の点における信号の波形を表示する。
【0023】
未実行記述抽出部115は、論理シミュレーションによって抽出されたコードカバレッジ情報の結果から、論理シミュレーションにおいて未だ実行されていないRTL(Register Transfer Level)記述を抽出する。
【0024】
モデルチェッキング処理部116は、未実行記述抽出部115によって抽出された未実行記述が論理的に実行される可能性があるか否かをモデルチェッキング(=形式検証)技術を用いて解析する。
【0025】
未実行記述チェッカ生成部117は、論理シミュレーション時に未実行記述が実行されようとしたら、その旨をメッセージとして出力部102に出力するテストベンチ(=未実行記述チェッカ)を生成する。
【0026】
禁止入力チェッカ生成部118は、未実行記述の入力まで逆トレースし、未実行記述を実行するためのテストベンチを生成し、生成したテストベンチが仕様的に禁止されている入力である場合、生成したテストベンチと論理シミュレーションの際の入力パターンが同じかどうかを判定するチェック用テストベンチ(=禁止入力チェッカ)を生成する。
【0027】
回路記述データベース119は、設計する回路の仕様および動作を記述したRTL記述を格納する。
【0028】
コードカバレッジ情報データベース120は、回路記述データベース119内に格納されたRTL記述についてのコードカバレッジ情報を格納する。
【0029】
テストベンチデータベース121は、設計する回路の設計検証に利用するテストベンチを格納する。なお、ここでいうテストベンチとは、テストベクトルに、ROMやRAM等のシミュレーションモデルを加えたものを意味する。
【0030】
未実行記述チェック用データベース122は、未実行記述チェッカ生成部117が生成した未実行記述チェッカを格納する。
【0031】
禁止入力パターンチェック用データベース123は、禁止入力チェッカ生成部118が生成した禁止入力チェッカを格納する。
【0032】
また、設計検証装置110は、設計検証装置110に関する各種入力情報や制御情報を入力するための入力部101、設計検証装置110に関する各種出力情報やエラー情報を出力するための出力部102に電気的に接続されている。ここで、入力部101としては、キーボード、マウスポインタ、ライトペン、出力部102としては、ディスプレイ、プリンタ、音声出力装置がこれにあたる。
【0033】
《設計検証システムの動作〜設計検証方法〜》
次に、図2〜図4を参照して、本発明の実施形態に係る設計検証システムの動作について説明する。
【0034】
本発明の実施形態に係る設計検証システムは、ユーザがRTL設計検証環境を作製し(S201)、論理シミュレーションの動作開始指示命令が入力部101を介して入力されるにしたがって、以下に示す処理ステップを開始する。
【0035】
『下位システム検証処理』(図2、3参照)
(1)論理シミュレーション部113が、コードカバレッジ取得処理を含む論理シミュレーションを実行する(S202)。
【0036】
(2)論理シミュレーションが完了すると、ユーザは、解析処理部114を利用して論理シミュレーション結果およびコードカバレッジ情報の解析を行い、検証確度を向上させる(S203)。
【0037】
ここで、検証確度は、信号の波形の目視確認や検証言語のアサーションによる自動確認により回路が仕様にあっているか否か、実行されていないRTL記述が妥当なものであるか否か等の判別処理を行い、論理シミュレーション結果およびコードカバレッジ情報の解析し、その後、RTL記述内のバグを修正(S204、S205)、テストベクトルを追加、再びRTL設計検証環境を作製(S206,S201)等して、向上が図られるものとする。
【0038】
(3)回路のバグがある程度収束し、テストベクトルの追加、修正による検証確度の向上がこれ以上難しいと判断されると、未実行記述抽出部115が、論理シミュレーション時に収集されたコードカバレッジ情報を利用して、論理シミュレーションにおいて未だ実行されていないRTL記述(=未実行記述)を抽出する(S207)。
【0039】
なお、ここでいう未実行記述とは、コードカバレッジ情報の中から収集できる情報から判断することが可能な、全ての未実行記述を含み、例えば、ブランチ、ステート等のコードカバレッジ情報に対応する記述文がこれにあたる。
【0040】
(4)未実行記述が抽出されると、モデルチェッキング処理部116が、未実行記述が論理的に実行される可能性があるか否かをモデルチェッキング技術を用いて解析し、解析の結果、論理的に実行される可能性がある場合には処理ステップ(S301)へ移行し、可能性がない場合には抽出された未実行記述を今後のコードカバレッジ計算対象から外す(S210)。
【0041】
(5)禁止入力チェッカ生成部118が、各未実行記述について入力まで逆トレースし、未実行記述を実行するためのテストベンチの生成を試み(S301)、生成条件が複雑すぎる等の理由よってテストベンチを生成することができなかった場合には処理ステップ(S310)へ、生成することができた場合には処理ステップ(S303)へ移行する。
【0042】
なお、ここでいう未実行記述とは、モデルチェッキング処理部116が論理的に実行可能性があると判断した未実行記述に加え、モデルチェッキング処理部116の性能の限界によって実行可能性の有無を判定できなかった未実行記述も含むものとする。
【0043】
(6)論理シミュレーション部113が、禁止入力チェッカ生成部118が生成した未実行記述を実行するためのテストベンチを用いて論理シミュレーションを実行する(S303)。そして、論理シミュレーションの結果を解析し、回路動作が仕様を満たす場合には、論理シミュレーションに使用したテストベンチをテストベンチデータベースに格納する(S305)。一方、回路動作が仕様を満たさない場合には、RTL記述にバグがあるか否かを解析し、回路記述内にバグがある場合にはRTL記述を修正し(S307)、RTL記述内にバグがない場合には処理ステップ(S308)に移行する。
【0044】
(7)処理ステップ(S303)における論理シミュレーションの結果、回路動作が仕様を満たさず、且つ、回路記述内にバグがない場合、禁止入力チェッカ生成部118が、生成したテストベンチが仕様的に禁止されている入力であると判断し、論理シミュレーションの際の入力パターンがそのテストベンチの入力パターンと同じかどうかを判定するチェック用テストベンチ(=禁止入力チェッカ)を生成し、禁止入力パターンチェック用データベース123内に格納する(S308)。
【0045】
(8)禁止入力チェッカが生成されると、制御部112が、テストベンチの生成元となった未実行記述をコードカバレッジを計算する対象から除外する(S309)。
【0046】
(9)禁止入力チェッカ生成部118が、生成条件が複雑すぎる等の理由よって、未実行記述を実行するためのテストベンチを生成することができなかった場合には、未実行記述チェッカ生成部117が、論理シミュレーション時に未実行記述が実行されようとしたら、その旨をメッセージとして出力部102に出力するテストベンチ(=未実行記述チェッカ)を生成し、未実行記述チェック用データベース122内に格納する。
【0047】
『上位システム検証』(図4参照)
(1)制御部112が、禁止入力パターンチェック用データベース123内に格納された下位システムの禁止入力チェッカを用いて、上位システムの論理シミュレーションにおいて使用するテストベンチ内に下位システムの禁止入力パターンがあるか否かを判別する(S401)。
【0048】
判別の結果、下位システムに関する禁止入力パターンがある場合には、その旨をユーザに通知し、ユーザは通知に応じて入力パターンを修正し(S402)、再び処理ステップ(S401)に戻る。一方、禁止入力パターンがない場合には、次の処理ステップ(S403)に移行する。
【0049】
(2)論理シミュレーション部113が、テストベンチデータベース121内に格納されたテストベンチを利用して論理シミュレーションを実行する(S403)。
【0050】
(3)制御部112が、未実行記述チェック用データベース122内に格納された下位システムの未実行記述チェッカを用いて、上位システムの論理シミュレーションの際に、下位システムの論理シミュレーション時に実行されなかったRTL記述(=未実行記述)が実行されたか否かを判別する(S404)。
【0051】
判別の結果、下位システムにおける未実行記述が実行された場合には処理ステップ(S405)へ、実行されなかった場合には処理ステップ(S408)へ移行する。
【0052】
(4)制御部112が、論理シミュレーションの結果を参照して、未実行記述が実行された時の回路動作が設計仕様を満たしているか否かを判別する(S405)。
【0053】
ここで、仕様を満たしているか否かの判別処理には、信号波形の目視確認や検証言語のアサーションによる自動確認が含まれるものとする。
【0054】
判別の結果、未実行記述が実行された時の回路動作が設計仕様を満たしていない場合には処理ステップ(S406)へ、一方、満たしている場合には処理ステップ(S407)へ移行する。
【0055】
(5)未実行記述が実行された時の回路動作が設計仕様を満たしていない場合、その原因を解析し、原因がRTL記述のバグである時にはRTL記述を修正し、一方、原因が仕様的に禁止されている入力パターンによる場合には、禁止入力チェッカ生成部118が、論理シミュレーションの際の入力パターンがそのテストベンチの入力パターンと同じかどうかを判定するチェック用テストベンチ(禁止入力チェッカ)を生成し、禁止入力パターンチェック用データベース123内に格納する。そして、禁止入力チェッカが生成されると、制御部112が、入力パターンの生成元となった未実行記述をコードカバレッジ計算対象から除外する(S406)。
【0056】
(6)未実行記述が実行された時の回路動作が設計仕様を満たしている場合には、制御部121が、下位システムの境界におけるテスト入力パターンを切り出し、下位システムのテストベンチデータベース121内に格納すると同時に、コードカバレッジ情報データベース120内にコードカバレッジ情報を格納する(S407)。
【0057】
(7)上位システムの論理シミュレーションの際に、下位システムの論理シミュレーション時に実行されなかった未実行記述が実行されなかった場合には、制御部112が、下位システムを組み合わせる(=上位システムを構築する)ことにより新たな分岐やパスが発生していないかどうか判別する(S408)。
【0058】
判別の結果、新たな分岐やパスが発生している場合には、下位システム設計検証処理の際と同様にして、上位システムに関する禁止入力チェッカおよび未実行チェッカを生成し(S410)、下位システムにおける禁止入力チェッカ、未実行記述チェッカと合わせて、上位システムにおけるチェッカとして、未実行記述チェック用データベース122、禁止入力パターンチェック用データベース123のそれぞれに格納し、上位システムの設計検証処理を終了する。一方、新たな分岐やパスが発生していない場合には、上位システムに関する禁止入力チェッカおよび未実行チェッカを生成せずに、一連の設計検証処理は完了される。
【0059】
なお、上記実施形態の説明においては下位システムと上位システムの2階層についての設計検証処理について説明したが、本発明はこれに限られることなく、例えば、検証した上位システムをさらに上位のシステムに統合、又は、システム同士を組み合わせるような場合にも、以上の処理ステップを繰り返すものとする。
【0060】
また、本発明の実施形態に係る設計検証装置には、いわゆる汎用機、ワークステーション、PC(Personal Computer)、NC(Network Computer)等が含まれ、例えば、図7に示す構成のような概観を有し、フロッピーディスクドライブ72および光ディスクドライブ74を備えている。そして、フロッピーディスクドライブ72に対してはフロッピーディスク73、光ディスクドライブ74に対しては光ディスク75を挿入し、所定の読み出し操作を行うことにより、これらの記録媒体に格納されたプログラムをコンピュータシステム内にインストールすることができる。また、所定のドライブ装置を接続することにより、例えば、メモリ装置の役割を担うROM77や、磁気テープ装置の役割を担うカートリッジ78を用いて、インストールやデータの読み書きを実行することもできる。
【0061】
さらに、本発明の実施形態に係る設計検証方法は、プログラム化しコンピュータ読取り可能な記録媒体に保存しても良い。そして、設計検証処理を行う際は、この記録媒体をコンピュータシステムに読み込ませ、コンピュータシステム内のメモリ等の記憶部にプログラムを格納し、設計検証プログラムを演算装置で実行することにより、本発明の設計検証装置およびその方法を実現することができる。なおここで言う記録媒体とは、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのプログラムを記録することができるようなコンピュータ読取り可能な記録媒体等が含まれる。
【0062】
《実施の形態から得られる効果》
以上のように、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、論理シミュレーションにおいて実行されていない回路記述が論理的に実行される可能性があるかどうかの判定を行うことができるので、より正確なコードカバレッジ情報を算出することができる。
【0063】
また、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、回路が大規模化、複雑になることによってコードカバレッジが100%になるような外部入力列を定義することは非常に難しいが、それを特定の記述から逆トレースすることによって自動的に生成することができる。
【0064】
また、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、論理シミュレーションにおいて未実行の記述であるということを、テスト環境に依存することなく、正確に伝達し、未実行記述の確認、管理を自動化することができる。
【0065】
さらに、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、作製された回路記述が仕様で禁止されている使い方をされていないかをテスト環境に依存することなく、確認することができる。
【0066】
さらにまた、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、検証確度情報をテスト環境に依存することなく管理することができ、他のテスト環境下での確認も行うことが可能となる。また、検証確度が上がるにつれて取り扱う情報量は減少していくので、コードカバレッジ情報の管理が容易となる。
【0067】
また、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、回路を組み合わせることによって発生する新たな分岐や上位システム固有のパスを正確に管理することが可能となる。
【0068】
さらに、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、上位システムのチェック用テストベンチは、図5,6に示すように、下位システムのチェック用テストベンチと上位システム固有のチェック用テストベンチとを組み合わせるだけで実現することができるので、回路構成が変わった場合や、上位システム同士を更に組み合わせ場合でも簡単にコードカバレッジ情報を反映、管理することが可能となる。
【0069】
【発明の効果】
本発明の設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体によれば、コードカバレッジ情報を効率良く管理することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る設計検証システムの構成を示すブロック図である。
【図2】本発明の実施形態に係る設計検証処理を示すフローチャート図である。
【図3】本発明の実施形態に係る設計検証処理を示すフローチャート図である。
【図4】本発明の実施形態に係る設計検証処理を示すフローチャート図である。
【図5】本発明の実施形態に係る下位システムの設計検証処理を説明するための模式図である。
【図6】本発明の実施形態に係る上位システムの設計検証処理を説明するための模式図である。
【図7】本発明の実施形態に係る設計検証装置の概観を示す模式図である。
【符号の説明】
70 コンピュータシステム
71 ディスプレイ
72 フロッピーディスクドライブ
73 フロッピーディスク
74 光ディスクドライブ
75 光ディスク
76 キーボード
77 ROM
78 カートリッジ
100 設計検証システム
101 入力部
102 出力部
110 設計検証装置
111 入出力インタフェイス
112 制御部
113 論理シミュレーション部
114 解析処理部
115 未実行記述抽出部
116 モデルチェッキング部
117 未実行記述チェッカ生成部
118 禁止入力チェッカ生成部
119 回路記述データベース
120 コードカバレッジ情報データベース
121 テストベンチデータベース
122 未実行記述チェック用データベース
123 禁止入力パターンチェック用データベース

Claims (9)

  1. テストベンチを用いて論理シミュレーションを実行する論理シミュレーション部と、
    コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する未実行記述抽出部と、
    抽出された前記回路記述が論理的に実行される可能性があるか否かを判別する判別手段と、
    論理的に実行される可能性がある前記回路記述について、当該回路記述を実行するためのテストベンチを生成し、当該テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンが当該テストベンチの入力パターンと同じか否かを判定するテストベンチを生成する禁止入力チェッカ生成部と
    を具備することを特徴とする設計検証システム。
  2. 前記テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に当該回路記述が実行されようとしたことを通知するテストベンチを生成する未実行記述チェッカ生成部を具備することを特徴とする請求項1に記載の設計検証システム。
  3. 前記判別手段は、モデルチェッキング技術により前記回路記述が論理的に実行可能性があるか否かを判別することを特徴とする請求項1又は請求項2に記載の設計検証システム。
  4. コンピュータが、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出するステップと、
    コンピュータが、抽出された前記回路記述が論理的に実行される可能性があるか否かを判別するステップと、
    コンピュータが、論理的に実行される可能性がある前記回路記述について、当該回路記述を実行するためのテストベンチを生成するステップと、
    コンピュータが、生成された前記テストベンチを用いて論理シミュレーションを実行するステップと、
    コンピュータが、前記テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンが当該テストベンチの入力パターンと同じか否かを判定するテストベンチを生成するステップと
    を有することを特徴とする設計検証方法。
  5. コンピュータが、前記テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に当該回路記述が実行されようとしたことを通知するテストベンチを生成するステップを有することを特徴とする請求項4に記載の設計検証方法。
  6. コンピュータは、前記回路記述が論理的に実行可能性があるか否かの判別をモデルチェッキング技術を用いて行うことを特徴とする請求項4又は請求項5に記載の設計検証方法。
  7. コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する処理と、
    抽出された前記回路記述が論理的に実行される可能性があるか否かを判別する処理と、
    論理的に実行される可能性がある前記回路記述について、当該回路記述を実行するためのテストベンチを生成する処理と、
    生成された前記テストベンチを用いて論理シミュレーションを実行する処理と、
    前記テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンが当該テストベンチの入力パターンと同じか否かを判定するテストベンチを生成する処理と
    を含み、これらの処理をコンピュータに実行させることを特徴とする設計検証プログラムを格納したコンピュータ読取り可能な記録媒体。
  8. 前記テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に当該回路記述が実行されようとしたことを通知するテストベンチを生成する処理を含み、この処理をコンピュータに実行させることを特徴とする請求項7に記載の設計検証プログラムを格納したコンピュータ読取り可能な記録媒体。
  9. 前記回路記述が論理的に実行可能性があるか否かの判別処理をモデルチェッキング技術を用いて行うことを特徴とする請求項7又は請求項8に記載の設計検証プログラムを格納したコンピュータ読取り可能な記録媒体。
JP2000290530A 2000-09-25 2000-09-25 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体 Expired - Fee Related JP3822044B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000290530A JP3822044B2 (ja) 2000-09-25 2000-09-25 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
US09/962,827 US7263478B2 (en) 2000-09-25 2001-09-25 System and method for design verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000290530A JP3822044B2 (ja) 2000-09-25 2000-09-25 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2002099584A JP2002099584A (ja) 2002-04-05
JP3822044B2 true JP3822044B2 (ja) 2006-09-13

Family

ID=18773748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000290530A Expired - Fee Related JP3822044B2 (ja) 2000-09-25 2000-09-25 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体

Country Status (2)

Country Link
US (1) US7263478B2 (ja)
JP (1) JP3822044B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199368A1 (en) * 2001-05-24 2004-10-07 Simmonds Precision Products, Inc. Poor data quality identification
JP4577475B2 (ja) * 2001-07-19 2010-11-10 日本電気株式会社 同期式順序回路のプロパティ検証方法および装置
JP2004086838A (ja) * 2002-07-04 2004-03-18 Toshiba Corp システムの検証装置および検証方法
JP3974048B2 (ja) * 2003-02-06 2007-09-12 株式会社東芝 設計検証システム、設計検証方法及び設計検証プログラム
US7290192B2 (en) 2003-03-31 2007-10-30 Advantest Corporation Test apparatus and test method for testing plurality of devices in parallel
US7437261B2 (en) * 2003-02-14 2008-10-14 Advantest Corporation Method and apparatus for testing integrated circuits
US7460988B2 (en) * 2003-03-31 2008-12-02 Advantest Corporation Test emulator, test module emulator, and record medium storing program therein
EP1724696A4 (en) * 2004-03-03 2008-10-15 Fujitsu Ltd VERIFICATION SUPPORT DEVICE, VERIFICATION SUPPORT METHOD, VERIFICATION SUPPORT PROGRAM, AND RECORDING MEDIUM
US7689399B1 (en) * 2004-08-31 2010-03-30 Sun Microsystems, Inc. Automatic extraction of design properties
JP4217220B2 (ja) * 2005-01-07 2009-01-28 富士通株式会社 検証支援プログラムおよび検証支援装置
US20080127043A1 (en) * 2006-08-30 2008-05-29 Yuanyuan Zhou Automatic Extraction of Programming Rules
US8037002B2 (en) 2007-03-28 2011-10-11 Kabushiki Kaisha Toshiba Property description coverage measuring apparatus
US7934183B2 (en) * 2008-04-25 2011-04-26 Synopsys, Inc. Method and apparatus for simulating behavioral constructs using indeterminate values
JP2011186817A (ja) * 2010-03-09 2011-09-22 Toshiba Corp 論理検証装置及び論理検証方法
JP5505316B2 (ja) * 2011-01-13 2014-05-28 トヨタ自動車株式会社 プログラム解析装置、プログラム解析方法及びプログラム解析プログラム
US8650519B2 (en) * 2011-09-01 2014-02-11 Apple Inc. Automated functional coverage for an integrated circuit design
KR101519450B1 (ko) 2013-07-12 2015-05-12 한국과학기술원 멀티스레드 프로그램에 대한 테스트 커버리지 정보를 이용한 자동 테스트 생성 장치, 방법 및 기록매체
US9760663B2 (en) 2014-10-30 2017-09-12 Synopsys, Inc. Automatic generation of properties to assist hardware emulation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604895A (en) * 1994-02-22 1997-02-18 Motorola Inc. Method and apparatus for inserting computer code into a high level language (HLL) software model of an electrical circuit to monitor test coverage of the software model when exposed to test inputs
US6132109A (en) * 1994-04-12 2000-10-17 Synopsys, Inc. Architecture and methods for a hardware description language source level debugging system
US5680332A (en) * 1995-10-30 1997-10-21 Motorola, Inc. Measurement of digital circuit simulation test coverage utilizing BDDs and state bins
US5910898A (en) * 1995-12-14 1999-06-08 Viewlogic Systems, Inc. Circuit design methods and tools
US6182258B1 (en) * 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US6487704B1 (en) * 1997-08-07 2002-11-26 Verisity Design, Inc. System and method for identifying finite state machines and verifying circuit designs
US6816825B1 (en) * 1999-06-18 2004-11-09 Nec Corporation Simulation vector generation from HDL descriptions for observability-enhanced statement coverage
US6523151B2 (en) * 2000-05-25 2003-02-18 International Business Machines Corporation Method for verifying the design of a microprocessor
US6775810B2 (en) * 2002-10-08 2004-08-10 Sun Microsystems, Inc. Boosting simulation performance by dynamically customizing segmented object codes based on stimulus coverage

Also Published As

Publication number Publication date
JP2002099584A (ja) 2002-04-05
US20020038203A1 (en) 2002-03-28
US7263478B2 (en) 2007-08-28

Similar Documents

Publication Publication Date Title
JP3822044B2 (ja) 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
US8161440B2 (en) Highly specialized scenarios in random test generation
CN109739766B (zh) 一种快速搭建fpga数字仿真模型的***及方法
US5956256A (en) Method and apparatus for optimizing a circuit design having multi-paths therein
US10019337B2 (en) Class object handle tracking
US20070061641A1 (en) Apparatus and method for generating test driver
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
US20180225394A1 (en) Functional verification with machine learning
US8140315B2 (en) Test bench, method, and computer program product for performing a test case on an integrated circuit
US6212493B1 (en) Profile directed simulation used to target time-critical crossproducts during random vector testing
US10839124B1 (en) Interactive compilation of software to a hardware language to satisfy formal verification constraints
US8700380B2 (en) Method for generating performance evaluation model
JP2010003281A (ja) 検証支援プログラム、検証支援装置および検証支援方法
JP5233355B2 (ja) プロパティ生成システムおよびプロパティ検証システム
CN101501638B (zh) 等离子处理***部件分析软件以及生成该软件的方法和***
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
US10546080B1 (en) Method and system for identifying potential causes of failure in simulation runs using machine learning
US8875087B1 (en) Method and system for automated script generation for EDA tools
US11544436B1 (en) Hardware-software interaction testing using formal verification
JP2005108007A (ja) Lsi設計検証装置及びlsi設計検証方法
US10339229B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
JP7210917B2 (ja) 検証情報生成装置、検証情報生成方法、及び検証情報生成プログラム
JP5233354B2 (ja) プロパティ検証システム、プロパティ検証方法、及びプログラム
CN111880768B (zh) 一种ip核代码级安全需求描述方法
US11567741B2 (en) Memory compiler techniques

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060517

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: 20060613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060621

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120630

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120630

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130630

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees