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

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

Info

Publication number
JP2002099584A
JP2002099584A JP2000290530A JP2000290530A JP2002099584A JP 2002099584 A JP2002099584 A JP 2002099584A JP 2000290530 A JP2000290530 A JP 2000290530A JP 2000290530 A JP2000290530 A JP 2000290530A JP 2002099584 A JP2002099584 A JP 2002099584A
Authority
JP
Japan
Prior art keywords
test bench
logic simulation
description
circuit description
executed
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
Application number
JP2000290530A
Other languages
English (en)
Other versions
JP3822044B2 (ja
Inventor
Takehiko Tsuchiya
丈彦 土屋
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

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)

Abstract

(57)【要約】 【課題】 コードカバレッジ情報を効率良く管理する。 【解決手段】 テストベンチを用いて論理シミュレーシ
ョンを実行する論理シミュレーション部113と、コー
ドカバレッジ情報を利用して、論理シミュレーションに
おいて実行されていない回路記述を抽出する未実行記述
抽出部115と、抽出された回路記述が論理的に実行さ
れる可能性があるか否かを判別する判別手段116と、
論理的に実行される可能性がある回路記述について、回
路記述を実行するためのテストベンチを生成し、テスト
ベンチを用いた論理シミュレーションにおいて回路動作
が仕様を満たさない場合、論理シミュレーションの際の
入力パターンがテストベンチの入力パターンと同じか否
かを判定するテストベンチを生成する禁止入力チェッカ
生成部118とを具備する。

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、未実行記述チェック用データベース12
2、禁止入力パターンチェック用データベース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設計検証環境を作製し(S20
1)、論理シミュレーションの動作開始指示命令が入力
部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が、
各未実行記述について入力まで逆トレースし、未実行記
述を実行するためのテストベンチの生成を試み(S30
1)、生成条件が複雑すぎる等の理由よってテストベン
チを生成することができなかった場合には処理ステップ
(S310)へ、生成することができた場合には処理ス
テップ(S303)へ移行する。
【0042】なお、ここでいう未実行記述とは、モデル
チェッキング処理部116が論理的に実行可能性がある
と判断した未実行記述に加え、モデルチェッキング処理
部116の性能の限界によって実行可能性の有無を判定
できなかった未実行記述も含むものとする。
【0043】(6)論理シミュレーション部113が、
禁止入力チェッカ生成部118が生成した未実行記述を
実行するためのテストベンチを用いて論理シミュレーシ
ョンを実行する(S303)。そして、論理シミュレー
ションの結果を解析し、回路動作が仕様を満たす場合に
は、論理シミュレーションに使用したテストベンチをテ
ストベンチデータベースに格納する(S305)。一
方、回路動作が仕様を満たさない場合には、RTL記述
にバグがあるか否かを解析し、回路記述内にバグがある
場合にはRTL記述を修正し(S307)、RTL記述
内にバグがない場合には処理ステップ(S308)に移
行する。
【0044】(7)処理ステップ(S303)における
論理シミュレーションの結果、回路動作が仕様を満たさ
ず、且つ、回路記述内にバグがない場合、禁止入力チェ
ッカ生成部118が、生成したテストベンチが仕様的に
禁止されている入力であると判断し、論理シミュレーシ
ョンの際の入力パターンがそのテストベンチの入力パタ
ーンと同じかどうかを判定するチェック用テストベンチ
(=禁止入力チェッカ)を生成し、禁止入力パターンチ
ェック用データベース123内に格納する(S30
8)。
【0045】(8)禁止入力チェッカが生成されると、
制御部112が、テストベンチの生成元となった未実行
記述をコードカバレッジを計算する対象から除外する
(S309)。
【0046】(9)禁止入力チェッカ生成部118が、
生成条件が複雑すぎる等の理由よって、未実行記述を実
行するためのテストベンチを生成することができなかっ
た場合には、未実行記述チェッカ生成部117が、論理
シミュレーション時に未実行記述が実行されようとした
ら、その旨をメッセージとして出力部102に出力する
テストベンチ(=未実行記述チェッカ)を生成し、未実
行記述チェック用データベース122内に格納する。
【0047】『上位システム検証』(図4参照) (1)制御部112が、禁止入力パターンチェック用デ
ータベース123内に格納された下位システムの禁止入
力チェッカを用いて、上位システムの論理シミュレーシ
ョンにおいて使用するテストベンチ内に下位システムの
禁止入力パターンがあるか否かを判別する(S40
1)。
【0048】判別の結果、下位システムに関する禁止入
力パターンがある場合には、その旨をユーザに通知し、
ユーザは通知に応じて入力パターンを修正し(S40
2)、再び処理ステップ(S401)に戻る。一方、禁
止入力パターンがない場合には、次の処理ステップ(S
403)に移行する。
【0049】(2)論理シミュレーション部113が、
テストベンチデータベース121内に格納されたテスト
ベンチを利用して論理シミュレーションを実行する(S
403)。
【0050】(3)制御部112が、未実行記述チェッ
ク用データベース122内に格納された下位システムの
未実行記述チェッカを用いて、上位システムの論理シミ
ュレーションの際に、下位システムの論理シミュレーシ
ョン時に実行されなかったRTL記述(=未実行記述)
が実行されたか否かを判別する(S404)。
【0051】判別の結果、下位システムにおける未実行
記述が実行された場合には処理ステップ(S405)
へ、実行されなかった場合には処理ステップ(S40
8)へ移行する。
【0052】(4)制御部112が、論理シミュレーシ
ョンの結果を参照して、未実行記述が実行された時の回
路動作が設計仕様を満たしているか否かを判別する(S
405)。
【0053】ここで、仕様を満たしているか否かの判別
処理には、信号波形の目視確認や検証言語のアサーショ
ンによる自動確認が含まれるものとする。
【0054】判別の結果、未実行記述が実行された時の
回路動作が設計仕様を満たしていない場合には処理ステ
ップ(S406)へ、一方、満たしている場合には処理
ステップ(S407)へ移行する。
【0055】(5)未実行記述が実行された時の回路動
作が設計仕様を満たしていない場合、その原因を解析
し、原因がRTL記述のバグである時にはRTL記述を
修正し、一方、原因が仕様的に禁止されている入力パタ
ーンによる場合には、禁止入力チェッカ生成部118
が、論理シミュレーションの際の入力パターンがそのテ
ストベンチの入力パターンと同じかどうかを判定するチ
ェック用テストベンチ(禁止入力チェッカ)を生成し、
禁止入力パターンチェック用データベース123内に格
納する。そして、禁止入力チェッカが生成されると、制
御部112が、入力パターンの生成元となった未実行記
述をコードカバレッジ計算対象から除外する(S40
6)。
【0056】(6)未実行記述が実行された時の回路動
作が設計仕様を満たしている場合には、制御部121
が、下位システムの境界におけるテスト入力パターンを
切り出し、下位システムのテストベンチデータベース1
21内に格納すると同時に、コードカバレッジ情報デー
タベース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. 【請求項1】 テストベンチを用いて論理シミュレーシ
    ョンを実行する論理シミュレーション部と、 コードカバレッジ情報を利用して、論理シミュレーショ
    ンにおいて実行されていない回路記述を抽出する未実行
    記述抽出部と、 抽出された前記回路記述が論理的に実行される可能性が
    あるか否かを判別する判別手段と、 論理的に実行される可能性がある前記回路記述につい
    て、当該回路記述を実行するためのテストベンチを生成
    し、当該テストベンチを用いた論理シミュレーションに
    おいて回路動作が仕様を満たさない場合、その後の論理
    シミュレーションの際の入力パターンが当該テストベン
    チの入力パターンと同じか否かを判定するテストベンチ
    を生成する禁止入力チェッカ生成部とを具備することを
    特徴とする設計検証システム。
  2. 【請求項2】 前記テストベンチを生成することができ
    ない回路記述について、その後の論理シミュレーション
    時に当該回路記述が実行されようとしたことを通知する
    テストベンチを生成する未実行記述チェッカ生成部を具
    備することを特徴とする請求項1に記載の設計検証シス
    テム。
  3. 【請求項3】 前記判別手段は、モデルチェッキング技
    術により前記回路記述が論理的に実行可能性があるか否
    かを判別することを特徴とする請求項1又は請求項2に
    記載の設計検証システム。
  4. 【請求項4】 コードカバレッジ情報を利用して、論理
    シミュレーションにおいて実行されていない回路記述を
    抽出するステップと、 抽出された前記回路記述が論理的に実行される可能性が
    あるか否かを判別するステップと、 論理的に実行される可能性がある前記回路記述につい
    て、当該回路記述を実行するためのテストベンチを生成
    するステップと、 生成された前記テストベンチを用いて論理シミュレーシ
    ョンを実行するステップと、 前記テストベンチを用いた論理シミュレーションにおい
    て回路動作が仕様を満たさない場合、その後の論理シミ
    ュレーションの際の入力パターンが当該テストベンチの
    入力パターンと同じか否かを判定するテストベンチを生
    成するステップとを有することを特徴とする設計検証方
    法。
  5. 【請求項5】 前記テストベンチを生成することができ
    ない回路記述について、その後の論理シミュレーション
    時に当該回路記述が実行されようとしたことを通知する
    テストベンチを生成するステップを有することを特徴と
    する請求項4に記載の設計検証方法。
  6. 【請求項6】 前記回路記述が論理的に実行可能性があ
    るか否かの判別をモデルチェッキング技術を用いて行う
    ことを特徴とする請求項4又は請求項5に記載の設計検
    証方法。
  7. 【請求項7】 コードカバレッジ情報を利用して、論理
    シミュレーションにおいて実行されていない回路記述を
    抽出する処理と、 抽出された前記回路記述が論理的に実行される可能性が
    あるか否かを判別する処理と、 論理的に実行される可能性がある前記回路記述につい
    て、当該回路記述を実行するためのテストベンチを生成
    する処理と、 生成された前記テストベンチを用いて論理シミュレーシ
    ョンを実行する処理と、 前記テストベンチを用いた論理シミュレーションにおい
    て回路動作が仕様を満たさない場合、その後の論理シミ
    ュレーションの際の入力パターンが当該テストベンチの
    入力パターンと同じか否かを判定するテストベンチを生
    成する処理とを含み、これらの処理をコンピュータに実
    行させることを特徴とする設計検証プログラムを格納し
    たコンピュータ読取り可能な記録媒体。
  8. 【請求項8】 前記テストベンチを生成することができ
    ない回路記述について、その後の論理シミュレーション
    時に当該回路記述が実行されようとしたことを通知する
    テストベンチを生成する処理を含み、この処理をコンピ
    ュータに実行させることを特徴とする請求項7に記載の
    設計検証プログラムを格納したコンピュータ読取り可能
    な記録媒体。
  9. 【請求項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 true JP2002099584A (ja) 2002-04-05
JP3822044B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030270A (ja) * 2001-07-19 2003-01-31 Nec Corp 同期式順序回路のプロパティ検証方法および装置
US8037002B2 (en) 2007-03-28 2011-10-11 Kabushiki Kaisha Toshiba Property description coverage measuring apparatus
JP2012146212A (ja) * 2011-01-13 2012-08-02 Toyota Motor Corp プログラム解析装置、プログラム解析方法及びプログラム解析プログラム
KR101519450B1 (ko) 2013-07-12 2015-05-12 한국과학기술원 멀티스레드 프로그램에 대한 테스트 커버리지 정보를 이용한 자동 테스트 생성 장치, 방법 및 기록매체

Families Citing this family (14)

* 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
JP2004086838A (ja) * 2002-07-04 2004-03-18 Toshiba Corp システムの検証装置および検証方法
JP3974048B2 (ja) * 2003-02-06 2007-09-12 株式会社東芝 設計検証システム、設計検証方法及び設計検証プログラム
US7460988B2 (en) * 2003-03-31 2008-12-02 Advantest Corporation Test emulator, test module emulator, and record medium storing program therein
US7290192B2 (en) 2003-03-31 2007-10-30 Advantest Corporation Test apparatus and test method for testing plurality of devices in parallel
US20040225459A1 (en) * 2003-02-14 2004-11-11 Advantest Corporation Method and structure to develop a test program for semiconductor integrated circuits
JP4116660B2 (ja) * 2004-03-03 2008-07-09 富士通株式会社 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体
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
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 論理検証装置及び論理検証方法
US8650519B2 (en) * 2011-09-01 2014-02-11 Apple Inc. Automated functional coverage for an integrated circuit design
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030270A (ja) * 2001-07-19 2003-01-31 Nec Corp 同期式順序回路のプロパティ検証方法および装置
JP4577475B2 (ja) * 2001-07-19 2010-11-10 日本電気株式会社 同期式順序回路のプロパティ検証方法および装置
US8037002B2 (en) 2007-03-28 2011-10-11 Kabushiki Kaisha Toshiba Property description coverage measuring apparatus
JP2012146212A (ja) * 2011-01-13 2012-08-02 Toyota Motor Corp プログラム解析装置、プログラム解析方法及びプログラム解析プログラム
KR101519450B1 (ko) 2013-07-12 2015-05-12 한국과학기술원 멀티스레드 프로그램에 대한 테스트 커버리지 정보를 이용한 자동 테스트 생성 장치, 방법 및 기록매체

Also Published As

Publication number Publication date
US20020038203A1 (en) 2002-03-28
JP3822044B2 (ja) 2006-09-13
US7263478B2 (en) 2007-08-28

Similar Documents

Publication Publication Date Title
CN109739766B (zh) 一种快速搭建fpga数字仿真模型的系统及方法
JP3822044B2 (ja) 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
US6647513B1 (en) Coverage-based test generation for microprocessor verification
EP1093619B1 (en) System and method for identifying finite state machines and verifying circuit designs
US8418093B2 (en) Method and system for design simplification through implication-based analysis
WO2006035854A1 (en) Assertion generating system, program thereof, circuit verifying system, and assertion generating method
US20070061641A1 (en) Apparatus and method for generating test driver
WO2007001108A1 (en) System for providing feature-oriented software product line engineering environment
US8732676B1 (en) System and method for generating unit test based on recorded execution paths
JP6342129B2 (ja) 混合モードプログラムのソースコードエラー位置検出装置及び方法
US7373550B2 (en) Generation of a computer program to test for correct operation of a data processing apparatus
CN113901745A (zh) 芯片测试方法、装置、电子设备及计算机可读存储介质
CN117094269B (zh) 一种验证方法、装置、电子设备及可读存储介质
US8700380B2 (en) Method for generating performance evaluation model
CN117907812A (zh) 电路检测方法及装置、电子设备、存储介质、程序产品
CN109783837A (zh) 仿真设备、仿真系统、仿真方法和仿真程序
US10546080B1 (en) Method and system for identifying potential causes of failure in simulation runs using machine learning
CN117435483A (zh) 基于Formal工具的仿真验证激励生成方法、装置、介质及终端
CN115422865B (zh) 仿真方法及装置、计算设备、计算机可读存储介质
US8015523B2 (en) Method and system for sequential netlist reduction through trace-containment
US10650174B1 (en) System and method for visualizing event sequences for expressions using both hardware and software state information
US10969429B1 (en) System and method for debugging in concurrent fault simulation
CN112364600B (zh) 一种处理器微架构设计验证方法
CN111880768B (zh) 一种ip核代码级安全需求描述方法
EP4287027A1 (en) Method and system for generating test cases for an engineering program

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