JP2005165747A - 検証システム - Google Patents

検証システム Download PDF

Info

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
Application number
JP2003404665A
Other languages
English (en)
Inventor
Yuichiro Suzuki
裕一郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003404665A priority Critical patent/JP2005165747A/ja
Publication of JP2005165747A publication Critical patent/JP2005165747A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 テスト検証者の負荷の低減や、テスト検証時間の短縮を実現する。
【解決手段】 乱数発生手段、乱数発生手段の発生した乱数の値によってウエイトする時間を変化させる手段、少なくとも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によって生成されるテスト信号(以下、テスト信号)を出力する。
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 テストベンチ記述

Claims (8)

  1. 乱数発生手段、
    該乱数発生手段の発生した乱数の値によって、ウエイトする時間を変化させるウエイト時間処理手段、
    リセット信号生成手段、
    少なくとも2種類のクロックを出力するクロック出力手段、
    該、クロック出力手段の出力するクロックで動作する動作モジュール、
    テスト信号出力手段、
    を持つことを特徴とする検証システム。
  2. 該テスト信号出力手段は、該ウエイト時間処理手段によって、テスト信号の出力を開始するタイミングを変化させることを特徴とする、特許請求の範囲第一項に記載の検証システム。
  3. 該クロック出力手段が出力するクロックのうち、少なくとも一つはスペクトラム拡散処理が施されていることを特徴とする、特許請求の範囲第一項に記載の検証システム。
  4. 特許請求の範囲第一項に記載の検証システムにおいて、該検証システムはASICのシミュレーションを目的とすることを特徴とするもの。
  5. 該乱数発生手段は、Verilogの$ramdomシステムタスクを用いて発生させることを特徴とする、特許請求の範囲第4項に記載の検証システム。
  6. 該乱数発生手段は、C言語を用いて発生させることを特徴とする、特許請求の範囲第4項に記載の検証システム。
  7. 該検証システムは、Verilog言語を用いて構築されていることを特徴とする特許請求の範囲第4項に記載の検証システム。
  8. 該検証システムは、VHDL言語を用いて構築されていることを特徴とする特許請求の範囲第4項に記載の検証システム。
JP2003404665A 2003-12-03 2003-12-03 検証システム Withdrawn JP2005165747A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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