JP5001190B2 - Lsi設計検証システム、lsi設計検証方法およびそのプログラム - Google Patents
Lsi設計検証システム、lsi設計検証方法およびそのプログラム Download PDFInfo
- Publication number
- JP5001190B2 JP5001190B2 JP2008033178A JP2008033178A JP5001190B2 JP 5001190 B2 JP5001190 B2 JP 5001190B2 JP 2008033178 A JP2008033178 A JP 2008033178A JP 2008033178 A JP2008033178 A JP 2008033178A JP 5001190 B2 JP5001190 B2 JP 5001190B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- path
- function
- lsi design
- design verification
- 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
Description
しかしながら、本課題であるパスの活性化を図る入力パターン生成は、レジスタを介した順序回路におけるパターン探索であり、入力変数を記号化させて保有しシミュレーションを実施する手法が課題を解決する。別の言い方をすれば、順序回路における探索を必要とする状況が今まで強く求められていなかった、と言うことも出来る。
尚、活性化とは、「ある文または文節において、その文または文節における入力変数が変化することにより、文または文節の信号値が初期状態から脱却すること」である。また、「一旦初期状態から脱却した文または文節において、再度その文または文節の入力変数が変化することにより、異なる状態へ遷移すること」も活性化と称する。
さらに、入力手段から入力される入力データを判読して外部からの指示を判定する指示判定手段を有することを特徴とする。
前記探索手段、データ構造作成手段、指示判定手段は、演算処理部によって構成することができる。
探索手段は、RTL言語にて記述されたLSI設計内容の検討に際して、前記記憶手段に記憶された入力変数を用いて、前記RTL言語上のある指定された文または文節を活性化させるための入力パターンを探索する。
また、前記探索手段は、前記入力変数を記号化して保有し、この記号を用いたシミュレーションによって前記確定されたパスを活性化する記号シミュレーション機能を備えるように構成してもよい。
また、前記探索手段は、前記確定されたパスを活性化する入力記号パターンから数値化された入力パターンを生成する入力パターン生成機能を備えるように構成してもよい。
また、更に、前記RTL言語で記述された文をデータ構造で表現するデータ構造作成手段を備えるように構成してもよい。
また、前記順序回路データベース作成機能は、前記順序回路を、等価回路接続グラフ表示または制御データフローグラフ表示またはシステム依存グラフ表示またはそれらの組み合わせで表す機能を備えるように構成してもよい。
また、前記指示判定手段は、前記入力データから活性化させたい文あるいは文節または活性化させたい文あるいは文節を含むパスの指定を判定する活性化判断機能を有するように構成してもよい。
また、前記記憶手段に記憶される内容には、演算処理部で実行されることによって前記記憶手段を除く各手段を構成するプログラム群と、前記演算処理部に入力手段から入力される入力データと入力変数、前記RTL言語にて記述された設計内容、前記演算処理部から入出力される中間データおよび出力される入力パターンが含まれるように構成してもよい。
ここで、前記活性化実施工程の後で、シミュレーションを実行して活性化がカバーされなかった領域に対応するRTL言語上の領域を活性化が必要な領域として指定し前記活性化判断工程に送るカバレッジ工程を更に備えるように構成してもよい。
また、本発明に係るLSI設計検証用のプログラムによれば、コンピュータを用いて、前記LSI検証システム、LSI設計検証方法を実現することが可能になる。
図1は、本発明のLSI設計検証システムの一実施形態の機能ブロック図である。
本システム10は、演算処理部11と記憶手段12と表示装置13、マウス装置14およびキーボード装置15などからなる入出力手段を含んで構成されている。
本実施の形態は、記憶手段12を装着した演算処理部(プロセッサ)11上で走行するプログラム群から構成される。
尚、表示装置13は出力手段を構成し、又、表示手段13、マウス装置14及びキーボード装置15は入力手段を構成している。
尚、活性化とは前述したように、「ある文または文節において、その文または文節における入力変数が変化することにより、文または文節の信号値が初期状態から脱却すること」である。また、「一旦初期状態から脱却した文または文節において、再度その文または文節の入力変数が変化することにより、異なる状態へ遷移すること」も活性化と称する。
以下、実際の処理の説明に沿ってこれらの構成の機能を詳細に説明して行く。
ここではRTL言語としてVerilogを用いて説明する。入力変数としては、a,bの他にclk(クロック)がある。a,bは各々16ビットデータであるが、aが負である場合にはaを反転させてからaとbを加算し、加算結果を16ビットレジスタsumに格納する動作を記述している。従って、データaはデータのみならず反転するか否かの制御にも関係している。
このようにRTL言語はハードウエア記述言語である所から、ブロックダイヤグラムにて表示解釈される事が多い。ここでは等価回路接続グラフの形式にてブロックダイヤグラムが表示されており、図3に示したASTが示されている。このように本実施の形態における等価回路接続グラフを用いれば、ASTを介して設計者とソースコードにて会話することが容易である。
カバレッジには二種類ある。まず、RTL言語シミュレーションを行った結果、動作したソースコード部分をマークして(カバーされたという意味)どこがカバーされたかを示すコードカバレッジ機能であり、通常の市販RTL言語シミュレータにはオプションで装着されている。
(1)まず、ステップS101で、RTL言語を読み込んでノードの集合であるASTを経由してソースコードと対応が可能な順序回路データベースを作成する(請求項13に示すデータベース作成工程に相当する。以下同様な内容を工程の表示のみで表す)。これは図1のデータ構造作成手段112に含まれる順序回路データベース作成機能112bによって実現される。この際には、assign文やalways文から展開された各文は実行順番が一意に確定する順番構造を持って作成される。ここで内部データ表現は、SDG、CDF、または等価回路接続グラフ、またはその組み合わせのいずれでも構わない。
この会話型の指定のほか、後述するステップS107で、カバレッジ機能111dによっても活性化が必要な部分を判定して自動的に指定を実行させることも可能である。
この後、ステップS106で、カバレッジ機能を実行するかどうかを判断し、実行する場合はステップS107でカバーされなかった領域を判定する。ついで、ステップS108で、このカバレッジ機能や会話型の判定によって活性化されていない文やパスが残っているかどうかを判断する。活性化されていない文やパスがある場合には、ステップS102に戻って以降の作業を繰り返す。
こうして出力されるシミュレーション入力パターンも、通常はRTL言語にて言語形式が規定されているので、含めてRTL言語と称する事が多い。
パスとは、入力変数とレジスタ変数からターゲットまでのデータ伝播のルートである。ここでは、入力変数群とレジスタ変数群から中間実行文またはノード1、3を経てターゲットに到達し、中間実行文またはノード4を経て結果を出力変数群に伝播させるルートを示している。そうしたターゲットを活性化させた後に結果を出力変数にまで伝播させる場合である。もちろん、ターゲットを活性化させた結果、レジスタやメモリに結果が格納されればそれで検証上は充分である場合も多い。
ここで、既に後方探索にて出現しているレジスタ変数に遭遇した場合には、ステップS208に進み、パスとしては新規なものかどうかを調べ、パスとして新規な場合はステップS209に進む。パスとして新規でない場合は、通常は設計者との対話により後方探索を続行するか否かを決定する。それは、例えばカウンタに遭遇したような場合、カウンタを進めるパスを繰り返すような探索となる可能性があるからである。
このような複雑な順序回路性に基づく条件分岐の条件の確定や、探索途上において複数のルートが存在するような場合は、パスの確定においてもメモリと処理時間の爆発を招きかねない。
図17は、パスと中間ノードの関係を示す図である。ここでは、入力変数やレジスタ変数からターゲット文に至るパスと、その中間に出現する条件文を示している。パスが確定した暁には、中間に出現する条件分岐のパス活性化条件は確定している事になる。
このようなモジュール間の親子関係はモジュール階層化ウィンドウにて表示される。この例ではグラフィカルなイメージにて表示しているが、親子関係なので左から右に親から子を示すダイアログボックスのイメージにて表示することも可能である。
ステップS301で、入力変数とレジスタ変数に初期化記号値を設定して前方へ信号を伝達させる。即ち前方探索により信号値を確定させて行く訳であるが、記号シミュレーションなので論理式で信号値を持つ形式に近い。従って、データ量は膨大となる。ここで、必要な探索空間のみに絞るパスの概念が必要とされるのである。
レジスタ変数に値を設定することにより、記号シミュレーションのデータ量を削減したり、ターゲットを活性化させるまでのサイクル数を削減することができる。
ここでの初期値設定文は、Verilogの文法であり、文中ではシミュレーション入力パターンの一部とみなされる。
11 演算処理部
12 記憶手段
13 表示装置
14 マウス装置
15 キーボード装置
111 探索手段
112 データ構造作成手段
113 指示判定手段
114 制御手段
121 プログラム群
122 RTL言語ソースコード
123 入力データ・入力変数
124 中間データ
125 出力データ
Claims (12)
- LSIの設計検証を行うLSI設計検証システムにおいて、
少なくとも入力変数を記憶する記憶手段と、
RTL言語にて記述されたLSI設計内容の検討に際して、前記記憶手段に記憶された入力変数を用いて、前記RTL言語上のある指定された文または文節を活性化させるための入力パターンを探索する探索手段を備えて成り、
前記探索手段は、前記RTL言語上のある指定された文または文節を含むパスを確定する後方検索機能と、前記入力変数を記号化して保有し、この記号を用いたシミュレーションによって前記確定されたパスを活性化する記号シミュレーション機能と、前記確定されたパスを活性化する入力記号パターンから数値化された入力パターンを生成する入力パターン生成機能とを備えることを特徴とするLSI設計検証システム。 - 請求項1に記載のLSI設計検証システムにおいて、
前記探索手段は、前記記号シミュレーションの結果によって活性化がカバーされた領域とされなかった領域に対応するRTL言語上の領域を調べ、カバーされなかった領域を活性化が必要な領域として指定するカバレッジ機能を備えることを特徴とするLSI設計検証システム。 - 請求項1又は2に記載のLSI設計検証システムにおいて、
更に、前記RTL言語で記述された文をデータ構造で表現するデータ構造作成手段を備えたことを特徴とするLSI設計検証システム。 - 請求項3に記載のLSI設計検証システムにおいて、
前記データ構造作成手段は、文を文節に分解しその因果関係をデータ構造で表す文節データ構造作成機能と、この文節データ構造作成機能にて文節に分解された前記RTL言語で記述された文を対応する順序回路に変改して順序回路データベースとして表す順序回路データベース作成機能を有することを特徴とするLSI設計検証システム。 - 請求項4に記載のLSI設計検証システムにおいて、
前記順序回路データベース作成機能は、前記順序回路を、等価回路接続グラフ表示または制御データフローグラフ表示またはシステム依存グラフ表示またはそれらの組み合わせで表す機能を備えることを特徴とするLSI設計検証システム。 - 請求項1乃至5のいずれか1項に記載のLSI設計検証システムにおいて、
データを入力する入力手段を有し、
前記入力手段から入力される入力データを判読して外部からの指示を判定する指示判定手段を有することを特徴とするLSI設計検証システム。 - 請求項6に記載のLSI設計検証システムにおいて、
前記指示判定手段は、前記入力データから活性化させたい文あるいは文節または活性化させたい文あるいは文節を含むパスの指定を判定する活性化判断機能を有することを特徴とするLSI設計検証システム。 - 請求項6に記載のLSI設計検証システムにおいて、
前記指示判定手段は、前記入力データをレジスタ変数として設定するレジスタ変数設定機能を有し、前記記号シミュレーション機能は前記設定されたレジスタ変数を用いて記号シミュレーションを行うことを特徴とするLSI設計検証システム。 - 請求項1に記載のLSI設計検証システムにおいて、
前記記憶手段に記憶される内容には、演算処理部で実行されることによって前記記憶手段を除く手段を構成するプログラム群と、前記演算処理部に入力手段から入力される入力データと入力変数、前記RTL言語にて記述された設計内容、前記演算処理部から入出力される中間データおよび出力される入力パターンが含まれることを特徴とするLSI設計検証システム。 - LSIの設計の検証を行うLSI設計検証方法において、
設計内容を示すRTL言語を読み込んで順序回路データベースを作成するデータベース作成工程と、
入力された入力データから活性化したい文または文節の指定を判断する活性化判断工程と、
入力された入力データから前記活性化判断工程で判定された活性化したい文または文節を含むパスを確定するパス活性化確定工程と、
必要に応じて入力された入力データからレジスタ変数の初期値を設定するレジスタ変数設定工程と、
前記パス活性化確定工程で確定したパスに記号シミュレーションを実行して前記確定したパスの活性化を行う活性化実施工程と、
前記活性化実施工程で前記確定したパスに活性化させた入力パターンを数値化して出力する入力パターン出力工程とを備えたことを特徴とするLSI設計検証方法。 - 請求項10に記載のLSI設計検証方法において、
前記活性化実施工程の後で、シミュレーションを実行して活性化がカバーされなかった領域に対応するRTL言語上の領域を活性化が必要な領域として指定し前記活性化判断工程に送るカバレッジ工程を更に備えることを特徴とするLSI設計検証方法。 - コンピュータに、
記憶手段から設計内容を示すRTL言語を読み込んで順序回路データベースを作成するデータベース作成機能と、入力された入力データから活性化したい文または文節の指定を判断する活性化判断機能と、入力された入力データから前記活性化判断機能で判定された活性化したい文または文節を含むパスを確定するパス活性化確定機能と、必要に応じて入力された入力データからレジスタ変数の初期値を設定するレジスタ変数設定機能と、前記パス活性化確定機能で確定したパスに記号シミュレーションを実行して前記確定したパスの活性化を行う活性化実施機能と、前記活性化実施機能で前記確定したパスに活性化させた入力パターンを数値化して出力する入力パターン出力機能とを実行させることを特徴とするLSI設計検証プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008033178A JP5001190B2 (ja) | 2008-02-14 | 2008-02-14 | Lsi設計検証システム、lsi設計検証方法およびそのプログラム |
PCT/JP2009/052221 WO2009101934A1 (ja) | 2008-02-14 | 2009-02-10 | Lsi設計検証システム、lsi設計検証方法およびそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008033178A JP5001190B2 (ja) | 2008-02-14 | 2008-02-14 | Lsi設計検証システム、lsi設計検証方法およびそのプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009193318A JP2009193318A (ja) | 2009-08-27 |
JP2009193318A5 JP2009193318A5 (ja) | 2011-02-10 |
JP5001190B2 true JP5001190B2 (ja) | 2012-08-15 |
Family
ID=40956966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008033178A Expired - Fee Related JP5001190B2 (ja) | 2008-02-14 | 2008-02-14 | Lsi設計検証システム、lsi設計検証方法およびそのプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5001190B2 (ja) |
WO (1) | WO2009101934A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20095885A0 (fi) * | 2009-08-27 | 2009-08-27 | Martti Venell | Menetelmä integroidun piirin suunnittelun verifioimiseksi verifiointiympäristössä |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05151295A (ja) * | 1991-11-26 | 1993-06-18 | Hokuriku Nippon Denki Software Kk | テストパタン判定装置および方法 |
JPH1063537A (ja) * | 1996-08-21 | 1998-03-06 | Fujitsu Ltd | プロパティ検証方法および装置 |
US7665067B2 (en) * | 2003-09-15 | 2010-02-16 | Cadence Design (Israel) Ii Ltd. | Method and system for automatically creating tests |
JP2006106865A (ja) * | 2004-09-30 | 2006-04-20 | Nec Corp | 論理回路設計検証装置および方法、プログラム |
-
2008
- 2008-02-14 JP JP2008033178A patent/JP5001190B2/ja not_active Expired - Fee Related
-
2009
- 2009-02-10 WO PCT/JP2009/052221 patent/WO2009101934A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2009193318A (ja) | 2009-08-27 |
WO2009101934A1 (ja) | 2009-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Boulton et al. | Experience with embedding hardware description languages in HOL. | |
Barbacci | Instruction set processor specifications (ISPS): The notation and its applications | |
US8141011B1 (en) | Hardware description language code generation from a state diagram | |
US6289502B1 (en) | Model-based software design and validation | |
WO2012032890A1 (ja) | ソースコード変換方法およびソースコード変換プログラム | |
Wood et al. | A model-driven development approach to mapping UML state diagrams to synthesizable VHDL | |
JP2001142937A (ja) | 回路のスケジューリング正当性チェック方法及びスケジュール検証方法 | |
US20030023950A1 (en) | Methods and apparatus for deep embedded software development | |
US5949993A (en) | Method for the generation of ISA simulators and assemblers from a machine description | |
US11314225B2 (en) | Systems and methods for evaluating assessments | |
EP1784749A2 (en) | Method and system for designing a structural level description of an electronic circuit | |
de Sousa et al. | Automatic analysis of requirements consistency with the B method | |
Devarajegowda et al. | Meta-model based automation of properties for pre-silicon verification | |
JP5001190B2 (ja) | Lsi設計検証システム、lsi設計検証方法およびそのプログラム | |
Bensaid et al. | Work in progress: Automatic construction of pipeline datapaths from high-level HDL code | |
Sadasue et al. | LLVM-C2RTL: C/C++ Based System Level RTL Design Framework Using LLVM Compiler Infrastructure | |
JP2006190085A (ja) | デジタル回路のモデリング方法及び設計方法 | |
Urdahl et al. | Architectural system modeling for correct-by-construction RTL design | |
Mishchenko et al. | New functionalities of the system for processing natural language specifications and its operating environment | |
Javaheri et al. | Synthesis of Regular Expressions Revisited: From PSL SEREs to Hardware | |
Carvalho et al. | Modelling and testing timed data-flow reactive systems in Coq from controlled natural-language requirements | |
Lovic et al. | HDLRuby: A Ruby Extension for Hardware Description and its Translation to Synthesizable Verilog HDL | |
Sandal et al. | Zero-Shot RTL Code Generation with Attention Sink Augmented Large Language Models | |
Morin-Allory et al. | Fast prototyping from assertions: A pragmatic approach | |
Pierre | Auxiliary Variables in Temporal Specifications: Semantic and Practical Analysis for System-Level Requirements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101216 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120421 |
|
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: 20120515 |
|
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: 20120517 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150525 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |