Verilog中初始化ram/rom中的数据

1,readmem,readmemb,readmemh都可以实现:

readmemh例子:

`timescale	1ns/100ps
module readmem_tb;
	reg [7:0]		Mem[0:'h7ff];
	
	initial
		begin
			$readmemh ("frame.mif",Mem);
		end
	
endmodule

 

用到的frame.mif文件:

@000 
//* ********** 1s frame data **************/
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 00 00 00 00 00 00 00 00 00 00 00 00
30 31 32 33 00 00 00 00 00 00 00 00 00 00 00 00
40 41 42 43 00 00 00 00 00 00 00 00 00 00 00 00
50 51 52 53 00 00 00 00 00 00 00 00 00 00 00 00
60 61 62 63 00 00 00 00 00 00 00 00 00 00 00 00
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 11 11 11 11 11 11 11 11 11 11 11 11
A0 A1 A2 A3 11 11 11 11 11 11 11 11 11 11 11 11
B0 B1 B2 B3 11 11 11 11 11 11 11 11 11 11 11 11
C0 C1 C2 C3 11 11 11 11 11 11 11 11 11 11 11 11
D0 D1 D2 D3 11 11 11 11 11 11 11 11 11 11 11 11
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF

@100 
//* ********** 2d frame data **************/
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 22 22 22 22 22 22 22 22 22 22 22 22
30 31 32 33 22 22 22 22 22 22 22 22 22 22 22 22
40 41 42 43 22 22 22 22 22 22 22 22 22 22 22 22
50 51 52 53 22 22 22 22 22 22 22 22 22 22 22 22
60 61 62 63 22 22 22 22 22 22 22 22 22 22 22 22
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 33 33 33 33 33 33 33 33 33 33 33 33
A0 A1 A2 A3 33 33 33 33 33 33 33 33 33 33 33 33
B0 B1 B2 B3 33 33 33 33 33 33 33 33 33 33 33 33
C0 C1 C2 C3 33 33 33 33 33 33 33 33 33 33 33 33
D0 D1 D2 D3 33 33 33 33 33 33 33 33 33 33 33 33
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF

 从文件可以看出@后面跟的是地址,文件中可以有//这样的注释,空格分隔每个数。

你可能感兴趣的:(Verilog)