論理またはレジスタ トランスファー レベル (RTL) シミュレーションを使用すると、構文および機能を検証できます。最初のシミュレーションは、通常 RTL (ビヘイビアー) コードを検証し、デザインが予測どおりに機能しているかどうかを確認するために実行されます。
大型の階層デザインでは、デザイン全体をテストする前に、個別の IP、ブロック デザイン、または階層モジュールをシミュレーションできます。このシミュレーション プロセスを使用すると、大型デザインを検証する前に、部分ごとにコードを簡単にデバッグできます。各モジュールが正しくシミュレーションされたら、最上位デザインのテストベンチを作成して、デザイン全体が要件どおりに機能するかどうか検証します。同じテストベンチを最終的なタイミング シミュレーションで再び使用し、ワースト ケース遅延でもデザインが予測どおりに機能するかどうかを確認します。
推奨: この段階では、タイミング情報は供給されません。シミュレーションをユニット遅延モードで実行して、レース コンディションが発生しないようにすることを、AMDでは勧めています。
デザインを作成するときは、合成可能な HDL 構文を使用してください。必要でない限り、特定コンポーネントはインスタンシエートしないようにします。これにより、次が可能になります。
- より読みやすいコード
- より高速でシンプルなシミュレーション
- コードの移植性 (別のデバイス ファミリに移行可能)
- コード再利用性 (今後別のデザインに同じコードを使用可能)
ヒント: コンポーネントを推論できない場合は、コンポーネントをインスタンシエートする必要があることがあります。
コンポーネントをインスタンシエートすると、コードがそのアーキテクチャ特定のものになる可能性があります。