VHDLにおけるシミュレーションと合成の主な違いは、シミュレーションが回路の機能を検証するために使用されるのに対し、合成はVHDLをコンパイルしてFPGAなどの実装技術にマッピングするために使用される点です。
一般に、ハードウェア記述言語 (HDL) は電子回路の機能を記述するための言語です。
通常のプログラミング言語とは異なります。
HDLは、マイクロプロセッサやフリップフロップなどのデジタルシステムの記述に役立ちます。
VHDLはよく使われるハードウェア記述言語の1つです。
VHDLはシミュレーションと合成という2つの目標を達成するのに役立ちます。
VHDLにおけるシミュレーションとは?
VHDL におけるシミュレーションまたはシミュレーション・プログラムは、デザインとのインターフェイスとなる論理回路を表現するシミュレーション・モデルを使用して、論理設計をテストするのに役立ちます。
シミュレーションモデルの集合がテストベンチです。
VHDLシミュレータはイベントドリブン・シミュレータです。
そのため、各トランザクションは特定のスケジューリング時間のイベント・キューに追加されます。
さらに、シミュレーションはステートメント実行とイベント処理の2つのモード間で変化します。
それは、ステートメント実行とイベント処理です。
ステートメント実行はトリガーされたステートメントを評価することであり、イベント処理はキュー内のイベントを処理することを意味します。
VHDLにおける合成とは?
合成とは、フリップフロップ、ラッチ、論理ゲートなどの定義済みビルディングブロックの抽象的な記述を使って、物理システムを開発するプロセスです。
VHDLで記述された回路のモデルから、ゲートレベルのネットリストを作成します。
最後に、合成はVHDLをFPGAやASICなどの技術にマッピングするのに役立ちます。
ほとんどのFPGAメーカーは、自社のチップで使用するVHDLを合成するツールを無償で提供しています。
合成ツールは主にFPGAとASICの論理設計に焦点を当てます。
組合せ論理、エッジセンシティブストレージ(フリップフロップと一部のRAM)、レベルセンシティブストレージ(ラッチと一部のRAM)の3つの基本論理に焦点を当てているため、感度リストは考慮されていないのです。
さらに、VHDLには合成不可能なものもあります。
このため、プログラマはシミュレーションはできても合成はできないVHDLコードを書くことができます。
合成可能なデザイン記述のためには、合成ツールに受け入れられる構成である必要があります。
VHDLにおけるシミュレーションと合成の違い
定義
シミュレーションとは、入力信号、出力信号、遅延を用いて回路の挙動を記述するプロセスです。
しかし、合成は、あらかじめ定義されたビルディングブロックのセットを使用して、抽象的な記述から物理システムを構築するプロセスです。
したがって、これはシミュレーションと感性の根本的な違いを説明しています。
感度リスト
また、シミュレーション(シミュレータ)は感度リストを利用して処理を実行するタイミングを決定しますが、合成では感度リストを無視します。
したがって、ここもシミュレーションと感度の違いです。
使用方法
シミュレーションと感性の大きな違いは、なによりもその使い方にあります。
シミュレーションが回路の機能を検証するのに役立つのに対して、合成はVHDL記述をターゲット技術に適合するように変換するのに役立ちます。
結論
簡単に説明すると、プログラマや電子設計者はVHDL言語を使って論理回路を記述するモデルをテストすることができます。
ここで、VHDLは電子設計のシミュレーションと合成という2つの主要な目標の達成に関与しています。
VHDLにおけるシミュレーションと合成の主な違いは、シミュレーションが回路の機能を検証するために使われるのに対し、合成はVHDLをコンパイルしてFPGAなどの実装技術にマップするために使われることです。