1.文件打開和關閉:
首先定義integer指針,然后調用$fopen(file_name,mode)任務,不需要文件時,調用$fopen(file_name)
常用mode包括:
“w"打開文件並從文件頭開始寫,如果不存在就創建文件。
“w+"打開文件並從文件頭開始讀寫,如果不存在就創建文件
"a"打開文件並從文件末尾開始寫,如果不存在就創建文件
“a+"打開文件並從文件末尾開始讀寫,如果不存在就創建文件
2.輸出到文件:顯示任務前加f,調用格式:
$fdisplay(文件指針,"顯示內容",顯示變量),再如$fmonitor(…)
除了多一個文件指針外,其他與在控制台輸出的任務是用方法一致。
3.讀存儲器操作
$readmemh讀十六進制文件,$readmemb讀二進制文件
$readmemh (" file_name", <memory_name>);
$readmemh (" file_name", <memory_name>, <start_addr>);
$readmemh (" file_name", <memory_name>, <start_addr>, <finish_addr>);
4.輸出存儲器中數據寫入一個文件中
例如:
module readmem;
reg [7:0] mem[7:0];
reg [2:0] i;
integer file;
initial
begin
file = $fopen("memory.txt","w");
$readmemb("memoryb.txt",mem,4,0);// 從文本的讀取數據向mem[4]開始寫入,知道寫到mem[0]
for(i =0;i<7;i= i+1)
begin
$display("mem[%d] = %b",i,mem[i]);
$fdisplay(file,"mem[%d] = %b",i,mem[i]);
end
end
