OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or1k_startup/] [rtl/] [verilog/] [OR1K_startup_generic.v] - Blame information for rev 306

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

Line No. Rev Author Line
1 2 marcus.erl
`ifndef SPI_BASE_MSB
2
 `define SPI_BASE_MSB B000
3
`endif
4
module OR1K_startup
5
  (
6
    input [6:2]       wb_adr_i,
7
    input             wb_stb_i,
8
    input             wb_cyc_i,
9
    output reg [31:0] wb_dat_o,
10
    output reg        wb_ack_o,
11
    input             wb_clk,
12
    input             wb_rst
13
   );
14
 
15
   always @ (posedge wb_clk or posedge wb_rst)
16
     if (wb_rst)
17
       wb_dat_o <= 32'h15000000;
18
     else
19
       case (wb_adr_i)
20
 
21
          1 : wb_dat_o <= 32'hA8200000;
22
          2 : wb_dat_o <= 32'h1880`SPI_BASE_MSB;
23
          3 : wb_dat_o <= 32'hA8A00520;
24
          4 : wb_dat_o <= 32'hA8600001;
25
          5 : wb_dat_o <= 32'h04000014;
26
          6 : wb_dat_o <= 32'hD4041818;
27
          7 : wb_dat_o <= 32'h04000012;
28
          8 : wb_dat_o <= 32'hD4040000;
29
          9 : wb_dat_o <= 32'hE0431804;
30
         10 : wb_dat_o <= 32'h0400000F;
31
         11 : wb_dat_o <= 32'h9C210008;
32
         12 : wb_dat_o <= 32'h0400000D;
33
         13 : wb_dat_o <= 32'hE1031804;
34
         14 : wb_dat_o <= 32'hE4080000;
35
         15 : wb_dat_o <= 32'h0FFFFFFB;
36
         16 : wb_dat_o <= 32'hD4081800;
37
         17 : wb_dat_o <= 32'h04000008;
38
         18 : wb_dat_o <= 32'h9C210004;
39
         19 : wb_dat_o <= 32'hD4011800;
40
         20 : wb_dat_o <= 32'hE4011000;
41
         21 : wb_dat_o <= 32'h0FFFFFFC;
42
         22 : wb_dat_o <= 32'hA8C00100;
43
         23 : wb_dat_o <= 32'h44003000;
44
         24 : wb_dat_o <= 32'hD4040018;
45
         25 : wb_dat_o <= 32'hD4042810;
46
         26 : wb_dat_o <= 32'h84640010;
47
         27 : wb_dat_o <= 32'hBC030520;
48
         28 : wb_dat_o <= 32'h13FFFFFE;
49
         29 : wb_dat_o <= 32'h15000000;
50
         30 : wb_dat_o <= 32'h44004800;
51
         31 : wb_dat_o <= 32'h84640000;
52
       endcase
53
 
54
   always @ (posedge wb_clk or posedge wb_rst)
55
     if (wb_rst)
56
       wb_ack_o <= 1'b0;
57
     else
58
       wb_ack_o <= wb_stb_i & wb_cyc_i & !wb_ack_o;
59
 
60
endmodule // OR1K_startup

powered by: WebSVN 2.1.0

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