Subversion Repositories pentevo

Rev

Rev 1038 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. // full zxevo ROM here. ATM paging: bas48(0)/trdos(1)/bas128(2)/gluk(3)
  2.  
  3. module rom(
  4.         input [18:0] addr,
  5.         output reg [7:0] data,
  6.         input ce_n
  7. );
  8.  
  9.  
  10.         reg [7:0] word;
  11.  
  12.         integer fd;
  13.  
  14.  
  15.         reg [7:0] mem [0:524288];
  16.  
  17.  
  18.  
  19.         initial
  20.         begin
  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("/tmp/pentevo_test/ers_test.rom","rb");
  28.  
  29.                 if( 524288!=$fread(mem,fd) )
  30.                 begin
  31.                         $display("Couldn't load rom!\n");
  32.                         $stop;
  33.                 end
  34.  
  35.                 $fclose(fd);
  36.         end
  37.  
  38.  
  39.  
  40.         always @*
  41.                 word = mem[addr[18:0]];
  42.  
  43.  
  44.         always @*
  45.         begin
  46.                 if( !ce_n )
  47.                         data = word;
  48.                 else
  49.                         data = 8'bZZZZZZZZ;
  50.  
  51.         end
  52.  
  53.  
  54.  
  55.  
  56. endmodule
  57.  
  58.