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
从文件可以看出@后面跟的是地址,文件中可以有//这样的注释,空格分隔每个数。