SystemVerilog

SystemVerilogは、シミュレータや論理合成ツールの対応も一通り行われ、ツール側としてはかなり環境が整ってきている。それにもかかわらず、実際に使用しているユーザーはまだまだ少ないように思える。

SystemVerilogはVerilogに対して広範な拡張がなされているため、全てを理解して使用しようと思うとかなりハードルが高いのは事実である。しかし、基本的にVerilogに対して上位互換を持つようになっているため、Cに対するC++のように、Better Verilogとして使用することも可能なのである。使える部分から使っていくことで、その分だけの恩恵を受けることができるようになっている。

ここでは、SystemVerilogのさらなる普及を願って、SystemVerilog文法の解説、実際に使ってみての所感、注意点などを挙げる。

フリーで手に入るLRM(Language Reference Manual)のバージョンが3.1aのため、少々古いがこれを元に解説する。

今のところ、確認に使用しているツールは以下の通り。

シミュレーション: ModelSim Altera Starter Edition Ver. 6.5e

論理合成: Quartus II Web Edition Ver. 10.1

なお、説明は主にVerilog 2001との差分という形で記述する。