ろくに検証していないものがほとんど
シミュレーションコントロール
$stop | 一時停止 |
$finish | シミュレーション終了 |
シミュレータ表示制御
$display[defbase]([fmtstr,] {expr,}); | 文字を出力した後改行する フォーマット指示子はここが詳しい |
$write[defbase] ([fmtstr,] {expr,}); | 文字を出力。改行なし |
$strobe[defbase] ([fmtstr,] {expr,}); | |
$monitor[defbase] ([fmtstr,] {expr,}); | 観測する信号を追加 |
ファイルI/O
$fopen("ファイル名") | ファイルを開く、ファイル変数を返す。 例: integer fileno = $fopen("filename") |
$fclose(fileno); | ファイルを閉じる $fcloseが実行されなければファイルはシミュレーション終了時に自動的に閉じられる |
$readmemb(“ファイル名”, 配列変数 [, startadd [, stopadd]]); | 2進数表記のデータを配列に読み込む。 フォーマットはASCIIテキストファイルで、値ごとに改行で区切る オプションで配列側の読み込みインデックスを指定できる |
$readmemh(“ファイル名”, 配列変数 [, startadd [, stopadd]]); | 16進数表記のデータを配列に読み込む |
$fdisplay[defbase] (fileno, [fmtstr,] {expr,}); | $displayのファイル版 |
$fwrite[defbase] (fileno, [fmtstr,] {expr,}); | $writeのファイル版 |
$fmonitor(fileno, [fmtstr,] {expr,}); |
シミュレーション時間
$time | シミュレーション時刻をTIME型で返す |
$stime | シミュレーション時刻をintegerで返す |
$realtime | シミュレーション時刻をREAL型で返す |
$scale(hierid) | Scale “foreign” time value |
$printtimescale[(path)] | タイムスケールを表示 |
$timeformat(unit#, prec#, “unit”, minwidth) | Set time %t display format |
その他
$random[(種変数)] $random |
符号付32ビットInteger型のランダムな値を返す。 まず最初に種変数を与えてから使う。種変数はInteger型、TIME型、reg型が使える |
$getpattern(mem) | Assign mem content |
$rtoi(expr) | realをintegerに変換 |
$itor(expr) | integerをrealに変換 |
$signed(expr) | 符号付きに変換 |
$unsigned(expr) | 符号無しに変換 |
表記
expr | 式 |
fileno | ファイル変数 |
string | 文字列 |