在verilog語句中,對文件的操作函數有$readmemh和$readmemb函數來操作,兩者的區別是前者讀取的文件是十六進制的,後者是二進制的。
用法有如下:
比如對存儲器rom進行初始化,將文件filename.dat中的數據讀取到rom中,數據格式是十六進制的。
reg [7:0]rom[0:1024];
$readmemh("./filename.dat",rom);
如果需要存入在存儲器中的一段地址中,那麼可以如下寫:
$readmemh("./filename.dat",rom,10,50);
同時在文件中寫的數據可以包含地址:
@address vaule
比如寫着 @100 67h
這種情況下數據就被讀入指定的地址單元中進行初始值賦值。