JP2005165747A - 検証システム - Google Patents
検証システム Download PDFInfo
- Publication number
- JP2005165747A JP2005165747A JP2003404665A JP2003404665A JP2005165747A JP 2005165747 A JP2005165747 A JP 2005165747A JP 2003404665 A JP2003404665 A JP 2003404665A JP 2003404665 A JP2003404665 A JP 2003404665A JP 2005165747 A JP2005165747 A JP 2005165747A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- verification system
- time
- sscg
- signal
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 テスト検証者の負荷の低減や、テスト検証時間の短縮を実現する。
【解決手段】 乱数発生手段、乱数発生手段の発生した乱数の値によってウエイトする時間を変化させる手段、少なくとも2種類のクロックを出力するクロック出力手段、クロック出力手段の出力するクロックで動作する動作モジュールを有する。
【選択図】 図1
【解決手段】 乱数発生手段、乱数発生手段の発生した乱数の値によってウエイトする時間を変化させる手段、少なくとも2種類のクロックを出力するクロック出力手段、クロック出力手段の出力するクロックで動作する動作モジュールを有する。
【選択図】 図1
Description
本発明はSSCGを使用したASICのシミュレーション方法に関するものである。
電子機器から放射される電磁波を抑制する技術として、スペクトラム拡散という技術がある。その動作は、基本となる周波数から、一定の周期で決められた値だけ周波数を変化させるというものである。上記、スペクトラム拡散を実現するシグナルジェネレータにSSCGというものがある。そして、EMI対策の為に、SSCGモジュールの使用を前提とした、もしくは、SSCGを内蔵したASIC設計が必要となるケースが増えている。ただし、SSCGの使用を前提としたASIC設計を行う際に、SSCGが出力するクロックを使用すると、性能を発揮できない機能モジュールがあるので、その機能モジュールに対しては、SSCG処理を施していないクロックを与えることになる。
このSSCG処理が施してあるクロックで動作している機能モジュールと、通常のクロックで動作している機能モジュールの間のデータ通信は、非同期式のデータ通信となる。非同期式のデータ通信を行う際に、気を付けなければいけないことは、非同期通信部分に配置されたフリップフロップが引き起こすメタステーブルに起因する誤動作である。それ故に、非同期通信部分について行うASICのシミュレーションは、なるべくメタステーブルを発生させて、誤動作がないことが確認できるとことが理想である。
従来のSSCGを使用したシミュレーションは、SSCGの動作を実現するシミュレーションモデルを使用して行っている。シミュレーションモデルの動作には、アナログ的な要素は含まれないので、リセット解除後、決めたれた周期と順番で周波数を変化させていく。そのシミュレーション環境で、いくつかの異なるテストベンチを流すことによって、複数パターンのメタステーブルを発生させて、誤動作なきことを確認できていた。
特開2003−114733号公報
特開2000−137061号公報
しかしながら、上記従来例では、SSCGのシミュレーションモデルの性格上、一つのテストベンチがメタステーブルを起こす箇所と時間、頻度は何回シミュレーションを流しても同じである。したがって、非同期設計部分の誤動作がないかどうかを確認するためには、たくさんのテストベンチを作成しなければならない。一方、ASICの多機能化で、テストベンチの本数は増加する傾向にあり、ASIC検証者の負荷がより増加するという問題がある。
本出願に係わる発明の目的は、SSCGの使用と前提としたASICのシミュレーションにおいて、メタステーブル発生による影響を確認するシミュレーションを出来るだけ少ない本数のテストベンチで実現することにある。
上記課題を解決する為に、本発明においては、リセット解除後SSCGが動作を初めてから、テストベンチによる波形が入力されるまでの時間をランダムに変化させる仕組みを設ける。そうすることによって、シミュレーションを流す度に異なるSSCGパターンでシミュレーションを行うことが可能となり、一つのテストベンチで非同期通信部分のメタステーブルをあらゆる箇所、時間、頻度で発生させられるという効果がある。
以上のように、SSCG処理を施したクロックと、通常のクロックを使用するASICをシミュレーションする際に、リセットが解除されてから、テストベンチを開始するまでの時間をランダムに変化させる仕組みを設けることによって、一つのテストベンチで、メタステーブル発生に関するシミュレーションを複数パターン行うことが可能となり、テスト検証者の負荷の低減や、テスト検証時間の短縮という効果がある。
(実施例1)
図1は、本実施例の特徴を最もよく表す図であり、同図において、1はASICであり、2のSSCGによって生成される、7のSSCG処理を施したクロック(以下、SSCGクロック)と、3の通常のクロックジェネレータ(以下、CG)によって生成される8のSSCG処理が施されていないノーマルクロック(以下、ノーマルクロック)の2つクロックによって動作する。4は、テストベンチブロックであり9のテストベンチブロック4によって生成されるテスト信号(以下、テスト信号)を出力する。
図1は、本実施例の特徴を最もよく表す図であり、同図において、1はASICであり、2のSSCGによって生成される、7のSSCG処理を施したクロック(以下、SSCGクロック)と、3の通常のクロックジェネレータ(以下、CG)によって生成される8のSSCG処理が施されていないノーマルクロック(以下、ノーマルクロック)の2つクロックによって動作する。4は、テストベンチブロックであり9のテストベンチブロック4によって生成されるテスト信号(以下、テスト信号)を出力する。
5は、テストベンチブロック4内にあるウエイト関数でありテストベンチ内で使用する関数である。ウエイト関数5は、6の乱数発生モジュールによって生成された10の乱数を受け取って、乱数10の値によって、テストベンチ内でウエイトする時間を変えるという動作をする。11は、リセットジェネレータであり、12のリセット信号をASIC1、SSCG2、CG3に対して出力する。13は、ASIC1内にあるノーマルクロック8で動作するフリップフロップ(以下、F/F)であり、14はSSCGクロック7で動作するフリップフロップ(以下、SSCG F/F)である。15は、F/F13から出力されSSCG F/F14に入力される信号線(以下、信号15)であり、信号15の変化タイミングとSSCGクロック7との関係によって、16のSSCG F/F14から出力される信号(以下、信号16)にメタステーブルが発生する。
図3はメタステーブル発生を示すタイミングチャートである。同図を用いてメタステーブルが発生する状況について説明する。ノーマルクロック8、SSCGクロック7が発振を開始して、リセット信号12が解除されると、テストベンチブロック4から出力されたテスト信号9によって、ASIC1が動作を始める。図3に示す信号15と信号16の動きは、上記テスト信号9によって引き起こされる動作の一部分を示している。
図3には、信号15と信号16の動きについて、19、20に示す二つのパターンを記している。(以下、それぞれ、状態19、状態20)まず、状態19の方から説明する。リセット信号12の解除後、ウエイト関数5によって、17に示す時間(以下、時間17)のウエイト処理が入った後にテスト信号9が入力される。それによって、ノーマルクロック8に同期している信号15は、21の時刻(以下、時刻21)で変化すると仮定する。
そうすると、SSCGクロック7で動作しているSSCG F/F16は、22の時刻(以下、時刻22)で信号15を取り込むという動作をする。その時、30のセットアップ時間が、SSCG F/F16が要求するセットアップ時間より短い場合、18のメタステーブルが発生する。
また、24の時刻(以下、時刻24)で信号15が再び変化すると、この時刻24では、ノーマルクロック8と、SSCGクロック7は同期していて、通常通り25の時刻(以下、時刻25)で信号16は変化する。一方、状態20の方を見ると、リセット信号12が解除後、ウエイト関数5によるウエイト処理によって、今度は26の時刻(以下、時刻26)まで、テスト信号9が入力されない。すると、時刻26においては、ノーマルクロック8とSSCGクロック7は同期しているので、時刻26で変化する信号15を受信したSSCG F/F14は、24の時刻(以下、時刻24)で信号16を変化させるのでメタステーブルは発生しない。
しかし、27の時刻(以下、時刻27)で、信号15が再び変化すると、SSCG F/Fは28の時刻(以下、時刻28)で信号15を受信することになり、31のセットアップ時間がSSCG F/F14の許容するセットアップ時間より短ければ、18のメタステーブルが発生する。このように、テスト信号9が入力されるタイミングによって、メタステーブルが発生する箇所や時間、頻度に変化が出てくる。
そこで、本実施例では、乱数発生モジュール6が発生した値によって、時間17を変化させる。具体的に、図2に示す。図2は、テストベンチ記述部分のイメージ図であり、32はテストベンチ記述開始ポイント、33がテストベンチ記述である。そして、矢印の方向に向かって、テストベンチが処理されていく。本実施例では、テストベンチ記述の一番先頭に、ウエイト関数5を置く。そして、乱数発生モジュール6によって出力される乱数10を受信したウエイト関数5は、乱数10の値によって、ウエイトする時間を変化させるのである。
図4に処理の流れを示すフローチャートを示す。以下、同図を用いて処理の流れを説明する。ステップ1において、SSCG2とCG3がSSCGクロック7とノーマルクロック8を出力し、ステップ2に移行する。ステップ2において、乱数発生モジュール6が乱数10をウエイト関数5に対して出力してステップ3に移行する。ステップ3において、リセットジェネレータ11はリセット信号12を解除して、ステップ4に移行する。ステップ4において、ウエイト関数5は、乱数10の値だけウエイト処理を行い、乱数10で示される時間のウエイト処理が完了したら、ステップ5に移行し、テストベンチをスタートさせる。乱数発生モジュール6からウエイト関数5に乱数10を渡す方法は、Verilogで構築されたシミュレーション環境であれば、force文を使用してもいいし、C言語等を利用するのであれば、変数を介して代入をする形で、ウエイト関数5に値を渡すのも構わないものとする。
また、シミュレータ付属のforce機能を使用する方法もある。また、乱数発生の方法に関しては、Verilogで構築されたシミュレーション環境であれば、$randomシステムタスクを使用しても良いし、C言語等で乱数発生モジュールを生成しても構わないものとする。
以上のように、本実施例によれば、乱数発生モジュール6とウエイト関数5を設け、乱数発生モジュール6の出力する乱数10の値によって、ウエイト関数5がウエイト処理を行う時間を変化させることによって、同じテストベンチでも、シミュレーションを行う度に、テスト信号9が出力されるタイミングが変化し、一つのテストベンチ複数のメタステーブル発生のシミュレーションを行うことが可能となる。
1 ASIC
2 SSCG
3 クロックジェネレータ(CG)
4 テストベンチブロック
5 ウエイト関数
6 乱数発生モジュール
7 SSCGクロック
8 ノーマルクロック
9 テスト信号
10 乱数
11 リセットジェネレータ
12 リセット信号
13 ノーマルクロック8によって動作するフリップフロップ(F/F)
14 SSCGクロック7によって動作するフリップフロップ(SSCG F/F)
15 F/F13から出力される信号(信号15)
16 SSCG F/F14から出力される信号(信号16)
17 リセット解除時刻からテスト信号9が出力されるまでの時間(時間17)
18 メタステーブル
19 時間17が短い時の信号15と信号16の動作を示すタイミングチャート(状態19)
20 時間17が長い時の信号15と信号16の動作を示すタイミングチャート(状態20)
21 時刻21
22 時刻22
23 時刻23
24 時刻24
25 時刻25
26 時刻26
27 時刻27
28 時刻28
29 時刻29
30 セットアップ時間
31 セットアップ時間
32 テストベンチ記述開始ポイント
33 テストベンチ記述
2 SSCG
3 クロックジェネレータ(CG)
4 テストベンチブロック
5 ウエイト関数
6 乱数発生モジュール
7 SSCGクロック
8 ノーマルクロック
9 テスト信号
10 乱数
11 リセットジェネレータ
12 リセット信号
13 ノーマルクロック8によって動作するフリップフロップ(F/F)
14 SSCGクロック7によって動作するフリップフロップ(SSCG F/F)
15 F/F13から出力される信号(信号15)
16 SSCG F/F14から出力される信号(信号16)
17 リセット解除時刻からテスト信号9が出力されるまでの時間(時間17)
18 メタステーブル
19 時間17が短い時の信号15と信号16の動作を示すタイミングチャート(状態19)
20 時間17が長い時の信号15と信号16の動作を示すタイミングチャート(状態20)
21 時刻21
22 時刻22
23 時刻23
24 時刻24
25 時刻25
26 時刻26
27 時刻27
28 時刻28
29 時刻29
30 セットアップ時間
31 セットアップ時間
32 テストベンチ記述開始ポイント
33 テストベンチ記述
Claims (8)
- 乱数発生手段、
該乱数発生手段の発生した乱数の値によって、ウエイトする時間を変化させるウエイト時間処理手段、
リセット信号生成手段、
少なくとも2種類のクロックを出力するクロック出力手段、
該、クロック出力手段の出力するクロックで動作する動作モジュール、
テスト信号出力手段、
を持つことを特徴とする検証システム。 - 該テスト信号出力手段は、該ウエイト時間処理手段によって、テスト信号の出力を開始するタイミングを変化させることを特徴とする、特許請求の範囲第一項に記載の検証システム。
- 該クロック出力手段が出力するクロックのうち、少なくとも一つはスペクトラム拡散処理が施されていることを特徴とする、特許請求の範囲第一項に記載の検証システム。
- 特許請求の範囲第一項に記載の検証システムにおいて、該検証システムはASICのシミュレーションを目的とすることを特徴とするもの。
- 該乱数発生手段は、Verilogの$ramdomシステムタスクを用いて発生させることを特徴とする、特許請求の範囲第4項に記載の検証システム。
- 該乱数発生手段は、C言語を用いて発生させることを特徴とする、特許請求の範囲第4項に記載の検証システム。
- 該検証システムは、Verilog言語を用いて構築されていることを特徴とする特許請求の範囲第4項に記載の検証システム。
- 該検証システムは、VHDL言語を用いて構築されていることを特徴とする特許請求の範囲第4項に記載の検証システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003404665A JP2005165747A (ja) | 2003-12-03 | 2003-12-03 | 検証システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003404665A JP2005165747A (ja) | 2003-12-03 | 2003-12-03 | 検証システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005165747A true JP2005165747A (ja) | 2005-06-23 |
Family
ID=34727601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003404665A Withdrawn JP2005165747A (ja) | 2003-12-03 | 2003-12-03 | 検証システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005165747A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008277960A (ja) * | 2007-04-26 | 2008-11-13 | Oki Electric Ind Co Ltd | クロック周波数拡散装置 |
JP2010044622A (ja) * | 2008-08-13 | 2010-02-25 | Hitachi Information & Communication Engineering Ltd | 情報処理装置試験プログラム及び方法 |
US8365133B2 (en) | 2009-03-04 | 2013-01-29 | Sony Corporation | Testing apparatus, testing method, and program |
-
2003
- 2003-12-03 JP JP2003404665A patent/JP2005165747A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008277960A (ja) * | 2007-04-26 | 2008-11-13 | Oki Electric Ind Co Ltd | クロック周波数拡散装置 |
JP2010044622A (ja) * | 2008-08-13 | 2010-02-25 | Hitachi Information & Communication Engineering Ltd | 情報処理装置試験プログラム及び方法 |
US8365133B2 (en) | 2009-03-04 | 2013-01-29 | Sony Corporation | Testing apparatus, testing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4307493B2 (ja) | ランダムビットストリームを提供するための装置 | |
JP2008065640A (ja) | シミュレーション装置およびそのシミュレーション制御方法 | |
JP2003307551A (ja) | 半導体集積回路および半導体集積回路の設計方法 | |
EP2098969A1 (en) | Logic circuit designing device for asynchronous logic circuit, logic circuit designing method, and logic circuit designing program | |
US7478304B2 (en) | Apparatus for accelerating through-the-pins LBIST simulation | |
JP2005165747A (ja) | 検証システム | |
JP2001144736A (ja) | タイミング同期システム、そのシステムに用いられる装置およびタイミング同期方法 | |
JP2008047121A (ja) | 半導体集積回路の間接シミュレーション方法及び装置 | |
JP2009009318A (ja) | 非同期回路検証用のプログラムデータ生成方法、非同期回路検証方法及び非同期回路検証装置 | |
JP2007052640A (ja) | 非同期回路の検証装置、非同期回路の検証方法およびその検証プログラム | |
JP2006333272A (ja) | データ・パターン発生装置 | |
JP5119506B2 (ja) | 半導体集積回路の設計装置、そのデータ処理方法、およびその制御プログラム | |
JP2009157659A (ja) | 論理シミュレーション装置 | |
JP5104356B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
Hylla et al. | Using SystemC for an extended MATLAB/Simulink verification flow | |
CN114021509A (zh) | 在验证期间的逻辑设计中的根时钟频率的动态调整 | |
JP2005332162A (ja) | ハードウェア/ソフトウェア協調シミュレーション方式及びその方法 | |
JP3953250B2 (ja) | 非同期回路の検証方法 | |
JP2009198288A (ja) | 半導体集積回路の検証装置 | |
JP2006242856A (ja) | テスタシミュレーション装置及びテスタシミュレーション方法 | |
US7072821B1 (en) | Device and method for synchronizing an asynchronous signal in synthesis and simulation of a clocked circuit | |
US7904289B2 (en) | Method and system for testing functionality of a chip checker | |
CN116594830B (zh) | 硬件仿真工具、调试方法和存储介质 | |
JP3908175B2 (ja) | 半導体集積回路およびその評価回路 | |
JP2972499B2 (ja) | 論理回路遅延シミュレータ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070206 |