Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / dmu / rtl / dmu_mmu_csr_stage_mux_only.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: dmu_mmu_csr_stage_mux_only.v
4// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
5// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
6//
7// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8//
9// This program is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; version 2 of the License.
12//
13// This program is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// For the avoidance of doubt, and except that if any non-GPL license
23// choice is available it will apply instead, Sun elects to use only
24// the General Public License version 2 (GPLv2) at this time for any
25// software where a choice of GPL license versions is made
26// available with the language indicating that GPLv2 or any later version
27// may be used, or where a choice of which version of the GPL is applied is
28// otherwise unspecified.
29//
30// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
31// CA 95054 USA or visit www.sun.com if you need additional information or
32// have any questions.
33//
34// ========== Copyright Header End ============================================
35module dmu_mmu_csr_stage_mux_only
36 (
37 clk,
38 read_data_0,
39 ext_done_0,
40 ctl_select_pulse,
41 ctl_select_pulse_out,
42 tsb_select_pulse,
43 tsb_select_pulse_out,
44 fsh_select_pulse,
45 fsh_select_pulse_out,
46 inv_select,
47 inv_select_out,
48 log_select_pulse,
49 log_select_pulse_out,
50 int_en_select_pulse,
51 int_en_select_pulse_out,
52 en_err_select,
53 en_err_select_out,
54 err_select_pulse,
55 err_select_pulse_out,
56 flta_select_pulse,
57 flta_select_pulse_out,
58 flts_select_pulse,
59 flts_select_pulse_out,
60 prfc_select_pulse,
61 prfc_select_pulse_out,
62 prf0_select_pulse,
63 prf0_select_pulse_out,
64 prf1_select_pulse,
65 prf1_select_pulse_out,
66 vtb_select,
67 vtb_select_out,
68 ptb_select,
69 ptb_select_out,
70 tdb_select,
71 tdb_select_out,
72 dev2iotsb_select,
73 dev2iotsb_select_out,
74 IotsbDesc_select,
75 IotsbDesc_select_out,
76 err_rw1c_alias,
77 err_rw1c_alias_out,
78 err_rw1s_alias,
79 err_rw1s_alias_out,
80 daemon_csrbus_wr_in,
81 daemon_csrbus_wr_out,
82 daemon_csrbus_wr_data_in,
83 daemon_csrbus_wr_data_out,
84 ext_addr_in,
85 ext_addr_out,
86 read_data_0_out,
87 ext_done_0_out,
88 rst_l,
89 rst_l_out,
90 por_l,
91 por_l_out
92 );
93
94//====================================================
95// Polarity declarations
96//====================================================
97input clk; // Clock signal
98input [`FIRE_CSRBUS_DATA_WIDTH - 1:0] read_data_0; // Read Data
99input ext_done_0; // Ext Done
100input ctl_select_pulse; // select
101output ctl_select_pulse_out; // select
102input tsb_select_pulse; // select
103output tsb_select_pulse_out; // select
104input fsh_select_pulse; // select
105output fsh_select_pulse_out; // select
106input inv_select; // select
107output inv_select_out; // select
108input log_select_pulse; // select
109output log_select_pulse_out; // select
110input int_en_select_pulse; // select
111output int_en_select_pulse_out; // select
112input en_err_select; // select
113output en_err_select_out; // select
114input err_select_pulse; // select
115output err_select_pulse_out; // select
116input flta_select_pulse; // select
117output flta_select_pulse_out; // select
118input flts_select_pulse; // select
119output flts_select_pulse_out; // select
120input prfc_select_pulse; // select
121output prfc_select_pulse_out; // select
122input prf0_select_pulse; // select
123output prf0_select_pulse_out; // select
124input prf1_select_pulse; // select
125output prf1_select_pulse_out; // select
126input vtb_select; // select
127output vtb_select_out; // select
128input ptb_select; // select
129output ptb_select_out; // select
130input tdb_select; // select
131output tdb_select_out; // select
132input dev2iotsb_select; // select
133output dev2iotsb_select_out; // select
134input IotsbDesc_select; // select
135output IotsbDesc_select_out; // select
136input err_rw1c_alias; // SW load
137output err_rw1c_alias_out; // alias
138input err_rw1s_alias; // SW load
139output err_rw1s_alias_out; // alias
140input daemon_csrbus_wr_in; // csrbus_wr
141output daemon_csrbus_wr_out; // csrbus_wr
142input [`FIRE_CSRBUS_DATA_WIDTH-1:0] daemon_csrbus_wr_data_in; // SW write data
143output [`FIRE_CSRBUS_DATA_WIDTH-1:0] daemon_csrbus_wr_data_out; // SW write
144 // data
145input [8:0] ext_addr_in; // Ext addr
146output [8:0] ext_addr_out; // Ext addr
147output [`FIRE_CSRBUS_DATA_WIDTH - 1:0] read_data_0_out; // Read Data
148output ext_done_0_out; // Ext Done
149input rst_l; // HW reset
150output rst_l_out; // HW reset
151input por_l; // HW reset
152output por_l_out; // HW reset
153
154//====================================================
155// Type declarations
156//====================================================
157wire clk; // Clock signal
158wire [`FIRE_CSRBUS_DATA_WIDTH - 1:0] read_data_0; // Read Data
159wire ext_done_0; // Ext Done
160wire ctl_select_pulse; // select
161wire ctl_select_pulse_out; // select
162wire tsb_select_pulse; // select
163wire tsb_select_pulse_out; // select
164wire fsh_select_pulse; // select
165wire fsh_select_pulse_out; // select
166wire inv_select; // select
167wire inv_select_out; // select
168wire log_select_pulse; // select
169wire log_select_pulse_out; // select
170wire int_en_select_pulse; // select
171wire int_en_select_pulse_out; // select
172wire en_err_select; // select
173wire en_err_select_out; // select
174wire err_select_pulse; // select
175wire err_select_pulse_out; // select
176wire flta_select_pulse; // select
177wire flta_select_pulse_out; // select
178wire flts_select_pulse; // select
179wire flts_select_pulse_out; // select
180wire prfc_select_pulse; // select
181wire prfc_select_pulse_out; // select
182wire prf0_select_pulse; // select
183wire prf0_select_pulse_out; // select
184wire prf1_select_pulse; // select
185wire prf1_select_pulse_out; // select
186wire vtb_select; // select
187wire vtb_select_out; // select
188wire ptb_select; // select
189wire ptb_select_out; // select
190wire tdb_select; // select
191wire tdb_select_out; // select
192wire dev2iotsb_select; // select
193wire dev2iotsb_select_out; // select
194wire IotsbDesc_select; // select
195wire IotsbDesc_select_out; // select
196wire err_rw1c_alias; // SW load
197wire err_rw1c_alias_out; // alias
198wire err_rw1s_alias; // SW load
199wire err_rw1s_alias_out; // alias
200wire daemon_csrbus_wr_in; // csrbus_wr
201wire daemon_csrbus_wr_out; // csrbus_wr
202wire [`FIRE_CSRBUS_DATA_WIDTH-1:0] daemon_csrbus_wr_data_in; // SW write data
203wire [`FIRE_CSRBUS_DATA_WIDTH-1:0] daemon_csrbus_wr_data_out; // SW write data
204wire [8:0] ext_addr_in; // Ext addr
205wire [8:0] ext_addr_out; // Ext addr
206wire [`FIRE_CSRBUS_DATA_WIDTH - 1:0] read_data_0_out; // Read Data
207wire ext_done_0_out; // Ext Done
208wire rst_l; // HW reset
209wire rst_l_out; // HW reset
210wire por_l; // HW reset
211wire por_l_out; // HW reset
212
213
214//====================================================
215// Assignments only
216//====================================================
217assign ext_done_0_out =
218 ext_done_0;
219assign ctl_select_pulse_out = ctl_select_pulse;
220assign tsb_select_pulse_out = tsb_select_pulse;
221assign fsh_select_pulse_out = fsh_select_pulse;
222assign inv_select_out = inv_select;
223assign log_select_pulse_out = log_select_pulse;
224assign int_en_select_pulse_out = int_en_select_pulse;
225assign en_err_select_out = en_err_select;
226assign err_select_pulse_out = err_select_pulse;
227assign flta_select_pulse_out = flta_select_pulse;
228assign flts_select_pulse_out = flts_select_pulse;
229assign prfc_select_pulse_out = prfc_select_pulse;
230assign prf0_select_pulse_out = prf0_select_pulse;
231assign prf1_select_pulse_out = prf1_select_pulse;
232assign vtb_select_out = vtb_select;
233assign ptb_select_out = ptb_select;
234assign tdb_select_out = tdb_select;
235assign dev2iotsb_select_out = dev2iotsb_select;
236assign IotsbDesc_select_out = IotsbDesc_select;
237assign err_rw1c_alias_out = err_rw1c_alias;
238assign err_rw1s_alias_out = err_rw1s_alias;
239assign rst_l_out = rst_l;
240assign por_l_out = por_l;
241assign daemon_csrbus_wr_out = daemon_csrbus_wr_in;
242assign daemon_csrbus_wr_data_out = daemon_csrbus_wr_data_in;
243assign ext_addr_out = ext_addr_in;
244
245
246//=====================================================
247// OUTPUT: read_data_out
248//=====================================================
249dmu_mmu_csr_csrpipe_1 dmu_mmu_csr_csrpipe_1_inst_1
250 (
251 .clk (clk),
252 .rst_l (rst_l),
253 .reg_in (1'b0),
254 .reg_out (1'b0),
255 .data0 (read_data_0),
256 .sel0 (1'b1),
257 .out (read_data_0_out)
258 );
259
260endmodule // dmu_mmu_csr_stage_mux_only