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

Subversion Repositories openmsp430

[/] [openmsp430/] [trunk/] [fpga/] [altera_de0_nano_soc/] [bench/] [verilog/] [registers_omsp.v] - Blame information for rev 221

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 221 olivier.gi
//----------------------------------------------------------------------------
2
// Copyright (C) 2001 Authors
3
//
4
// This source file may be used and distributed without restriction provided
5
// that this copyright statement is not removed from the file and that any
6
// derivative work contains the original copyright notice and the associated
7
// disclaimer.
8
//
9
// This source file is free software; you can redistribute it and/or modify
10
// it under the terms of the GNU Lesser General Public License as published
11
// by the Free Software Foundation; either version 2.1 of the License, or
12
// (at your option) any later version.
13
//
14
// This source is distributed in the hope that it will be useful, but WITHOUT
15
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17
// License for more details.
18
//
19
// You should have received a copy of the GNU Lesser General Public License
20
// along with this source; if not, write to the Free Software Foundation,
21
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22
//
23
//----------------------------------------------------------------------------
24
//
25
// *File Name: registers.v
26
//
27
// *Module Description:
28
//                      Direct connections to internal registers & memory.
29
//
30
//
31
// *Author(s):
32
//              - Olivier Girard,    olgirard@gmail.com
33
//
34
//----------------------------------------------------------------------------
35
// $Rev: 143 $
36
// $LastChangedBy: olivier.girard $
37
// $LastChangedDate: 2012-05-09 22:20:03 +0200 (Wed, 09 May 2012) $
38
//----------------------------------------------------------------------------
39
 
40
// CPU registers
41
//======================
42
 
43
wire       [15:0] omsp_r0     = dut.openmsp430_0.execution_unit_0.register_file_0.r0;
44
wire       [15:0] omsp_r1     = dut.openmsp430_0.execution_unit_0.register_file_0.r1;
45
wire       [15:0] omsp_r2     = dut.openmsp430_0.execution_unit_0.register_file_0.r2;
46
wire       [15:0] omsp_r3     = dut.openmsp430_0.execution_unit_0.register_file_0.r3;
47
wire       [15:0] omsp_r4     = dut.openmsp430_0.execution_unit_0.register_file_0.r4;
48
wire       [15:0] omsp_r5     = dut.openmsp430_0.execution_unit_0.register_file_0.r5;
49
wire       [15:0] omsp_r6     = dut.openmsp430_0.execution_unit_0.register_file_0.r6;
50
wire       [15:0] omsp_r7     = dut.openmsp430_0.execution_unit_0.register_file_0.r7;
51
wire       [15:0] omsp_r8     = dut.openmsp430_0.execution_unit_0.register_file_0.r8;
52
wire       [15:0] omsp_r9     = dut.openmsp430_0.execution_unit_0.register_file_0.r9;
53
wire       [15:0] omsp_r10    = dut.openmsp430_0.execution_unit_0.register_file_0.r10;
54
wire       [15:0] omsp_r11    = dut.openmsp430_0.execution_unit_0.register_file_0.r11;
55
wire       [15:0] omsp_r12    = dut.openmsp430_0.execution_unit_0.register_file_0.r12;
56
wire       [15:0] omsp_r13    = dut.openmsp430_0.execution_unit_0.register_file_0.r13;
57
wire       [15:0] omsp_r14    = dut.openmsp430_0.execution_unit_0.register_file_0.r14;
58
wire       [15:0] omsp_r15    = dut.openmsp430_0.execution_unit_0.register_file_0.r15;
59
 
60
 
61
// Data Memory cells
62
//======================
63
 
64
wire       [15:0] omsp_mem200 = dut.pmem_0.altsyncram_component.mem_data[0];
65
wire       [15:0] omsp_mem202 = dut.pmem_0.altsyncram_component.mem_data[1];
66
wire       [15:0] omsp_mem204 = dut.pmem_0.altsyncram_component.mem_data[2];
67
wire       [15:0] omsp_mem206 = dut.pmem_0.altsyncram_component.mem_data[3];
68
wire       [15:0] omsp_mem208 = dut.pmem_0.altsyncram_component.mem_data[4];
69
wire       [15:0] omsp_mem20A = dut.pmem_0.altsyncram_component.mem_data[5];
70
wire       [15:0] omsp_mem20C = dut.pmem_0.altsyncram_component.mem_data[6];
71
wire       [15:0] omsp_mem20E = dut.pmem_0.altsyncram_component.mem_data[7];
72
wire       [15:0] omsp_mem210 = dut.pmem_0.altsyncram_component.mem_data[8];
73
wire       [15:0] omsp_mem212 = dut.pmem_0.altsyncram_component.mem_data[9];
74
wire       [15:0] omsp_mem214 = dut.pmem_0.altsyncram_component.mem_data[10];
75
wire       [15:0] omsp_mem216 = dut.pmem_0.altsyncram_component.mem_data[11];
76
wire       [15:0] omsp_mem218 = dut.pmem_0.altsyncram_component.mem_data[12];
77
wire       [15:0] omsp_mem21A = dut.pmem_0.altsyncram_component.mem_data[13];
78
wire       [15:0] omsp_mem21C = dut.pmem_0.altsyncram_component.mem_data[14];
79
wire       [15:0] omsp_mem21E = dut.pmem_0.altsyncram_component.mem_data[15];
80
wire       [15:0] omsp_mem220 = dut.pmem_0.altsyncram_component.mem_data[16];
81
wire       [15:0] omsp_mem222 = dut.pmem_0.altsyncram_component.mem_data[17];
82
wire       [15:0] omsp_mem224 = dut.pmem_0.altsyncram_component.mem_data[18];
83
wire       [15:0] omsp_mem226 = dut.pmem_0.altsyncram_component.mem_data[19];
84
wire       [15:0] omsp_mem228 = dut.pmem_0.altsyncram_component.mem_data[20];
85
wire       [15:0] omsp_mem22A = dut.pmem_0.altsyncram_component.mem_data[21];
86
wire       [15:0] omsp_mem22C = dut.pmem_0.altsyncram_component.mem_data[22];
87
wire       [15:0] omsp_mem22E = dut.pmem_0.altsyncram_component.mem_data[23];
88
wire       [15:0] omsp_mem230 = dut.pmem_0.altsyncram_component.mem_data[24];
89
wire       [15:0] omsp_mem232 = dut.pmem_0.altsyncram_component.mem_data[25];
90
wire       [15:0] omsp_mem234 = dut.pmem_0.altsyncram_component.mem_data[26];
91
wire       [15:0] omsp_mem236 = dut.pmem_0.altsyncram_component.mem_data[27];
92
wire       [15:0] omsp_mem238 = dut.pmem_0.altsyncram_component.mem_data[28];
93
wire       [15:0] omsp_mem23A = dut.pmem_0.altsyncram_component.mem_data[29];
94
wire       [15:0] omsp_mem23C = dut.pmem_0.altsyncram_component.mem_data[30];
95
wire       [15:0] omsp_mem23E = dut.pmem_0.altsyncram_component.mem_data[31];
96
wire       [15:0] omsp_mem240 = dut.pmem_0.altsyncram_component.mem_data[32];
97
wire       [15:0] omsp_mem242 = dut.pmem_0.altsyncram_component.mem_data[33];
98
wire       [15:0] omsp_mem244 = dut.pmem_0.altsyncram_component.mem_data[34];
99
wire       [15:0] omsp_mem246 = dut.pmem_0.altsyncram_component.mem_data[35];
100
wire       [15:0] omsp_mem248 = dut.pmem_0.altsyncram_component.mem_data[36];
101
wire       [15:0] omsp_mem24A = dut.pmem_0.altsyncram_component.mem_data[37];
102
wire       [15:0] omsp_mem24C = dut.pmem_0.altsyncram_component.mem_data[38];
103
wire       [15:0] omsp_mem24E = dut.pmem_0.altsyncram_component.mem_data[39];
104
wire       [15:0] omsp_mem250 = dut.pmem_0.altsyncram_component.mem_data[40];
105
wire       [15:0] omsp_mem252 = dut.pmem_0.altsyncram_component.mem_data[41];
106
wire       [15:0] omsp_mem254 = dut.pmem_0.altsyncram_component.mem_data[42];
107
wire       [15:0] omsp_mem256 = dut.pmem_0.altsyncram_component.mem_data[43];
108
wire       [15:0] omsp_mem258 = dut.pmem_0.altsyncram_component.mem_data[44];
109
wire       [15:0] omsp_mem25A = dut.pmem_0.altsyncram_component.mem_data[45];
110
wire       [15:0] omsp_mem25C = dut.pmem_0.altsyncram_component.mem_data[46];
111
wire       [15:0] omsp_mem25E = dut.pmem_0.altsyncram_component.mem_data[47];
112
wire       [15:0] omsp_mem260 = dut.pmem_0.altsyncram_component.mem_data[48];
113
wire       [15:0] omsp_mem262 = dut.pmem_0.altsyncram_component.mem_data[49];
114
wire       [15:0] omsp_mem264 = dut.pmem_0.altsyncram_component.mem_data[50];
115
wire       [15:0] omsp_mem266 = dut.pmem_0.altsyncram_component.mem_data[51];
116
wire       [15:0] omsp_mem268 = dut.pmem_0.altsyncram_component.mem_data[52];
117
wire       [15:0] omsp_mem26A = dut.pmem_0.altsyncram_component.mem_data[53];
118
wire       [15:0] omsp_mem26C = dut.pmem_0.altsyncram_component.mem_data[54];
119
wire       [15:0] omsp_mem26E = dut.pmem_0.altsyncram_component.mem_data[55];
120
wire       [15:0] omsp_mem270 = dut.pmem_0.altsyncram_component.mem_data[56];
121
wire       [15:0] omsp_mem272 = dut.pmem_0.altsyncram_component.mem_data[57];
122
wire       [15:0] omsp_mem274 = dut.pmem_0.altsyncram_component.mem_data[58];
123
wire       [15:0] omsp_mem276 = dut.pmem_0.altsyncram_component.mem_data[59];
124
wire       [15:0] omsp_mem278 = dut.pmem_0.altsyncram_component.mem_data[60];
125
wire       [15:0] omsp_mem27A = dut.pmem_0.altsyncram_component.mem_data[61];
126
wire       [15:0] omsp_mem27C = dut.pmem_0.altsyncram_component.mem_data[62];
127
wire       [15:0] omsp_mem27E = dut.pmem_0.altsyncram_component.mem_data[63];
128
wire       [15:0] omsp_mem280 = dut.pmem_0.altsyncram_component.mem_data[64];
129
 
130
 
131
// Program Memory cells
132
//======================
133
reg   [15:0] pmem [0:`PMEM_SIZE-1];
134
 
135
// Interrupt vectors
136
wire  [15:0] irq_vect_15      = pmem[(1<<(`PMEM_MSB+1))-1];  // RESET Vector
137
wire  [15:0] irq_vect_14      = pmem[(1<<(`PMEM_MSB+1))-2];  // NMI
138
wire  [15:0] irq_vect_13      = pmem[(1<<(`PMEM_MSB+1))-3];  // IRQ 13
139
wire  [15:0] irq_vect_12      = pmem[(1<<(`PMEM_MSB+1))-4];  // IRQ 12
140
wire  [15:0] irq_vect_11      = pmem[(1<<(`PMEM_MSB+1))-5];  // IRQ 11
141
wire  [15:0] irq_vect_10      = pmem[(1<<(`PMEM_MSB+1))-6];  // IRQ 10
142
wire  [15:0] irq_vect_09      = pmem[(1<<(`PMEM_MSB+1))-7];  // IRQ  9
143
wire  [15:0] irq_vect_08      = pmem[(1<<(`PMEM_MSB+1))-8];  // IRQ  8
144
wire  [15:0] irq_vect_07      = pmem[(1<<(`PMEM_MSB+1))-9];  // IRQ  7
145
wire  [15:0] irq_vect_06      = pmem[(1<<(`PMEM_MSB+1))-10]; // IRQ  6
146
wire  [15:0] irq_vect_05      = pmem[(1<<(`PMEM_MSB+1))-11]; // IRQ  5
147
wire  [15:0] irq_vect_04      = pmem[(1<<(`PMEM_MSB+1))-12]; // IRQ  4
148
wire  [15:0] irq_vect_03      = pmem[(1<<(`PMEM_MSB+1))-13]; // IRQ  3
149
wire  [15:0] irq_vect_02      = pmem[(1<<(`PMEM_MSB+1))-14]; // IRQ  2
150
wire  [15:0] irq_vect_01      = pmem[(1<<(`PMEM_MSB+1))-15]; // IRQ  1
151
wire  [15:0] irq_vect_00      = pmem[(1<<(`PMEM_MSB+1))-16]; // IRQ  0
152
 
153
// Interrupt detection
154
wire         omsp_nmi_detect  = dut.openmsp430_0.frontend_0.nmi_pnd;
155
wire         omsp_irq_detect  = dut.openmsp430_0.frontend_0.irq_detect;
156
 
157
// Debug interface
158
wire         omsp_dbg_en      = dut.openmsp430_0.dbg_en;
159
wire         omsp_dbg_clk     = dut.openmsp430_0.clock_module_0.dbg_clk;
160
wire         omsp_dbg_rst     = dut.openmsp430_0.clock_module_0.dbg_rst;
161
 
162
 
163
// CPU internals
164
//======================
165
 
166
wire         omsp_mclk        = dut.openmsp430_0.mclk;
167
wire         omsp_puc_rst     = dut.openmsp430_0.puc_rst;

powered by: WebSVN 2.1.0

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