1 |
2 |
csantifort |
//////////////////////////////////////////////////////////////////
|
2 |
|
|
// //
|
3 |
|
|
// Register Addresses //
|
4 |
|
|
// //
|
5 |
|
|
// This file is part of the Amber project //
|
6 |
|
|
// http://www.opencores.org/project,amber //
|
7 |
|
|
// //
|
8 |
|
|
// Description //
|
9 |
|
|
// Parameters that define the 16 lower bits of the address //
|
10 |
|
|
// of every register in the system. The upper 16 bits is //
|
11 |
|
|
// defined by which module the register is in. //
|
12 |
|
|
// //
|
13 |
|
|
// Author(s): //
|
14 |
|
|
// - Conor Santifort, csantifort.amber@gmail.com //
|
15 |
|
|
// //
|
16 |
|
|
//////////////////////////////////////////////////////////////////
|
17 |
|
|
// //
|
18 |
|
|
// Copyright (C) 2010 Authors and OPENCORES.ORG //
|
19 |
|
|
// //
|
20 |
|
|
// This source file may be used and distributed without //
|
21 |
|
|
// restriction provided that this copyright statement is not //
|
22 |
|
|
// removed from the file and that any derivative work contains //
|
23 |
|
|
// the original copyright notice and the associated disclaimer. //
|
24 |
|
|
// //
|
25 |
|
|
// This source file is free software; you can redistribute it //
|
26 |
|
|
// and/or modify it under the terms of the GNU Lesser General //
|
27 |
|
|
// Public License as published by the Free Software Foundation; //
|
28 |
|
|
// either version 2.1 of the License, or (at your option) any //
|
29 |
|
|
// later version. //
|
30 |
|
|
// //
|
31 |
|
|
// This source is distributed in the hope that it will be //
|
32 |
|
|
// useful, but WITHOUT ANY WARRANTY; without even the implied //
|
33 |
|
|
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //
|
34 |
|
|
// PURPOSE. See the GNU Lesser General Public License for more //
|
35 |
|
|
// details. //
|
36 |
|
|
// //
|
37 |
|
|
// You should have received a copy of the GNU Lesser General //
|
38 |
|
|
// Public License along with this source; if not, download it //
|
39 |
|
|
// from http://www.opencores.org/lgpl.shtml //
|
40 |
|
|
// //
|
41 |
|
|
//////////////////////////////////////////////////////////////////
|
42 |
|
|
|
43 |
|
|
|
44 |
|
|
// ======================================
|
45 |
|
|
// Register Addresses
|
46 |
|
|
// ======================================
|
47 |
|
|
|
48 |
|
|
// Test Module
|
49 |
|
|
localparam AMBER_TEST_STATUS = 16'h0000;
|
50 |
|
|
localparam AMBER_TEST_FIRQ_TIMER = 16'h0004;
|
51 |
|
|
localparam AMBER_TEST_IRQ_TIMER = 16'h0008;
|
52 |
|
|
localparam AMBER_TEST_UART_CONTROL = 16'h0010;
|
53 |
|
|
localparam AMBER_TEST_UART_STATUS = 16'h0014;
|
54 |
|
|
localparam AMBER_TEST_UART_TXD = 16'h0018;
|
55 |
|
|
localparam AMBER_TEST_SIM_CTRL = 16'h001c;
|
56 |
11 |
csantifort |
localparam AMBER_TEST_MEM_CTRL = 16'h0020;
|
57 |
32 |
csantifort |
localparam AMBER_TEST_CYCLES = 16'h0024;
|
58 |
61 |
csantifort |
localparam AMBER_TEST_LED = 16'h0028;
|
59 |
|
|
localparam AMBER_TEST_PHY_RST = 16'h002c;
|
60 |
2 |
csantifort |
|
61 |
|
|
localparam AMBER_TEST_RANDOM_NUM = 16'h0100;
|
62 |
|
|
localparam AMBER_TEST_RANDOM_NUM00 = 16'h0100;
|
63 |
|
|
localparam AMBER_TEST_RANDOM_NUM01 = 16'h0104;
|
64 |
|
|
localparam AMBER_TEST_RANDOM_NUM02 = 16'h0108;
|
65 |
|
|
localparam AMBER_TEST_RANDOM_NUM03 = 16'h010c;
|
66 |
|
|
localparam AMBER_TEST_RANDOM_NUM04 = 16'h0110;
|
67 |
|
|
localparam AMBER_TEST_RANDOM_NUM05 = 16'h0114;
|
68 |
|
|
localparam AMBER_TEST_RANDOM_NUM06 = 16'h0118;
|
69 |
|
|
localparam AMBER_TEST_RANDOM_NUM07 = 16'h011c;
|
70 |
|
|
localparam AMBER_TEST_RANDOM_NUM08 = 16'h0120;
|
71 |
|
|
localparam AMBER_TEST_RANDOM_NUM09 = 16'h0124;
|
72 |
|
|
localparam AMBER_TEST_RANDOM_NUM10 = 16'h0128;
|
73 |
|
|
localparam AMBER_TEST_RANDOM_NUM11 = 16'h012c;
|
74 |
|
|
localparam AMBER_TEST_RANDOM_NUM12 = 16'h0130;
|
75 |
|
|
localparam AMBER_TEST_RANDOM_NUM13 = 16'h0134;
|
76 |
|
|
localparam AMBER_TEST_RANDOM_NUM14 = 16'h0138;
|
77 |
|
|
localparam AMBER_TEST_RANDOM_NUM15 = 16'h013c;
|
78 |
|
|
|
79 |
|
|
|
80 |
|
|
// Interrupt Controller
|
81 |
78 |
csantifort |
localparam AMBER_IC_IRQ0_STATUS = 16'h0000;
|
82 |
|
|
localparam AMBER_IC_IRQ0_RAWSTAT = 16'h0004;
|
83 |
|
|
localparam AMBER_IC_IRQ0_ENABLESET = 16'h0008;
|
84 |
|
|
localparam AMBER_IC_IRQ0_ENABLECLR = 16'h000c;
|
85 |
2 |
csantifort |
localparam AMBER_IC_INT_SOFTSET_0 = 16'h0010;
|
86 |
|
|
localparam AMBER_IC_INT_SOFTCLEAR_0 = 16'h0014;
|
87 |
78 |
csantifort |
localparam AMBER_IC_FIRQ0_STATUS = 16'h0020;
|
88 |
|
|
localparam AMBER_IC_FIRQ0_RAWSTAT = 16'h0024;
|
89 |
|
|
localparam AMBER_IC_FIRQ0_ENABLESET = 16'h0028;
|
90 |
|
|
localparam AMBER_IC_FIRQ0_ENABLECLR = 16'h002c;
|
91 |
|
|
localparam AMBER_IC_IRQ1_STATUS = 16'h0040;
|
92 |
|
|
localparam AMBER_IC_IRQ1_RAWSTAT = 16'h0044;
|
93 |
|
|
localparam AMBER_IC_IRQ1_ENABLESET = 16'h0048;
|
94 |
|
|
localparam AMBER_IC_IRQ1_ENABLECLR = 16'h004c;
|
95 |
2 |
csantifort |
localparam AMBER_IC_INT_SOFTSET_1 = 16'h0050;
|
96 |
|
|
localparam AMBER_IC_INT_SOFTCLEAR_1 = 16'h0054;
|
97 |
78 |
csantifort |
localparam AMBER_IC_FIRQ1_STATUS = 16'h0060;
|
98 |
|
|
localparam AMBER_IC_FIRQ1_RAWSTAT = 16'h0064;
|
99 |
|
|
localparam AMBER_IC_FIRQ1_ENABLESET = 16'h0068;
|
100 |
|
|
localparam AMBER_IC_FIRQ1_ENABLECLR = 16'h006c;
|
101 |
2 |
csantifort |
localparam AMBER_IC_INT_SOFTSET_2 = 16'h0090;
|
102 |
|
|
localparam AMBER_IC_INT_SOFTCLEAR_2 = 16'h0094;
|
103 |
|
|
localparam AMBER_IC_INT_SOFTSET_3 = 16'h00d0;
|
104 |
|
|
localparam AMBER_IC_INT_SOFTCLEAR_3 = 16'h00d4;
|
105 |
|
|
|
106 |
|
|
|
107 |
|
|
// Timer Module
|
108 |
|
|
localparam AMBER_TM_TIMER0_LOAD = 16'h0000;
|
109 |
|
|
localparam AMBER_TM_TIMER0_VALUE = 16'h0004;
|
110 |
|
|
localparam AMBER_TM_TIMER0_CTRL = 16'h0008;
|
111 |
|
|
localparam AMBER_TM_TIMER0_CLR = 16'h000c;
|
112 |
|
|
localparam AMBER_TM_TIMER1_LOAD = 16'h0100;
|
113 |
|
|
localparam AMBER_TM_TIMER1_VALUE = 16'h0104;
|
114 |
|
|
localparam AMBER_TM_TIMER1_CTRL = 16'h0108;
|
115 |
|
|
localparam AMBER_TM_TIMER1_CLR = 16'h010c;
|
116 |
|
|
localparam AMBER_TM_TIMER2_LOAD = 16'h0200;
|
117 |
|
|
localparam AMBER_TM_TIMER2_VALUE = 16'h0204;
|
118 |
|
|
localparam AMBER_TM_TIMER2_CTRL = 16'h0208;
|
119 |
|
|
localparam AMBER_TM_TIMER2_CLR = 16'h020c;
|
120 |
|
|
|
121 |
|
|
|
122 |
|
|
// UART 0 and 1
|
123 |
|
|
localparam AMBER_UART_PID0 = 16'h0fe0;
|
124 |
|
|
localparam AMBER_UART_PID1 = 16'h0fe4;
|
125 |
|
|
localparam AMBER_UART_PID2 = 16'h0fe8;
|
126 |
|
|
localparam AMBER_UART_PID3 = 16'h0fec;
|
127 |
|
|
localparam AMBER_UART_CID0 = 16'h0ff0;
|
128 |
|
|
localparam AMBER_UART_CID1 = 16'h0ff4;
|
129 |
|
|
localparam AMBER_UART_CID2 = 16'h0ff8;
|
130 |
|
|
localparam AMBER_UART_CID3 = 16'h0ffc;
|
131 |
|
|
localparam AMBER_UART_DR = 16'h0000;
|
132 |
|
|
localparam AMBER_UART_RSR = 16'h0004;
|
133 |
|
|
localparam AMBER_UART_LCRH = 16'h0008;
|
134 |
|
|
localparam AMBER_UART_LCRM = 16'h000c;
|
135 |
|
|
localparam AMBER_UART_LCRL = 16'h0010;
|
136 |
|
|
localparam AMBER_UART_CR = 16'h0014;
|
137 |
|
|
localparam AMBER_UART_FR = 16'h0018;
|
138 |
|
|
localparam AMBER_UART_IIR = 16'h001c;
|
139 |
|
|
localparam AMBER_UART_ICR = 16'h001c;
|
140 |
|
|
|