JP5445358B2 - 検証支援プログラム、検証支援装置および検証支援方法 - Google Patents
検証支援プログラム、検証支援装置および検証支援方法 Download PDFInfo
- Publication number
- JP5445358B2 JP5445358B2 JP2010152257A JP2010152257A JP5445358B2 JP 5445358 B2 JP5445358 B2 JP 5445358B2 JP 2010152257 A JP2010152257 A JP 2010152257A JP 2010152257 A JP2010152257 A JP 2010152257A JP 5445358 B2 JP5445358 B2 JP 5445358B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- circuit element
- signal
- change
- receiving side
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Description
図2は、CDC信号とメタステーブル状態との関係を示す説明図である。非同期箇所でデータを転送する場合、受信側のクロックドメインでは入力信号が非同期信号となるため、様々な問題が発生する可能性がある。また、非同期箇所におけるデータ信号の受け渡しが正常に行われなければ、その非同期箇所よりも後段の処理に障害が発生してしまう場合がある。
図9は、検証支援装置のハードウェア構成を示すブロック図である。図9において、検証支援装置100は、CPU(Central Processing Unit)901と、ROM(Read‐Only Memory)902と、RAM(Random Access Memory)903と、磁気ディスクドライブ904と、磁気ディスク905と、光ディスクドライブ906と、光ディスク907と、ディスプレイ908と、I/F(Interface)909と、キーボード910と、マウス911と、スキャナ912と、プリンタ913と、を備えている。また、各構成部はバス900によってそれぞれ接続されている。
図10−1は、検証支援装置の機能的構成(その1)を示すブロック図である。検証支援装置100は、受付部1001と、検出部1002と、入力部1003と、出力部1004と、抽出部1005と、指定部1006と、非同期箇所のCDCシミュレーションを行う論理シミュレータ110と、を含む構成である。
図11−1は、検証支援装置による検証支援処理の手順(その1)を示すフローチャートである。図11−1の各処理を実行することによって、メタステーブル状態が発生した場合の受信側の各回路素子の動作をランダムに検証することができる。
次に、図10−2のシミュレーションモデル生成部1010によって生成したシミュレーションモデルの具体的な構成例を挙げて、検証支援装置100によるメタステーブル状態の検証支援例について説明する。まず、比較のために、従来のシミュレーションモデルの構成例を挙げる。そして、これらのシミュレーションモデルに図10−2,11−2によって説明した処理を実行させる機能を追加した、本実施例にかかるシミュレーションモデルを例示して、その動作について説明する。
図14は、本実施例にかかるシミュレーションモデル1の構成を示す回路図である。回路モデル1400によって構成されるシミュレーションモデル1は、FF1401,1402が図12の送信側のFFに相当し、FF1404,1406およびFF1408,1410が、図12の受信側のFFに相当する。
図15は、本実施例にかかるシミュレーションモデル2の構成を示す回路図である。回路モデル1500によって構成されるシミュレーションモデル2は、FF1501,1502が図13の送信側のFFに相当し、FF1504およびFF1506が、図13の受信側のFFに相当する。
図16は、ジッタディテクタの出力処理の手順を示すフローチャートである。ジッタディテクタは、送信側の回路素子からの出力信号の変化を検出すると、所定時間(具体的にはTj)の間、出力信号の変化を報知する報知信号を出力する機能を有する。
図17は、ジッタエンコーダの出力処理の手順を示すフローチャートである。ジッタエンコーダは、送信側のFFから入力値に変化があった場合に、入力値をX値(ランダムな論理値)に換えて出力することによって、意図的にメタステーブル状態を発生させる。X値を受信側のFFへ転送することによって、受信側のFFがメタステーブル状態に正常に動作するか否かを検証することができる。なお、図15のジッタエンコーダ1511,1512はそれぞれ同じ動作を行うため、以下、図17では、符号を付けずに共通の「ジッタエンコーダ」として説明する。
図18は、ジッタデコーダの出力処理の手順を示すフローチャートである。ジッタデコーダは、上段のFFから入力された信号に応じて、入力値をそのまま、もしくは、ランダムな論理値を出力する機能を有する。
ジッタサンプラでは、出力処理として、入力値に応じたイベント発生処理と、受信クロックに応じたイベント発生処理とが並列して実行される。ジッタサンプラは送信側のFFから出力された出力信号の変化に応じてサンプルイベントを発生させると同時に、受信側のクロックイベントの発生に応じてサンプルイベントを発生する。すなわち、送信側の動作と受信側の動作との双方に連動して、サンプルイベントを発生させる。なお、図14,15のジッタサンプラ1420,1530は、それぞれ同じ動作を行うため、以下、図19,20では、符号を付けずに共通の「ジッタサンプラ」として説明する。
図21は、シミュレーションモデル1の動作例を示すタイミングチャートであり、図22は、シミュレーションモデル2の動作例を示すタイミングチャートである。次に、図21,22を用いて、シミュレーションモデル1,2を実行させた場合の各回路素子の動作例について説明する。
110 論理シミュレータ
1001 受付部
1002 検出部
1003 入力部
1004 出力部
1005 抽出部
1006 指定部
1010 シミュレーションモデル生成部
Claims (8)
- 検証対象回路の中から、動作クロックの異なるクロックドメイン間でデータを転送する非同期箇所における受信側の1クロックサイクルの間に、送信側の各回路素子から出力された信号の変化を検出する検出工程と、
前記1クロックサイクル後の前記受信側の動作クロックの立ち上がりを契機に、前記検出工程によって信号の変化が検出された時刻の中のいずれか1つの時刻に前記検出工程によって変化が検出された信号をランダムな論理値に置き換えて前記受信側の各回路素子へ入力し、前記いずれか1つの時刻に前記検出工程によって変化が検出されなかった信号を前記受信側の各回路素子へ入力する入力工程と、
前記入力工程による入力に応じた前記受信側の各回路素子の動作結果を出力する出力工程と、
をコンピュータに実行させることを特徴とする検証支援プログラム。 - 前記検証対象回路の中から、動作クロックの異なるクロックドメイン間でデータを転送する非同期箇所の指定を受け付ける受付工程を前記コンピュータに実行させ、
前記検出工程では、
前記受付工程によって受け付けられた非同期箇所における前記受信側の1クロックサイクルの間に、前記非同期箇所の前記送信側の各回路素子から出力された信号の変化を検出し、
前記入力工程では、
前記1クロックサイクル後の前記受信側の動作クロックの立ち上がりを契機に、前記いずれか1つの時刻に前記検出工程によって変化が検出された信号を前記ランダムな論理値に置き換えて前記受信側の各回路素子へ入力し、前記いずれか1つの時刻に前記検出工程によって変化が検出されなかった信号を前記受信側の各回路素子へ入力することを特徴とする請求項1に記載の検証支援プログラム。 - 前記検証対象回路の設計情報に基づいて、前記検証対象回路の中から、動作クロックの異なるクロックドメイン間でデータを転送する非同期箇所を抽出する抽出工程を前記コンピュータに実行させ、
前記検出工程では、
前記抽出工程によって抽出された非同期箇所における前記受信側の1クロックサイクルの間に、前記非同期箇所の前記送信側の各回路素子から出力された信号の変化を検出し、
前記入力工程では、
前記1クロックサイクル後の前記受信側の動作クロックの立ち上がりを契機に、前記いずれか1つの時刻に前記検出工程によって変化が検出された信号を、前記ランダムな論理値に置き換えて前記受信側の各回路素子へ入力し、前記いずれか1つの時刻に前記検出工程によって変化が検出されなかった信号を前記受信側の各回路素子へ入力することを特徴とする請求項1または2に記載の検証支援プログラム。 - 前記非同期箇所の中から、送信側の各回路素子の指定と、受信側の各回路素子の指定とを受け付ける指定工程を前記コンピュータに実行させ、
前記検出工程では、
前記非同期箇所における前記受信側の1クロックサイクルの間に、前記指定工程によって指定された前記送信側の各回路素子から出力された信号の変化を検出し、
前記入力工程では、
前記1クロックサイクル後の前記受信側の動作クロックの立ち上がりを契機に、前記いずれか1つの時刻に前記検出工程によって変化が検出された信号を前記ランダムな論理値に置き換えて前記指定工程によって指定された前記受信側の各回路素子へ入力し、前記いずれか1つの時刻に前記検出工程によって変化が検出されなかった信号は前記指定工程によって指定された前記受信側の各回路素子へ入力し、
前記出力工程では、
前記指定工程によって指定された受信側の各回路素子の動作を出力することを特徴とする請求項1〜3のいずれか一つに記載の検証支援プログラム。 - 前段から出力された信号の変化を検出する第1の素子、前記第1の素子によって信号の変化が検出された時刻に前記前段から出力された信号の値を保持する第2の素子、および、後段の動作クロックの立ち上がりを契機に前記第1の素子によって前記信号の変化が検出された時刻の中のいずれか1つの時刻に前記第2の素子に保持された値を前記後段に入力するとともに前記第1の素子によって変化が検出された値をランダムな論理値に置き換えて前記後段に入力する第3の素子の設計情報を記憶する記憶装置にアクセス可能なコンピュータに、
検証対象回路の設計情報に基づいて、動作クロックの異なるクロックドメイン間でデータを転送する非同期箇所を抽出する抽出工程と、
前記抽出工程によって抽出された非同期箇所における送信側の各回路素子と、受信側の各回路素子とを特定する特定工程と、
前記第1の素子の前段に前記特定工程によって特定された前記送信側の各回路素子を設定して、前記第1の素子によって前記送信側の各回路素子から出力された信号の変化を検出させ、前記第3の素子の後段に前記特定工程によって特定された前記受信側の各回路素子を設定して、前記第1の素子によって前記信号の変化が検出されたいずれか1つの時刻に前記第2の素子に保持された値および前記ランダムな値を、前記第3の素子から前記受信側の各回路素子に入力させるシミュレーションモデルを生成する生成工程と、
を実行させることを特徴とする検証支援プログラム。 - 前記生成工程によって生成されたシミュレーションモデルを利用して、前記非同期箇所のシミュレーションを実行する実行工程と、
前記実行工程による前記シミュレーションの実行結果を出力する出力工程と、
を前記コンピュータに実行させることを特徴とする請求項5に記載の検証支援プログラム。 - 検証対象回路の中から、動作クロックの異なるクロックドメイン間でデータを転送する非同期箇所における受信側の1クロックサイクルの間に、送信側の各回路素子から出力された信号の変化を検出する検出手段と、
前記1クロックサイクル後の前記受信側の動作クロックの立ち上がりを契機に、前記検出手段によって信号の変化が検出された時刻の中のいずれか1つの時刻に前記検出手段によって変化が検出された信号をランダムな論理値に置き換えて前記受信側の各回路素子へ入力し、前記いずれか1つの時刻に前記検出手段によって変化が検出されなかった信号を前記受信側の各回路素子へ入力する入力手段と、
前記入力手段による入力に応じた前記受信側の各回路素子の動作結果を出力する出力手段と、
を備えることを特徴とする検証支援装置。 - 検出手段と入力手段と出力手段とを備えたコンピュータが、
前記検出手段において、検証対象回路の中から、動作クロックの異なるクロックドメイン間でデータを転送する非同期箇所における受信側の1クロックサイクルの間に、送信側の各回路素子から出力された信号の変化を検出する検出工程と、
前記入力手段において、前記1クロックサイクル後の前記受信側の動作クロックの立ち上がりを契機に、前記検出工程によって信号の変化が検出された時刻の中のいずれか1つの時刻に前記検出工程によって変化が検出された信号をランダムな論理値に置き換えて前記受信側の各回路素子へ入力し、前記いずれか1つの時刻に前記検出工程によって変化が検出されなかった信号を前記受信側の各回路素子へ入力する入力工程と、
前記出力手段において、前記入力工程による入力に応じた前記受信側の各回路素子の動作結果を出力する出力工程と、
を実行することを特徴とする検証支援方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010152257A JP5445358B2 (ja) | 2010-07-02 | 2010-07-02 | 検証支援プログラム、検証支援装置および検証支援方法 |
US13/064,902 US8533541B2 (en) | 2010-07-02 | 2011-04-25 | Verification support of circuit blocks having independent clock domains |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010152257A JP5445358B2 (ja) | 2010-07-02 | 2010-07-02 | 検証支援プログラム、検証支援装置および検証支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012014583A JP2012014583A (ja) | 2012-01-19 |
JP5445358B2 true JP5445358B2 (ja) | 2014-03-19 |
Family
ID=45400684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010152257A Active JP5445358B2 (ja) | 2010-07-02 | 2010-07-02 | 検証支援プログラム、検証支援装置および検証支援方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8533541B2 (ja) |
JP (1) | JP5445358B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8744367B2 (en) | 2010-08-31 | 2014-06-03 | At&T Intellectual Property I, L.P. | Tail optimization protocol for cellular radio resource allocation |
US8327307B2 (en) * | 2010-11-23 | 2012-12-04 | Lsi Corporation | Method and system for eliminating implementation timing in synchronization circuits |
US9220066B2 (en) * | 2011-06-20 | 2015-12-22 | At&T Intellectual Property I, L.P. | Bundling data transfers and employing tail optimization protocol to manage cellular radio resource utilization |
JP5733109B2 (ja) * | 2011-08-29 | 2015-06-10 | 富士通株式会社 | 検証支援プログラム、検証支援方法、および検証支援装置 |
US8984457B2 (en) * | 2013-03-15 | 2015-03-17 | Atrenta, Inc. | System and method for a hybrid clock domain crossing verification |
JP6319911B2 (ja) | 2013-03-29 | 2018-05-09 | 国立大学法人大阪大学 | 抗老化作用を有するペプチドおよびその利用 |
US9916407B2 (en) | 2013-12-05 | 2018-03-13 | International Business Machines Corporation | Phase algebra for analysis of hierarchical designs |
US10318695B2 (en) | 2013-12-05 | 2019-06-11 | International Business Machines Corporation | Phase algebra for virtual clock and mode extraction in hierarchical designs |
US9268889B2 (en) | 2013-12-05 | 2016-02-23 | International Business Machines Corporation | Verification of asynchronous clock domain crossings |
US10503856B2 (en) | 2013-12-05 | 2019-12-10 | International Business Machines Corporation | Phase algebra for specifying clocks and modes in hierarchical designs |
CN106687473B (zh) | 2014-09-26 | 2021-06-04 | 国立大学法人大阪大学 | 肽及其用途 |
US9721057B2 (en) | 2015-03-06 | 2017-08-01 | Synopsys, Inc. | System and method for netlist clock domain crossing verification |
CN105808476B (zh) * | 2016-04-12 | 2019-01-04 | 珠海格力电器股份有限公司 | 跨时钟域数据的传输方法及装置 |
CN109635554A (zh) * | 2018-11-30 | 2019-04-16 | 努比亚技术有限公司 | 一种红包验证方法、终端及计算机存储介质 |
KR20220121632A (ko) * | 2021-02-25 | 2022-09-01 | 삼성전자주식회사 | 집적회로 및 집적회로 동작 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6099579A (en) * | 1997-10-02 | 2000-08-08 | Hewlett-Packard Company | Method and apparatus for checking asynchronous HDL circuit designs |
US6353906B1 (en) * | 1998-04-01 | 2002-03-05 | Lsi Logic Corporation | Testing synchronization circuitry using digital simulation |
US6260152B1 (en) * | 1998-07-30 | 2001-07-10 | Siemens Information And Communication Networks, Inc. | Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains |
US20040225977A1 (en) * | 2003-05-08 | 2004-11-11 | Ryan Akkerman | System and method for simulating clock drift between asynchronous clock domains |
JP4271067B2 (ja) * | 2004-03-29 | 2009-06-03 | 富士通マイクロエレクトロニクス株式会社 | 非同期回路検証方法および非同期回路検証プログラム |
US7139988B2 (en) * | 2004-05-04 | 2006-11-21 | Texas Instruments Incorporated | Modeling metastability in circuit design |
US7356789B2 (en) * | 2004-06-01 | 2008-04-08 | Tai An Ly | Metastability effects simulation for a circuit description |
US7382824B1 (en) * | 2004-08-13 | 2008-06-03 | Emc Corporaration | Method and apparatus for accurate modeling of multi-domain clock interfaces |
JP2007052640A (ja) * | 2005-08-18 | 2007-03-01 | Nec Electronics Corp | 非同期回路の検証装置、非同期回路の検証方法およびその検証プログラム |
US20070244685A1 (en) * | 2006-04-17 | 2007-10-18 | International Business Machines Corporation | Method for modeling metastability decay using fence logic insertion |
US7484192B2 (en) * | 2006-09-18 | 2009-01-27 | International Business Machines Corporation | Method for modeling metastability decay through latches in an integrated circuit model |
US20080069277A1 (en) * | 2006-09-18 | 2008-03-20 | Gzim Derti | Method and apparatus for modeling signal delays in a metastability protection circuit |
JP2009009318A (ja) * | 2007-06-27 | 2009-01-15 | Toshiba Corp | 非同期回路検証用のプログラムデータ生成方法、非同期回路検証方法及び非同期回路検証装置 |
JP2009093635A (ja) | 2007-09-18 | 2009-04-30 | Nec Electronics Corp | 回路検証方法、及び回路検証プログラム、回路検証装置 |
JP5104356B2 (ja) * | 2008-02-04 | 2012-12-19 | 富士通株式会社 | 検証支援プログラム、検証支援装置、および検証支援方法 |
JP2009187344A (ja) * | 2008-02-07 | 2009-08-20 | Sony Corp | 非同期論理回路検証装置およびその方法、並びにプログラム |
JP5239747B2 (ja) * | 2008-10-29 | 2013-07-17 | 富士通株式会社 | 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法 |
-
2010
- 2010-07-02 JP JP2010152257A patent/JP5445358B2/ja active Active
-
2011
- 2011-04-25 US US13/064,902 patent/US8533541B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8533541B2 (en) | 2013-09-10 |
JP2012014583A (ja) | 2012-01-19 |
US20120005545A1 (en) | 2012-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5445358B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
JP5471432B2 (ja) | 検証支援プログラム、および検証支援装置 | |
EP2145273B1 (en) | Computation of phase relationship by clock sampling | |
JP5410414B2 (ja) | 回路エミュレーションの入力及び遅延入力のマルチプレクシング | |
US7984400B2 (en) | Techniques for use with automated circuit design and simulations | |
EP1872288A2 (en) | Method and system for debugging using replicated logic and trigger logic | |
Karimi et al. | Detection, diagnosis, and recovery from clock-domain crossing failures in multiclock SoCs | |
WO2015062013A1 (en) | Data propagation analysis for debugging a circuit design | |
JP5310036B2 (ja) | 検証支援プログラムおよび検証支援装置 | |
JP4261502B2 (ja) | 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体 | |
JP2008083781A (ja) | 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法 | |
JP5040758B2 (ja) | シミュレーション装置、シミュレーション方法及びプログラム | |
US7911466B2 (en) | Method and apparatus for editing timing diagram, and computer product | |
JP5263393B2 (ja) | 設計支援方法、設計支援装置、および設計支援プログラム | |
JP2010249662A (ja) | ディレイ故障診断プログラム | |
US20050289419A1 (en) | Test pattern generator, test circuit tester, test pattern generating method, test circuit testing method, and computer product | |
US7694248B2 (en) | Method and apparatus for supporting verification, and computer product | |
JP2008004024A (ja) | レイアウト設計プログラム、該プログラムを記録した記録媒体、レイアウト設計装置、およびレイアウト設計方法 | |
JP4747036B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
JP2011081760A (ja) | 情報処理装置 | |
JP7354815B2 (ja) | 検証支援装置、検証支援方法および検証支援プログラム | |
JP4450103B2 (ja) | スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム | |
JP5942417B2 (ja) | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム | |
US20130055182A1 (en) | Computer product, verification support method, and verification support apparatus | |
JP5392862B2 (ja) | ソフトウェアシミュレーション装置、及びシミュレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130507 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131121 |
|
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: 20131126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5445358 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |