JP5239747B2 - 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法 - Google Patents

論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法 Download PDF

Info

Publication number
JP5239747B2
JP5239747B2 JP2008277638A JP2008277638A JP5239747B2 JP 5239747 B2 JP5239747 B2 JP 5239747B2 JP 2008277638 A JP2008277638 A JP 2008277638A JP 2008277638 A JP2008277638 A JP 2008277638A JP 5239747 B2 JP5239747 B2 JP 5239747B2
Authority
JP
Japan
Prior art keywords
circuit
signal
output
constraint
observation point
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
Application number
JP2008277638A
Other languages
English (en)
Other versions
JP2010108120A (ja
Inventor
洋哲 岩下
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008277638A priority Critical patent/JP5239747B2/ja
Priority to US12/499,148 priority patent/US8160859B2/en
Publication of JP2010108120A publication Critical patent/JP2010108120A/ja
Application granted granted Critical
Publication of JP5239747B2 publication Critical patent/JP5239747B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、ハードウェアの論理設計がその仕様を満たしているか否かを確認する論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法に関する。
近年のハードウェアは複数のクロックドメイン(特定のクロック信号またはそれを分周したクロック信号に従う同期回路の領域)で構成されるのが一般的であり、異なるクロックドメイン間での信号受け渡し(CDC: Clock Domain Crossing)の仕組みに関する検証が重要になっている。その有力な手段として、CDCの影響を論理のレベルでモデル化したシミュレーション(CDCシミュレーション)が注目されている。
図14(a)に、クロックドメインの配置例を示し、図14(b)に横軸を時間とした図14(a)における各信号の出力タイミングを示す。尚、クロック信号であるCLK1とCLK2は互いに独立したクロックソースを持つものとする。RTL(Register Transfer Level)の設計の段階では、A1とB1の信号変化がどのような順序/タイミングでクロックドメイン2に到達するか予測できない。また、CLK1とCLK2とは異なるタイミングでクロックドメイン1、クロックドメイン2に入力されるため、信号変化がSetup Time違反/Hold Time違反を起こすことが避けられない。図14での構成では、B2信号の出力タイミングが非決定的(ランダム)となるメタステーブル状態となる。
他の例を図15を参照しつつ説明する。図15(a)の例は上述同様メタステーブル状態によって受信ドメイン全体に予測不能な動作が引き起こされる。メタステーブル状態を解消するため、図15(b)にて示すように、同じクロックソースを持つCLK2を2段受けし、2FFシンクロナイザ(FF:Flip Flop)の構成にすることで、安定した論理値を得ることができる。しかし、かかる構成でも、信号が入力されるタイミングは1サイクル分のズレを伴うものであり、サイクル単位のランダムなタイミング変動すなわちCDCジッタとして残る。
このようにCDCジッタが残っている場合、例えば図16に示す回路構成のようにValid信号の出力タイミングでDATA信号を受け取る回路構成である場合、送信側はValid=1のタイミングでDATA=1を送ろうとしたが、CDCジッタの影響で受信側はDATA=0が送られてきたと誤認識してしまう障害が発生する。
よって、RTLシミュレーションにおいてはDUT(Design Under Test(テスト対象))の出力に仕様違反が無いことがチェックされるが、DUTの回路構成に対しシミュレーションによる検証を行う際、さらに、CDCジッタに起因する障害を検出するためCDCジッタを考慮した特別なシミュレーション手法が必要となる。
従来のCDCシミュレーション手法の例を図17を参照しつつ説明する。例えば図17(a)にて示すようにクロックソースの異なる2つのクロック信号に基づき信号q2が出力される回路構成である場合、従来のCDCシミュレーションにおいてはCDCジッタを考慮した回路構成とするため図17(b)の回路構成としてシミュレーションを実施する。
すなわち、従来のCDCシミュレーションでは、まず、ランダム値(0または1)の信号であるjitter_R1信号と、クロックタイミングの差異をチェックするin_phase信号に基づいた信号によって信号sを出力するか否かを判定するセレクタを実際のテスト回路上に組み込み、その後シミュレーションを実施するものである。
図18にて示したフローチャートに基づき、従来のシミュレーション手法について説明する。
まず、従来のシミュレーション装置は、DUTに対し通常の論理シミュレーション(RTLシミュレーション)を実行する(S101)。ここで、何かしら配置構成上のエラーが検出された場合(S102、Yes)、回路修正が行われることで(S109)、処理はS101に戻る。一方、エラーが検出されなかった場合(S102、No)、ラインガバレッジ等、ガバレッジの基準を満たしているかの判定がなされる(S103)。ガバレッジ不足である場合(S103、Yes)、入力パターンが追加され(S108)、処理はS101へ戻る。
ガバレッジの基準を満たしている場合(S103、No)、例えば図17(b)に記載の構成等にすることでCDCシミュレーションが実施される(S104)。CDCシミュレーションの結果がエラーである場合(S105、Yes)、回路修正がなされる(S109)。エラーが検出されなかった場合(S105、No)、ガバレッジに関する評価がなされ、ガバレッジ不足でない場合(S106、No)、シミュレーションは終了する。
一方、ガバレッジ不足である場合(S106、Yes)、CDCシミュレーションにおける乱数系列の変更がなされ(S107)、再度CDCシミュレーション処理が実施される(S104へ)。また、状況によっては入力パターンの見直しが必要な場合もある(S106、YesからS108へ)。
また、本発明の関連ある従来技術として、以下の文献が開示されている。
特開2005−284426号公報 特開2003−233638号公報 特開2001−229211号公報 T. Ly, N. Hand, and C. K. Kwok, "Formally Verifying Clock Domain Crossing Jitter Using Assertion-Based Verification," in Proc. Design and Verification Conference and Exhibition, 2004. M. Litterick, "Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter Using SystemVerilog Assertions," in Proc. Design and Verification Conference and Exhibition, 2006.
CDCシミュレーションでは、あるクロックドメインから他のクロックドメインへの信号変化の伝播に対して、受信レジスタにおけるサイクル単位のタイミング変動やパルスの消滅/発生といったランダムな影響が付加される。これは一般に、上述したようにCDCの影響を受けると判定された(判定は方式よって異なる)一定の期間、受信レジスタの値をランダム値で置き換えることによって実現されている。
ところが、多くの論理障害は複数箇所のCDC信号の変化や同じCDC信号の複数回の変化が関連して現れる。
例えば図19(a)にて示した回路において、RTLシミュレーション結果では観測点Fでの信号変化は見られないものの(図19(b)の左図参照)、実際にCDCジッタも考慮したRTL+CDCモデルのシミュレーションを行った場合、図19におけるS4、S5、S6のクロック信号の入力タイミングによっては観測点Fで何らかの信号変化が生ずるパターンが存在する(例えば図19(b)の右図参照)。
この観測点Fにおける信号変化の有無を検出する場合、従来のCDCシミュレーションでは一つのシミュレーションパターンに対して2n通り行う必要がでてくる(図19の例ではS4、S5、S6で23=8パターン)。すなわち、図18のフローチャートにおけるS106からS107への処理が2n通り発生し、CDCシミュレーション処理(S104)を2n通り行う必要がでてくる。さらに、これら全てのパターンを実施しても、実際に観測点での信号変化は現れない場合もあり、結果としてCDCシミュレーションの実施を行っても意味が無かったという場合も生じえる。
また、近年の回路の複雑化、多段数化に伴い、一つのシミュレーションパターンに対して膨大な回数のCDCシミュレーションを実施する必要があり、これが検証コスト上昇や検証品質低下の原因となっている。
本発明は上述した問題点を解決するためになされたものであり、注目すべき後段信号への制約条件を加えた論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法を提供することを目的とする。
論理シミュレーションプログラムは、シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得ステップと、前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成ステップと、前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成ステップと、をコンピュータに実行させる。
論理シミュレーション装置は、シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得部と、前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成部と、前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成部と、を備える。
論理シミュレーション方法は、シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得ステップと、前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成ステップと、前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成ステップと、を実行する。
注目すべき観測点への影響を表現した制約条件を加えることで、従来技術では考慮されなかった、ランダム値選択の基準として第2回路より後段の回路への影響をも考慮することができる。これにより、注目した信号に関して1回のシミュレーションで確実に検証することができる。
図1に、本実施の形態におけるCDCシミュレーション装置(論理シミュレーション装置)の構成を示す。CDCシミュレーション装置100は、検証対象の回路情報であるDUT情報51からCDCに関する情報であるCDC情報52を抽出するCDC情報抽出部1を備える。また、CDCシミュレーション装置100は、信号の変化の有無を調査したいシミュレーション対象(本実施の形態ではシミュレーションを実施する対象である物理的回路基板に関する情報)上のポイントの情報である観測点情報56を保持する。CDCシミュレーション装置100は、観測点情報56およびCDC情報52に基づきCDCモデル(CDCジッタを考慮した所定の回路情報)を生成し、検証対象の回路情報であるDUT情報51に付加することでDUT+CDCモデル53を生成するCDCモデル生成部2を備える。尚、観測点情報56はユーザによって入力される情報、または外部システムから取得される情報であるものとするが、CDC情報抽出部1によって生成されてもよい。
また、CDCシミュレーション装置100は、仮想的な環境データであるテストベンチ54と、DUT+CDCモデル53とに基づきシミュレーション対象の検証を行い、検証の可否結果であるシミュレーション結果55を出力するシミュレータ3を備える。
尚、DUT情報51、CDC情報52、観測点情報56、DUT+CDCモデル53、テストベンチ54、シミュレーション結果55は、CDCシミュレーション装置内のデータベースに保持されているものとする。また、DUT情報51、CDC情報52、テストベンチ54、シミュレーション結果55は従来のデータ構成そのままを使用する。またCDC情報抽出部1、シミュレータ3も従来の構成そのままである。
CDCモデル生成部2は、観測点取得部20、ジッタ検出器生成部21(ジッタ検出回路生成部)、制約ソルバ生成部22(制約回路生成部)を備える。
観測点取得部20は、観測点情報56をCDCシミュレーション装置100内のデータベースから取得する。
ジッタ検出器生成部21は、観測点情報56にて示される観測点よりもシミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する回路(第1回路とする)と、観測点よりシミュレーション対象上前段かつ第1回路より後段であり、上述した所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する回路(第2回路とする)とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出器(ジッタ検出回路)に関する情報を生成する。
制約ソルバ生成部22は、上述の観測点で出力される信号を第2回路の出力信号の論理式で作成し、論理式およびジッタ検出器の出力信号に基づき、ジッタ検出器の出力信号と第2回路の出力信号とによって制約された制約信号を出力する制約ソルバおよびセレクタ回路によって構成される回路(制約回路)に関する情報を生成する。
これらジッタ検出器生成部21、制約ソルバ生成部22は、信号受け渡しの時間変動が発生している範囲(以下、必要に応じCDC部分と称す)にジッタ検出器、制約ソルバ、セレクタ回路に関する情報を生成する。尚、ジッタ検出器、制約ソルバ、セレクタ回路に関する情報は、本実施の形態ではVerilogハードウェア記述言語(Verilog HDL)によるソフトウェア的な記述を含んだシミュレーションモデルであり、その具体的内容については後述する。またCDCシミュレーション装置100は物理的な回路基板に関する情報に対しシミュレーションを行うものである。よって、本実施の形態上、「回路を生成する」等の記載は回路のハードウェアを物理的に生成するものではなく、「シミュレーションモデルを生成する」等の意味であることに留意する。
次に、本実施の形態のCDCモデルの概念について、図2を参照しつつ説明する。CDCモデル生成部2は、例えば図2(a)によって示したCDC部分を有する回路に対し、図2(b)によって示すCDCモデルを生成する。すなわち、受信点へのCDCジッタの挿入可否を判定するジッタ検出器(図中は「Jitter Detector」と表記。以下同じ)、観測点Fに影響が伝わる受信点を選択する制約ソルバ(図中は「Constraint Solver」と表記。以下同じ)、およびセレクタが配置される。また、制約ソルバおよびセレクタによって、以下の条件を満たす信号が送信される。
f(S1,S2)≠f(R1,R2
1=(J1?V1:R1
2=(J2?V2:R2
尚、J1、J2は、所定時刻におけるジェッタ検出器から出力される信号値、R1、R2は、所定時刻における受信点から出力される信号値である。R1、R2、J1、J2は、RTLシミュレーションで得られる定数である。また、V1、V2は、制約ソルバから出力される制約されたランダム信号であり、詳細は後述する。
尚、S=(J?V:R)の表記は、Jが真(値1)であれば信号VがSとして出力され、Jが偽(値0)であれば信号RがSとして出力されることを意味する。
尚、本実施の形態では、後段に同じ観測点(観測点F)を持つ複数の受信点を同時に考慮する。また、このように送信点から観測点までの回路情報を使用する。
以下、検証対象である回路構成の具体的な例を挙げ説明する。
図3に、検証対象となる回路構成を示す。所定の観測点であるFにおけるCDC部分は、図3の破線枠で示した範囲となるため、破線範囲内でのCDCモデルの生成について説明する。
図4、図5に、本具体例で使用する各種データを示す。まず、各FF(FF:Flip Flop)に関する情報として、FFごとに割り振られた識別名(名前)、当該FFに入力されるクロック、および当該FFに対する入力信号および出力信号の識別子がDUT情報51として保持されている(図4(a)参照)。また、組合せ論理回路の情報として、組合せ回路の識別名(名前)、および組合わせ定義がDUT情報51として保持されている(図4(b)参照)。
また、CDCに関する情報として、CDCの識別名(名前)、送信する側のFF(すなわち前段のFF)、および受信する側のFF(すなわち後段のFF)がCDC情報52として保持されている(図5(a)参照)。尚、CDC情報52は、CDC情報抽出部1がDUT情報51内のFFリスト(図4(a))に基づき抽出することで得られる。さらに、観測点に関する情報として、観測点の識別名(名前)が観測点情報56として保持されている(図5(b)参照)。
図6に、上述図3にて示した回路に対し、CDCモデル生成部2による処理を適用させたCDCモデルを示す。ジッタ検出器生成部21によって、FF1からFF4間のジッタ検出器として1−1ジッタ検出器(1−1Jitter Detector)が生成され、またFF2、FF3からFF5間のジッタ検出器としてN−1ジッタ検出器(N−1Jitter Detector)が生成される。また、1−1ジッタ検出器から出力される信号であるJ_R4、FF4から出力される信号であるR4、N−1ジッタ検出器から出力される信号であるJ_R5、およびFF5から出力される信号であるR5を入力し、これら信号に基づき所定の制約を加えたランダム信号V_R4、V_R5を出力する制約ソルバが制約ソルバ生成部22によって生成される。
また、制約ソルバ生成部22によって、J_R4が1である場合にV_R4信号をS_R4として出力し、J_R4が0である場合にR4をS_R4として出力するセレクタが生成され、またJ_R5が1である場合にV_R5の信号をS_R5として出力し、J_R5が0である場合にR5をS_R5として出力するセレクタが生成される。
以下、1−1ジッタ検出器、1−Nジッタ検出器、制約ソルバの詳細について、本具体例に則して説明する。
まず、1−1ジッタ検出器について説明する。図7は1−1ジッタ検出器をVerilogハードウェア記述言語(Verilog HDL)上のモジュール「JitterDetector()」(ジッタ検出回路に関する情報)として記載した例を示すものである。図7(a)は、信号Tの値が変化した場合、一定時間(PERIOD=1)だけ出力Eを有効(値1)にする1−1ジッタ検出器の例であり、図7(b)は、信号Tの値が変化した場合、クロックの立ち上がりエッジが到達するまで出力を有効(値1)にする1−1ジッタ検出器の例である。尚、図7に記載の各変数を図6の構成に照らしあわせると、T=T1、E=J_R4、RX_CLK=CLK2の関係になる。
ジッタ検出器生成部21は、このJitterDetector()モジュールを、DUT情報としてVerilog HDLで記載されている予め容易されたファイルに追記することで生成する。
次に、N−1ジッタ検出器について説明する。図8に、N−1ジッタ検出器内の構成を示す。N−1ジッタ検出器は、FF2からの信号であるT2を受信しJ_T2の信号を出力する1−1ジッタ検出器、およびFF3からの信号であるT3を受信しJ_T3の信号を出力する1−1ジッタ検出器を有する。尚、1−1ジッタ検出器は上述にて説明したものである。また、N−1ジッタ検出器は、T2、J_T2、T3、J_T3の信号を受信し、J_Gを出力するジッタマルチプレクサ(マルチプレクサ回路)を有する。ジッタマルチプレクサの出力条件は、
J_G=(T2&J_T3)|(J_T2&T3)|(J_T2&J_T3)
である。
ここで、ジッタ検出器生成部21によるジッタマルチプレクサの出力条件式について、一般の論理式および一般の論理式を本具体例に適用させた式に分けて説明する。
まず、一般の論理式について説明する。一般の論理式は、以下の順で生成される。
1.ジッタ検出器生成部21は、DUT情報51から、対応する箇所の論理式g(T1,...,Tn)を得る。
2.ジッタ検出器生成部21は、論理式g(T1,...,Tn)に現れる変数「Ti」を論理式
Ji?Vi:Ti
(i=1,...,n、JiはTiに接続された1−1ジッタ検出器の出力、Viは新しい変数)
で置き換えて、新しい論理式
g(J1?Vi:Ti, ... ,Jn?Vn:Tn)
を得る。
3.ジッタ検出器生成部21は、ジッタマルチプレクサを実現する論理式jgを求める。
jg(T1,...,Tn,J1,...,Jn)=∃(V1,...,Vn).[g(J1?V1:T1,...,Jn?Vn:Tn)≠g(T1,...,Tn)]
尚、
∃y.[f(x1,...,xm,y)]=f(x1,...,xm,0)|f(x1,...,xm,1)
∃(y1,...,yn).[f(x1,...,xm,y1,...,yn)]=∃(y1,...,yn-1).[∃yn.[f(x1,...,xm,y1,...,yn)]]
である。
4.ジッタ検出器生成部21は、論理式jg(T1,...,Tn,J1,...,Jn)を実現する組合せ回路のVerilog HDL記述を出力する。
上述の一般の論理式を本具体例に適用させた論理式の生成手順は、以下の通りとなる
1.ジッタ検出器生成部21は、DUT情報51から、Gの論理式「T2&T3」を得る。尚、GはAND回路であるため論理式は「T2&T3」となるが、例えばOR回路である場合、論理式は「T2|T3」となる。
2.ジッタ検出器生成部21は、論理式
T2&T3
に現れる変数「T2」を論理式
J_T2?V_T2:T2
および、変数「T3」を論理式
J_T3?V_T3:T3
でそれぞれ置き換えて新しい論理式
(J_T2?V_T2:T2)&(J_T3?V_T3:T3)
を得る。
3.ジッタ検出器生成部21は、ジッタマルチプレクサを実現する論理式を求める。
∃(V_T2,V_T3).[((J_T2?V_T2:T2)&(J_T3?V_T3:T3))≠(T2&T3)]=(T2&J_T3)|(J_T2&T3)|(J_T2&J_T3)
4.ジッタ検出器生成部21は論理式
(T2&J_T3)|(J_T2&T3)|(J_T2&J_T3)
を実現する組合せ回路のVerilog HDL記述を出力する。
assign J_G = (T2 & J_T3) | (J_T2 & T3) | (J_T2 & J_T3);
次に、制約ソルバ生成部22による制約ソルバに与える制約式の生成手順について説明する。本生成手順についても一般の制約式および本具体例に適用させた制約式に分けて説明する。
まず、一般の制約式について説明する。一般の制約式は以下の順で生成される。
1.制約ソルバ生成部22は、DUT情報51から、現在の観測点の値を示す論理式f0を得る。ここでt=0とする。
2.制約ソルバ生成部22は、論理式ftが受信点(受信FF(第2回路)の出力)を示す変数(第2回路の出力信号)で構成されていれば処理4.へ進む。
3.制約ソルバ生成部22は、論理式ftを構成する各変数(FF出力)をそのFFの入力側の論理式で置き換えて、t+1サイクル後の観測点の値を示す論理式ft+1を得る。t=t+1として、処理2.へ戻る。
4.制約ソルバ生成部22は、制約ソルバの出力V1,...,Vnに関する次の制約式を得る。
t(J1?V1:Ri,...,Jn?Vn:Rn)≠ft(R1,...,Rn)
上述の一般の制約式の生成手法を本具体例に適用させた場合、以下の手順となる。
1.制約ソルバ生成部22は、DUT情報51から、現在の観測点の値を示す論理式f0=R6&R7を得る。
2.1.制約ソルバ生成部22は、論理式f0が受信点(受信FF(第2回路)の出力)を示す変数(第2回路の出力信号)で構成されていないので、上述処理3.の処理を実行する。
3.1.制約ソルバ生成部22は、論理式f0=R6&R7を構成するR6をFF6の入力側の論理式R4、R7をFF7の入力側の論理式R5でそれぞれ置き換えて、1サイクル後の観測点の値を示す論理式f1=R4&R5を得る。制約ソルバ生成部22は、上述2.の処理を実行する。
2.2.制約ソルバ生成部22は、論理式f1が受信点(受信FF(第2回路)の出力)を示す変数(第2回路の出力信号)で構成されているので、上述処理4.の処理を実行する。
4.制約ソルバ生成部22は、制約ソルバの出力V_R4、V_R5に関する次の制約式を得る。
((J_R4?V_R4:R4)&(J_R5?V_R5:R5))≠(R4&R5)
制約ソルバによって、上式の条件を満たすV_R4、V_R5が出力される。
図9は制約ソルバをVerilog HDL上のモジュール「ConstraintSolver()」として記載した例を示すものである。
Solverクラス内に、ランダム値の変数であるV_R4、V_R5が宣言され、また制約式も
((J_R4?V_R4:R4) & (J_R5?V_R5:R5)) != (R4 & R5)
としてSolverクラス内に定義されている。
Solverクラスのオブジェクトsが生成され、入力された信号値であるR4、R5、J_R4、J_R5がオブジェクトs内のそれぞれに対し代入される。
オブジェクトsのrandomizeメソッドによって、オブジェクトs内のV_R4、V_R5に0または1のランダム値が代入され、またif文によって上述の制約式の評価がなされる。ここで、評価結果が真(値1)である場合は変数coveredに1が代入される。
その後、制約式の条件を満たすV_R4、V_R5がoutputとしてConstraintSolver()の外部に出力される。尚、covered = 1である場合は、制約式の条件を満たすV_R4、V_R5が見つかったことを意味する。変数coveredの値をガバレッジ基準の一つとして、例えば図18のS106における評価対象とすることで、乱数系列変更の処理へ進まずにすみ、注目した信号に関して1回のシミュレーションで確実に検証することができる。
図10、図11のフローチャートに基づき、本実施の形態の動作を示す。
ジッタ検出器生成部21は、CDCリストから項目を一つ取得する(S1)。ジッタ検出器生成部21は、送信FF(第1回路)が複数か否かを判定する(S2)。ここで、複数である場合(S2、YES)、ジッタ検出器生成部21は、N−1ジッタ検出器をVerlogHDL言語で生成する(S4)。尚、N−1ジッタ検出器は、1−1ジッタ検出器が生成され(S41)、ジッタマルチプレクサが生成されることで(S42)、生成される。
一方、送信FFが単数である場合(S2、No)、ジッタ検出器生成部21は、1−1ジッタ検出器をVerlogHDL言語で生成する(S3)。
その後、ジッタ検出器生成部21は、DUT情報51をコピーして、送信FFから受信FF(第2回路)間の論理記述を生成する(S5)。ジッタ検出器生成部21は、本処理を全てのCDC項目について行ったかの判定をし(S6)、未処理のCDC項目が有る場合(S6、No)、S1へ戻る。また全てのCDC項目に対し処理が完了している場合(S6、Yes)、処理は次のステップへ進む(図11のS11へ)。
制約ソルバ生成部22は、観測点リストから観測点を一つ取得し(S11)、上述の「制約ソルバに与える制約式の生成手順」にて説明した手順に則り制約式を得る(S12)。制約ソルバ生成部22は、得られた制約式を使って制約ソルバをVerlogHDL言語で生成する(S13)。
その後、制約ソルバ生成部22は、制約ソルバの出力値と、受信FFの出力値を選択するセレクタをVerlogHDL言語で生成する。
最後に、全ての観測点について行われたかの判定がなされ、未処理の観測点がある場合(S15、No)、S11へ戻る。全ての観測点に対し処理完了である場合(S15、Yes)、処理は終了する。
なお、本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図12は、本発明が適用されるコンピュータシステムの一例を示す図である。図12に示すコンピュータシステム920は、CPUやディスクドライブ等を内蔵した本体部901、本体部901からの指示により画像を表示するディスプレイ902、コンピュータシステム920に種々の情報を入力するためのキーボード903、ディスプレイ902の表示画面902a上の任意の位置を指定するマウス904及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置905を有する。通信装置905は、ネットワーク通信カード、モデムなどが考えられる。
上述したような、論理シミュレーション装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、論理シミュレーションプログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、論理シミュレーション装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム920に少なくとも論理シミュレーション機能を持たせる論理シミュレーションプログラム(論理シミュレーションソフトウェア)は、コンピュータシステム920に入力されてコンパイルされる。このプログラムは、コンピュータシステム920を論理シミュレーション機能を有する論理シミュレーション装置として動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム920により読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、ディスク110やフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置105のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
図13は、コンピュータシステム920における本体部901のハードウェア構成の一例を示す図である。本体部901は、CPU(Central Processing Unit)951、メモリ952、ディスク910等の可搬型記録媒体からデータを読み書きするディスクドライブ953、および不揮発性な記憶手段であるHDD(Hard disk drive)954を備える。上述の各ユニットは、例えばHDD954やディスク910等の不揮発性な記憶手段内に予め保持されたプログラムが、CPU951、メモリ952等のハードウェア資源と協働することで実現される。
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1) シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得部と、
前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成部と、
前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成部と、
を備える論理シミュレーション装置。
(付記2) 付記1に記載の論理シミュレーション装置において、さらに、
前記ジッタ検出回路生成部、前記制約回路生成部は、信号受け渡しの時間変動が発生する範囲に生成することを特徴とする論理シミュレーション装置。
(付記3) 付記1に記載の論理シミュレーション装置において、
前記ジッタ検出回路生成部は、さらに、前記第1回路が複数であり前記第2回路が単数である場合、前記第1回路それぞれに基づき生成したジッタ検出回路それぞれの一つ後の段に、該ジッタ検出回路それぞれからの出力信号、および前記第1回路それぞれからの出力信号に基づいた信号を前記第2回路に出力するマルチプレクサ回路に関する情報を生成することを特徴とする論理シミュレーション装置。
(付記4) 付記1に記載の論理シミュレーション装置において、
前記制約回路生成部は、制約信号をV、前記第2回路からの出力信号をR、前記ジッタ検出回路からの出力信号をJとした場合、
(J?V:R)≠(R)
を満たす信号を出力する制約回路に関する情報を生成することを特徴とする論理シミュレーション装置。
(付記5) シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得ステップと、
前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成ステップと、
前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成ステップと、
をコンピュータに実行させる論理シミュレーションプログラム。
(付記6) 付記5に記載の論理シミュレーションプログラムにおいて、さらに、
前記ジッタ検出回路生成ステップ、前記制約回路生成ステップは、信号受け渡しの時間変動が発生する範囲に生成することを特徴とする論理シミュレーションプログラム。
(付記7) 付記5に記載の回路論理シミュレーションプログラムにおいて、
前記ジッタ検出回路生成ステップは、さらに、前記第1回路が複数であり前記第2回路が単数である場合、前記第1回路それぞれに基づき生成したジッタ検出回路それぞれの一つ後の段に、該ジッタ検出回路それぞれからの出力信号、および前記第1回路それぞれからの出力信号に基づいた信号を前記第2回路に出力するマルチプレクサ回路に関する情報を生成することを特徴とする論理シミュレーションプログラム。
(付記8) 付記5に記載の論理シミュレーションプログラムにおいて、
前記制約回路生成ステップは、制約信号をV、前記第2回路からの出力信号をR、前記ジッタ検出回路からの出力信号をJとした場合、
(J?V:R)≠(R)
を満たす信号を出力する制約回路に関する情報を生成することを特徴とする論理シミュレーションプログラム。
(付記9)
シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得ステップと、
前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成ステップと、
前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成ステップと、
を実行する論理シミュレーション方法。
(付記10) 付記9に記載の論理シミュレーション方法において、さらに、
前記ジッタ検出回路生成ステップ、前記制約回路生成ステップは、信号受け渡しの時間変動が発生する範囲に生成することを特徴とする論理シミュレーション方法。
(付記11) 付記9に記載の論理シミュレーション方法において、
前記ジッタ検出回路生成ステップは、さらに、前記第1回路が複数であり前記第2回路が単数である場合、前記第1回路それぞれに基づき生成したジッタ検出回路それぞれの一つ後の段に、該ジッタ検出回路それぞれからの出力信号、および前記第1回路それぞれからの出力信号に基づいた信号を前記第2回路に出力するマルチプレクサ回路に関する情報を生成することを特徴とする論理シミュレーション方法。
(付記12) 付記9に記載の論理シミュレーション方法において、
前記制約回路生成ステップは、制約信号をV、前記第2回路からの出力信号をR、前記ジッタ検出回路からの出力信号をJとした場合、
(J?V:R)≠(R)
を満たす信号を出力する制約回路に関する情報を生成することを特徴とする論理シミュレーション方法。
本実施の形態に係るCDCシミュレーション装置の機能構成を示す図である。 本実施の形態のCDCモデルの概念の一例を示す図である。 本実施の形態に係る検証対象となる回路構成を示す図である。 本実施の形態に係る検証対象の回路構成のデータの一例を示す図である(FFリスト、組み合わせ論理リスト)。 本実施の形態に係る検証対象の回路構成のデータを一例を示す図である(CDCリスト、観測点リスト)。 本実施の形態に係る検証対象の回路構成に対しCDCモデル生成部の処理を適用させたCDCモデルの一例を示す図である。 本実施の形態に係る1−1ジッタ検出器をモジュール「JitterDetector()」として記載した例を示す図である。 本実施の形態に係るN−1ジッタ検出器内の構成を示す図である。 本実施の形態に係る制約ソルバをモジュール「ConstraintSolver()」として記載した例を示す図である。 本実施の形態に係るCDCモデル生成部の動作の一例を示すフローチャートである(その1)。 本実施の形態に係るCDCモデル生成部の動作の一例を示すフローチャートである(その2)。 本実施の形態に適用されるコンピュータシステムの一例を示す図である。 本実施の形態に適用されるコンピュータシステムにおける本体部のハードウェア構成の一例を示す図である。 クロックドメインの配置例を示す図である。 図14とは異なるクロックドメインの配置例を示す図である。 所定の回路でValid信号、DATA信号の出力タイミングの相違による障害を説明する図である。 従来のCDCシミュレーション手法の例を説明するための図である。 従来のCDCシミュレーション手法の例を示すフローチャートである。 RTL+CDCモデルのシミュレーションの利点を示す図である。
符号の説明
1 CDC情報抽出部、2 CDCモデル生成部、3 シミュレータ、20 観測点取得部、21 ジッタ検出器生成部、22 制約ソルバ生成部、51 DUT情報、53 DUT+CDCモデル、54 テストベンチ、55 シミュレーション結果、56 観測点情報、100 CDCシミュレーション装置。

Claims (6)

  1. シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得ステップと、
    前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成ステップと、
    前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成ステップと、
    をコンピュータに実行させる論理シミュレーションプログラム。
  2. 請求項1に記載の論理シミュレーションプログラムにおいて、さらに、
    前記ジッタ検出回路生成ステップ、前記制約回路生成ステップは、信号受け渡しの時間変動が発生する範囲に生成することを特徴とする論理シミュレーションプログラム。
  3. 請求項1に記載の回路論理シミュレーションプログラムにおいて、
    前記ジッタ検出回路生成ステップは、さらに、前記第1回路が複数であり前記第2回路が単数である場合、前記第1回路それぞれに基づき生成したジッタ検出回路それぞれの一つ後の段に、該ジッタ検出回路それぞれからの出力信号、および前記第1回路それぞれからの出力信号に基づいた信号を前記第2回路に出力するマルチプレクサ回路に関する情報を生成することを特徴とする論理シミュレーションプログラム。
  4. 請求項1に記載の論理シミュレーションプログラムにおいて、
    前記制約回路生成ステップは、制約信号をV、前記第2回路からの出力信号をR、前記ジッタ検出回路からの出力信号をJとした場合、
    (J?V:R)≠(R)
    を満たす信号を出力する制約回路に関する情報を生成することを特徴とする論理シミュレーションプログラム。
  5. シミュレーション対象上の所定の観測点に関する情報を取得する観測点取得部と、
    前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成するジッタ検出回路生成部と、
    前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成する制約回路生成部と、
    を備える論理シミュレーション装置。
  6. コンピュータを用いて実行する論理シミュレーション方法であって、
    前記コンピュータが備えるプロセッサが、シミュレーション対象上の所定の観測点に関する情報を取得し前記コンピュータが備えるメモリに書き込む観測点取得ステップと、
    前記プロセッサが、前記所定の観測点よりも前記シミュレーション対象上前段であって所定のクロックソースから出力されるクロックで信号を出力する第1回路と、前記所定の観測点より前記シミュレーション対象上前段かつ前記第1回路より後段であり、前記所定のクロックソースとは異なるクロックソースから出力されるクロックで信号を出力する第2回路とで、信号受け渡しの時間変動が発生するか否かを判定するジッタ検出回路に関する情報を生成し前記メモリに書き込むジッタ検出回路生成ステップと、
    前記プロセッサが、前記所定の観測点で出力される信号を前記第2回路の出力信号の論理式で作成し、該論理式および前記ジッタ検出回路の出力信号に基づき、該ジッタ検出回路の出力信号と前記第2回路の出力信号とによって制約された制約信号を出力する制約回路に関する情報を生成し前記メモリに書き込む制約回路生成ステップと、
    を実行する論理シミュレーション方法。
JP2008277638A 2008-10-29 2008-10-29 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法 Expired - Fee Related JP5239747B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008277638A JP5239747B2 (ja) 2008-10-29 2008-10-29 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法
US12/499,148 US8160859B2 (en) 2008-10-29 2009-07-08 Medium storing logic simulation program, logic simulation apparatus, and logic simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008277638A JP5239747B2 (ja) 2008-10-29 2008-10-29 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法

Publications (2)

Publication Number Publication Date
JP2010108120A JP2010108120A (ja) 2010-05-13
JP5239747B2 true JP5239747B2 (ja) 2013-07-17

Family

ID=42118343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008277638A Expired - Fee Related JP5239747B2 (ja) 2008-10-29 2008-10-29 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法

Country Status (2)

Country Link
US (1) US8160859B2 (ja)
JP (1) JP5239747B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5445358B2 (ja) * 2010-07-02 2014-03-19 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法
US11403450B2 (en) * 2020-01-03 2022-08-02 Synopsys, Inc. Convergence centric coverage for clock domain crossing (CDC) jitter in simulation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3953250B2 (ja) * 2000-02-16 2007-08-08 Necエレクトロニクス株式会社 非同期回路の検証方法
JP3759051B2 (ja) 2002-02-12 2006-03-22 Necマイクロシステム株式会社 非同期回路の検証方法およびそのプログラム
JP4271067B2 (ja) * 2004-03-29 2009-06-03 富士通マイクロエレクトロニクス株式会社 非同期回路検証方法および非同期回路検証プログラム
US7640151B2 (en) * 2004-03-30 2009-12-29 Broadcom Corporation Asynchronous clock domain crossing jitter randomiser
US7356789B2 (en) * 2004-06-01 2008-04-08 Tai An Ly Metastability effects simulation for a circuit description
US7966468B1 (en) * 2004-12-13 2011-06-21 Nvidia Corporation Apparatus, system, and method for fast read request transfer through clock domains
US7333926B2 (en) * 2005-06-09 2008-02-19 International Business Machines Corporation Method, apparatus, and computer program product for facilitating modeling of a combinatorial logic glitch at an asynchronous clock domain crossing
JP2007052640A (ja) * 2005-08-18 2007-03-01 Nec Electronics Corp 非同期回路の検証装置、非同期回路の検証方法およびその検証プログラム
JP4759392B2 (ja) * 2006-01-16 2011-08-31 富士通株式会社 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP4763629B2 (ja) * 2007-02-20 2011-08-31 富士通セミコンダクター株式会社 検証装置、検証方法及びプログラム
JP5310036B2 (ja) * 2009-01-30 2013-10-09 富士通株式会社 検証支援プログラムおよび検証支援装置

Also Published As

Publication number Publication date
US8160859B2 (en) 2012-04-17
JP2010108120A (ja) 2010-05-13
US20100106477A1 (en) 2010-04-29

Similar Documents

Publication Publication Date Title
US7454728B2 (en) Metastability injector for a circuit description
US8635579B1 (en) Local clock skew optimization
JP2011138183A (ja) 検証支援プログラム、および検証支援装置
US9817433B2 (en) Apparatus and method for achieving glitch-free clock domain crossing signals
Karimi et al. Detection, diagnosis, and recovery from clock-domain crossing failures in multiclock SoCs
US7888971B2 (en) Verification support system and method
JP2004038617A (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
Churiwala et al. Principles of VLSI RTL design: a practical guide
US8504347B2 (en) Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit
US8321825B2 (en) Method and system for synthesizing relative timing constraints on an integrated circuit design to facilitate timing verification
JP5239747B2 (ja) 論理シミュレーションプログラム、論理シミュレーション装置、論理シミュレーション方法
US10430535B2 (en) Verification support program medium, verification support method, and information processing device for verification of a circuit
US9104829B2 (en) Method of validating timing issues in gate-level simulation
US11775718B2 (en) Methods and apparatus to simulate metastability for circuit design verification
US10755010B2 (en) Metastability insertion using the X-state
US8943457B2 (en) Simulating scan tests with reduced resources
Kebaili et al. Enabler-based synchronizer model for clock domain crossing static verification
JPWO2010101029A1 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム
Alizadeh et al. QBF-Based post-silicon debug of speed-paths under timing variations
Tarawneh et al. Xprova: Formal Verification Tool with Built-in Metastability Modeling
JP4983642B2 (ja) 設計検証プログラム、設計検証方法および設計検証装置
JP2007241836A (ja) マルチサイクルパス検証方法
JP2020047060A (ja) スキャンテスト回路の設計方法、スキャンテスト回路の設計プログラム、及び、半導体集積回路
JP2006139722A (ja) 非同期信号検証方法及び装置
Kim Top Dos and Don ‘ts for Writing OpenVera Assertions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121102

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: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130318

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees