RAM および ROM は複数の方法で指定できます。それぞれに利点と欠点があります。
- 推論
利点:
- 移植性が高い
- 読みやすく理解しやすい
- 自己文書化
- シミュレーションが高速
欠点:
- 可能な RAM 設定すべてを使用できない可能性あり
- 最適な結果にならない可能性あり
推論は通常良い結果が得られるので推奨される方法ですが、使用方法がサポートされない場合や、達成可能なクロック周波数、エリア、または消費電力が最適にならない場合などは例外です。このような場合は、別の方法を使用してください。
AMD では、RAM を推論する場合は Vivado ツールに含まれる HDL テンプレートを使用することをお勧めします。前述したように、非同期リセットを使用すると RAM の推論に影響が出るので、使用しないようにしてください。
- ザイリンクス パラメーター指定マクロ (XPM)
利点:
- AMD デバイス ファミリ間で移植可能
- シミュレーションが高速
- 対称幅をサポート
- 予測可能な QoR (結果の品質)
欠点:
- サポートされる XPM オプションに制限される
XPM は、ユーザーが変更できない固定のテンプレートを使用することにより推論されます。そのため、QoR を確実にすることができ、標準の推論ではサポートできない機能をサポートできます。AMD では、標準の推論で必要な機能がサポートされない場合は、XPM を使用することをお勧めします。
注記:compile_simlib
を使用してシミュレーション ライブラリをコンパイルすると、XPM が自動的にコンパイルされます。詳細は、 『Vivado Design Suite ユーザー ガイド: ロジック シミュレーション』 (UG900) を参照してください。 - RAM プリミティブの直接インスタンシエーション
利点:
- インプリメンテーションを詳細に制御可能
- ブロックのすべての機能にアクセス可能
欠点:
- コードの移植性が低い
- 文字数が多く、機能および意図を理解しにくい
- IP カタログからのコア
利点:
- 複数コンポーネントを使用する場合により最適な結果が得られる
- 指定および設定がシンプル
欠点:
- コードの移植性が低い
- コア管理