JP4992468B2 - 検証方法、検証装置及びプログラム - Google Patents
検証方法、検証装置及びプログラム Download PDFInfo
- Publication number
- JP4992468B2 JP4992468B2 JP2007046775A JP2007046775A JP4992468B2 JP 4992468 B2 JP4992468 B2 JP 4992468B2 JP 2007046775 A JP2007046775 A JP 2007046775A JP 2007046775 A JP2007046775 A JP 2007046775A JP 4992468 B2 JP4992468 B2 JP 4992468B2
- Authority
- JP
- Japan
- Prior art keywords
- delay
- delay information
- circuit
- wiring
- information
- 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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Description
図ではさらに、生成した各種のデータを記憶するデータベース80、81、82、83を示している。
次に、ネットリストとRTLでの回路記述とのフォーマル検証(論理等価検証)を行い、生成したネットリストとRTLの論理が等価であることを確認する(ステップS83)。論理が等価でない場合には、ステップS80に戻り再度RTLでの回路記述を行う。
このような、従来の回路設計/検証の工程において、非同期検証は、従来RTLの段階(ステップS81)で行われることが多い(例えば、特許文献1乃至4参照)。
図14(A)で示すRTL記述は、クロック信号CK1の立ち上がりに同期して、Aが1であるならば、CにBの値を代入することを表している。このとき、AからCのパスは1つであるにも拘わらず、論理合成によって生成される2種類のクロック信号CK1(100MHz)、CK2(200MHz)を有する非同期回路では、図14(B)のように、A_regからC_reg間のパスは、2つとなる場合がある。すなわち、A_regから、OR_1、AND_1を介してC_regに至るパスと、A_regから、INV_1、OR_2、AND_1を介してC_regに至るパスである。この場合、以下のような誤動作が生じる場合がある。
論理合成で生成された、図14(B)で示した非同期回路のシミュレーション結果を示している。なお、B_regの出力信号であるB_reg.Qは0として図示を省略している。各信号は、図14(B)と対応している。
図1は、本実施の形態の検証装置の概略を示す概念図である。
検証装置1は、論理合成手段2、抽出手段3、遅延情報加工手段4、シミュレーション手段5を有している。また、データベース10、11、12、13、14はそれぞれ、RTL記述の回路情報、ネットリスト、遅延情報、非同期回路部、非同期検証用遅延情報を記憶する記憶手段である。なお、図1では複数のデータベース10〜14を示しているが、1つの記憶手段としてもよい。
抽出手段3は、データベース11に記憶されたネットリストから遅延情報と、非同期回路部を抽出する。
シミュレーション手段5は、加工された遅延情報(非同期検証用遅延情報)をもとに非同期回路の検証を行う。
検証装置1は、例えば、コンピュータ20であり、CPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、HDD(Hard Disk Drive)24、グラフィック処理部25、入力I/F(Interface)26、通信I/F27などによって構成され、これらはバス28を介して相互に接続されている。
RAM23は、CPU21が実行途中のプログラムや、演算途中のデータを記憶する。
HDD24は、CPU21が実行するOS(Operation System)や、プロジェクトを管理するプログラムや、各種アプリケーションプログラム、各種データを格納する。また、図1で示したデータベース10〜14が作成されるようにしてもよい。
通信I/F27は、例えば、企業内のLAN(Local Area Network)やWAN(Wide Area Network)や、インターネットなどのネットワーク27aと接続して、他のコンピュータなどとの通信を行う。
以下、図1の検証装置の動作を説明する。
まず、遅延情報加工手段4は、抽出した遅延情報から遅延情報を加工する回路セルを選択する(ステップS10)。
ここでは、図14(B)で示したような非同期回路の遅延情報を示している。遅延情報は、回路セルごとの記述になっている。上から3つは、フリップフロップ(F/F)の回路セルの遅延情報が記述されており、図14(B)のA_reg、B_reg、C_regに対応している。F/Fの回路セルの記述に続いて、INV_1、OR_1、OR_2、AND_1の遅延情報が記述されている。
次に、選択した回路セルがF/Fセルであるか否か判定する(ステップS12)。F/Fセルではない場合には、ステップS16の処理に進む。F/Fセルである場合には、更にそのF/Fセルが非同期回路部の受け側か否かを判定する(ステップS13)。例えば、図14(B)のような非同期回路の場合、互いに異なるクロック信号CK1、CK2で駆動しているA_regとC_regによる非同期回路部のうち、情報の受信側は、C_regである。
ここで、入力端子側の配線遅延値を1psに変更する理由は、デルタ遅延対策のためである。デルタ遅延とは、F/Fのクロック信号の立ち上がりタイミングと入力されるデータの変化のタイミングが全く同じであったとき、シミュレータやライブラリ環境によって、データが変化前の値に判断される場合と、変化後の値に判断される場合があり、シミュレーション結果が不確定な状態になることをいう。なお、1psに限定する必要はなく、0より大きい、最小設定値を用いる。
図5は、B_regにおけるデルタ遅延による誤動作と、デルタ遅延対策を説明する図である。
ステップS13の処理で、選択した回路セルが非同期回路部の受け側のF/Fセルであると判定された場合には、この回路セルの入力端子に接続された配線の遅延値を、信号の立ち上がり(rise)及び立ち下がり(fall)両方の値とも変更する(ステップS15)。
(1)rise側:クロック1周期−1ps、fall側:1ps
(2)rise側:1ps、fall側:クロック1周期−1ps
(3)両側:クロック1周期−1ps
(4)両側:1ps
例えば、図14(B)のC_regの場合には、DATA端子側の配線遅延値を、上記の方法で変更させたSDFの遅延情報ファイルを4つ作成する。このように遅延情報を加工することで、非同期回路部による誤動作発生期間を引き延ばすことができ、後述のシミュレーションの際に、容易に誤動作を検出することができる(詳細は後述する)。
ステップS16の処理では、全回路セルについて遅延情報の加工が終了したか否かを判定し、未加工の回路セルがある場合にはステップS10からの処理を繰返し、全回路セルについて加工が終了していれば、加工処理を終了する。加工し終わった遅延情報は、非同期検証用遅延情報として、図1のデータベース14に記憶される。
ここでは、図4で示した加工前の遅延情報を、上記の4つの加工方法により作成した遅延情報ファイルのうち、(2)の方法で加工した遅延情報ファイルの内容の一部を示している。
図7は、加工後の遅延情報を用いたシミュレーション結果を示す図である。
図8は、C_regにおけるデルタ遅延による誤動作と、デルタ遅延対策を説明する図である。
ところで、図7のようにハザードを引き延ばしても、クロック信号CK1のタイミングによっては、誤動作が検出されない場合がある。
上記の(1)や(2)の方法で加工した遅延情報を用いた場合、2psだけ誤動作が発生しない期間がある。そのため、図9のようなタイミングでクロック信号CK1が入力された場合、クロック信号CK1の立ち上がりエッジが、C_reg.DATAが1の期間に入らない。そこで、クロック信号CK1を反転させたクロック信号CK1xでのシミュレーションをもう1回行うことで、クロック信号CK1の位相を少しずつ可変して何回も調整しなくとも、確実に誤動作を検出することができる。なお、クロック信号CK1xは反転させたクロック信号CK1でなくても、クロック信号CK1を2ps以上位相を移動させたクロック信号であればよい。
図10は、非同期回路の他の例を示す図であり、(A)がRTL記述を示し、(B)が論理合成後のネットリストで表される非同期回路を示す図である。
論理合成で生成された、図10で示した非同期回路のシミュレーション結果を示している。なお、B_reg.Qは0として図示を省略している。各信号は、図10(B)と対応している。
遅延情報加工手段4は、図3で示したような遅延情報の加工処理を行う。ステップS13の処理では、EN端子付のC_regが選択され、ステップS15の処理により入力端子(DATA端子、EN端子)に接続された配線の配線遅延値を、前述の4つの方法によって加工する。
なお、ここではC_reg.DATAについてはriseとfallの両側を1ps遅延させるように(4)の方法で加工した遅延情報を用い、C_reg.ENについてはriseとfallの両側をクロック1周期−1ps(この例の場合、クロック信号CK1の1周期が10nsなので9999ps)遅延させるように(3)の方法で加工した遅延情報を用いたシミュレーション結果を示している。なお、B_reg.Qは0として図示を省略している。各信号は、図10(B)と対応している。
また、遅延情報の加工の際に、各回路セルのパス遅延を0にして、非同期回路部の受け手側のDATA端子やEN端子に接続される配線の配線遅延値を加工して誤動作発生期間を引き延ばすので、遅延情報の加工が容易にできる。
(付記1) 非同期回路の検証を行う検証方法において、
論理合成手段がレジスタ・トランスファ・レベルの回路情報をもとにネットリストを生成し、
抽出手段が前記ネットリストから遅延情報及び互いに異なるクロック信号で動作する回路が接続された非同期回路部を抽出し、
遅延情報加工手段が前記遅延情報を加工して、前記非同期回路部の誤動作発生期間を引き延ばし、
シミュレーション手段が加工した前記遅延情報をもとに前記非同期回路の検証を行うことを特徴とする検証方法。
(付記11) 非同期回路の検証を行う検証装置において、
レジスタ・トランスファ・レベルの回路情報をもとにネットリストを生成する論理合成手段と、
前記ネットリストから遅延情報及び互いに異なるクロック信号で動作する回路が接続された非同期回路部を抽出する抽出手段と、
前記遅延情報を加工して、前記非同期回路部の誤動作発生期間を引き延ばす遅延情報加工手段と、
加工した前記遅延情報をもとに前記非同期回路の検証を行うシミュレーション手段と、
を有することを特徴とする検証装置。
コンピュータを、
レジスタ・トランスファ・レベルの回路情報をもとにネットリストを生成する論理合成手段、
前記ネットリストから遅延情報及び互いに異なるクロック信号で動作する回路が接続された非同期回路部を抽出する抽出手段、
前記遅延情報を加工して、前記非同期回路部の誤動作発生期間を引き延ばす遅延情報加工手段、
加工した前記遅延情報をもとに前記非同期回路の検証を行うシミュレーション手段、
として機能させることを特徴とするプログラム。
2 論理合成手段
3 抽出手段
4 遅延情報加工手段
5 シミュレーション手段
10、11、12、13、14 データベース
Claims (10)
- 非同期回路の検証を行う検証方法において、
論理合成手段がレジスタ・トランスファ・レベルの回路情報をもとにネットリストを生成し、
抽出手段が前記ネットリストから遅延情報及び互いに異なるクロック信号で動作する回路が接続された非同期回路部を抽出し、
遅延情報加工手段が前記遅延情報を加工して、前記非同期回路部における情報の受信側回路の入力端子に入力される信号のパルス幅を引き延ばし、
シミュレーション手段が加工した前記遅延情報をもとに前記非同期回路の検証を行うことを特徴とする検証方法。 - 前記遅延情報加工手段は、前記非同期回路部における情報の受信側回路の入力端子に接続された配線の配線遅延値を変化させることで、前記パルス幅を引き延ばすことを特徴とする請求項1記載の検証方法。
- 前記遅延情報加工手段は、前記ネットリストの各回路セルの入力から出力までの遅延時間を0とするように前記遅延情報を加工することを特徴とする請求項1または2に記載の検証方法。
- 前記遅延情報加工手段は、前記ネットリストの回路セルが、前記非同期回路部における情報の受信側回路以外のフリップフロップの場合には、前記フリップフロップの入力端子に接続された配線の配線遅延値を、前記遅延情報で規定された、前記配線遅延値の最小設定値とすることを特徴とする請求項1乃至3のいずれか一項に記載の検証方法。
- 前記遅延情報加工手段は、前記非同期回路部における情報の受信側回路の入力端子に接続された配線の配線遅延値を、前記配線における信号の立ち上がり側で前記遅延情報で規定された、前記配線遅延値の最小設定値に、立ち下がり側で、前記受信側回路に入力されるクロック信号の周期から前記最小設定値を減じた値とすることを特徴とする請求項1記載の検証方法。
- 前記遅延情報加工手段は、前記非同期回路部における情報の受信側回路の入力端子に接続された配線の配線遅延値を、前記配線における信号の立ち上がり側で前記受信側回路に入力されるクロック信号の周期から前記遅延情報で規定された、前記配線遅延値の最小設定値を減じた値にして、立ち下がり側で前記最小設定値とすることを特徴とする請求項1記載の検証方法。
- 前記遅延情報加工手段は、前記非同期回路部における情報の受信側回路の入力端子に接続された配線の配線遅延値を、前記配線における信号の立ち上がり及び立ち下がりで前記遅延情報で規定された、前記配線遅延値の最小設定値とすることを特徴とする請求項1記載の検証方法。
- 前記遅延情報加工手段は、前記非同期回路部における情報の受信側回路の入力端子に接続された配線の配線遅延値を、前記配線における信号の立ち上がり及び立ち下がりで前記受信側回路に入力されるクロック信号の周期から前記遅延情報で規定された、前記配線遅延値の最小設定値を減じた値とすることを特徴とする請求項1記載の検証方法。
- 非同期回路の検証を行う検証装置において、
レジスタ・トランスファ・レベルの回路情報をもとにネットリストを生成する論理合成手段と、
前記ネットリストから遅延情報及び互いに異なるクロック信号で動作する回路が接続された非同期回路部を抽出する抽出手段と、
前記遅延情報を加工して、前記非同期回路部における情報の受信側回路の入力端子に入力される信号のパルス幅を引き延ばす遅延情報加工手段と、
加工した前記遅延情報をもとに前記非同期回路の検証を行うシミュレーション手段と、
を有することを特徴とする検証装置。 - 非同期回路の検証を行う処理をコンピュータに機能させるプログラムにおいて、
コンピュータを、
レジスタ・トランスファ・レベルの回路情報をもとにネットリストを生成する論理合成手段、
前記ネットリストから遅延情報及び互いに異なるクロック信号で動作する回路が接続された非同期回路部を抽出する抽出手段、
前記遅延情報を加工して、前記非同期回路部における情報の受信側回路の入力端子に入力される信号のパルス幅を引き延ばす遅延情報加工手段、
加工した前記遅延情報をもとに前記非同期回路の検証を行うシミュレーション手段、
として機能させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007046775A JP4992468B2 (ja) | 2007-02-27 | 2007-02-27 | 検証方法、検証装置及びプログラム |
US12/036,516 US7945882B2 (en) | 2007-02-27 | 2008-02-25 | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007046775A JP4992468B2 (ja) | 2007-02-27 | 2007-02-27 | 検証方法、検証装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008210189A JP2008210189A (ja) | 2008-09-11 |
JP4992468B2 true JP4992468B2 (ja) | 2012-08-08 |
Family
ID=39717375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007046775A Expired - Fee Related JP4992468B2 (ja) | 2007-02-27 | 2007-02-27 | 検証方法、検証装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7945882B2 (ja) |
JP (1) | JP4992468B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122410B2 (en) * | 2008-11-05 | 2012-02-21 | International Business Machines Corporation | Specifying and validating untimed nets |
JP2011129029A (ja) * | 2009-12-21 | 2011-06-30 | Elpida Memory Inc | 回路シミュレーション装置および過渡解析方法 |
JP5733109B2 (ja) * | 2011-08-29 | 2015-06-10 | 富士通株式会社 | 検証支援プログラム、検証支援方法、および検証支援装置 |
JP6201382B2 (ja) * | 2013-04-05 | 2017-09-27 | 株式会社ソシオネクスト | 論理検証装置及び論理検証方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272667B1 (en) * | 1997-10-09 | 2001-08-07 | Kabushiki Kaisha Toshiba | Method and apparatus for clock gated logic circuits to reduce electric power consumption |
JP4176906B2 (ja) * | 1999-01-14 | 2008-11-05 | 株式会社ルネサステクノロジ | 静的・動的タイミング検証方法及び記憶媒体 |
JP3953250B2 (ja) | 2000-02-16 | 2007-08-08 | Necエレクトロニクス株式会社 | 非同期回路の検証方法 |
JP2003233628A (ja) | 2002-02-07 | 2003-08-22 | Toshiba Corp | 測定結果フィードバック方法、測定結果フィードバック装置およびそのプログラム |
JP2004185311A (ja) | 2002-12-03 | 2004-07-02 | Ricoh Co Ltd | 非同期回路検証支援装置 |
JP4271067B2 (ja) * | 2004-03-29 | 2009-06-03 | 富士通マイクロエレクトロニクス株式会社 | 非同期回路検証方法および非同期回路検証プログラム |
JP2006139722A (ja) * | 2004-11-15 | 2006-06-01 | Canon Inc | 非同期信号検証方法及び装置 |
-
2007
- 2007-02-27 JP JP2007046775A patent/JP4992468B2/ja not_active Expired - Fee Related
-
2008
- 2008-02-25 US US12/036,516 patent/US7945882B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008210189A (ja) | 2008-09-11 |
US7945882B2 (en) | 2011-05-17 |
US20080209377A1 (en) | 2008-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005284426A (ja) | 非同期回路検証方法および非同期回路検証プログラム | |
US9892220B2 (en) | Method and apparatus for adjusting a timing derate for static timing analysis | |
US9165105B2 (en) | Rule checking for confining waveform induced constraint variation in static timing analysis | |
US7546560B2 (en) | Optimization of flip flop initialization structures with respect to design size and design closure effort from RTL to netlist | |
US8539413B1 (en) | Frequency optimization using useful skew timing | |
JP4992468B2 (ja) | 検証方法、検証装置及びプログラム | |
US20060066317A1 (en) | Method and device for determining the time response of a digital circuit | |
US8185371B2 (en) | Modeling full and half cycle clock variability | |
US10430535B2 (en) | Verification support program medium, verification support method, and information processing device for verification of a circuit | |
JP4763629B2 (ja) | 検証装置、検証方法及びプログラム | |
JP4526596B2 (ja) | 信号遅延評価プログラム、信号遅延評価方法、および信号遅延評価装置 | |
JP4361838B2 (ja) | Lsi設計方法 | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US7389488B2 (en) | Method of finding driving strength and computer accessible record medium to store program thereof | |
US20210132147A1 (en) | Test pattern generating method, test pattern generating device and fault model generating method | |
JP4419633B2 (ja) | 論理回路設計システム、論理回路設計方法およびそのプログラム | |
CN110750956B (zh) | 逻辑闸阶层验证方法以及验证系统 | |
JP5338919B2 (ja) | 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 | |
JP5146369B2 (ja) | 回路設計プログラム、回路設計方法および回路設計装置 | |
Kebaili et al. | Enabler-based synchronizer model for clock domain crossing static verification | |
TWI782408B (zh) | 邏輯模擬驗證系統、邏輯模擬驗證方法、及程式產品 | |
JP7351189B2 (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
US20210333320A1 (en) | Slew-Load Characterization | |
WO2018025972A1 (ja) | 回路設計支援システム、回路設計支援方法、回路設計支援プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2012230605A (ja) | キャラクタライズ装置およびそのコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080729 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091009 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110803 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120305 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120313 |
|
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: 20120410 |
|
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: 20120423 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |