非同期クロックドメイン検証

デザイン制約のサポート

デザイン制約のサポートは精確なクロックドメイン検証に不可欠な機能のひとつです。ALINT-PRO™はデザイン設定用のSDCファイルを読み込んでリントに関連する情報を取り出します。対象となる情報は、クロック宣言とそれらの関係性や、入力・出力ポートとクロックとの相互関係などです。

デザインの解析結果を元に、ALINT-PROはSDCファイルを生成する機能があります。このファイルにはクロック宣言とトップ・レベル・ポートの入力・出力遅延が記述されます。正確なクロック周波数と遅延値はRTLからは抽出できないのでデフォルト値が使用されますが、これは後で調整する必要があります。

ALINT-PROには、デザイン制約のカスタム拡張制約、Aldec Design Constraints(ADC)があります。この制約は2つのグループに分かれます。

  • ブロック・レベル・デザイン制約 – FPGAベンダ・プリミティブ、動作モデル、暗号化済みIPなどの合成できないモジュールの記述用です。カスタム・シンクロナイザを記述してこれらがデザイン内で正しく使われているかどうか検証することもできます。
  • チップ・レベル・デザイン制約 – リセット・ネットワーク記述、およびネットリストから情報をさらに取り出すために使います。

 

スタティック検証

ALINT-PROはスタティック検証の対象となるルール・セット(ALDEC_CDCルール・プラグイン)を用意しています。このルールはネットリスト・ルール(クロックおよびリセット・ネットワーク解析)とCDCルール(シンクロナイザの構造解析)の2セクションに分かれます。

クロックおよびリセット・ネットワーク検証を非同期クロックドメイン・チェックの前に実行し、クロックドメインが正確に抽出できるようにします。

CDCルールは非同期クロックドメイン間のデータ転送を検証します。データ転送については、組み合わせ回路があるかどうかや、コンバージェンス、ディバージェンスなどについて検証します。転送際に妥当なシンクロナイザがあるかどうかもチェックします。非同期リセットについては、アサーション停止が適切なクロックと同期しているかどうかがチェックされます。

 

ダイナミック検証

構造検証は非同期間転送時に適切なシンクロナイザがあるかどうかチェックできますが、CDCのバグがないことを保証するには、通信プロトコルを検証する必要があります。ALINT-PROはSystemVerilog、VHDLのみ、およびVHDLとPSLのテストベンチを生成して、RTLシミュレーションを拡張してチェック項目を増やすことができます。テストベンチは次の要素で構成されます。

  • メタ・ステーブルのエミュレーション – SystemVerilogまたはVHDLの動作コードは、非同期クロックドメイン間のデータ転送ポイントにランダム遅延を挿入します。それによってRTLシミュレーション中にパルス失敗やデータ不整合などを発見できるようになります。
  • アサーション – アサーションは非同期転送時の同期を取ることでシンクロナイザが正しく使われているかどうかを確認するためのものです。チェック項目としては、データの安定性や、クロックドメイン境界をまたいで送信されるデータが正しくキャプチャされているかどうか、などです。
  • カバレッジ – ユーザーのテストベンチが同期転送時にデータ転送をトリガするかどうか、またメタ・ステーブルのエミュレーションとして挿入されたランダム遅延がシミュレーション中に実際に発生するかどうかをチェックすることができます。

ここで生成されるテストベンチにはスティミュラスがないので、シミュレーションに利用するにはデザインの元々のテストベンチが必要です。

Ask Us a Question
x

Ask Us a Question

x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.