verilog檔案讀寫

2021-07-11 16:24:54 字數 981 閱讀 5375

verilog內建提供了一些系統函式用於檔案讀寫,常用的有$readmemh(),$readmemb(),$fopen(),$fdisplay();

$readmemh/$readmemb函式通常用於對rom的行為模型建模,向rom中載入使用者程式。

用法如下:

1

reg [31:0] mem[2047:0];2

initial

3begin

4 $readmemh("

rom.dat

",mem);

5end

view code

最近做點東西東西需要做一下進製轉換,使用上面函式就可以輕鬆搞定,$readmemh/$readmemb用於檔案讀取,$fdisplay用於寫檔案,

通常在寫檔案之前需要用$fopen開啟乙個檔案控制代碼。乙個16進製制檔案轉2進製檔案的**如下:

1

module

tb();

2reg [31:0] mem[2047:0];3

integer

i,fd;45

initial

6begin

7 i=0

;8 $readmemh("

rom.dat

",mem);

9 fd=$fopen("

romb.dat");

10for(i=0;i<2048;i=i+1)11

begin

12 $fdisplay(fd,"%b"

,mem[i]);

13end

14end

1516

endmodule

如果是2轉16進製制的話(rom.dat的內容為2進製),只需將$fdisplay(fd,"%b",mem[i]);變成->$fdisplay(fd,"%h",mem[i]);是不是很方便?比用c方便多了,也很直觀。

SD卡讀寫 Verilog實現SD卡讀寫

目前常見的sd卡有兩種形式,一種是標準的sd卡,另外一種是tf卡,無論標準的sd卡或者tf卡,其基本協議是相同的,因此對於程式設計來說,這兩種型別的sd卡的讀寫方式是相同的。針對兩種不同型別的sd卡,其引腳介面訊號定義如下圖所示 標準sd卡 tf卡 對於上述的兩種型別的sd卡,都支援兩種操作模式,分...

Verilog 1 檔案讀寫有關操作

module read tb reg clk reg rst n reg 23 0 img in wire 23 0 img out parameter sum1 49729 223 223 49729 parameter sum2 49729 24025 reg 23 0 data in ram ...

c 檔案讀寫 文字讀寫

include int main else return 0 格式 intfscanf file stream,constchar format,返回值 如果成功,該函式返回成功匹配和賦值的個數。如果到達檔案末尾或發生讀錯誤,則返回 eof 引數1 file stream 檔案指標 引數2 cons...