Rev 534 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 534 | lvd | 1 | // nmitest ROM loader |
| 418 | lvd | 2 | // |
| 3 | |||
| 534 | lvd | 4 | `ifdef NMITEST |
| 5 | module nmitest_rom |
||
| 418 | lvd | 6 | ( |
| 7 | input wire [18:0] in_addr, |
||
| 8 | |||
| 9 | output reg [ 7:0] out_word |
||
| 10 | ); |
||
| 11 | |||
| 12 | integer fd; |
||
| 13 | |||
| 14 | |||
| 15 | reg [7:0] mem [0:524287]; |
||
| 16 | |||
| 17 | |||
| 18 | |||
| 19 | initial |
||
| 20 | begin |
||
| 534 | lvd | 21 | // init rom |
| 22 | integer i; |
||
| 23 | for(i=0;i<524288;i=i+1) |
||
| 24 | mem[i] = 8'hFF; |
||
| 25 | |||
| 26 | // load file |
||
| 27 | fd = $fopen("nmitest.bin","rb"); |
||
| 418 | lvd | 28 | |
| 534 | lvd | 29 | if( 186!=$fread(mem,fd,524288-16384) ) |
| 418 | lvd | 30 | begin |
| 534 | lvd | 31 | $display("Couldn't load nmitest.bin!\n"); |
| 418 | lvd | 32 | $stop; |
| 33 | end |
||
| 34 | |||
| 35 | $fclose(fd); |
||
| 36 | end |
||
| 37 | |||
| 38 | |||
| 39 | |||
| 40 | always @* |
||
| 41 | out_word = mem[in_addr]; |
||
| 42 | |||
| 43 | |||
| 44 | endmodule |
||
| 534 | lvd | 45 | `endif |
| 418 | lvd | 46 |