OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [or1k_startup/] [rtl/] [verilog/] [OR1K_startup_rom.v] - Blame information for rev 371

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 marcus.erl
module OR1K_startup_rom
2
  (
3
    input  [6:0] addr,
4
    output [31:0] dout,
5
    input       clk
6
   );
7
 
8
   wire [31:0]   rom [0:31];
9
 
10
   assign rom[ 0] = 32'h18000000;
11
   assign rom[ 1] = 32'hA8200000;
12
   assign rom[ 2] = 32'h1880B000;
13
   assign rom[ 3] = 32'hA8A00520;
14
   assign rom[ 4] = 32'hA8600001;
15
   assign rom[ 5] = 32'h04000014;
16
   assign rom[ 6] = 32'hD4041818;
17
   assign rom[ 7] = 32'h04000012;
18
   assign rom[ 8] = 32'hD4040000;
19
   assign rom[ 9] = 32'hE0431804;
20
   assign rom[10] = 32'h0400000F;
21
   assign rom[11] = 32'h9C210008;
22
   assign rom[12] = 32'h0400000D;
23
   assign rom[13] = 32'hE1031804;
24
   assign rom[14] = 32'hE4080000;
25
   assign rom[15] = 32'h0FFFFFFB;
26
   assign rom[16] = 32'hD4081800;
27
   assign rom[17] = 32'h04000008;
28
   assign rom[18] = 32'h9C210004;
29
   assign rom[19] = 32'hD4011800;
30
   assign rom[20] = 32'hE4011000;
31
   assign rom[21] = 32'h0FFFFFFC;
32
   assign rom[22] = 32'hA8C00100;
33
   assign rom[23] = 32'h44003000;
34
   assign rom[24] = 32'hD4040018;
35
   assign rom[25] = 32'hD4042810;
36
   assign rom[26] = 32'h84640010;
37
   assign rom[27] = 32'hBC030520;
38
   assign rom[28] = 32'h13FFFFFE;
39
   assign rom[29] = 32'h15000000;
40
   assign rom[30] = 32'h44004800;
41
   assign rom[31] = 32'h84640000;
42
 
43
   reg [6:0]     addr_reg;
44
 
45
   always @ (posedge clk)
46
     addr_reg <= addr;
47
 
48
   /*
49
   always @ (*)
50
     case (addr_reg[1:0])
51
       2'b00 : dout <= rom[addr_reg[6:2]][31:24];
52
       2'b01 : dout <= rom[addr_reg[6:2]][23:16];
53
       2'b10 : dout <= rom[addr_reg[6:2]][15: 8];
54
       2'b11 : dout <= rom[addr_reg[6:2]][ 7: 0];
55
     endcase
56
    */
57
 
58
   assign dout = rom[addr_reg];
59
 
60
endmodule // OR1K_startup_rom

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.