forever語句
forever
begin
? ? ? ? state;
end
一直執行state
repeat(n)
begin
? ? ? ? state;
end
執行state,n次
force語句對雙向端口進行輸入賦值。
@與wait
@是邊沿觸發,wait是電平觸發
仿真控制語句與系統任務描述
$stop停止仿真
$stop(n)帶參數的系統任務,根據參數不同輸出仿真信息
$finish結束運行仿真
$finish(n)帶參數系統任務,根據參數不同輸出仿真信息
0不輸出任何信息
1輸出當前仿真時刻和位置
2輸出當前仿真時刻、位置和仿真過程中用到的memory,以及CPU時間的統計
統計
$random
$random%n輸出-n到n之間的隨機數
{$random}%n輸出0到n之間的隨機數
仿真終端顯示描述
$monitor
$monitor($time, "clk=%d reset=%d out=%d", clk, reset, out)
$time是顯示當前時間
$display
終端打印字符串,顯示仿真結果
$display("strings")
$display("%t, %b, %b", $time, a, b)
文本輸入方式
$readmemb讀取二進制數據,文件內容只能包含空白位置,注釋行,二進制數據中不能包含位寬說明和格式說明,每個數字必須是二進制數字。
$readmemh讀取十六進制數據,文件內容只能包含空白位置,注釋行,十六進制數據中不能包含位寬說明和格式說明,每個數字必須是十六進制數字。
$readmemb/$readmemh("<數據文件名>", <存儲器名>)
存儲器就是寄存器矩陣。
(<"數據文件名">,??<存儲器名>)