VerilogとVHDLの記述比較

3ステップで実行 ModelSimコマンドラインのサンプル・データを使って、Verilog-HDLとVHDLの記述を比較しました。このサンプル・データは、シミュレータの実行スクリプトの動作確認を目的としているため、設計データは次のように非常に単純です。

設計データの概要

  • トップ・モジュールはmod_top
  • mod_top内部は2つのモジュールmod_aとmod_bで構成される。
  • mod_aとmod_bは直列に接続され、パイプラインを構成する。
  • mod_a内部は8ビットの非同期リセット付きレジスタ。入力がそのまま出力される。
  • mod_a内部は8ビットの非同期リセット付きレジスタ。入力の反転が出力される。

構成モジュール

トップ・モジュール: mod_top

mod_topモジュール

mod_topモジュール

サブ・モジュール: mod_a

mod_aモジュール

mod_aモジュール

サブ・モジュール: mod_b

mod_bモジュール

mod_bモジュール

記述比較

サブ・モジュール:mod_a

Verilog-HDL

クロック同期のレジスタはalwaysで記述しています。

VHDL

クロック同期のレジスタはprocessで記述しています。

サブ・モジュール:mod_b

Verilog-HDL

mod_aとの違いは、入力データの反転部分です。反転は~演算子で行っています。

VHDL

mod_aとの違いは、入力データの反転部分です。反転はnot演算子で行っています。

トップ・モジュール:mod_top

Verilog-HDL

mod_aとmod_bをそれぞれu_mod_a、u_mod_bとしてインスタンス化しています。2つのインスタンス間は、8ビットのwire w_out_aで接続しています。

VHDL

mod_aとmod_bをそれぞれu_mod_a、u_mod_bとしてインスタンス化しています。2つのインスタンス間は、8ビットのsignal w_out_aで接続しています。

まとめ

論理合成を意識したデザインの記述については、どちらの言語を使ってもあまり大きな違いはありません。記述量だけで言えば、Verilog-HDLの方が少ないでしょう。ただ、最近は高位合成が手軽に試せるようになったので、低レベルのHDL自体を記述することが少ないかもしれませんが。

スポンサーリンク
広告大
広告大
  • このエントリーをはてなブックマークに追加
スポンサーリンク
広告大