Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | // ========== Copyright Header Begin ========================================== |
2 | // | |
3 | // OpenSPARC T2 Processor File: niu_meta_arb.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 ============================================ | |
35 | `include "niu_meta_arb_define.h" | |
36 | ||
37 | // VPERL: PERL_BEG | |
38 | // | |
39 | // $VPERL_PORT_COMM = 1; | |
40 | // $VPERL_INST_COMM = 2; | |
41 | // | |
42 | // &MODULE ("niu_meta_arb"); | |
43 | // &DECLARE ("input", niu_clk); | |
44 | // | |
45 | // &INSTANCE ("/vobs/neptune/design/niu/niu_meta_arb/rtl/niu_wr_meta_arb.v", "niu_wr_meta_arb"); | |
46 | // &INSTANCE ("/vobs/neptune/design/niu/niu_meta_arb/rtl/niu_rd_meta_arb.v", "niu_rd_meta_arb"); | |
47 | // &INSTANCE ("/vobs/neptune/design/niu/niu_meta_arb/rtl/niu_meta_arb_reset.v", "niu_meta_arb_reset"); | |
48 | // &INSTANCE ("/vobs/neptune/design/niu/niu_meta_arb/rtl/niu_meta_arb_dbg.v", "arb_debug"); | |
49 | // | |
50 | // &FORCE ("wire", "clk"); | |
51 | // | |
52 | //# &FORCE ("wire", "clk_cts"); | |
53 | //# &CONNECT ("niu_wr_meta_arb.clk" , "clk_cts"); | |
54 | //# &CONNECT ("niu_rd_meta_arb.clk" , "clk_cts"); | |
55 | //# &CONNECT ("niu_meta_arb_reset.clk" , "clk_cts"); | |
56 | //# &CONNECT ("arb_debug.clk" , "clk_cts"); | |
57 | // | |
58 | // VPERL: PERL_END | |
59 | // VPERL: GENERATED_BEG | |
60 | ||
61 | module niu_meta_arb ( | |
62 | niu_clk, // input () <= () | |
63 | niu_reset_l, // input (niu_meta_arb_reset) <= () | |
64 | `ifdef NEPTUNE | |
65 | zcp_arb1_req, // input (niu_rd_meta_arb) <= () | |
66 | zcp_arb1_req_address, // input (niu_rd_meta_arb) <= () | |
67 | zcp_arb1_req_cmd, // input (niu_rd_meta_arb) <= () | |
68 | zcp_arb1_req_dma_num, // input (niu_rd_meta_arb) <= () | |
69 | zcp_arb1_req_func_num, // input (niu_rd_meta_arb) <= () | |
70 | zcp_arb1_req_length, // input (niu_rd_meta_arb) <= () | |
71 | zcp_arb1_req_port_num, // input (niu_rd_meta_arb) <= () | |
72 | arb1_zcp_req_accept, // output (niu_rd_meta_arb) => () | |
73 | dmc_meta0_req_func_num, // output (niu_wr_meta_arb) => () | |
74 | dmc_meta1_req_func_num, // output (niu_rd_meta_arb) => () | |
75 | dmc_meta_ack_accept, // input (niu_wr_meta_arb) <= () | |
76 | dmc_meta_resp_accept, // input (niu_rd_meta_arb) <= () | |
77 | `else | |
78 | rdmc_meta_ack_accept, // input (niu_wr_meta_arb) <= () | |
79 | tdmc_meta_ack_accept, // input (niu_wr_meta_arb) <= () | |
80 | rdmc_meta_resp_accept, // input (niu_rd_meta_arb) <= () | |
81 | tdmc_meta_resp_accept, // input (niu_rd_meta_arb) <= () | |
82 | txc_meta_resp_accept, // input (niu_rd_meta_arb) <= () | |
83 | `endif | |
84 | ||
85 | meta_dmc0_data_req, // input (niu_wr_meta_arb) <= () | |
86 | meta_dmc0_req_accept, // input (niu_wr_meta_arb) <= () | |
87 | meta_dmc0_req_errors, // input (niu_wr_meta_arb) <= () | |
88 | meta_dmc1_req_accept, // input (niu_rd_meta_arb) <= () | |
89 | meta_dmc1_req_errors, // input (niu_rd_meta_arb) <= () | |
90 | meta_dmc_ack_cmd_status, // input (niu_wr_meta_arb) <= () | |
91 | meta_dmc_ack_transID, // input (niu_wr_meta_arb) <= () | |
92 | meta_dmc_ack_transfer_cmpl, // input (niu_wr_meta_arb) <= () | |
93 | meta_dmc_resp_cmd_status, // input (niu_rd_meta_arb) <= () | |
94 | meta_dmc_resp_transID, // input (niu_rd_meta_arb) <= () | |
95 | meta_dmc_resp_transfer_cmpl, // input (niu_rd_meta_arb) <= () | |
96 | pio_arb_ctrl, // input (arb_debug) <= () | |
97 | pio_arb_debug_vector, // input (arb_debug) <= () | |
98 | pio_arb_dirtid_clr, // input (niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
99 | pio_arb_dirtid_enable, // input (niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
100 | pio_arb_np_threshold, // input (niu_wr_meta_arb) <= () | |
101 | pio_arb_rd_threshold, // input (niu_rd_meta_arb) <= () | |
102 | rbr_arb1_req, // input (niu_rd_meta_arb) <= () | |
103 | rbr_arb1_req_address, // input (niu_rd_meta_arb) <= () | |
104 | rbr_arb1_req_cmd, // input (niu_rd_meta_arb) <= () | |
105 | rbr_arb1_req_dma_num, // input (niu_rd_meta_arb) <= () | |
106 | rbr_arb1_req_func_num, // input (niu_rd_meta_arb) <= () | |
107 | rbr_arb1_req_length, // input (niu_rd_meta_arb) <= () | |
108 | rbr_arb1_req_port_num, // input (niu_rd_meta_arb) <= () | |
109 | rcr_arb0_data, // input (niu_wr_meta_arb) <= () | |
110 | rcr_arb0_data_valid, // input (niu_wr_meta_arb) <= () | |
111 | rcr_arb0_req, // input (niu_wr_meta_arb) <= () | |
112 | rcr_arb0_req_address, // input (niu_wr_meta_arb) <= () | |
113 | rcr_arb0_req_byteenable, // input (niu_wr_meta_arb) <= () | |
114 | rcr_arb0_req_cmd, // input (niu_wr_meta_arb) <= () | |
115 | rcr_arb0_req_dma_num, // input (niu_wr_meta_arb) <= () | |
116 | rcr_arb0_req_func_num, // input (niu_wr_meta_arb) <= () | |
117 | rcr_arb0_req_length, // input (niu_wr_meta_arb) <= () | |
118 | rcr_arb0_req_port_num, // input (niu_wr_meta_arb) <= () | |
119 | rcr_arb0_status, // input (niu_wr_meta_arb) <= () | |
120 | rcr_arb0_transfer_complete, // input (niu_wr_meta_arb) <= () | |
121 | rdc_arb0_data, // input (niu_wr_meta_arb) <= () | |
122 | rdc_arb0_data_valid, // input (niu_wr_meta_arb) <= () | |
123 | rdc_arb0_req, // input (niu_wr_meta_arb) <= () | |
124 | rdc_arb0_req_address, // input (niu_wr_meta_arb) <= () | |
125 | rdc_arb0_req_byteenable, // input (niu_wr_meta_arb) <= () | |
126 | rdc_arb0_req_cmd, // input (niu_wr_meta_arb) <= () | |
127 | rdc_arb0_req_dma_num, // input (niu_wr_meta_arb) <= () | |
128 | rdc_arb0_req_func_num, // input (niu_wr_meta_arb) <= () | |
129 | rdc_arb0_req_length, // input (niu_wr_meta_arb) <= () | |
130 | rdc_arb0_req_port_num, // input (niu_wr_meta_arb) <= () | |
131 | rdc_arb0_status, // input (niu_wr_meta_arb) <= () | |
132 | rdc_arb0_transfer_complete, // input (niu_wr_meta_arb) <= () | |
133 | tdmc_arb0_data, // input (niu_wr_meta_arb) <= () | |
134 | tdmc_arb0_data_valid, // input (niu_wr_meta_arb) <= () | |
135 | tdmc_arb0_req, // input (niu_wr_meta_arb) <= () | |
136 | tdmc_arb0_req_address, // input (niu_wr_meta_arb) <= () | |
137 | tdmc_arb0_req_byteenable, // input (niu_wr_meta_arb) <= () | |
138 | tdmc_arb0_req_cmd, // input (niu_wr_meta_arb) <= () | |
139 | tdmc_arb0_req_dma_num, // input (niu_wr_meta_arb) <= () | |
140 | tdmc_arb0_req_func_num, // input (niu_wr_meta_arb) <= () | |
141 | tdmc_arb0_req_length, // input (niu_wr_meta_arb) <= () | |
142 | tdmc_arb0_req_port_num, // input (niu_wr_meta_arb) <= () | |
143 | tdmc_arb0_status, // input (niu_wr_meta_arb) <= () | |
144 | tdmc_arb0_transfer_complete, // input (niu_wr_meta_arb) <= () | |
145 | tdmc_arb1_req, // input (niu_rd_meta_arb) <= () | |
146 | tdmc_arb1_req_address, // input (niu_rd_meta_arb) <= () | |
147 | tdmc_arb1_req_cmd, // input (niu_rd_meta_arb) <= () | |
148 | tdmc_arb1_req_dma_num, // input (niu_rd_meta_arb) <= () | |
149 | tdmc_arb1_req_func_num, // input (niu_rd_meta_arb) <= () | |
150 | tdmc_arb1_req_length, // input (niu_rd_meta_arb) <= () | |
151 | tdmc_arb1_req_port_num, // input (niu_rd_meta_arb) <= () | |
152 | txc_arb1_req, // input (niu_rd_meta_arb) <= () | |
153 | txc_arb1_req_address, // input (niu_rd_meta_arb) <= () | |
154 | txc_arb1_req_cmd, // input (niu_rd_meta_arb) <= () | |
155 | txc_arb1_req_dma_num, // input (niu_rd_meta_arb) <= () | |
156 | txc_arb1_req_func_num, // input (niu_rd_meta_arb) <= () | |
157 | txc_arb1_req_length, // input (niu_rd_meta_arb) <= () | |
158 | txc_arb1_req_port_num, // input (niu_rd_meta_arb) <= () | |
159 | arb0_rcr_data_req, // output (niu_wr_meta_arb) => () | |
160 | arb0_rcr_req_accept, // output (niu_wr_meta_arb) => () | |
161 | arb0_rdc_data_req, // output (niu_wr_meta_arb) => () | |
162 | arb0_rdc_req_accept, // output (niu_wr_meta_arb) => () | |
163 | arb0_tdmc_data_req, // output (niu_wr_meta_arb) => () | |
164 | arb0_tdmc_req_accept, // output (niu_wr_meta_arb) => () | |
165 | arb1_rbr_req_accept, // output (niu_rd_meta_arb) => () | |
166 | arb1_tdmc_req_accept, // output (niu_rd_meta_arb) => () | |
167 | arb1_txc_req_accept, // output (niu_rd_meta_arb) => () | |
168 | /* | |
169 | arb0_rcr_req_errors, // output (niu_wr_meta_arb) => () | |
170 | arb0_rdc_req_errors, // output (niu_wr_meta_arb) => () | |
171 | arb0_tdmc_req_errors, // output (niu_wr_meta_arb) => () | |
172 | arb1_tdmc_req_errors, // output (niu_rd_meta_arb) => () | |
173 | arb1_txc_req_errors, // output (niu_rd_meta_arb) => () | |
174 | arb1_zcp_req_errors, // output (niu_rd_meta_arb) => () | |
175 | */ | |
176 | arb1_rbr_req_errors, // output (niu_rd_meta_arb) => () | |
177 | ||
178 | arb_pio_all_npwdirty, // output (niu_wr_meta_arb) => () | |
179 | arb_pio_all_rddirty, // output (niu_rd_meta_arb) => () | |
180 | arb_pio_dirtid_npwstatus, // output (niu_wr_meta_arb) => () | |
181 | arb_pio_dirtid_rdstatus, // output (niu_rd_meta_arb) => () | |
182 | dmc_meta0_data, // output (niu_wr_meta_arb) => () | |
183 | dmc_meta0_data_valid, // output (niu_wr_meta_arb) => () | |
184 | dmc_meta0_req, // output (niu_wr_meta_arb) => () | |
185 | dmc_meta0_req_address, // output (niu_wr_meta_arb) => () | |
186 | dmc_meta0_req_byteenable, // output (niu_wr_meta_arb) => () | |
187 | dmc_meta0_req_client, // output (niu_wr_meta_arb) => () | |
188 | dmc_meta0_req_cmd, // output (niu_wr_meta_arb) => () | |
189 | dmc_meta0_req_dma_num, // output (niu_wr_meta_arb) => () | |
190 | dmc_meta0_req_length, // output (niu_wr_meta_arb) => () | |
191 | dmc_meta0_req_port_num, // output (niu_wr_meta_arb) => () | |
192 | dmc_meta0_req_transID, // output (niu_wr_meta_arb) => () | |
193 | dmc_meta0_status, // output (niu_wr_meta_arb) => () | |
194 | dmc_meta0_transfer_complete, // output (niu_wr_meta_arb) => () | |
195 | dmc_meta1_req, // output (niu_rd_meta_arb) => () | |
196 | dmc_meta1_req_address, // output (niu_rd_meta_arb) => () | |
197 | dmc_meta1_req_client, // output (niu_rd_meta_arb) => () | |
198 | dmc_meta1_req_cmd, // output (niu_rd_meta_arb) => () | |
199 | dmc_meta1_req_dma_num, // output (niu_rd_meta_arb) => () | |
200 | dmc_meta1_req_length, // output (niu_rd_meta_arb) => () | |
201 | dmc_meta1_req_port_num, // output (niu_rd_meta_arb) => () | |
202 | dmc_meta1_req_transID, // output (niu_rd_meta_arb) => () | |
203 | meta_arb_debug_port // output (arb_debug) => () | |
204 | ); | |
205 | ||
206 | input meta_dmc0_data_req; // Memory line request | |
207 | input meta_dmc0_req_accept; // Response to REQ | |
208 | input meta_dmc0_req_errors; // Error flag | |
209 | input meta_dmc1_req_accept; // Response to REQ | |
210 | input meta_dmc1_req_errors; // Error flag | |
211 | input [3:0] meta_dmc_ack_cmd_status; // status in command phase | |
212 | input [5:0] meta_dmc_ack_transID; // Free TransID | |
213 | input [7:0] meta_dmc_ack_transfer_cmpl; // Last trans of TransID | |
214 | input [3:0] meta_dmc_resp_cmd_status; // status in command phase | |
215 | input [5:0] meta_dmc_resp_transID; // Free TransID | |
216 | input [7:0] meta_dmc_resp_transfer_cmpl; // Last trans of TransID | |
217 | input [31:0] pio_arb_ctrl; | |
218 | input [31:0] pio_arb_debug_vector; | |
219 | input pio_arb_dirtid_clr; // Clear all Dirty TID Entries | |
220 | input pio_arb_dirtid_enable; // Enable Dirty TID logic | |
221 | input [5:0] pio_arb_np_threshold; // np write threshold | |
222 | input [5:0] pio_arb_rd_threshold; // read threshold | |
223 | input rbr_arb1_req; // Req Command Request | |
224 | input [63:0] rbr_arb1_req_address; // Memory Address | |
225 | input [7:0] rbr_arb1_req_cmd; // Command Request | |
226 | input [4:0] rbr_arb1_req_dma_num; // Channel Number | |
227 | input [1:0] rbr_arb1_req_func_num; // Channel Number | |
228 | input [13:0] rbr_arb1_req_length; // Packet Length | |
229 | input [1:0] rbr_arb1_req_port_num; // Port Number | |
230 | input [127:0] rcr_arb0_data; // Transfer Data | |
231 | input rcr_arb0_data_valid; // Transfer Data Ack | |
232 | input rcr_arb0_req; // Req Command Request | |
233 | input [63:0] rcr_arb0_req_address; // Memory Address | |
234 | input [15:0] rcr_arb0_req_byteenable; // First/Last BE | |
235 | input [7:0] rcr_arb0_req_cmd; // Command Request | |
236 | input [4:0] rcr_arb0_req_dma_num; // Channel Number | |
237 | input [1:0] rcr_arb0_req_func_num; // Channel Number | |
238 | input [13:0] rcr_arb0_req_length; // Packet Length | |
239 | input [1:0] rcr_arb0_req_port_num; // Port Number | |
240 | input [3:0] rcr_arb0_status; // Transfer Data Status | |
241 | input rcr_arb0_transfer_complete; // Transfer Data Complete | |
242 | input [127:0] rdc_arb0_data; // Transfer Data | |
243 | input rdc_arb0_data_valid; // Transfer Data Ack | |
244 | input rdc_arb0_req; // Req Command Request | |
245 | input [63:0] rdc_arb0_req_address; // Memory Address | |
246 | input [15:0] rdc_arb0_req_byteenable; // First/Last BE | |
247 | input [7:0] rdc_arb0_req_cmd; // Command Request | |
248 | input [4:0] rdc_arb0_req_dma_num; // Channel Number | |
249 | input [1:0] rdc_arb0_req_func_num; // Channel Number | |
250 | input [13:0] rdc_arb0_req_length; // Packet Length | |
251 | input [1:0] rdc_arb0_req_port_num; // Port Number | |
252 | input [3:0] rdc_arb0_status; // Transfer Data Status | |
253 | input rdc_arb0_transfer_complete; // Transfer Data Complete | |
254 | input [127:0] tdmc_arb0_data; // Transfer Data | |
255 | input tdmc_arb0_data_valid; // Transfer Data Ack | |
256 | input tdmc_arb0_req; // Req Command Request | |
257 | input [63:0] tdmc_arb0_req_address; // Memory Address | |
258 | input [15:0] tdmc_arb0_req_byteenable; // First/Last BE | |
259 | input [7:0] tdmc_arb0_req_cmd; // Command Request | |
260 | input [4:0] tdmc_arb0_req_dma_num; // Channel Number | |
261 | input [1:0] tdmc_arb0_req_func_num; // Func Number | |
262 | input [13:0] tdmc_arb0_req_length; // Packet Length | |
263 | input [1:0] tdmc_arb0_req_port_num; // Port Number | |
264 | input [3:0] tdmc_arb0_status; // Transfer Data Status | |
265 | input tdmc_arb0_transfer_complete; // Transfer Data Complete | |
266 | input tdmc_arb1_req; // Req Command Request | |
267 | input [63:0] tdmc_arb1_req_address; // Memory Address | |
268 | input [7:0] tdmc_arb1_req_cmd; // Command Request | |
269 | input [4:0] tdmc_arb1_req_dma_num; // Channel Number | |
270 | input [1:0] tdmc_arb1_req_func_num; // Channel Number | |
271 | input [13:0] tdmc_arb1_req_length; // Packet Length | |
272 | input [1:0] tdmc_arb1_req_port_num; // Port Number | |
273 | input txc_arb1_req; // Req Command Request | |
274 | input [63:0] txc_arb1_req_address; // Memory Address | |
275 | input [7:0] txc_arb1_req_cmd; // Command Request | |
276 | input [4:0] txc_arb1_req_dma_num; // Channel Number | |
277 | input [1:0] txc_arb1_req_func_num; // Channel Number | |
278 | input [13:0] txc_arb1_req_length; // Packet Length | |
279 | input [1:0] txc_arb1_req_port_num; // Port Number | |
280 | output arb0_rcr_data_req; // Memory line request | |
281 | output arb0_rcr_req_accept; // Response to REQ | |
282 | output arb0_rdc_data_req; // Memory line request | |
283 | output arb0_rdc_req_accept; // Response to REQ | |
284 | output arb0_tdmc_data_req; // Memory line request | |
285 | output arb0_tdmc_req_accept; // Response to REQ | |
286 | output arb1_rbr_req_accept; // Response to REQ | |
287 | output arb1_tdmc_req_accept; // Response to REQ | |
288 | output arb1_txc_req_accept; // Response to REQ | |
289 | /* | |
290 | output arb0_rcr_req_errors; // Error flag | |
291 | output arb0_rdc_req_errors; // Error flag | |
292 | output arb0_tdmc_req_errors; // Error flag | |
293 | output arb1_tdmc_req_errors; // Error flag | |
294 | output arb1_txc_req_errors; // Error flag | |
295 | output arb1_zcp_req_errors; // Error flag | |
296 | */ | |
297 | ||
298 | output arb1_rbr_req_errors; // Error flag | |
299 | ||
300 | output arb_pio_all_npwdirty; // all dirty bin entries are dirty | |
301 | output arb_pio_all_rddirty; // all dirty bin entries are dirty | |
302 | output [5:0] arb_pio_dirtid_npwstatus; // count for number of np write TID's dirty | |
303 | output [5:0] arb_pio_dirtid_rdstatus; // count for number of read TID's dirty | |
304 | output [127:0] dmc_meta0_data; // Transfer Data | |
305 | output dmc_meta0_data_valid; // Transfer Data Ack | |
306 | output dmc_meta0_req; // Req Command Request | |
307 | output [63:0] dmc_meta0_req_address; // Memory Address | |
308 | output [15:0] dmc_meta0_req_byteenable; // First/Last BE | |
309 | output [7:0] dmc_meta0_req_client; // Client [vector] | |
310 | output [7:0] dmc_meta0_req_cmd; // Command Request | |
311 | output [4:0] dmc_meta0_req_dma_num; // Channel Number | |
312 | output [13:0] dmc_meta0_req_length; // Packet Length | |
313 | output [1:0] dmc_meta0_req_port_num; // Port Number | |
314 | output [5:0] dmc_meta0_req_transID; // Transaction ID | |
315 | output [3:0] dmc_meta0_status; // Transfer Data Status | |
316 | output dmc_meta0_transfer_complete; // Transfer Data Complete | |
317 | output dmc_meta1_req; // Req Command Request | |
318 | output [63:0] dmc_meta1_req_address; // Memory Address | |
319 | output [7:0] dmc_meta1_req_client; // Client [vector] | |
320 | output [7:0] dmc_meta1_req_cmd; // Command Request | |
321 | output [4:0] dmc_meta1_req_dma_num; // Channel Number | |
322 | output [13:0] dmc_meta1_req_length; // Packet Length | |
323 | output [1:0] dmc_meta1_req_port_num; // Port Number | |
324 | output [5:0] dmc_meta1_req_transID; // Transaction ID | |
325 | output [31:0] meta_arb_debug_port; | |
326 | ||
327 | ||
328 | input niu_clk; | |
329 | input niu_reset_l; | |
330 | ||
331 | `ifdef NEPTUNE | |
332 | input zcp_arb1_req; // Req Command Request | |
333 | input [63:0] zcp_arb1_req_address; // Memory Address | |
334 | input [7:0] zcp_arb1_req_cmd; // Command Request | |
335 | input [4:0] zcp_arb1_req_dma_num; // Channel Number | |
336 | input [1:0] zcp_arb1_req_func_num; // Channel Number | |
337 | input [13:0] zcp_arb1_req_length; // Packet Length | |
338 | input [1:0] zcp_arb1_req_port_num; // Port Number | |
339 | output arb1_zcp_req_accept; // Response to REQ | |
340 | output [1:0] dmc_meta0_req_func_num; // Channel Number | |
341 | output [1:0] dmc_meta1_req_func_num; // Channel Number | |
342 | input [7:0] dmc_meta_ack_accept; // Valid TransID | |
343 | input [7:0] dmc_meta_resp_accept; // Valid TransID | |
344 | `else | |
345 | input rdmc_meta_ack_accept; // Valid TransID | |
346 | input tdmc_meta_ack_accept; // Valid TransID | |
347 | input rdmc_meta_resp_accept; // Valid TransID | |
348 | input tdmc_meta_resp_accept; // Valid TransID | |
349 | input txc_meta_resp_accept; // Valid TransID | |
350 | wire zcp_arb1_req= 1'b0; // Req Command Request | |
351 | wire [63:0] zcp_arb1_req_address= 64'h0; // Memory Address | |
352 | wire [7:0] zcp_arb1_req_cmd= 8'h0; // Command Request | |
353 | wire [4:0] zcp_arb1_req_dma_num= 5'h0; // Channel Number | |
354 | wire [1:0] zcp_arb1_req_func_num= 2'h0; // Channel Number | |
355 | wire [13:0] zcp_arb1_req_length= 14'h0; // Packet Length | |
356 | wire [1:0] zcp_arb1_req_port_num= 2'h0; // Port Number | |
357 | wire arb1_zcp_req_accept; // Response to REQ | |
358 | wire [1:0] dmc_meta0_req_func_num; // Channel Number | |
359 | wire [1:0] dmc_meta1_req_func_num; // Channel Number | |
360 | wire [7:0] dmc_meta_ack_accept= {1'b0, 1'b0, 1'b0, | |
361 | rdmc_meta_ack_accept, 1'b0, | |
362 | tdmc_meta_ack_accept, 1'b0, 1'b0}; | |
363 | wire [7:0] dmc_meta_resp_accept= {1'b0, 1'b0, | |
364 | rdmc_meta_resp_accept, 1'b0, 1'b0, | |
365 | tdmc_meta_resp_accept, | |
366 | txc_meta_resp_accept, 1'b0}; | |
367 | `endif | |
368 | ||
369 | // wire clk; | |
370 | wire reset; | |
371 | wire arb0_rcr_req_errors; // Error flag | |
372 | wire arb0_rdc_req_errors; // Error flag | |
373 | wire arb0_tdmc_req_errors; // Error flag | |
374 | wire arb1_tdmc_req_errors; // Error flag | |
375 | wire arb1_txc_req_errors; // Error flag | |
376 | wire arb1_zcp_req_errors; // Error flag | |
377 | ||
378 | reg pio_arb_dirtid_clr_r; // Clear all Dirty TID Entries | |
379 | reg pio_arb_dirtid_enable_r; // Enable Dirty TID logic | |
380 | reg [5:0] pio_arb_np_threshold_r; // np write threshold | |
381 | reg [5:0] pio_arb_rd_threshold_r; // read threshold | |
382 | ||
383 | wire [31:0] int_debug_port; | |
384 | ||
385 | niu_wr_meta_arb niu_wr_meta_arb ( | |
386 | .dmc_meta0_req_cmd (dmc_meta0_req_cmd[7:0]), // output (niu_wr_meta_arb) => () | |
387 | .dmc_meta0_req_address (dmc_meta0_req_address[63:0]), // output (niu_wr_meta_arb) => () | |
388 | .dmc_meta0_req_length (dmc_meta0_req_length[13:0]), // output (niu_wr_meta_arb) => () | |
389 | .dmc_meta0_req_transID (dmc_meta0_req_transID[5:0]), // output (niu_wr_meta_arb) => () | |
390 | .dmc_meta0_req_port_num (dmc_meta0_req_port_num[1:0]), // output (niu_wr_meta_arb) => () | |
391 | .dmc_meta0_req_dma_num (dmc_meta0_req_dma_num[4:0]), // output (niu_wr_meta_arb) => () | |
392 | .dmc_meta0_req_func_num (dmc_meta0_req_func_num[1:0]), // output (niu_wr_meta_arb) => () | |
393 | .dmc_meta0_req_client (dmc_meta0_req_client[7:0]), // output (niu_wr_meta_arb) => () | |
394 | .dmc_meta0_req (dmc_meta0_req), // output (niu_wr_meta_arb) => () | |
395 | .dmc_meta0_transfer_complete (dmc_meta0_transfer_complete), // output (niu_wr_meta_arb) => () | |
396 | .dmc_meta0_data (dmc_meta0_data[127:0]), // output (niu_wr_meta_arb) => () | |
397 | .dmc_meta0_req_byteenable (dmc_meta0_req_byteenable[15:0]), // output (niu_wr_meta_arb) => () | |
398 | .dmc_meta0_status (dmc_meta0_status[3:0]), // output (niu_wr_meta_arb) => () | |
399 | .dmc_meta0_data_valid (dmc_meta0_data_valid), // output (niu_wr_meta_arb) => () | |
400 | .arb0_tdmc_req_accept (arb0_tdmc_req_accept), // output (niu_wr_meta_arb) => () | |
401 | .arb0_tdmc_data_req (arb0_tdmc_data_req), // output (niu_wr_meta_arb) => () | |
402 | .arb0_tdmc_req_errors (arb0_tdmc_req_errors), // output (niu_wr_meta_arb) => () | |
403 | .arb0_rdc_req_accept (arb0_rdc_req_accept), // output (niu_wr_meta_arb) => () | |
404 | .arb0_rdc_data_req (arb0_rdc_data_req), // output (niu_wr_meta_arb) => () | |
405 | .arb0_rdc_req_errors (arb0_rdc_req_errors), // output (niu_wr_meta_arb) => () | |
406 | .arb0_rcr_req_accept (arb0_rcr_req_accept), // output (niu_wr_meta_arb) => () | |
407 | .arb0_rcr_data_req (arb0_rcr_data_req), // output (niu_wr_meta_arb) => () | |
408 | .arb0_rcr_req_errors (arb0_rcr_req_errors), // output (niu_wr_meta_arb) => () | |
409 | .arb_pio_dirtid_npwstatus (arb_pio_dirtid_npwstatus[5:0]), // output (niu_wr_meta_arb) => () | |
410 | .arb_pio_all_npwdirty (arb_pio_all_npwdirty), // output (niu_wr_meta_arb) => () | |
411 | .meta_dmc0_req_accept (meta_dmc0_req_accept), // input (niu_wr_meta_arb) <= () | |
412 | .meta_dmc0_data_req (meta_dmc0_data_req), // input (niu_wr_meta_arb) <= () | |
413 | .meta_dmc0_req_errors (meta_dmc0_req_errors), // input (niu_wr_meta_arb) <= () | |
414 | .tdmc_arb0_req_cmd (tdmc_arb0_req_cmd[7:0]), // input (niu_wr_meta_arb) <= () | |
415 | .tdmc_arb0_req_address (tdmc_arb0_req_address[63:0]), // input (niu_wr_meta_arb) <= () | |
416 | .tdmc_arb0_req_length (tdmc_arb0_req_length[13:0]), // input (niu_wr_meta_arb) <= () | |
417 | .tdmc_arb0_req_port_num (tdmc_arb0_req_port_num[1:0]), // input (niu_wr_meta_arb) <= () | |
418 | .tdmc_arb0_req_dma_num (tdmc_arb0_req_dma_num[4:0]), // input (niu_wr_meta_arb) <= () | |
419 | .tdmc_arb0_req_func_num (tdmc_arb0_req_func_num[1:0]), // input (niu_wr_meta_arb) <= () | |
420 | .tdmc_arb0_req (tdmc_arb0_req), // input (niu_wr_meta_arb) <= () | |
421 | .tdmc_arb0_transfer_complete (tdmc_arb0_transfer_complete), // input (niu_wr_meta_arb) <= () | |
422 | .tdmc_arb0_data (tdmc_arb0_data[127:0]), // input (niu_wr_meta_arb) <= () | |
423 | .tdmc_arb0_req_byteenable (tdmc_arb0_req_byteenable[15:0]), // input (niu_wr_meta_arb) <= () | |
424 | .tdmc_arb0_status (tdmc_arb0_status[3:0]), // input (niu_wr_meta_arb) <= () | |
425 | .tdmc_arb0_data_valid (tdmc_arb0_data_valid), // input (niu_wr_meta_arb) <= () | |
426 | .rdc_arb0_req_cmd (rdc_arb0_req_cmd[7:0]), // input (niu_wr_meta_arb) <= () | |
427 | .rdc_arb0_req_address (rdc_arb0_req_address[63:0]), // input (niu_wr_meta_arb) <= () | |
428 | .rdc_arb0_req_length (rdc_arb0_req_length[13:0]), // input (niu_wr_meta_arb) <= () | |
429 | .rdc_arb0_req_port_num (rdc_arb0_req_port_num[1:0]), // input (niu_wr_meta_arb) <= () | |
430 | .rdc_arb0_req_dma_num (rdc_arb0_req_dma_num[4:0]), // input (niu_wr_meta_arb) <= () | |
431 | .rdc_arb0_req_func_num (rdc_arb0_req_func_num[1:0]), // input (niu_wr_meta_arb) <= () | |
432 | .rdc_arb0_req (rdc_arb0_req), // input (niu_wr_meta_arb) <= () | |
433 | .rdc_arb0_transfer_complete (rdc_arb0_transfer_complete), // input (niu_wr_meta_arb) <= () | |
434 | .rdc_arb0_data (rdc_arb0_data[127:0]), // input (niu_wr_meta_arb) <= () | |
435 | .rdc_arb0_req_byteenable (rdc_arb0_req_byteenable[15:0]), // input (niu_wr_meta_arb) <= () | |
436 | .rdc_arb0_status (rdc_arb0_status[3:0]), // input (niu_wr_meta_arb) <= () | |
437 | .rdc_arb0_data_valid (rdc_arb0_data_valid), // input (niu_wr_meta_arb) <= () | |
438 | .rcr_arb0_req_cmd (rcr_arb0_req_cmd[7:0]), // input (niu_wr_meta_arb) <= () | |
439 | .rcr_arb0_req_address (rcr_arb0_req_address[63:0]), // input (niu_wr_meta_arb) <= () | |
440 | .rcr_arb0_req_length (rcr_arb0_req_length[13:0]), // input (niu_wr_meta_arb) <= () | |
441 | .rcr_arb0_req_port_num (rcr_arb0_req_port_num[1:0]), // input (niu_wr_meta_arb) <= () | |
442 | .rcr_arb0_req_dma_num (rcr_arb0_req_dma_num[4:0]), // input (niu_wr_meta_arb) <= () | |
443 | .rcr_arb0_req_func_num (rcr_arb0_req_func_num[1:0]), // input (niu_wr_meta_arb) <= () | |
444 | .rcr_arb0_req (rcr_arb0_req), // input (niu_wr_meta_arb) <= () | |
445 | .rcr_arb0_transfer_complete (rcr_arb0_transfer_complete), // input (niu_wr_meta_arb) <= () | |
446 | .rcr_arb0_data (rcr_arb0_data[127:0]), // input (niu_wr_meta_arb) <= () | |
447 | .rcr_arb0_req_byteenable (rcr_arb0_req_byteenable[15:0]), // input (niu_wr_meta_arb) <= () | |
448 | .rcr_arb0_status (rcr_arb0_status[3:0]), // input (niu_wr_meta_arb) <= () | |
449 | .rcr_arb0_data_valid (rcr_arb0_data_valid), // input (niu_wr_meta_arb) <= () | |
450 | .meta_dmc_ack_transID (meta_dmc_ack_transID[5:0]), // input (niu_wr_meta_arb) <= () | |
451 | .dmc_meta_ack_accept (dmc_meta_ack_accept[7:0]), // input (niu_wr_meta_arb) <= () | |
452 | .meta_dmc_ack_transfer_cmpl (meta_dmc_ack_transfer_cmpl[7:0]), // input (niu_wr_meta_arb) <= () | |
453 | .meta_dmc_ack_cmd_status (meta_dmc_ack_cmd_status[3:0]), // input (niu_wr_meta_arb) <= () | |
454 | .pio_arb_dirtid_enable (pio_arb_dirtid_enable_r), // input (niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
455 | .pio_arb_dirtid_clr (pio_arb_dirtid_clr_r), // input (niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
456 | .pio_arb_np_threshold (pio_arb_np_threshold_r[5:0]), // input (niu_wr_meta_arb) <= () | |
457 | .clk (niu_clk), // input (arb_debug,niu_meta_arb_reset,niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
458 | .reset (reset) // input (niu_rd_meta_arb,niu_wr_meta_arb) <= (niu_meta_arb_reset) | |
459 | ); | |
460 | ||
461 | niu_rd_meta_arb niu_rd_meta_arb ( | |
462 | .dmc_meta1_req_cmd (dmc_meta1_req_cmd[7:0]), // output (niu_rd_meta_arb) => () | |
463 | .dmc_meta1_req_address (dmc_meta1_req_address[63:0]), // output (niu_rd_meta_arb) => () | |
464 | .dmc_meta1_req_length (dmc_meta1_req_length[13:0]), // output (niu_rd_meta_arb) => () | |
465 | .dmc_meta1_req_transID (dmc_meta1_req_transID[5:0]), // output (niu_rd_meta_arb) => () | |
466 | .dmc_meta1_req_port_num (dmc_meta1_req_port_num[1:0]), // output (niu_rd_meta_arb) => () | |
467 | .dmc_meta1_req_dma_num (dmc_meta1_req_dma_num[4:0]), // output (niu_rd_meta_arb) => () | |
468 | .dmc_meta1_req_func_num (dmc_meta1_req_func_num[1:0]), // output (niu_rd_meta_arb) => () | |
469 | .dmc_meta1_req_client (dmc_meta1_req_client[7:0]), // output (niu_rd_meta_arb) => () | |
470 | .dmc_meta1_req (dmc_meta1_req), // output (niu_rd_meta_arb) => () | |
471 | .arb1_zcp_req_accept (arb1_zcp_req_accept), // output (niu_rd_meta_arb) => () | |
472 | .arb1_zcp_req_errors (arb1_zcp_req_errors), // output (niu_rd_meta_arb) => () | |
473 | .arb1_txc_req_accept (arb1_txc_req_accept), // output (niu_rd_meta_arb) => () | |
474 | .arb1_txc_req_errors (arb1_txc_req_errors), // output (niu_rd_meta_arb) => () | |
475 | .arb1_tdmc_req_accept (arb1_tdmc_req_accept), // output (niu_rd_meta_arb) => () | |
476 | .arb1_tdmc_req_errors (arb1_tdmc_req_errors), // output (niu_rd_meta_arb) => () | |
477 | .arb1_rbr_req_accept (arb1_rbr_req_accept), // output (niu_rd_meta_arb) => () | |
478 | .arb1_rbr_req_errors (arb1_rbr_req_errors), // output (niu_rd_meta_arb) => () | |
479 | .arb_pio_dirtid_rdstatus (arb_pio_dirtid_rdstatus[5:0]), // output (niu_rd_meta_arb) => () | |
480 | .arb_pio_all_rddirty (arb_pio_all_rddirty), // output (niu_rd_meta_arb) => () | |
481 | .meta_dmc1_req_accept (meta_dmc1_req_accept), // input (niu_rd_meta_arb) <= () | |
482 | .meta_dmc1_req_errors (meta_dmc1_req_errors), // input (niu_rd_meta_arb) <= () | |
483 | .zcp_arb1_req_cmd (zcp_arb1_req_cmd[7:0]), // input (niu_rd_meta_arb) <= () | |
484 | .zcp_arb1_req_address (zcp_arb1_req_address[63:0]), // input (niu_rd_meta_arb) <= () | |
485 | .zcp_arb1_req_length (zcp_arb1_req_length[13:0]), // input (niu_rd_meta_arb) <= () | |
486 | .zcp_arb1_req_port_num (zcp_arb1_req_port_num[1:0]), // input (niu_rd_meta_arb) <= () | |
487 | .zcp_arb1_req_dma_num (zcp_arb1_req_dma_num[4:0]), // input (niu_rd_meta_arb) <= () | |
488 | .zcp_arb1_req_func_num (zcp_arb1_req_func_num[1:0]), // input (niu_rd_meta_arb) <= () | |
489 | .zcp_arb1_req (zcp_arb1_req), // input (niu_rd_meta_arb) <= () | |
490 | .txc_arb1_req_cmd (txc_arb1_req_cmd[7:0]), // input (niu_rd_meta_arb) <= () | |
491 | .txc_arb1_req_address (txc_arb1_req_address[63:0]), // input (niu_rd_meta_arb) <= () | |
492 | .txc_arb1_req_length (txc_arb1_req_length[13:0]), // input (niu_rd_meta_arb) <= () | |
493 | .txc_arb1_req_port_num (txc_arb1_req_port_num[1:0]), // input (niu_rd_meta_arb) <= () | |
494 | .txc_arb1_req_dma_num (txc_arb1_req_dma_num[4:0]), // input (niu_rd_meta_arb) <= () | |
495 | .txc_arb1_req_func_num (txc_arb1_req_func_num[1:0]), // input (niu_rd_meta_arb) <= () | |
496 | .txc_arb1_req (txc_arb1_req), // input (niu_rd_meta_arb) <= () | |
497 | .tdmc_arb1_req_cmd (tdmc_arb1_req_cmd[7:0]), // input (niu_rd_meta_arb) <= () | |
498 | .tdmc_arb1_req_address (tdmc_arb1_req_address[63:0]), // input (niu_rd_meta_arb) <= () | |
499 | .tdmc_arb1_req_length (tdmc_arb1_req_length[13:0]), // input (niu_rd_meta_arb) <= () | |
500 | .tdmc_arb1_req_port_num (tdmc_arb1_req_port_num[1:0]), // input (niu_rd_meta_arb) <= () | |
501 | .tdmc_arb1_req_dma_num (tdmc_arb1_req_dma_num[4:0]), // input (niu_rd_meta_arb) <= () | |
502 | .tdmc_arb1_req_func_num (tdmc_arb1_req_func_num[1:0]), // input (niu_rd_meta_arb) <= () | |
503 | .tdmc_arb1_req (tdmc_arb1_req), // input (niu_rd_meta_arb) <= () | |
504 | .rbr_arb1_req_cmd (rbr_arb1_req_cmd[7:0]), // input (niu_rd_meta_arb) <= () | |
505 | .rbr_arb1_req_address (rbr_arb1_req_address[63:0]), // input (niu_rd_meta_arb) <= () | |
506 | .rbr_arb1_req_length (rbr_arb1_req_length[13:0]), // input (niu_rd_meta_arb) <= () | |
507 | .rbr_arb1_req_port_num (rbr_arb1_req_port_num[1:0]), // input (niu_rd_meta_arb) <= () | |
508 | .rbr_arb1_req_dma_num (rbr_arb1_req_dma_num[4:0]), // input (niu_rd_meta_arb) <= () | |
509 | .rbr_arb1_req_func_num (rbr_arb1_req_func_num[1:0]), // input (niu_rd_meta_arb) <= () | |
510 | .rbr_arb1_req (rbr_arb1_req), // input (niu_rd_meta_arb) <= () | |
511 | .meta_dmc_resp_transID (meta_dmc_resp_transID[5:0]), // input (niu_rd_meta_arb) <= () | |
512 | .dmc_meta_resp_accept (dmc_meta_resp_accept[7:0]), // input (niu_rd_meta_arb) <= () | |
513 | .meta_dmc_resp_transfer_cmpl (meta_dmc_resp_transfer_cmpl[7:0]), // input (niu_rd_meta_arb) <= () | |
514 | .meta_dmc_resp_cmd_status (meta_dmc_resp_cmd_status[3:0]), // input (niu_rd_meta_arb) <= () | |
515 | .pio_arb_dirtid_enable (pio_arb_dirtid_enable_r), // input (niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
516 | .pio_arb_dirtid_clr (pio_arb_dirtid_clr_r), // input (niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
517 | .pio_arb_rd_threshold (pio_arb_rd_threshold_r[5:0]), // input (niu_rd_meta_arb) <= () | |
518 | .clk (niu_clk), // input (arb_debug,niu_meta_arb_reset,niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
519 | .reset (reset) // input (niu_rd_meta_arb,niu_wr_meta_arb) <= (niu_meta_arb_reset) | |
520 | ); | |
521 | ||
522 | niu_meta_arb_reset niu_meta_arb_reset ( | |
523 | .clk (niu_clk), // input (arb_debug,niu_meta_arb_reset,niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
524 | .reset_l (niu_reset_l), // input (niu_meta_arb_reset) <= () | |
525 | .reset (reset) // output (niu_meta_arb_reset) => (niu_rd_meta_arb,niu_wr_meta_arb) | |
526 | ); | |
527 | ||
528 | niu_meta_arb_dbg arb_debug ( | |
529 | .clk (niu_clk), // input (arb_debug,niu_meta_arb_reset,niu_rd_meta_arb,niu_wr_meta_arb) <= () | |
530 | .pio_arb_ctrl (pio_arb_ctrl[31:0]), // input (arb_debug) <= () | |
531 | .pio_arb_debug_vector (pio_arb_debug_vector[31:0]), // input (arb_debug) <= () | |
532 | .meta_arb_debug_port (meta_arb_debug_port[31:0]), // output (arb_debug) => () | |
533 | .int_debug_port (int_debug_port[31:0]) | |
534 | ); | |
535 | // VPERL: GENERATED_END | |
536 | ||
537 | ||
538 | ||
539 | // add flop in for pio signals to fix timing | |
540 | // do this on top as a kludge :< | |
541 | always @(posedge niu_clk) begin | |
542 | if(reset) begin | |
543 | pio_arb_dirtid_clr_r<= 1'b0; | |
544 | pio_arb_dirtid_enable_r<= 1'b0; | |
545 | pio_arb_np_threshold_r<= 6'd31; | |
546 | pio_arb_rd_threshold_r<= 6'd32; | |
547 | end | |
548 | else begin | |
549 | pio_arb_dirtid_clr_r<= pio_arb_dirtid_clr; | |
550 | pio_arb_dirtid_enable_r<= pio_arb_dirtid_enable; | |
551 | pio_arb_np_threshold_r<= pio_arb_np_threshold; | |
552 | pio_arb_rd_threshold_r<= pio_arb_rd_threshold; | |
553 | end | |
554 | end | |
555 | ||
556 | assign int_debug_port= { | |
557 | 2'h0, | |
558 | tdmc_arb0_req, // Req Command Request | |
559 | rcr_arb0_req, // Req Command Request | |
560 | rdc_arb0_req, // Req Command Request | |
561 | tdmc_arb1_req, // Req Command Request | |
562 | txc_arb1_req, // Req Command Request | |
563 | rbr_arb1_req, // Req Command Request | |
564 | arb0_tdmc_data_req, // Memory line request | |
565 | arb0_rcr_data_req, // Memory line request | |
566 | arb0_rdc_data_req, // Memory line request | |
567 | dmc_meta0_req, // Req Command Request | |
568 | dmc_meta1_req, // Req Command Request | |
569 | meta_dmc0_data_req, // Memory line request | |
570 | meta_dmc_ack_transfer_cmpl[2], // Last trans of TransID | |
571 | meta_dmc_ack_transfer_cmpl[3], // Last trans of TransID | |
572 | meta_dmc_ack_transfer_cmpl[4], // Last trans of TransID | |
573 | meta_dmc_resp_transfer_cmpl[1], // Last trans of TransID | |
574 | meta_dmc_resp_transfer_cmpl[2], // Last trans of TransID | |
575 | meta_dmc_resp_transfer_cmpl[5], // Last trans of TransID | |
576 | rcr_arb0_data_valid, // Transfer Data Ack | |
577 | rdc_arb0_data_valid, // Transfer Data Ack | |
578 | tdmc_arb0_data_valid, // Transfer Data Ack | |
579 | dmc_meta0_data_valid, // Transfer Data Ack | |
580 | rcr_arb0_transfer_complete, // Transfer Data Complete | |
581 | rdc_arb0_transfer_complete, // Transfer Data Complete | |
582 | tdmc_arb0_transfer_complete, // Transfer Data Complete | |
583 | dmc_meta0_transfer_complete, // Transfer Data Complete | |
584 | meta_dmc_resp_cmd_status[3:2], // status in command phase | |
585 | meta_dmc_ack_cmd_status[3:2] // status in command phase | |
586 | }; | |
587 | ||
588 | ||
589 | `ifdef NEPTUNE | |
590 | wire [3:0] do_nad; | |
591 | wire [3:0] do_nor; | |
592 | wire [3:0] do_inv; | |
593 | wire [3:0] do_mux; | |
594 | wire [3:0] do_q; | |
595 | wire so; | |
596 | ||
597 | nep_spare_meta_arb spare_0 ( | |
598 | .di_nd3 ({1'h1, 1'h1, do_q[3]}), | |
599 | .di_nd2 ({1'h1, 1'h1, do_q[2]}), | |
600 | .di_nd1 ({1'h1, 1'h1, do_q[1]}), | |
601 | .di_nd0 ({1'h1, 1'h1, do_q[0]}), | |
602 | .di_nr3 ({1'h0, 1'h0}), | |
603 | .di_nr2 ({1'h0, 1'h0}), | |
604 | .di_nr1 ({1'h0, 1'h0}), | |
605 | .di_nr0 ({1'h0, 1'h0}), | |
606 | .di_inv (do_nad[3:0]), | |
607 | .di_mx3 ({1'h0, 1'h0}), | |
608 | .di_mx2 ({1'h0, 1'h0}), | |
609 | .di_mx1 ({1'h0, 1'h0}), | |
610 | .di_mx0 ({1'h0, 1'h0}), | |
611 | .mx_sel (do_nor[3:0]), | |
612 | .di_reg (do_inv[3:0]), | |
613 | .wt_ena (do_mux[3:0]), | |
614 | .rst ({reset,reset,reset,reset}), | |
615 | .si (1'h0), | |
616 | .se (1'h0), | |
617 | .clk (niu_clk), | |
618 | .do_nad (do_nad[3:0]), | |
619 | .do_nor (do_nor[3:0]), | |
620 | .do_inv (do_inv[3:0]), | |
621 | .do_mux (do_mux[3:0]), | |
622 | .do_q (do_q[3:0]), | |
623 | .so (so) | |
624 | ); | |
625 | `endif | |
626 | ||
627 | endmodule |