verilog之readmemb
1、基本作用
用於讀取存儲器的值的系統函數。這里首先要知道什么是存儲器。在verilog中,有一些比較大的數據是需要存儲的,一般需要使用存儲器,語法結構類似二維數組。
reg [7:0] mem[256:1];
initial mem[1]=8'hff;
這里的mem就是一個存儲器。前面的是位寬,后面的是地址。這個和存儲器的結構是十分相似的。對於這類變量,一般用於仿真存儲設備。readmemb可以讀取存儲器,顯示為二進制。readmemh可以顯示為16進制。通過這兩個函數可以將存儲器的值顯示。
2、實際例子
module readmemb; reg [7:0] memh[1:256]; reg memb[1:256]; initial memb[128]=0; initial memh[254]=8'hff; initial $readmemb("memb.data",memb,128,1); initial $readmemh("memh.data",memh,128,1); endmodule
memb:
memh:
可以看到存儲器的賦值結果。
3、總結
當需要使用存儲器來仿真時,readmemb(h)是一個重要的手段來觀測結果的變化。