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との差分という形で記述する。