※うまくいってません。内容に期待した人は結果から見ましょう。
HDL初心者の私が自宅でSystemVerilogが使えたら良いなと思いModelSim XEをインストールしてみました。なかなか無料または格安でSystemVerilogに対応したコンパイラ・シミュレータはありませんが、XilinxのダウンロードよりModelSim XEのStarter Versionと呼ばれる無料の評価版がダウンロードができます。2008/03/24付で6.3が利用可能になっています。
ダウンロード後、Virtual PC上のVistaにインストールしようとすると公式にはVistaはサポートしてないよとメッセージが出ましたが、とりあえずインストールはできました。
利用するためは まずライセンス認証用のファイルをメールで送信してもらうことが必要です。インストール後に表示されるWebページでユーザ登録とライセンス登録をします。メールでファイルlicense.datが送られてくるので、Licensing Wizardを起動し そのファイルを指定します。
ModelSimを起動するとこんな感じ。
メニューのFile->New->Source->SystemVerilogから新規にSystemVerilogのファイルを作成し、適当にコードを書きます。意味のないものだけど、とりあえずSystemVerilogのprogramとclassを含めてと……。
program test();
class foo;
function void sayHello();
$display("Hello!");
endfunction
endclass
initial begin
foo f;
f = new;
f.sayHello();
end
endprogram
module top;
test t();
endmodule
ファイルを保存後、コンパイルします。メニューのCompile->Compileから作成したファイルを選択し、Compileボタンをクリック。するとworkフォルダがないので作成しますか? と聞いてくるのでOKをクリックして作成します。下のTranscriptウィンドウにエラーがでなければコンパイル完了です。
次にシミュレーションを試してみます。メニューのSimulate->Start Simulationから開いたウィンドウのwork->topを選択します。OKをクリックすると……。
# ** Fatal: (vsim-3904) SystemVerilog Program Blocks are not supported in Modelsim PE.
ええー。SystemVerilogのprogramブロックは上位Editionじゃないとサポートしないってマジですか……。意味ねぇー。以前のバージョンだとSystemVerilog使えてた感じの記事もWebあるのだけど どうなんでしょう?