「Verilog システムタスク」の編集履歴(バックアップ)一覧はこちら
「Verilog システムタスク」(2023/08/06 (日) 12:39:26) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
ろくに検証していないものがほとんど
**シュミレーションコントロール
|''$stop''|一時停止|
|''$finish''|シュミレーション終了|
**シュミレータ表示制御
|''$display''[defbase]([fmtstr,] {expr,});|文字を出力した後改行する [[フォーマット指示子はここが詳しい>http://www14.atwiki.jp/dmori/pages/16.html]]|
|''$write''[defbase] ([fmtstr,] {expr,});|文字を出力。改行なし|
|''$strobe''[defbase] ([fmtstr,] {expr,});||
|''$monitor''[defbase] ([fmtstr,] {expr,});|観測する信号を追加|
**ファイルI/O
|''$fopen''("ファイル名")|ファイルを開く、ファイル変数を返す。&br()例: integer fileno = $fopen("filename")|
|''$fclose''(fileno);|ファイルを閉じる &br()''$fclose''が実行されなければファイルはシュミレーション終了時に自動的に閉じられる|
|''$readmemb''(“ファイル名”, 配列変数 [, startadd [, stopadd]]);|2進数表記のデータを配列に読み込む。&br()フォーマットはASCIIテキストファイルで、値ごとに改行で区切る&br()オプションで配列側の読み込みインデックスを指定できる|
|''$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''[(種変数)]&br()''$random''|符号付32ビットInteger型のランダムな値を返す。&br()まず最初に種変数を与えてから使う。種変数はInteger型、TIME型、reg型が使える|
|''$getpattern''(mem)|Assign mem content|
|''$rtoi''(expr)|realをintegerに変換|
|''$itor''(expr)|integerをrealに変換|
|''$signed''(expr)|符号付きに変換|
|''$unsigned''(expr)|符号無しに変換|
**表記
|expr|式|
|fileno|ファイル変数|
|string|文字列|
引用元
[[Verilog Quick Reference>http://www.asic-world.com/verilog/vqref1.html#Verilog_Quick_Reference]]
[[Verilog-XL System Tasks and Functions>http://www.ece.umd.edu/class/enee408c.F2001/Verilog-XL/system_tasks.html]]
ろくに検証していないものがほとんど
**シミュレーションコントロール
|''$stop''|一時停止|
|''$finish''|シミュレーション終了|
**シミュレータ表示制御
|''$display''[defbase]([fmtstr,] {expr,});|文字を出力した後改行する [[フォーマット指示子はここが詳しい>http://www14.atwiki.jp/dmori/pages/16.html]]|
|''$write''[defbase] ([fmtstr,] {expr,});|文字を出力。改行なし|
|''$strobe''[defbase] ([fmtstr,] {expr,});||
|''$monitor''[defbase] ([fmtstr,] {expr,});|観測する信号を追加|
**ファイルI/O
|''$fopen''("ファイル名")|ファイルを開く、ファイル変数を返す。&br()例: integer fileno = $fopen("filename")|
|''$fclose''(fileno);|ファイルを閉じる &br()''$fclose''が実行されなければファイルはシミュレーション終了時に自動的に閉じられる|
|''$readmemb''(“ファイル名”, 配列変数 [, startadd [, stopadd]]);|2進数表記のデータを配列に読み込む。&br()フォーマットはASCIIテキストファイルで、値ごとに改行で区切る&br()オプションで配列側の読み込みインデックスを指定できる|
|''$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''[(種変数)]&br()''$random''|符号付32ビットInteger型のランダムな値を返す。&br()まず最初に種変数を与えてから使う。種変数はInteger型、TIME型、reg型が使える|
|''$getpattern''(mem)|Assign mem content|
|''$rtoi''(expr)|realをintegerに変換|
|''$itor''(expr)|integerをrealに変換|
|''$signed''(expr)|符号付きに変換|
|''$unsigned''(expr)|符号無しに変換|
**表記
|expr|式|
|fileno|ファイル変数|
|string|文字列|
引用元
[[Verilog Quick Reference>http://www.asic-world.com/verilog/vqref1.html#Verilog_Quick_Reference]]
[[Verilog-XL System Tasks and Functions>http://www.ece.umd.edu/class/enee408c.F2001/Verilog-XL/system_tasks.html]]
表示オプション
横に並べて表示:
変化行の前後のみ表示: