JP4445517B2 - 回路設計検証方法および回路設計検証のためのプログラム - Google Patents
回路設計検証方法および回路設計検証のためのプログラム Download PDFInfo
- Publication number
- JP4445517B2 JP4445517B2 JP2007128395A JP2007128395A JP4445517B2 JP 4445517 B2 JP4445517 B2 JP 4445517B2 JP 2007128395 A JP2007128395 A JP 2007128395A JP 2007128395 A JP2007128395 A JP 2007128395A JP 4445517 B2 JP4445517 B2 JP 4445517B2
- Authority
- JP
- Japan
- Prior art keywords
- conditional
- circuit
- true
- false
- always
- 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
Links
Images
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
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)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
2.マスタがreq信号をアサート後(S1)、ARBIT状態へ遷移し、スレーブによるack信号のアサート待ちとなる(S2)。
3.スレーブはreq信号のアサートを受け、ARBIT状態へ遷移する(S3)。
4.マスタはreq信号のデアサート後、IDLE状態へ遷移する(S4)(requestキャンセル発生)。
5.スレーブはack信号のアサート後、WAIT_TRANS状態へ遷移し(S5)、データ転送を意味するvalid信号のアサート待ちとなる(S6)。
6.マスタは再びreq信号のアサート後(S7)、ARBIT状態へ遷移し、スレーブによるack信号のアサート待ちとなる(S8)。
7.マスタおよびスレーブは互いに信号のアサートを待ち続けるためにデッドロック状態が発生する(不具合発生)。
コードカバレッジは回路として記述された各コードについて、「このステートメントは実行されたか?」等、コードそのもの実行有無を計測する定義済みのカバレッジ指標である。これはコードとして記述された機能について実行有無の計測に有効である。しかし、記述されていない機能は計測対象外であり、以上のような記述抜けを検出できないことが問題である。
機能カバレッジは「writeの各バースト長のトランザクションは発生したか?」等、実際の機能の実行有無を計測するユーザ定義のカバレッジ指標である。これはユーザによるカバレッジ定義に抜けが無ければ、機能そのものを計測するため有効である。しかし、ユーザによる定義に抜けがある場合、以上のような記述抜けを自動的に検出できないことが問題である。
コンピュータにおいて実行する回路設計検証方法であって、
前記コンピュータが、
1つ以上の条件要素を含む複数の条件文を用いて回路を記述した回路記述を入力する入力ステップと、
前記回路記述を走査して、前記回路記述に含まれる各条件文と、前記各条件文に含まれる条件要素を抽出する抽出ステップと、
前記回路に対するテストデータを用いて前記回路記述をシミュレーション実行して、前記シミュレーション実行の間各前記条件文がそれぞれ成立したときに、前記抽出ステップで抽出されたすべての条件要素のうち前記条件文に含まれる条件要素以外の非条件要素について前記非条件要素が常に真であったか、常に偽であったか、あるいは真と偽の両方があったかを前記条件文ごとに検査し、前記条件文ごとに前記条件文に対応する前記非条件要素がそれぞれ常に真であったか、常に偽であったか、あるいは真と偽の両方があったかの情報を格納したテーブルを生成するテーブル生成ステップと、
前記テーブルにおける各前記条件文のそれぞれについて、前記真と偽の両方があった前記非条件要素は、前記条件文に含めるべき条件要素の候補として示されるものとして前記テーブルを表示する表示ステップと、
を実行し、
前記テーブル生成ステップは、前記テーブルにおける前記条件文と前記非条件要素との組に対応するセル毎に第1モニター変数と第2モニター変数とを設定し、前記シミュレーション実行の間に、前記セルに対応する前記組の非条件要素が1度でも真になったときは前記第1モニター変数に第1値を設定しそれ以外の場合は第2値を設定し、1度でも偽になれば前記第2モニター変数に第1値を設定しそれ以外の場合は第2値を設定し、シミュレーション後、前記第1および第2モニター変数の値を確認し、前記第1モニター変数の値が第1値であり第2モニター変数の値が第2値であれば前記非条件要素は常に真であり、第1モニター変数の値が第2値であり第2モニター変数の値が第1値であれば前記非条件要素は常に偽であり、第1および第2モニター変数の値ともに第1値であれば前記非条件要素は真と偽との両方があったことを決定する、
ことを特徴とする。
図5は本発明の実施形態1としての回路設計検証方法を実行するシステムの構成を示す図である。この回路設計検証方法を実行するための命令コードを記述したプログラムをコンピュータに実行させることにより該システムと同等の機能を実現することも可能である。
この条件文は入れ子構造になっており、この条件文が成立するためには「wr_in_bus==1’b0」が真(すなわち「wr_in_bus==1’b1」が偽)であることの他に、上位の条件文「if(valid_in_bus==1’b1)」における「valid_in_bus==1’b1」が真であることが必要である。よって(2)では条件要素として、「wr_in_bus==1’b0」と「valid_in_bus==1’b1」との両方が検出される。そして、「valid_in_bus==1’b0」は、条件要素集合に含まれる「valid_in_bus==1’b1」と論理が反転している点を除けば同じであるため、(3)では「valid_in_bus==1’b1」に対してF(偽)が記録される(「valid_in_bus==1’b0」に対してT(真)を記録してもよい)。「wr_in_bus==1’b1」は要素条件集合に既に同一のものが記録されているためT(真)が記録される。この結果に基づき、図8に示すテーブルAのセルを埋める。ここでは、stateが「WAIT_TRANS」でnext_stateが「READ1」の行が埋められる。
さらに、条件の抜けと関係の深い「条件文の詳細度合い」(すなわち条件文の成立に対してどれだけ多くの条件要素の真偽成立が影響するか)を条件要素カバレッジとして提示することが可能となり、これによっても検証確度の向上が期待される。
図10は本発明の実施形態2としての回路設計検証方法を実行するシステムの構成を示す図である。この回路設計検証方法を実行するための命令コードを記述したプログラムをコンピュータに実行させることにより該システムと同等の機能を実現することも可能である。
図14は本発明の実施形態3−1としての回路設計検証方法を実行するシステムの構成を示す図である。この回路設計検証方法を実行するための命令コードを記述したプログラムをコンピュータに実行させることにより該システムと同等の機能を実現することも可能である。
図17は本発明の実施形態3−2としての回路設計検証方法を実行するシステムの構成を示す図である。この回路設計検証方法を実行するための命令コードを記述したプログラムをコンピュータに実行させることにより該システムと同等の機能を実現することも可能である。
図20は本発明の実施形態4としての回路設計検証方法を実行するシステムの構成を示す図である。この回路設計検証方法を実行するための命令コードを記述したプログラムをコンピュータに実行させることにより該システムと同等の機能を実現することも可能である。
図21は本発明の実施形態5としての回路設計検証方法を実行するシステムの構成を示す図である。この回路設計検証方法を実行するための命令コードを記述したプログラムをコンピュータに実行させることにより該システムと同等の機能を実現することも可能である。
A) 不一致:「不変」から「可変」
(Ta、Fa) =(cover、 not cover)あるいは(not cover、 cover)、(Tb、Fb) =(cover、 cover)の場合、新規開発システム回路において再利用モジュールの機能不足すなわち記述抜けの可能性が高いことを検出する。
B) 不一致:「可変」から「不変」
(Ta、Fa) =(cover、 cover)、(Tb、Fb) = (cover、 not cover)あるいは(not cover、 cover)の場合、再利用モジュール以外のモジュール(たとえば図1の再利用モジュールの前段のマスタ)において何らかの機能変更がされた可能性が高いことを検出する。
C) 不一致:「不変」から「不変」(反転)
(Ta、Fa) =(cover、 not cover)、(Tb、Fb) = (not cover、 cover)あるいは(Ta、Fa) =(not cover、 cover)、(Tb、Fb) = (cover、 not cover)の場合、再利用モジュール以外のモジュール(たとえば図1の再利用モジュールの前段のマスタ)において何らかの機能変更がされた可能性が高いことを検出する。
2:テーブル作成・表示手段
3:カバレッジ値算出・表示手段
4:モニター用回路記述生成手段
5:モニター用回路記述
6:シミュレーション手段
7:可変性計測・表示手段
8:テストベンチ記述
9:プロパティ記述
10:チェック用命令記述生成手段
11:回路記述
12:チェック用命題記述
13:プロパティチェック手段
14:可変性計測・表示手段
15:チェック用命題記述生成手段
16:チェック用命題記述
17:命題自動生成手段
18:チェック用命題記述
21:機能変更箇所検出・表示手段
22:機能変更箇所検出データ
A、B1、B2、B3、B−a、B−b:テーブル
Claims (5)
- コンピュータにおいて実行する回路設計検証方法であって、
前記コンピュータが、
1つ以上の条件要素を含む複数の条件文を用いて回路を記述した回路記述を入力する入力ステップと、
前記回路記述を走査して、前記回路記述に含まれる各条件文と、前記各条件文に含まれる条件要素を抽出する抽出ステップと、
前記回路に対するテストデータを用いて前記回路記述をシミュレーション実行して、前記シミュレーション実行の間各前記条件文がそれぞれ成立したときに、前記抽出ステップで抽出されたすべての条件要素のうち前記条件文に含まれる条件要素以外の非条件要素について前記非条件要素が常に真であったか、常に偽であったか、あるいは真と偽の両方があったかを前記条件文ごとに検査し、前記条件文ごとに前記条件文に対応する前記非条件要素がそれぞれ常に真であったか、常に偽であったか、あるいは真と偽の両方があったかの情報を格納したテーブルを生成するテーブル生成ステップと、
前記テーブルにおける各前記条件文のそれぞれについて、前記真と偽の両方があった前記非条件要素は、前記条件文に含めるべき条件要素の候補として示されるものとして前記テーブルを表示する表示ステップと、
を実行し、
前記テーブル生成ステップは、前記テーブルにおける前記条件文と前記非条件要素との組に対応するセル毎に第1モニター変数と第2モニター変数とを設定し、前記シミュレーション実行の間に、前記セルに対応する前記組の非条件要素が1度でも真になったときは前記第1モニター変数に第1値を設定しそれ以外の場合は第2値を設定し、1度でも偽になれば前記第2モニター変数に第1値を設定しそれ以外の場合は第2値を設定し、シミュレーション後、前記第1および第2モニター変数の値を確認し、前記第1モニター変数の値が第1値であり第2モニター変数の値が第2値であれば前記非条件要素は常に真であり、第1モニター変数の値が第2値であり第2モニター変数の値が第1値であれば前記非条件要素は常に偽であり、第1および第2モニター変数の値ともに第1値であれば前記非条件要素は真と偽との両方があったことを決定する、
ことを特徴とする回路設計検証方法。 - コンピュータにおいて実行する回路設計検証方法であって、
前記コンピュータが、
1つ以上の条件要素を含む複数の条件文を用いて回路を記述した回路記述を入力する入力ステップと、
前記回路記述を走査して、前記回路記述に含まれる各条件文と、前記各条件文に含まれる条件要素を抽出する抽出ステップと、
前記回路に対するテストデータを用いて前記回路記述をシミュレーション実行して、前記シミュレーション実行の間各前記条件文がそれぞれ成立したときに、前記抽出ステップで抽出されたすべての条件要素のうち前記条件文に含まれる条件要素以外の非条件要素について前記非条件要素が常に真であったか、常に偽であったか、あるいは真と偽の両方があったかを前記条件文ごと検査し、前記条件文ごとに前記条件文ごとに前記条件文に対応する前記非条件要素がそれぞれ常に真であったか、常に偽であったか、あるいは真と偽の両方があったかの情報を記述したテーブルを生成するテーブル生成ステップと、
前記テーブルにおける各前記条件文のそれぞれについて、前記真と偽の両方があった前記非条件要素は、前記条件文に含めるべき条件要素の候補として前記テーブルを表示する表示ステップと、
を実行し、
前記テーブル生成ステップは、前記回路記述における各前記条件文のそれぞれに対応する前記非条件要素毎に、前記条件文が真である間は常に真であるという第1命題と、前記条件文が真の間は常に偽であるという第2命題とを作成して前記回路記述に追加し、前記シミュレーション実行により各前記第1および第2命題の正否を確認し、前記第1命題が成立し前記第2命題が成立しなかったときは前記非条件要素は常に真であり、前記第1命題が成立せず前記第2命題が成立したときは前記非条件要素は常に偽であり、前記第1命題および第2命題のいずれも成立したときは前記非条件要素は真と偽との両方があったことを決定する
ことを特徴とする回路設計検証方法。 - 前記コンピュータは、
再利用モジュールを含む第1の回路を記述した第1の回路記述に基づき前記再利用モジュールについて生成した第1のテーブルと、前記再利用モジュールを含み、前記再利用モジュール以外の構成に関しては前記第1の回路と異なる第2の回路を記述した第2の回路記述に基づき前記再利用モジュールについて生成した第2のテーブルとを比較する、比較ステップと、
前記第1のテーブルと前記第2のテーブルとの間で前記情報が不一致である、条件文と非条件要素との組とを検出する検出ステップと、
前記検出ステップで検出した組と、前記第1および第2のテーブルのそれぞれにおける前記検出した組の前記非条件要素の前記情報とを表示する表示ステップと
をさらに実行し、
前記第1のテーブルにおける前記検出した組の前記非条件要素の前記情報が常に偽または真であることを示し、かつ前記第2のテーブルにおける前記検出した組の前記非条件要素の前記情報が真と偽の両方があったことを示すときは、前記検出した組の前記非条件要素を前記検出した組の前記条件文に含めるべき条件要素の候補として示される
ことを特徴とする請求項1または2記載の回路設計検証方法。 - 前記回路記述は、前記複数の条件文の成否に基づいて複数の各状態の遷移を表した状態遷移マシンの記述を含み、
前記抽出ステップは、前記状態遷移マシンの記述に含まれる条件文と前記条件文に含まれる条件要素とを抽出し、
前記テーブル生成ステップは、前記シミュレーション実行において、状態の遷移が起こるために成立することが必要な条件文が成立したことを検出したときに前記条件文に対応する前記非条件要素がそれぞれ常に真であったか、常に偽であったか、あるいは真と偽の両方があったかを検査することを特徴とする請求項1ないし3のいずれか一項に記載の回路設計検証方法。 - 請求項1〜4のいずれか一項に記載の各ステップを前記コンピュータに実行させるための回路設計検証のためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007128395A JP4445517B2 (ja) | 2007-05-14 | 2007-05-14 | 回路設計検証方法および回路設計検証のためのプログラム |
US12/117,018 US20080288902A1 (en) | 2007-05-14 | 2008-05-08 | Circuit design verification method and apparatus and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007128395A JP4445517B2 (ja) | 2007-05-14 | 2007-05-14 | 回路設計検証方法および回路設計検証のためのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008282351A JP2008282351A (ja) | 2008-11-20 |
JP4445517B2 true JP4445517B2 (ja) | 2010-04-07 |
Family
ID=40028795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007128395A Expired - Fee Related JP4445517B2 (ja) | 2007-05-14 | 2007-05-14 | 回路設計検証方法および回路設計検証のためのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080288902A1 (ja) |
JP (1) | JP4445517B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429637B2 (en) | 2008-09-02 | 2013-04-23 | Apple Inc. | System and method for conditional expansion obfuscation |
US8589897B2 (en) * | 2008-08-26 | 2013-11-19 | Apple Inc. | System and method for branch extraction obfuscation |
JP5287058B2 (ja) * | 2008-09-08 | 2013-09-11 | 富士通株式会社 | 検証支援プログラム、検証支援装置および検証支援方法 |
JP5267434B2 (ja) * | 2009-11-19 | 2013-08-21 | 富士通株式会社 | 検証支援プログラム、検証支援装置および検証支援方法 |
JP2011186817A (ja) * | 2010-03-09 | 2011-09-22 | Toshiba Corp | 論理検証装置及び論理検証方法 |
JP6053581B2 (ja) * | 2013-03-13 | 2016-12-27 | 三菱電機株式会社 | 電子回路解析装置、電子回路解析方法および電子回路解析プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL132058A (en) * | 1999-09-23 | 2003-12-10 | Ibm | Identification of missing properties in model checking |
JP2002073719A (ja) * | 2000-08-31 | 2002-03-12 | Hitachi Ltd | 回路動作モデル記述の生成方法および論理設計検証装置 |
JP3848157B2 (ja) * | 2001-12-27 | 2006-11-22 | 株式会社東芝 | Lsi設計検証装置、lsi設計検証方法、及びlsi設計検証プログラム |
JP2006201980A (ja) * | 2005-01-19 | 2006-08-03 | Fujitsu Ltd | カバレッジ評価装置、カバレッジ評価方法、カバレッジ評価プログラム、および記録媒体 |
-
2007
- 2007-05-14 JP JP2007128395A patent/JP4445517B2/ja not_active Expired - Fee Related
-
2008
- 2008-05-08 US US12/117,018 patent/US20080288902A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2008282351A (ja) | 2008-11-20 |
US20080288902A1 (en) | 2008-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417504B2 (en) | Conversion of circuit description to a transaction model | |
US6591403B1 (en) | System and method for specifying hardware description language assertions targeting a diverse set of verification tools | |
US6651228B1 (en) | Intent-driven functional verification of digital designs | |
JP4445517B2 (ja) | 回路設計検証方法および回路設計検証のためのプログラム | |
US20070156378A1 (en) | System and method for verification aware synthesis | |
US9208272B2 (en) | Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design | |
Le et al. | Automatic TLM fault localization for SystemC | |
Wille et al. | Debugging of inconsistent UML/OCL models | |
US8826201B1 (en) | Formal verification coverage metrics for circuit design properties | |
US7461326B2 (en) | Information processing method capable of detecting redundant circuits and displaying redundant circuits in the circuit design process | |
US7888971B2 (en) | Verification support system and method | |
US20220075920A1 (en) | Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results | |
US8762907B2 (en) | Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level | |
US10515169B1 (en) | System, method, and computer program product for computing formal coverage data compatible with dynamic verification | |
US9792394B2 (en) | Accurate glitch detection | |
US20220382943A1 (en) | Identifying association of safety related ports to their safety mechanisms through structural analysis | |
US20220269846A1 (en) | Structural analysis for determining fault types in safety related logic | |
US10909290B2 (en) | Method of detecting a circuit malfunction and related device | |
US7835899B2 (en) | Sequential logic in simulation instrumentation of an electronic system | |
US20210064790A1 (en) | Scalable formal security verification of circuit designs | |
CN112364600B (zh) | 一种处理器微架构设计验证方法 | |
US9547568B2 (en) | Method and apparatus for verifying circuit design | |
US10546083B1 (en) | System, method, and computer program product for improving coverage accuracy in formal verification | |
US9047428B2 (en) | Determining method, computer product, and determining apparatus | |
US20240046014A1 (en) | Process to relay knowledge and guide synthesis alongside early detection of logic optimizations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090318 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090811 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091005 |
|
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: 20091218 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130122 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |