JP2009116497A - 同期化回路の検証方法及びその検証装置 - Google Patents
同期化回路の検証方法及びその検証装置 Download PDFInfo
- Publication number
- JP2009116497A JP2009116497A JP2007287137A JP2007287137A JP2009116497A JP 2009116497 A JP2009116497 A JP 2009116497A JP 2007287137 A JP2007287137 A JP 2007287137A JP 2007287137 A JP2007287137 A JP 2007287137A JP 2009116497 A JP2009116497 A JP 2009116497A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- signal
- synchronization
- asynchronous
- external control
- 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.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】同期化回路の要否を検証する。
【解決手段】設計データに基づき、非同期パスが検出され、非同期パス上に外部制御シンクロナイザ10と、制御回路15とが配置される。外部制御シンクロナイザ10は、制御回路15に従って、メタステーブル発生部11が生成する擬似メタステーブル信号、または同期化部12によって同期化された同期化信号を切り替え、次段の順序回路22に出力する。こうして信号を切り替えながら、擬似メタステーブル信号が入力されたときの順序回路22の状態と、同期化信号が入力されたときの順序回路22の状態と、が検証され、非同期パスにおける同期化回路の要否が判定される。
【選択図】図1
【解決手段】設計データに基づき、非同期パスが検出され、非同期パス上に外部制御シンクロナイザ10と、制御回路15とが配置される。外部制御シンクロナイザ10は、制御回路15に従って、メタステーブル発生部11が生成する擬似メタステーブル信号、または同期化部12によって同期化された同期化信号を切り替え、次段の順序回路22に出力する。こうして信号を切り替えながら、擬似メタステーブル信号が入力されたときの順序回路22の状態と、同期化信号が入力されたときの順序回路22の状態と、が検証され、非同期パスにおける同期化回路の要否が判定される。
【選択図】図1
Description
本発明は同期化回路の検証方法及びその検証装置に関し、特に送信回路と受信回路が非同期関係にある信号の同期化回路の検証方法及びその検証装置に関する。
半導体集積回路の回路規模の増大に伴って、異なるクロックで動作する装置や回路内の素子から入力される非同期入力信号の数も多くなってきた。以下、このような非同期入力信号の転送経路を非同期パスとする。非同期信号が入力されると、ラッチやフリップフロップ(Flip Flop;以下、FFと表記する)などの順序回路では、入力信号のセットアップ時間やホールド時間が守られなかったとき、出力信号が不安定な状態となるメタステーブル(meta-stable)が発生する。非同期入力信号はどこで変化するかわからないので、メタステーブルの発生を防ぐことは困難である。しかし、発生したメタステーブルによって次段の出力信号が不安定となるメタステーブルの伝播は避けなければならない。このため、従来の半導体集積回路の論理設計では、非同期パスに自動的に同期化回路を挿入し、メタステーブルの伝播を回避していた。
図14は、従来の半導体集積回路の論理設計の手順を示したフローチャートである。
従来の半導体集積回路の論理設計では、最初にRTL(Register Transfer Level)設計が行われ、ハードウェアの回路構成をレジスタレベルで記述した設計データであるRTLデータ911が生成される(ステップS901)。次に、RTLデータ911とクロック情報912とに基づいて、回路上のすべての非同期パスが検出され(ステップS902)、各非同期パスについてステップS903、S904の処理を実行するループ処理が行われる。ループ処理では、各非同期パスに同期化回路が存在するかどうかが判定され(ステップS903)、存在しないときは、同期化回路が挿入される(ステップS904)。こうして、回路上のすべての非同期パスに同期化回路が挿入される。続いて、論理検証試験が行われる(ステップS905)。ここで行われる論理検証は、回路が論理上正しく動作するかを検証するための試験である。同期化回路に関しては、次段の出力信号が正しいかなどが検証される。検証結果を判定し(ステップS906)、問題が検出されたときは、ステップS901に戻って回路の手直しが行われる。論理検証が正常終了すれば、論理合成が行われ、ネットリスト913が生成される(ステップS907)。
従来の半導体集積回路の論理設計では、最初にRTL(Register Transfer Level)設計が行われ、ハードウェアの回路構成をレジスタレベルで記述した設計データであるRTLデータ911が生成される(ステップS901)。次に、RTLデータ911とクロック情報912とに基づいて、回路上のすべての非同期パスが検出され(ステップS902)、各非同期パスについてステップS903、S904の処理を実行するループ処理が行われる。ループ処理では、各非同期パスに同期化回路が存在するかどうかが判定され(ステップS903)、存在しないときは、同期化回路が挿入される(ステップS904)。こうして、回路上のすべての非同期パスに同期化回路が挿入される。続いて、論理検証試験が行われる(ステップS905)。ここで行われる論理検証は、回路が論理上正しく動作するかを検証するための試験である。同期化回路に関しては、次段の出力信号が正しいかなどが検証される。検証結果を判定し(ステップS906)、問題が検出されたときは、ステップS901に戻って回路の手直しが行われる。論理検証が正常終了すれば、論理合成が行われ、ネットリスト913が生成される(ステップS907)。
以上の処理手順が実行されることにより、非同期パスが検出され、一律に同期化回路が挿入されていた。
また、このような同期化回路を含む回路の動作確認(試験)では、非同期入力信号を得るための信号発生器などが必要となり、試験を容易に行うことができなかった。そこで、回路内に非同期信号に見立てた信号を発生させる擬似非同期信号発生手段を設け、同期化回路の試験を行う試験方法が提案されている(たとえば、特許文献1参照)。
特開平5−45422号公報(図1、図5)
また、このような同期化回路を含む回路の動作確認(試験)では、非同期入力信号を得るための信号発生器などが必要となり、試験を容易に行うことができなかった。そこで、回路内に非同期信号に見立てた信号を発生させる擬似非同期信号発生手段を設け、同期化回路の試験を行う試験方法が提案されている(たとえば、特許文献1参照)。
しかし、従来の同期化回路の検証方法では、その同期化回路の要否を検証することができないという問題点があった。すなわち、従来の同期化回路の検証方法は、同期化回路の動作を検証することを目的としており、非同期パスに挿入された同期化回路の論理が正しいことを検証するのみであった。
大規模化する半導体集積回路では、回路中の非同期パスが数百から数千個以上存在するが、そのすべてでメタステーブルが伝播されるわけではない。回路構成によっては、メタステーブル状態の信号が入力されても正しく機能し、メタステーブルを伝播させないものもある。しかし、従来の同期化回路の検証方法では、メタステーブルを伝播させない、すなわち同期化回路が必要ない非同期パスを見つけることはできなかった。そこで、メタステーブルの伝播を確実に回避するため、非同期パスには一律に同期化回路が挿入されていた。この結果、本来は必要のない箇所にも同期化回路が挿入され、回路規模が必要以上に増大するばかりでなく、半導体集積回路のコスト増の要因となっていた。
本発明はこのような点に鑑みてなされたものであり、同期化回路の要否を検証することが可能な同期化回路の検証方法及びその検証装置を提供することを目的とする。
上記課題を解決するために、図1に示すような外部制御同期化回路を用いた同期化回路の検証方法が提供され、送信回路と受信回路が非同期関係にある信号の同期化回路の動作が検証される。外部制御シンクロナイザ(同期化回路)10は、擬似メタステーブル信号を発生させるメタステーブル発生部11と、非同期信号または擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部12と、外部から入力される外部制御信号に基づいて擬似メタステーブル信号または同期化信号を切り替えて検証対象回路に出力する切替部13,14と、を有する。図では、受信側クロックCLK2で動作し、非同期関係にある送信側クロックCLK1で動作する順序回路21からの信号を入力して動作する順序回路22が検証対象回路になる。この同期化回路の検証方法では、まず、非同期パス検出手段によって、設計データに基づいて、非同期信号が転送される非同期パスが検出され、配置手段によって検出された非同期パス上に外部制御シンクロナイザ(同期化回路)10が配置される。そして要否判定手段が、外部制御信号によって切替部13,14を制御し、擬似メタステーブル信号または同期化信号を切り替えて次段の順序回路に出力したときのこの順序回路の状態を検証し、検証結果に基づいて非同期パスにおける同期化回路の要否を判定する。
このような同期化回路の検証方法によれば、設計データに基づき、非同期パスが検出され、非同期パス上に外部制御シンクロナイザ(同期化回路)10が配置される。外部制御信号を用いて外部制御シンクロナイザ(同期化回路)10内の切替部13,14が制御され、メタステーブル発生部11が生成する擬似メタステーブル信号、または同期化部12によって同期化された同期化信号が切り替えられ、次段の順序回路22に出力される。そして、擬似メタステーブル信号が入力されたときの順序回路22の状態と、同期化信号が入力されたときの順序回路22の状態と、が検証され、非同期パスにおける同期化回路の要否が判定される。
また、上記課題を解決するために、送信回路と受信回路が非同期関係にある信号の同期化回路の検証装置において、クロックの異なる入力信号で動作する順序回路を含む回路の設計データを記憶する記憶手段と、設計データを読み出し、読み出した設計データに基づいて非同期信号が転送される非同期パスを検出する非同期パス検出手段と、擬似メタステーブル信号を発生させるメタステーブル発生部と、非同期信号または擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて擬似メタステーブル信号または同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を非同期パス上に配置する配置手段と、外部制御信号によって切替部を制御し、擬似メタステーブル信号または同期化信号を次段の順序回路に出力したときの順序回路の状態を検証し、検証結果に基づいて非同期パスにおける同期化回路の要否を判定する要否判定手段と、を有することを特徴とする同期化回路の検証装置、が提供される。
このような同期化回路の検証装置によれば、非同期パス検出手段によって設計データに基づいて検出された非同期パス上に、配置手段が、外部制御同期化回路を配置する。外部制御同期化回路は、外部からの制御に従って擬似メタステーブル信号または同期化信号を切り替えて次段の順序回路に出力させることができる。要否判定手段は、順序回路に入力される信号を切り替え、それぞれの信号を入力したときの順序回路の状態を検証し、非同期パスに同期化回路が必要であるか否かを判定する。
本発明に係る同期化回路の検証方法によれば、非同期パス上に外部制御信号に応じて、同期化された出力信号を発生させる同期状態と、擬似メタステーブル信号が出力される非同期状態とを切り替えることができる外部制御同期化回路を配置し、それぞれの動作状態で回路の論理検証を行うことによって、非同期パスに同期化回路が必要であるか否かを検証することができる。非同期状態と同期状態との2つのモデルを別個に用意して検証を行う必要がなく、簡便に同期化回路の要否を判定することができる。
以下、実施の形態を図面を参照して説明する。最初に、実施の形態の同期化回路の検証方法に適用される外部制御同期化回路について説明し、続いてこれを用いた同期化回路の検証方法について説明する。以下、同期化回路をシンクロナイザと表記する。
図1は、実施の形態のシンクロナイザの検証方法に適用される外部制御シンクロナイザの一例を示した図である。
実施の形態のシンクロナイザの検証方法では、非同期パスに外部制御シンクロナイザ10が挿入され、シンクロナイザの要否が検証される。図の例では、第1のクロック信号CLK1で動作する順序回路21の出力信号を、CLK1とは非同期関係にある第2のクロック信号CLK2で動作する順序回路22に入力するときに、同期化が必要であるかどうかが検証される。以下、信号を送り出す側の順序回路21の動作クロックであるCLK1を送信側クロックCLK1、信号を受信する側の順序回路22の動作クロックであるCLK2を受信側クロックCLK2とする。非同期関係にあるクロックで動作する送信側から受信側へ転送される信号の同期化が必要であるかを検証するため、順序回路21の出力信号が順序回路22へ転送される非同期パス上に外部制御シンクロナイザ10が配置される。
実施の形態のシンクロナイザの検証方法では、非同期パスに外部制御シンクロナイザ10が挿入され、シンクロナイザの要否が検証される。図の例では、第1のクロック信号CLK1で動作する順序回路21の出力信号を、CLK1とは非同期関係にある第2のクロック信号CLK2で動作する順序回路22に入力するときに、同期化が必要であるかどうかが検証される。以下、信号を送り出す側の順序回路21の動作クロックであるCLK1を送信側クロックCLK1、信号を受信する側の順序回路22の動作クロックであるCLK2を受信側クロックCLK2とする。非同期関係にあるクロックで動作する送信側から受信側へ転送される信号の同期化が必要であるかを検証するため、順序回路21の出力信号が順序回路22へ転送される非同期パス上に外部制御シンクロナイザ10が配置される。
外部制御シンクロナイザ10は、受信側クロックCLK2で動作し、メタステーブル発生部11、同期化部12、切替部13,14を有し、制御回路15から入力される制御信号に従って動作状態を、非同期状態と同期状態とに切り替える。制御信号には、メタステーブル状態の発生有無の切り替えを指示するメタステーブル制御信号MetaEn(以下、単にMetaEnと表記する)と、同期状態の切り替えを指示する同期化制御信号SyncEn[0]、SyncEn[1](以下、単にSyncEnと表記する)とがある。なお、外部制御シンクロナイザ10が「同期状態である」とは、送信側クロックCLK1で動作する順序回路21から次段の順序回路22へ出力される出力信号が受信側クロックCLK2に同期している状態を言う。また、「非同期状態である」とは、この出力信号が受信側クロックCLK2に同期していない状態を言う。
メタステーブル発生部11は、受信側クロックCLK2で動作し、制御回路15から入力されるMetaEnがイネーブルのとき、送信側クロックCLK1で動作する順序回路21の出力信号を入力して擬似的なメタステーブル状態を発生させ、擬似メタステーブル信号を出力する。
同期化部12は、受信側クロックCLK2で動作し、切替部13によって選択された順序回路21の出力信号または擬似メタステーブル信号を受信側クロックCLK2に同期させて同期化信号を出力する。同期化信号は、切替部14を介して順序回路22に出力される。
切替部13及び切替部14は、制御回路15から入力されるSyncEn[0]、SyncEn[1]に従って、外部制御シンクロナイザ10の動作状態を、同期状態または非同期状態に切り替える。具体的には、同期化部12及び順序回路22へ入力される信号と、次段の順序回路22へ出力する出力信号を、同期状態(同期化部12の出力信号)、または、非同期状態(たとえば、メタステーブル発生部11の出力信号)に切り替える。切替部13は、aは順序回路21の出力信号、bは擬似メタステーブル信号を入力し、SyncEn[0]の値に基づいて入力信号を切り替え、同期化部12へ出力する。切替部14は、cは切替部13の出力信号、dは同期化部12の出力信号を入力し、SyncEn[1]の値に基づいて入力信号を切り替え、順序回路22へ出力する。
制御回路15は、外部制御シンクロナイザ10の外部に設置され、外部から入力される外部制御信号を、擬似メタステーブル信号発生の許可と禁止をメタステーブル発生部11に指示するメタステーブル制御信号MetaEnと、同期化部12へ入力される信号及び同期化部12から出力される信号を切替制御する同期化制御信号SyncEn[0],SyncEn[1]に変換し、外部制御シンクロナイザ10に出力してその動作状態を制御する。たとえば、デコーダとして機能し、外部制御信号の値に応じて制御信号の値を設定する。同期状態を発生させるときは、SyncEn[1]を操作して、切替部14にdを選択させる。これにより、同期化部12によって受信側クロックCLK2に同期された同期化信号が順序回路22に入力される。非同期状態を発生させるときは、SyncEn[1]を操作して、切替部14にcを選択させる。これにより、非同期の順序回路21の出力信号またはメタステーブル信号の非同期信号が順序回路22に入力される。そして、メタステーブル状態を発生させるときは、MetaEnを操作してメタステーブル発生部11の動作を許可する。なお、外部より直接MetaEn、SyncEn[0]、及びSyncEn[1]を操作する構成とすることもできる。
外部制御シンクロナイザ10の動作を説明する。制御回路15には、外部より外部制御信号が入力される。指示は、メタステーブル状態を発生させるか否かの指示と、シンクロナイズを行うか否か指示との組み合わせで行われる。制御回路15は、外部制御信号の指示を、MetaEn、SyncEn[0]、SyncEn[1]に変換し、外部制御シンクロナイザ10を制御する。
たとえば、同期化回路が必要であるかどうかを検証するため、擬似メタステーブル信号を直接次段の順序回路22へ出力し、問題がないかどうかを検証したいときは、「非同期状態」及び「メタステーブル許可」が外部制御信号によって指示される。制御回路15は、MetaEn=許可、SyncEn[0]はb選択、SyncEn[1]はc選択を指示する。これにより、メタステーブル発生部11で生成された擬似メタステーブル信号が、同期化されずに外部制御シンクロナイザ10から出力される。
同期状態を検証したいときは、たとえば、「同期状態」、「メタステーブル許可」が外部制御信号によって指示される。制御回路15は、MetaEn=許可、SyncEn[0]はb選択、SyncEn[1]はd選択を指示する。これによって、次段の順序回路22には、メタステーブル発生部11で生成された擬似メタステーブル信号が同期化部12で同期化された後、入力される。このように、外部制御信号により外部制御シンクロナイザ10の動作状態を適宜切り替えて検証を行うことができる。なお、外部制御信号の指示があれば、順序回路21の出力信号も同じように操作することができる。
図1では、同期化部12は、1段で構成されているが、これを複数段の構成とすることもできる。
次に、このような外部制御シンクロナイザ10を用いたシンクロナイザの検証方法について説明する。この検証方法は、検証装置を構成する各処理手段がそれぞれの処理手順を実行することにより実行される。図2は、実施の形態のシンクロナイザの検証方法の手順を示したフローチャートである。
次に、このような外部制御シンクロナイザ10を用いたシンクロナイザの検証方法について説明する。この検証方法は、検証装置を構成する各処理手段がそれぞれの処理手順を実行することにより実行される。図2は、実施の形態のシンクロナイザの検証方法の手順を示したフローチャートである。
[ステップS01] RTL設計が行われる。RTLデータ(非同期パスへシンクロナイザ未挿入)41が生成され、記憶手段に格納される。
[ステップS02] 非同期パス検出手段が、記憶手段に記憶されているRTLデータ41及びクロック情報を読み出し、これらに基づいて非同期信号が入力される順序回路を含む検証対象の回路から、非同期信号が転送される非同期パスをすべて検出する。
[ステップS02] 非同期パス検出手段が、記憶手段に記憶されているRTLデータ41及びクロック情報を読み出し、これらに基づいて非同期信号が入力される順序回路を含む検証対象の回路から、非同期信号が転送される非同期パスをすべて検出する。
[ステップS03] 配置手段が、非同期パス検出手段によって検出されたすべての非同期パスのうち、シンクロナイザが配置されていない非同期パスに、外部制御シンクロナイザを配置する。すでにシンクロナイザが配置されている非同期パス、すなわち、設計者によってRTL設計時に意図的にシンクロナイザが配置された非同期パスについては、シンクロナイザの要否を判定する必要がないので、ここでは外部制御シンクロナイザを配置しない。このとき生成される外部制御シンクロナイザ10が挿入された設計データを検証RTLデータ42として記憶手段に格納しておく。
ここまでの処理で、予めシンクロナイザが設定されていないすべての非同期パスに、外部制御シンクロナイザが挿入される。
[ステップS04] 検証RTLデータ42を読み出し、論理検証を行う。このとき、外部制御シンクロナイザ10を外部制御信号でコントロールし、前段の順序回路21が生成する非同期信号、メタステーブル発生部11の生成する擬似メタステーブル信号、または、同期化部12が同期化した同期化信号を切り替えて順序回路22へ出力し、そのときの順序回路の状態を検証する。たとえば、波形やアサーションにより所望の動作を行うかどうかを確認する。
[ステップS04] 検証RTLデータ42を読み出し、論理検証を行う。このとき、外部制御シンクロナイザ10を外部制御信号でコントロールし、前段の順序回路21が生成する非同期信号、メタステーブル発生部11の生成する擬似メタステーブル信号、または、同期化部12が同期化した同期化信号を切り替えて順序回路22へ出力し、そのときの順序回路の状態を検証する。たとえば、波形やアサーションにより所望の動作を行うかどうかを確認する。
[ステップS05] 論理検証の結果に基づき、各非同期パスに同期化が必要であるか否かを判断し、外部制御シンクロナイザ部分を判断結果に対応する回路に置き換える。同期化しなくても問題ないと判断されたときは、外部制御シンクロナイザをシンクロナイザ無(元の非同期パス)に置き換える。同期化が必要と判断されたときは、外部制御シンクロナイザを通常のシンクロナイザに置き換える。置き換えが行われた設計データを修正RTLデータ43とし、記憶手段に格納する。
[ステップS06] 修正RTLデータ43を用いて論理合成が行われる。
以上の処理手順が実行されることにより、RTL設計により生成されたRTLデータ41について論理検証によるシンクロナイザの要否判定が行われ、必要な箇所にのみシンクロナイザを配置した修正RTLデータ43が生成される。そして、修正RTLデータ43が論理合成され、無駄なシンクロナイザを含まず、必要な要素のみで構成される回路のネットリストを得ることができる。
以上の処理手順が実行されることにより、RTL設計により生成されたRTLデータ41について論理検証によるシンクロナイザの要否判定が行われ、必要な箇所にのみシンクロナイザを配置した修正RTLデータ43が生成される。そして、修正RTLデータ43が論理合成され、無駄なシンクロナイザを含まず、必要な要素のみで構成される回路のネットリストを得ることができる。
このように、外部制御信号で状態を切り替えることが可能な外部制御シンクロナイザ10を非同期パスに配置して論理検証を行うことにより、ひとつのRTLデータで、同期状態と、非同期状態とを発生させることができ、検証が容易になる。また、内部にメタステーブル発生部も有しているので、メタステーブル発生時の状態を容易に再現して検証を行うことができる。また、論理検証を経てシンクロナイザは、自動的に適切な箇所に配置されるため、回路規模が必要以上に増大することなく、半導体集積回路のコストを抑えることができる。
ここで、シンクロナイザの検証を行う検証装置について説明する。検証装置は、コンピュータが、同期化回路検証プログラムを実行することにより、その処理機能が実現される。まず、検証装置のハードウェア構成について説明する。図3は、本実施の形態の検証装置のハードウェア構成例を示すブロック図である。
検証装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワーク110に接続されており、必要であれば、ネットワーク110を介して他装置との間でデータの送受信を行う。
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、ソフトウェア構成について説明する。図4は、検証装置のソフトウェア構成を示した図である。
次に、ソフトウェア構成について説明する。図4は、検証装置のソフトウェア構成を示した図である。
検証装置100では、非同期パス検出手段120、配置手段130、要否判定手段140、及び置換手段150の各処理手段が記憶装置160に格納されるRTLデータを順次処理する。各処理手段の処理機能は、コンピュータが、同期化回路検証プログラムを実行することにより実現される。
非同期パス検出手段120は、記憶装置160に格納されるRTLデータ41を読み出し、図示しないクロック情報も用いて、シンクロナイザが接続されていない非同期パスをすべて検出する。配置手段130は、非同期パス検出手段120が検出した箇所に外部制御シンクロナイザの検証モデルデータ44を挿入し、シンクロナイザ要否の検証用の検証RTLデータ42を生成する。検証モデルデータ44は、図1に示したような外部制御シンクロナイザ10と制御回路15とを記述したRTL記述データであり、記憶装置160に予め用意されている。要否判定手段140は、判定手段141と、論理検証手段142を有する。判定手段141は、制御回路15の入力信号を変化させて論理検証手段142による論理検証を行わせ、得られた検証結果に基づいてシンクロナイザの要否を判定する。論理検証手段142は、検証RTLデータ42の論理検証を行う。置換手段150は、要否判定手段140の結果に基づいて、検証RTLデータ42に設定される外部制御シンクロナイザを置換モデルデータ45で置き換え、修正RTLデータ43を生成する。置換モデルデータ45には、シンクロナイザが不要と判定されたときに外部制御シンクロナイザと置き換えられるシンクロナイザ無モデルと、シンクロナイザが必要と判定されたときに外部制御シンクロナイザと置き換えられるシンクロナイザ有モデルとが、記述されている。
なお、各処理手段は、必要に応じて、図示しない表示手段により各種情報をモニタ108に表示させることができる。たとえば、要否判定手段140が行った判定結果や、論理検証の結果などが適宜表示される。また、キーボード109aやマウス109bを介して操作者の指示が入力されると、指示に応じて検証条件なども適宜変更される。これらの処理を含む、一般的な処理機能は、他の一般的な検証装置と同様に実行される。
上記の構成の検証装置で行われる同期化回路の検証方法について説明する。図5は、実施の形態の同期化回路の検証方法の手順を示したフローチャートである。
[ステップS11] RTL設計が行われ、RTLデータ(非同期パスへシンクロナイザ未挿入)が生成されて記憶手段に格納される。
[ステップS11] RTL設計が行われ、RTLデータ(非同期パスへシンクロナイザ未挿入)が生成されて記憶手段に格納される。
[ステップS12] RTLデータと、クロック信号とを用いて非同期信号が転送される非同期パスをすべて検出する。
検出された非同期パスそれぞれに対してステップS13,S14の処理を実行するループ処理が行われる。
検出された非同期パスそれぞれに対してステップS13,S14の処理を実行するループ処理が行われる。
[ステップS13] 検出された非同期パスに、すでにシンクロナイザが存在するかどうかを調べる。存在しないときは、処理をステップS14へ進める。存在するときは、非同期パスがまだあれば、次の非同期パスについて同様の処理を行う。次の非同期パスがないときは、ループを抜け、処理をステップS15へ進める。
[ステップS14] シンクロナイザが存在しない非同期パスに外部制御シンクロナイザを挿入し、ステップS13に戻る。
以上のループ処理により、すでにシンクロナイザが配置されているパスを除き、すべての非同期パス上に外部制御シンクロナイザが挿入される。次に、外部制御シンクロナイザが挿入された各非同期パスそれぞれに対してステップS15の処理を実行するループ処理が行われる。
以上のループ処理により、すでにシンクロナイザが配置されているパスを除き、すべての非同期パス上に外部制御シンクロナイザが挿入される。次に、外部制御シンクロナイザが挿入された各非同期パスそれぞれに対してステップS15の処理を実行するループ処理が行われる。
[ステップS15] 各非同期パスにおけるシンクロナイザの必要性の検証のため、外部制御シンクロナイザの状態を制御して論理シミュレーションが実行され、非同期状態及び同期状態における動作が確認される。検証処理の詳細は後述する。
以上のループ処理により、非同期パスごとに、非同期状態または同期状態のときの動作のシミュレーション結果が得られる。
[ステップS16] 各非同期パスにおけるシミュレーション結果に基づいて、シンクロナイザの要否が判定される。そして、判定結果に応じて外部制御シンクロナイザが置き換えられ、必要な箇所にのみシンクロナイザが挿入される。詳細は後述する。
[ステップS16] 各非同期パスにおけるシミュレーション結果に基づいて、シンクロナイザの要否が判定される。そして、判定結果に応じて外部制御シンクロナイザが置き換えられ、必要な箇所にのみシンクロナイザが挿入される。詳細は後述する。
[ステップS17] 検証が正しく終了したかどうかが判断される。終了していないときは、処理をステップS11に戻し、設計者によるRTLデータの修正を待つ。終了したときは、処理を次ステップへ進める。
[ステップS18] 検証が正しく終了したのであれば、元のRTLデータに必要なシンクロナイザが挿入された修正RTLデータを用いて論理合成を行い、ネットリストを生成する。
以上の処理手順が実行されることにより、論理シミュレーションに基づいて必要と判定された箇所にのみシンクロナイザが自動配置されたRTLデータが生成され、論理合成される。こうして得られた設計データには、不必要なシンクロナイザが配置されていないことから、非同期パスに一律にシンクロナイザを挿入する場合に比べエリアが削減されている。この結果、回路規模の増大を抑えることが可能となる。
ここで、必要性検証処理と、RTL修正処理とについて説明する。図6は、必要性検証処理の手順を示したフローチャートである。
検証対象の非同期パスが指定され、処理が開始される。
検証対象の非同期パスが指定され、処理が開始される。
[ステップS151] 外部制御シンクロナイザのシンクロナイズ状態を選択する。外部制御信号の値を設定し、対象の非同期パスに配置される外部制御シンクロナイザの動作状態を切り替える。検証開始時は、非同期状態を選択する。その後、指示があれば、同期状態に切り替える。
[ステップS152] 外部制御シンクロナイザのメタステーブル発生部を活性化し、擬似メタステーブル信号を発生させる。
[ステップS153] 論理シミュレーションを行う。非同期パスを介して転送される非同期信号を入力して処理を行う順序回路の動作を確認する。対象の順序回路の出力信号が観測できる箇所など、所定の監視ポイントで問題なくデータが取り込めるかなどを、波形あるいはアサーションなどによって確認する。確認は、一般の論理検証時の手法と同様に行われる。
[ステップS153] 論理シミュレーションを行う。非同期パスを介して転送される非同期信号を入力して処理を行う順序回路の動作を確認する。対象の順序回路の出力信号が観測できる箇所など、所定の監視ポイントで問題なくデータが取り込めるかなどを、波形あるいはアサーションなどによって確認する。確認は、一般の論理検証時の手法と同様に行われる。
[ステップS154] 論理シミュレーションの結果、問題なくデータを取り込めたかどうかを判定する。問題なしであれば、処理をステップS155へ進める。問題があれば、処理をステップS156へ進める。
[ステップS155] 論理シミュレーションの結果、問題が検出されなければ、そのときの問題なし状態(外部制御シンクロナイザが非同期状態であるか同期状態であるかなど)を保存し、処理を終了する。
[ステップS156] 論理シミュレーションの結果、問題があれば、用意されたシンクロナイザの全パターンが終了したかどうかを判定する。終了していなければ、次のパターンで論理シミュレーションを行うよう設定し、処理をステップS151に戻す。全パターンが終了していれば、処理をステップS157へ進める。なお、シンクロナイザのパターンとして、同期化回路がないモデル(非同期状態)と、構成の異なる複数の同期化回路モデルが用意される。同期化回路モデルは、1つであってもよい。また、このパターンは、後述する外部制御シンクロナイザを置き換える置換モデルに対応する。
[ステップS157] 全パターンを終了しても、メタステーブルによる問題が解消されないときは、問題未解決を保存し、処理を終了する。
以上の処理手順が実行されることにより、論理シミュレーションによって、非同期状態でメタステーブル信号が入力されたとき、同期状態でメタステーブル信号が入力されたときに、メタステーブルが伝播されるなどの問題が発生しないかどうかを確認することができる。また、論理シミュレーションは、問題なしが検出されたときの状態で終了し、その状態が保存される。たとえば、非同期状態でメタステーブル信号が入力されたときに問題がなければ、問題なし状態として非同期状態が保存される。同期化回路モデルが複数用意され、いずれかのモデルで問題なしが検出されたときは、そのときの同期化回路モデルが、問題なし状態のステータスとともに保存される。
以上の処理手順が実行されることにより、論理シミュレーションによって、非同期状態でメタステーブル信号が入力されたとき、同期状態でメタステーブル信号が入力されたときに、メタステーブルが伝播されるなどの問題が発生しないかどうかを確認することができる。また、論理シミュレーションは、問題なしが検出されたときの状態で終了し、その状態が保存される。たとえば、非同期状態でメタステーブル信号が入力されたときに問題がなければ、問題なし状態として非同期状態が保存される。同期化回路モデルが複数用意され、いずれかのモデルで問題なしが検出されたときは、そのときの同期化回路モデルが、問題なし状態のステータスとともに保存される。
図7は、RTL修正処理の手順を示したフローチャートである。必要性検証処理が行われ、シミュレーション結果に応じた問題なし状態あるいは、問題未解決が設定された後、処理が開始される。
[ステップS161] 保存されているシミュレーション結果を読み出す。問題なしのときは、問題なしが検出されたときの状態、問題ありのときは問題未解決が読み出される。
[ステップS162] シミュレーションの結果が問題なしであるかどうかが判定される。問題なしであれば、処理をステップS163へ進め、問題ありであれば、処理をステップS166へ進める。
[ステップS163] シミュレーションの結果が問題なしのときはさらに、問題なしが検出されたときの外部制御シンクロナイザの動作状態が同期状態であるかどうかが判定される。同期状態でなければ、処理をステップS164に進め、同期状態であれば、処理をステップS165に進める。
[ステップS164] シミュレーション結果が問題なしで、かつ、そのときの外部制御シンクロナイザの動作状態が非同期状態であれば、シンクロナイズを行わなくても問題なく動作するということであるので、シンクロナイザは必要ないと判断される。そこで、外部制御シンクロナイザをシンクロナイザ無モデルに置き換え、処理を終了する。
[ステップS165] シミュレーション結果が問題なしで、かつ、そのときの外部制御シンクロナイザの動作状態が同期状態であれば、同期化すれば問題なく動作するということであるので、シンクロナイザが必要と判断される。そこで、外部制御シンクロナイザをシンクロナイザ有モデルに置き換え、処理を終了する。なお、同期化回路モデルに複数のパターンがあったときは、問題なしと判定された外部制御シンクロナイザの同期化回路モデルに対応するシンクロナイザ有モデルを選択する。
[ステップS166] 問題未解決、すなわち、全パターンをシミュレーションして問題が解決されないときは、元の回路構成に問題があるので、別回路構成を検討する指示を出力し、処理を終了する。
以上の処理手順が実行されることにより、外部制御シンクロナイザは、論理シミュレーションによって問題なしと判定されたモデルに置き換えられる。なお、外部制御シンクロナイザとともに挿入された制御回路は、検証用であるので削除する。
次に、具体例を挙げてシンクロナイザの必要性判定処理と、判定結果に基づくシンクロナイザの配置処理と、を説明する。
図8は、対象回路の一例を示した図である。
図8は、対象回路の一例を示した図である。
FF201は、送信側クロックCLK1で動作し、出力信号DOUT1を出力する。同様に、FF202も送信側クロックCLK1で動作し、出力信号CTRL1を出力する。DOUT1は、CTRL1のエッジでラッチされ、FF203に入力される。DOUT1を入力して動作するFF203は、送信側クロックCLK1とは非同期関係にある受信側クロックCLK2で動作し、出力信号STBPを出力する。なお、実際には、回路はRTLで記述されている。このような回路構成では、非同期信号を入力して動作するFF203にメタステーブル信号が入力されたとき、そのメタステーブル信号が次段に伝播されないようにしなければならない。そこで、STBPにおいて、データが正しく取り込めるようにするためには、シンクロナイザをどのように配置するかを論理シミュレーションで検証する。
図の例のように、対象の回路に複数の非同期信号が入力されるときは、それぞれの非同期パスを検出して外部制御シンクロナイザを配置する。そして、論理シミュレーション及び要否判定は、複数の外部制御シンクロナイザの動作状態の組み合わせで行われる。
まず、非同期パス検出手段120によって、FF203に非同期信号を転送する非同期パスが検出される。ここでは、DOUT1が転送されるパス211と、CTRL1が転送されるパス212とが非同期パスとして検出される。以下、非同期パス211と、非同期パス212と表記する。
次に、配置手段130は、非同期パス211と、非同期パス212に外部制御シンクロナイザを挿入する。また、外部制御シンクロナイザの切替状態を制御する制御信号を生成する制御回路も同時に挿入される。
図9は、外部制御シンクロナイザが挿入された対象回路を示した図である。
非同期パス211に外部制御シンクロナイザモデル221、非同期パス212に外部制御シンクロナイザモデル231、が挿入されている。また、外部制御シンクロナイザモデル221を制御する制御回路222、及び外部制御シンクロナイザモデル231を制御する制御回路232も配置される。
非同期パス211に外部制御シンクロナイザモデル221、非同期パス212に外部制御シンクロナイザモデル231、が挿入されている。また、外部制御シンクロナイザモデル221を制御する制御回路222、及び外部制御シンクロナイザモデル231を制御する制御回路232も配置される。
外部制御シンクロナイザモデル221は、受信側クロックCLK2で動作し、前段のFF201の出力信号DOUT1をDOUT2に変換して出力する。また、外部制御信号に応じて制御回路222が生成するMetaEn1、SyncEn1に基づいて内部の動作状態の切り替えを行う。MetaEn1は、内部のメタステーブル発生部を動作させるか否かを制御する信号であり、許可のときのみ擬似メタステーブル信号が発生される。SyncEn1は、同期化部を動作させるか否かを制御する信号であり、許可のときのみ同期化が行われる。すなわち、MetaEn1=許可、SyncEn1=禁止で、DOUT2として、DOUT1より生成される擬似メタステーブル信号が出力される。そして、MetaEn1=許可、SyncEn1=許可で、DOUT2として擬似メタステーブル信号が受信側クロックCLK2に同期化されて出力される。
外部制御シンクロナイザモデル231も、受信側クロックCLK2で動作し、前段のFF202の出力信号CTRL1をCTRL2に変換して出力する。また、外部制御信号に応じて制御回路232が生成するMetaEn2、SyncEn2に基づいて内部の動作状態の切り替えを行う。外部制御シンクロナイザモデル221と同様に、MetaEn2が許可のとき擬似メタステーブル信号が発生され、SyncEn2が許可のとき同期化が行われる。MetaEn2=許可、SyncEn2=禁止で、擬似メタステーブル信号がCTRL2として出力される。そして、MetaEn2=許可、SyncEn2=許可で、CTRL2として擬似メタステーブル信号が受信側クロックCLK2に同期化されて出力される。
図10は、外部制御シンクロナイザモデルの一例を示した図である。図は、外部制御シンクロナイザモデル231の構成例である。
外部制御シンクロナイザモデル231は、メタステーブル発生部2311と、同期化部を構成するFF2312,2313と、切替部2314,2315,2316とを有し、制御回路232からのメタステーブル制御信号MetaEn2、同期化制御信号SyncEn2[0],SyncEn2[1],SyncEn2[2]に従って動作する。
外部制御シンクロナイザモデル231は、メタステーブル発生部2311と、同期化部を構成するFF2312,2313と、切替部2314,2315,2316とを有し、制御回路232からのメタステーブル制御信号MetaEn2、同期化制御信号SyncEn2[0],SyncEn2[1],SyncEn2[2]に従って動作する。
メタステーブル発生部2311は、MetaEn2=許可で動作し、擬似メタステーブル信号MCを発生させる。メタステーブル発生部2311は、シミュレーション上でのみ使用できるモデルで、シミュレーション言語表現で記述される。メタステーブルの発生期間などは、パラメータにより変更可能に記述される。FF2312,2313は、シンクロナイザを構成する。FFの段数は任意に設定できる。切替部2314,2315,2316は、制御回路232の制御信号に基づいて、入力信号を切替出力する。制御回路232は、外部制御信号を、MetaEn2,SyncEn2[0],SyncEn2[1],SyncEn2[2]に変換して出力する。たとえば、外部制御信号として、「同期化なしで擬似メタステーブル信号MCを出力する」という指示が入力されたときは、MetaEn2を許可にするとともに、擬似メタステーブル信号MCがFF2312,2313を経由せずに出力されるように、SyncEn2[0],SyncEn2[1],SyncEn2[2]を操作する。また、FFの段数が指示されたときは、指示された数のFFを経由するように切替操作が行われる。
このような構成の外部制御シンクロナイザモデル231と制御回路232を非同期パス上に配置することにより、RTLデータを変更するような煩わしい作業を必要とすることなく、さまざまなパターンで論理シミュレーションを行うことが可能となる。なお、外部制御シンクロナイザモデル221及び制御回路222の構成も同様である。
要否判定手段140では、上記のような外部制御シンクロナイザモデル221,231と制御回路222,232とが非同期パス上に配置された検証用の設計データを用いて非同期パスにおけるシンクロナイザの要否を判定する。具体的には、制御回路222,232の外部制御信号を操作し、DOUT1側の外部制御シンクロナイザモデル221及びCTRL1側の外部制御シンクロナイザモデル231が共に非同期状態のパターン、DOUT1側の外部制御シンクロナイザモデル221が同期状態、CTRL1側の外部制御シンクロナイザモデル231が非同期状態のパターン、DOUT1側の外部制御シンクロナイザモデル221が非同期状態、CTRL1側の外部制御シンクロナイザモデル231が同期状態のパターン、DOUT1側の外部制御シンクロナイザモデル221及びCTRL1側の外部制御シンクロナイザモデル231が共に同期状態のパターン、について順次論理シミュレーションを行って、問題なしのパターンを検出する。
図11は、対象回路のシミュレーション結果の一例を示した図である。これは、DOUT1側の外部制御シンクロナイザモデル221が非同期状態、かつ、CTRL1側の外部制御シンクロナイザモデル231が同期状態のパターンのときの波形を示している。図のMCは、CTRL1側の外部制御シンクロナイザモデル231で発生させた擬似メタステーブル信号を示している。メタステーブル状態が発生していても、外部制御シンクロナイザモデル231内の同期化部で同期化され安定化データを取り込めば(CTRL2が安定していれば)、STBPでは問題なくデータを取り込むことができることがわかる。したがって、このとき、DOUT1側の同期化は必要ない。
以上より、外部制御シンクロナイザモデル221,231を用いた論理シミュレーションに基づき、CTRL1側にシンクロナイザがあれば、DOUT1側にシンクロナイザがなくても問題ないことが検証される。
置換手段150では、シミュレーション結果に基づいて外部制御シンクロナイザモデル221,231の置き換えを行う。
図12は、置換モデルの一例を示した図である。(A)は、シンクロナイザ無モデル、(B)は、シンクロナイザ有モデルの例である。
図12は、置換モデルの一例を示した図である。(A)は、シンクロナイザ無モデル、(B)は、シンクロナイザ有モデルの例である。
(A)シンクロナイザ無モデルは、外部制御シンクロナイザモデルを元の非同期パスで置き換えるモデルである。
(B)シンクロナイザ有モデルは、外部制御シンクロナイザモデルをシンクロナイザで置き換えるモデルである。図は、2段のFFでシンクロナイザを構成した例である。段数は、外部制御シンクロナイザの同期化回路モデルに合わせて用意される。
(B)シンクロナイザ有モデルは、外部制御シンクロナイザモデルをシンクロナイザで置き換えるモデルである。図は、2段のFFでシンクロナイザを構成した例である。段数は、外部制御シンクロナイザの同期化回路モデルに合わせて用意される。
シミュレーションの結果、DOUT1側の外部制御シンクロナイザモデル221は、同期化の必要がないと判定されたので、シンクロナイザ無モデル301で置き換える。一方、CTRL1側の外部制御シンクロナイザモデル231は、同期化が必要であると判定されたので、シンクロナイザ有モデル302で置き換える。なお、制御回路222,232は、検証時のみ必要な回路であるため、置き換え時に削除する。
図13は、置き換えが行われた対象回路を示した図である。DOUT1側の外部制御シンクロナイザモデル221が挿入されていた箇所は、シンクロナイザのない非同期パス241のみに置き換えられている。CTRL1側の外部制御シンクロナイザモデル231が挿入されていた箇所は、2段のFFで構成されるシンクロナイザ242に置き換えられている。
このように、非同期パスにおけるシンクロナイザの要否が論理シミュレーションによって検証され、必要がないと判定された箇所にはシンクロナイザを配置しない。したがって、非同期パスに一律にシンクロナイザを配置する場合と比較し、必要なエリアを削減することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、検証装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) 送信回路と受信回路が非同期関係にある信号の同期化回路の検証方法において、
非同期パス検出手段が、設計データに基づいて非同期信号が転送される非同期パスを検出するステップと、
配置手段が、擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置するステップと、
要否判定手段が、前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定するステップと、
を有することを特徴とする同期化回路の検証方法。
非同期パス検出手段が、設計データに基づいて非同期信号が転送される非同期パスを検出するステップと、
配置手段が、擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置するステップと、
要否判定手段が、前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定するステップと、
を有することを特徴とする同期化回路の検証方法。
(付記2) 前記配置手段が前記外部制御同期化回路を配置するステップは、前記外部制御同期化回路の動作状態を指示する前記外部制御信号を、前記擬似メタステーブル信号発生の許可と禁止を前記メタステーブル発生部に指示するメタステーブル制御信号と、前記同期化部へ入力される信号及び前記同期化部から出力される信号を切り替え制御する同期化制御信号とに変換する制御回路を、前記外部制御同期化回路と共に配置する、ことを特徴とする付記1記載の同期化回路の検証方法。
(付記3) 前記配置手段が前記外部制御同期化回路を配置するステップは、前記設計データを解析し、前記非同期パスに前記同期化回路が配置されているときは、該非同期パスに前記外部制御同期化回路を配置しないことを特徴とする付記1記載の同期化回路の検証方法。
(付記4) 前記配置手段が前記外部制御同期化回路を配置するステップは、予め記憶手段に記憶される所定のハードウェア記述言語で記述された外部制御同期化回路モデルを読み出し、前記設計データに挿入する、ことを特徴とする付記1記載の同期化回路の検証方法。
(付記5) 前記要否判定手段が前記同期化回路の要否を判定するステップは、前記外部制御信号を操作し、非同期状態の前記擬似メタステーブル信号を前記次段の順序回路に出力させて前記次段の順序回路の状態を検証し、問題がないと検証されたときは、該非同期パスに前記同期化回路は必要なしと判定する、ことを特徴とする付記1記載の同期化回路の検証方法。
(付記6) 前記要否判定手段が前記同期化回路の要否を判定するステップは、前記非同期状態の前記擬似メタステーブル信号が入力された前記次段の順序回路の状態に問題が検出されたときは、前記外部制御信号を操作し、前記同期化部によって同期化させた前記擬似メタステーブル信号を前記次段の順序回路に出力させて前記次段の順序回路の状態を検証し、問題がないと検証されたときに前記同期化回路が必要であると判定する、ことを特徴とする付記5記載の同期化回路の検証方法。
(付記7) 前記同期化部は、切り替え可能な複数の同期化回路モデルを有し、前記要否判定手段が前記同期化回路の要否を判定するステップは、前記同期化回路モデルを順次切り替えて検証を行って、問題なしと検証される前記同期化回路モデルを検出する、ことを特徴とする付記5記載の同期化回路の検証方法。
(付記8) 前記要否判定手段が前記同期化回路の要否を判定するステップは、対象の前記順序回路に複数の非同期パスが接続するときは、各非同期パスに配置されるそれぞれの前記外部制御同期化回路の切り替え状態を組み合わせて検証を行う、ことを特徴とする付記1記載の同期化回路の検証方法。
(付記9) 前記同期化回路の検証方法は、さらに、
置換手段が、前記非同期パスにおける前記同期化回路の要否の判定に基づいて、必要と判定されたときは前記外部制御同期化回路を所定の同期化回路に置き換え、必要なしと判定されたときは前記外部制御同期化回路を外して前記非同期パスに戻す置き換えを行うステップを有することを特徴とする付記1記載の同期化回路の検証方法。
置換手段が、前記非同期パスにおける前記同期化回路の要否の判定に基づいて、必要と判定されたときは前記外部制御同期化回路を所定の同期化回路に置き換え、必要なしと判定されたときは前記外部制御同期化回路を外して前記非同期パスに戻す置き換えを行うステップを有することを特徴とする付記1記載の同期化回路の検証方法。
(付記10) 送信回路と受信回路が非同期関係にある信号の同期化回路の検証装置において、
クロックの異なる入力信号で動作する順序回路を含む回路の設計データを記憶する記憶手段と、
前記設計データを読み出し、読み出した前記設計データに基づいて非同期信号が転送される非同期パスを検出する非同期パス検出手段と、
擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置する配置手段と、
前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定する要否判定手段と、
を有することを特徴とする同期化回路の検証装置。
クロックの異なる入力信号で動作する順序回路を含む回路の設計データを記憶する記憶手段と、
前記設計データを読み出し、読み出した前記設計データに基づいて非同期信号が転送される非同期パスを検出する非同期パス検出手段と、
擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置する配置手段と、
前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定する要否判定手段と、
を有することを特徴とする同期化回路の検証装置。
(付記11) 送信回路と受信回路が非同期関係にある信号の同期化回路の検証処理のための同期化回路検証プログラムにおいて、
コンピュータを、
クロックの異なる入力信号で動作する順序回路を含む回路の設計データを記憶する記憶手段から前記設計データを読み出し、読み出した前記設計データに基づいて非同期信号が転送される非同期パスを検出する非同期パス検出手段、
擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置する配置手段、
前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定する要否判定手段、
として機能させることを特徴とする同期化回路検証プログラム。
コンピュータを、
クロックの異なる入力信号で動作する順序回路を含む回路の設計データを記憶する記憶手段から前記設計データを読み出し、読み出した前記設計データに基づいて非同期信号が転送される非同期パスを検出する非同期パス検出手段、
擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置する配置手段、
前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定する要否判定手段、
として機能させることを特徴とする同期化回路検証プログラム。
10 外部制御シンクロナイザ(同期化回路)
11 メタステーブル発生部
12 同期化部
13,14 切替部
15 制御回路
21,22 順序回路
11 メタステーブル発生部
12 同期化部
13,14 切替部
15 制御回路
21,22 順序回路
Claims (8)
- 送信回路と受信回路が非同期関係にある信号の同期化回路の検証方法において、
非同期パス検出手段が、設計データに基づいて非同期信号が転送される非同期パスを検出するステップと、
配置手段が、擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置するステップと、
要否判定手段が、前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定するステップと、
を有することを特徴とする同期化回路の検証方法。 - 前記配置手段が前記外部制御同期化回路を配置するステップは、前記外部制御同期化回路の動作状態を指示する前記外部制御信号を、前記擬似メタステーブル信号発生の許可と禁止を前記メタステーブル発生部に指示するメタステーブル制御信号と、前記同期化部へ入力される信号及び前記同期化部から出力される信号を切り替え制御する同期化制御信号とに変換する制御回路を、前記外部制御同期化回路と共に配置する、ことを特徴とする請求項1記載の同期化回路の検証方法。
- 前記要否判定手段が前記同期化回路の要否を判定するステップは、前記外部制御信号を操作し、非同期状態の前記擬似メタステーブル信号を前記次段の順序回路に出力させて前記次段の順序回路の状態を検証し、問題がないと検証されたときは、該非同期パスに前記同期化回路は必要なしと判定する、ことを特徴とする請求項1記載の同期化回路の検証方法。
- 前記要否判定手段が前記同期化回路の要否を判定するステップは、前記非同期状態の前記擬似メタステーブル信号が入力された前記次段の順序回路の状態に問題が検出されたときは、前記外部制御信号を操作し、前記同期化部によって同期化させた前記擬似メタステーブル信号を前記次段の順序回路に出力させて前記次段の順序回路の状態を検証し、問題がないと検証されたときに前記同期化回路が必要であると判定する、ことを特徴とする請求項3記載の同期化回路の検証方法。
- 前記同期化部は、切り替え可能な複数の同期化回路モデルを有し、前記要否判定手段が前記同期化回路の要否を判定するステップは、前記同期化回路モデルを順次切り替えて検証を行って、問題なしと検証される前記同期化回路モデルを検出する、ことを特徴とする請求項3記載の同期化回路の検証方法。
- 前記要否判定手段が前記同期化回路の要否を判定するステップは、対象の前記順序回路に複数の非同期パスが接続するときは、各非同期パスに配置されるそれぞれの前記外部制御同期化回路の切り替え状態を組み合わせて検証を行う、ことを特徴とする請求項1記載の同期化回路の検証方法。
- 前記同期化回路の検証方法は、さらに、
置換手段が、前記非同期パスにおける前記同期化回路の要否の判定に基づいて、必要と判定されたときは前記外部制御同期化回路を所定の同期化回路に置き換え、必要なしと判定されたときは前記外部制御同期化回路を外して前記非同期パスに戻す置き換えを行うステップを有することを特徴とする請求項1記載の同期化回路の検証方法。 - 送信回路と受信回路が非同期関係にある信号の同期化回路の検証装置において、
クロックの異なる入力信号で動作する順序回路を含む回路の設計データを記憶する記憶手段と、
前記設計データを読み出し、読み出した前記設計データに基づいて非同期信号が転送される非同期パスを検出する非同期パス検出手段と、
擬似メタステーブル信号を発生させるメタステーブル発生部と、前記非同期信号または前記擬似メタステーブル信号を入力してクロックに同期した同期化信号に変換出力する同期化部と、外部から入力される外部制御信号に基づいて前記擬似メタステーブル信号または前記同期化信号を切り替えて出力する切替部と、を有する外部制御同期化回路を前記非同期パス上に配置する配置手段と、
前記外部制御信号によって前記切替部を制御し、前記擬似メタステーブル信号または前記同期化信号を次段の順序回路に出力したときの前記順序回路の状態を検証し、検証結果に基づいて前記非同期パスにおける同期化回路の要否を判定する要否判定手段と、
を有することを特徴とする同期化回路の検証装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007287137A JP2009116497A (ja) | 2007-11-05 | 2007-11-05 | 同期化回路の検証方法及びその検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007287137A JP2009116497A (ja) | 2007-11-05 | 2007-11-05 | 同期化回路の検証方法及びその検証装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009116497A true JP2009116497A (ja) | 2009-05-28 |
Family
ID=40783601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007287137A Pending JP2009116497A (ja) | 2007-11-05 | 2007-11-05 | 同期化回路の検証方法及びその検証装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009116497A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016143263A (ja) * | 2015-02-03 | 2016-08-08 | 京セラドキュメントソリューションズ株式会社 | 回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント |
CN109901049A (zh) * | 2019-01-29 | 2019-06-18 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
CN111147689A (zh) * | 2018-11-06 | 2020-05-12 | 意法半导体(鲁塞)公司 | 产生用于控制多媒体接口的触发信号的方法 |
JP7354815B2 (ja) | 2019-12-09 | 2023-10-03 | 株式会社リコー | 検証支援装置、検証支援方法および検証支援プログラム |
-
2007
- 2007-11-05 JP JP2007287137A patent/JP2009116497A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016143263A (ja) * | 2015-02-03 | 2016-08-08 | 京セラドキュメントソリューションズ株式会社 | 回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント |
CN111147689A (zh) * | 2018-11-06 | 2020-05-12 | 意法半导体(鲁塞)公司 | 产生用于控制多媒体接口的触发信号的方法 |
CN111147689B (zh) * | 2018-11-06 | 2022-10-25 | 意法半导体(鲁塞)公司 | 产生用于控制多媒体接口的触发信号的方法 |
US11637947B2 (en) | 2018-11-06 | 2023-04-25 | Stmicroelectronics (Rousset) Sas | Method of producing triggering signals for control of a multimedia interface |
US11895423B2 (en) | 2018-11-06 | 2024-02-06 | Stmicroelectronics (Rousset) Sas | Method of producing triggering signals for a control of a multimedia interface |
CN109901049A (zh) * | 2019-01-29 | 2019-06-18 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
CN109901049B (zh) * | 2019-01-29 | 2021-05-04 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
JP7354815B2 (ja) | 2019-12-09 | 2023-10-03 | 株式会社リコー | 検証支援装置、検証支援方法および検証支援プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2002063313A2 (en) | Method for scan testing of digital circuit, digital circuit and program product | |
JP2005284426A (ja) | 非同期回路検証方法および非同期回路検証プログラム | |
US8209648B1 (en) | Verifying multiple constraints for circuit designs | |
JP2006048525A (ja) | シミュレーション方法 | |
JP2009116497A (ja) | 同期化回路の検証方法及びその検証装置 | |
JP5040758B2 (ja) | シミュレーション装置、シミュレーション方法及びプログラム | |
JP4763629B2 (ja) | 検証装置、検証方法及びプログラム | |
JP4437741B2 (ja) | 半導体集積回路の設計装置、半導体集積回路および半導体集積回路の設計プログラム | |
JP2009009318A (ja) | 非同期回路検証用のプログラムデータ生成方法、非同期回路検証方法及び非同期回路検証装置 | |
JP2009059024A (ja) | 半導体集積回路の検証装置 | |
US8195441B1 (en) | Hardware co-simulation involving a processor disposed on a programmable integrated circuit | |
JP4598872B2 (ja) | タイミングリカバリ回路、通信ノード、ネットワークシステム、及び電子機器 | |
JP4370335B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JP5146369B2 (ja) | 回路設計プログラム、回路設計方法および回路設計装置 | |
JP7354815B2 (ja) | 検証支援装置、検証支援方法および検証支援プログラム | |
JP5408052B2 (ja) | 集積回路、シミュレーション装置、及びシミュレーション方法 | |
JP2005011451A (ja) | 試験装置、及びプログラム | |
JP2013061229A (ja) | 半導体集積回路、半導体集積回路の設計支援方法、及び設計支援プログラム | |
JP7351189B2 (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
JP5942417B2 (ja) | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム | |
JP4484048B2 (ja) | ハードウェア/ソフトウェア協調検証システム | |
JP2009187119A (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
JP2010181984A (ja) | 回路設計支援プログラムおよび回路設計支援装置 | |
JP2006139722A (ja) | 非同期信号検証方法及び装置 |