ハードウェア実験 SystemVerilog関数

これだけ覚えておけば、とりあえずシミュレーションしようという気持ちがおきると思います。

$display(format_string, var1, var2, ...)

ただのprintfです。tclコンソールに出るのですぐに確認できます。

$fopen(filename, mode)

プロジェクトにファイルを登録している場合、filenameは相対パスを使用できます。 ちなみに相対パスの起点は、デフォルトでは[project_name].sim/sim_1/behav/'です。 戻り値が32bitsのファイルディスクリプタとなり、これを利用してファイルへアクセスします。

$fclose(file_descriptor)

忘れると、ファイルに書き込みされてないよ!という事態が頻発するので、忘れないようにしましょう。

$fscanf(file_descriptor, format_string, in_data1, ...)

in_data1に値が入力されます。関数の返り値自体が0ならば、読み込み終了です。

$fdisplay(file_descriptor, format_string, var1, var2, ...)

ファイル書き出し用フォーマットプリント

$signed(var)

比較は基本unsignedで行われます。なので、signed比較をしたい場合などは、その変数を$signed(var)のように囲みましょう。