Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / dmu / rtl / dmu_imu_eqs.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: dmu_imu_eqs.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_imu_eqs (
36
37 // Clock and Reset
38
39 clk,
40 rst_l,
41
42 // EQ Int signals Outputs to the ISS
43
44 eqs2iss_eq_int_l,
45
46 // EQ Lookup Request Inputs from the RDS
47
48 rds2eqs_eq_sel,
49 rds2eqs_eq,
50
51 // EQ Lookup Results to the SCS
52
53 eqs2scs_eq_ok,
54 eqs2scs_eq_not_en,
55
56 // EQ Lookup Address to the ORS
57
58 eqs2ors_eq_addr,
59 eqs2ors_sel,
60
61 // BP 7-25-06 n2 bug 118163
62 eq_base_address_63,
63
64 // Error Interupt
65
66 eqs2ics_eq_over_error,
67 eqs2ics_error_data,
68
69
70 // CSR Bus Signals
71
72 csrbus_valid,
73 csrbus_done,
74 csrbus_mapped,
75 csrbus_wr_data,
76 csrbus_wr,
77 csrbus_read_data,
78 csrbus_addr,
79 csrbus_src_bus,
80 csrbus_acc_vio,
81
82 // Static ID Sel
83
84 j2d_instance_id,
85
86
87 // Debug Ports
88
89 dbg2eqs_dbg_sel_a,
90 dbg2eqs_dbg_sel_b,
91 eqs2dbg_dbg_a,
92 eqs2dbg_dbg_b
93
94
95 );
96
97
98//############################################################################
99// PORT DECLARATIONS
100//############################################################################
101
102
103 //------------------------------------------------------------------------
104 // Clock and Reset Signals
105 //------------------------------------------------------------------------
106 input clk;
107 input rst_l;
108
109 //------------------------------------------------------------------------
110 // EQ Int signals Outputs to the ISS
111 //------------------------------------------------------------------------
112 output [35:0] eqs2iss_eq_int_l;
113
114 //------------------------------------------------------------------------
115 // EQ Lookup Request Inputs from the RDS
116 //------------------------------------------------------------------------
117 input [5:0] rds2eqs_eq;
118 input rds2eqs_eq_sel;
119
120 //------------------------------------------------------------------------
121 // EQ Lookup Results to the SCS
122 //------------------------------------------------------------------------
123 output eqs2scs_eq_ok;
124 output eqs2scs_eq_not_en;
125
126
127 //------------------------------------------------------------------------
128 // EQ Lookup Address to the ORS
129 //------------------------------------------------------------------------
130
131 output [61:0] eqs2ors_eq_addr;
132 output eqs2ors_sel;
133
134//BP N2 bu 118163 7-24-06
135 output eq_base_address_63;
136
137 output eqs2ics_eq_over_error;
138 output [63:0] eqs2ics_error_data;
139
140 //------------------------------------------------------------------------
141 // CSR Bus Signals
142 //------------------------------------------------------------------------
143 input csrbus_valid;
144 output csrbus_done;
145 output csrbus_mapped;
146
147 input [`FIRE_CSR_DATA_WIDTH-1:0] csrbus_wr_data;
148 input csrbus_wr;
149
150 output [`FIRE_CSR_DATA_WIDTH-1:0] csrbus_read_data;
151
152 input [`FIRE_CSR_ADDR_MAX_WIDTH-1:0] csrbus_addr;
153
154 input [`FIRE_CSR_SRC_BUS_ID_WIDTH-1:0] csrbus_src_bus;
155 output csrbus_acc_vio;
156
157 input [`FIRE_J2D_INSTANCE_ID_WDTH-1:0] j2d_instance_id;
158
159 //------------------------------------------------------------------------
160 // Debug Ports
161 //------------------------------------------------------------------------
162
163 input [2:0] dbg2eqs_dbg_sel_a;
164 input [2:0] dbg2eqs_dbg_sel_b;
165 output [`FIRE_DEBUG_WDTH-1:0] eqs2dbg_dbg_a;
166 output [`FIRE_DEBUG_WDTH-1:0] eqs2dbg_dbg_b;
167
168//############################################################################
169// PARAMETERS
170//############################################################################
171
172 //------------------------------------------------------------------------
173 // Parameters for the Value of the FSM States
174 //------------------------------------------------------------------------
175 parameter IDLE = 0;
176 parameter ACTIVE = 1;
177 //parameter ERROR = 3;
178
179//############################################################################
180// SIGNAL DECLARATIONS
181//############################################################################
182
183 //**************************************************
184 // Wires
185 //**************************************************
186 wire eq_base_address_63;
187
188 //------------------------------------------------------------------------
189 // Wires for the CSR access
190 //------------------------------------------------------------------------
191 wire ext_wr;
192 wire set_enoverr_ext_wr_data;
193 wire clr_coverr_ext_wr_data;
194 wire clr_e2i_ext_wr_data;
195 wire set_en_ext_wr_data;
196
197
198 //-------------
199 //HEAD POINTER
200 //-------------
201 wire [6:0] h_ptr_0, h_ptr_1, h_ptr_2, h_ptr_3, h_ptr_4, h_ptr_5, h_ptr_6, h_ptr_7;
202 wire [6:0] h_ptr_8, h_ptr_9, h_ptr_10, h_ptr_11, h_ptr_12, h_ptr_13, h_ptr_14, h_ptr_15;
203 wire [6:0] h_ptr_16, h_ptr_17, h_ptr_18, h_ptr_19, h_ptr_20, h_ptr_21, h_ptr_22, h_ptr_23;
204 wire [6:0] h_ptr_24, h_ptr_25, h_ptr_26, h_ptr_27, h_ptr_28, h_ptr_29, h_ptr_30, h_ptr_31;
205 wire [6:0] h_ptr_32, h_ptr_33, h_ptr_34, h_ptr_35;
206
207 //-------------
208 //TAIL POINTER
209 //-------------
210 wire [6:0] t_ptr_0, t_ptr_1, t_ptr_2, t_ptr_3, t_ptr_4, t_ptr_5, t_ptr_6, t_ptr_7;
211 wire [6:0] t_ptr_8, t_ptr_9, t_ptr_10, t_ptr_11, t_ptr_12, t_ptr_13, t_ptr_14, t_ptr_15;
212 wire [6:0] t_ptr_16, t_ptr_17, t_ptr_18, t_ptr_19, t_ptr_20, t_ptr_21, t_ptr_22, t_ptr_23;
213 wire [6:0] t_ptr_24, t_ptr_25, t_ptr_26, t_ptr_27, t_ptr_28, t_ptr_29, t_ptr_30, t_ptr_31;
214 wire [6:0] t_ptr_32, t_ptr_33, t_ptr_34, t_ptr_35;
215
216
217 //------------------------------------------
218 //Signals used as to indicate EQ's are OK
219 // to issue an EQ write to
220 //------------------------------------------
221 wire eq_ok_0, eq_ok_1, eq_ok_2, eq_ok_3, eq_ok_4, eq_ok_5, eq_ok_6, eq_ok_7;
222 wire eq_ok_8, eq_ok_9, eq_ok_10, eq_ok_11, eq_ok_12, eq_ok_13, eq_ok_14, eq_ok_15;
223 wire eq_ok_16, eq_ok_17, eq_ok_18, eq_ok_19, eq_ok_20, eq_ok_21, eq_ok_22, eq_ok_23;
224 wire eq_ok_24, eq_ok_25, eq_ok_26, eq_ok_27, eq_ok_28, eq_ok_29, eq_ok_30, eq_ok_31;
225 wire eq_ok_32, eq_ok_33, eq_ok_34, eq_ok_35;
226
227
228
229 //------------------------------------------
230 // Signals used as to indicate when to set
231 // the OVER FLOW ERROR bit
232 //------------------------------------------
233 wire load_over_err_eq_0, load_over_err_eq_1, load_over_err_eq_2, load_over_err_eq_3, load_over_err_eq_4, load_over_err_eq_5, load_over_err_eq_6, load_over_err_eq_7;
234 wire load_over_err_eq_8, load_over_err_eq_9, load_over_err_eq_10, load_over_err_eq_11, load_over_err_eq_12, load_over_err_eq_13, load_over_err_eq_14, load_over_err_eq_15;
235 wire load_over_err_eq_16, load_over_err_eq_17, load_over_err_eq_18, load_over_err_eq_19, load_over_err_eq_20, load_over_err_eq_21, load_over_err_eq_22, load_over_err_eq_23;
236 wire load_over_err_eq_24, load_over_err_eq_25, load_over_err_eq_26, load_over_err_eq_27, load_over_err_eq_28, load_over_err_eq_29, load_over_err_eq_30, load_over_err_eq_31;
237 wire load_over_err_eq_32, load_over_err_eq_33, load_over_err_eq_34, load_over_err_eq_35;
238
239 wire set_over_err_eq_0, set_over_err_eq_1, set_over_err_eq_2, set_over_err_eq_3, set_over_err_eq_4, set_over_err_eq_5, set_over_err_eq_6, set_over_err_eq_7;
240 wire set_over_err_eq_8, set_over_err_eq_9, set_over_err_eq_10, set_over_err_eq_11, set_over_err_eq_12, set_over_err_eq_13, set_over_err_eq_14, set_over_err_eq_15;
241 wire set_over_err_eq_16, set_over_err_eq_17, set_over_err_eq_18, set_over_err_eq_19, set_over_err_eq_20, set_over_err_eq_21, set_over_err_eq_22, set_over_err_eq_23;
242 wire set_over_err_eq_24, set_over_err_eq_25, set_over_err_eq_26, set_over_err_eq_27, set_over_err_eq_28, set_over_err_eq_29, set_over_err_eq_30, set_over_err_eq_31;
243 wire set_over_err_eq_32, set_over_err_eq_33, set_over_err_eq_34, set_over_err_eq_35;
244
245 wire data_over_err_eq_0, data_over_err_eq_1, data_over_err_eq_2, data_over_err_eq_3, data_over_err_eq_4, data_over_err_eq_5, data_over_err_eq_6, data_over_err_eq_7;
246 wire data_over_err_eq_8, data_over_err_eq_9, data_over_err_eq_10, data_over_err_eq_11, data_over_err_eq_12, data_over_err_eq_13, data_over_err_eq_14, data_over_err_eq_15;
247 wire data_over_err_eq_16, data_over_err_eq_17, data_over_err_eq_18, data_over_err_eq_19, data_over_err_eq_20, data_over_err_eq_21, data_over_err_eq_22, data_over_err_eq_23;
248 wire data_over_err_eq_24, data_over_err_eq_25, data_over_err_eq_26, data_over_err_eq_27, data_over_err_eq_28, data_over_err_eq_29, data_over_err_eq_30, data_over_err_eq_31;
249 wire data_over_err_eq_32, data_over_err_eq_33, data_over_err_eq_34, data_over_err_eq_35;
250
251 wire hw_set_over_err_eq_0, hw_set_over_err_eq_1, hw_set_over_err_eq_2, hw_set_over_err_eq_3, hw_set_over_err_eq_4, hw_set_over_err_eq_5, hw_set_over_err_eq_6, hw_set_over_err_eq_7;
252 wire hw_set_over_err_eq_8, hw_set_over_err_eq_9, hw_set_over_err_eq_10, hw_set_over_err_eq_11, hw_set_over_err_eq_12, hw_set_over_err_eq_13, hw_set_over_err_eq_14, hw_set_over_err_eq_15;
253 wire hw_set_over_err_eq_16, hw_set_over_err_eq_17, hw_set_over_err_eq_18, hw_set_over_err_eq_19, hw_set_over_err_eq_20, hw_set_over_err_eq_21, hw_set_over_err_eq_22, hw_set_over_err_eq_23;
254 wire hw_set_over_err_eq_24, hw_set_over_err_eq_25, hw_set_over_err_eq_26, hw_set_over_err_eq_27, hw_set_over_err_eq_28, hw_set_over_err_eq_29, hw_set_over_err_eq_30, hw_set_over_err_eq_31;
255 wire hw_set_over_err_eq_32, hw_set_over_err_eq_33, hw_set_over_err_eq_34, hw_set_over_err_eq_35;
256
257 wire sw_set_over_err_eq_0, sw_set_over_err_eq_1, sw_set_over_err_eq_2, sw_set_over_err_eq_3, sw_set_over_err_eq_4, sw_set_over_err_eq_5, sw_set_over_err_eq_6, sw_set_over_err_eq_7;
258 wire sw_set_over_err_eq_8, sw_set_over_err_eq_9, sw_set_over_err_eq_10, sw_set_over_err_eq_11, sw_set_over_err_eq_12, sw_set_over_err_eq_13, sw_set_over_err_eq_14, sw_set_over_err_eq_15;
259 wire sw_set_over_err_eq_16, sw_set_over_err_eq_17, sw_set_over_err_eq_18, sw_set_over_err_eq_19, sw_set_over_err_eq_20, sw_set_over_err_eq_21, sw_set_over_err_eq_22, sw_set_over_err_eq_23;
260 wire sw_set_over_err_eq_24, sw_set_over_err_eq_25, sw_set_over_err_eq_26, sw_set_over_err_eq_27, sw_set_over_err_eq_28, sw_set_over_err_eq_29, sw_set_over_err_eq_30, sw_set_over_err_eq_31;
261 wire sw_set_over_err_eq_32, sw_set_over_err_eq_33, sw_set_over_err_eq_34, sw_set_over_err_eq_35;
262
263 wire sw_clr_over_err_eq_0, sw_clr_over_err_eq_1, sw_clr_over_err_eq_2, sw_clr_over_err_eq_3, sw_clr_over_err_eq_4, sw_clr_over_err_eq_5, sw_clr_over_err_eq_6, sw_clr_over_err_eq_7;
264 wire sw_clr_over_err_eq_8, sw_clr_over_err_eq_9, sw_clr_over_err_eq_10, sw_clr_over_err_eq_11, sw_clr_over_err_eq_12, sw_clr_over_err_eq_13, sw_clr_over_err_eq_14, sw_clr_over_err_eq_15;
265 wire sw_clr_over_err_eq_16, sw_clr_over_err_eq_17, sw_clr_over_err_eq_18, sw_clr_over_err_eq_19, sw_clr_over_err_eq_20, sw_clr_over_err_eq_21, sw_clr_over_err_eq_22, sw_clr_over_err_eq_23;
266 wire sw_clr_over_err_eq_24, sw_clr_over_err_eq_25, sw_clr_over_err_eq_26, sw_clr_over_err_eq_27, sw_clr_over_err_eq_28, sw_clr_over_err_eq_29, sw_clr_over_err_eq_30, sw_clr_over_err_eq_31;
267 wire sw_clr_over_err_eq_32, sw_clr_over_err_eq_33, sw_clr_over_err_eq_34, sw_clr_over_err_eq_35;
268
269 wire sw_clr_addr_sel_eq_0, sw_clr_addr_sel_eq_1, sw_clr_addr_sel_eq_2, sw_clr_addr_sel_eq_3, sw_clr_addr_sel_eq_4, sw_clr_addr_sel_eq_5, sw_clr_addr_sel_eq_6, sw_clr_addr_sel_eq_7;
270 wire sw_clr_addr_sel_eq_8, sw_clr_addr_sel_eq_9, sw_clr_addr_sel_eq_10, sw_clr_addr_sel_eq_11, sw_clr_addr_sel_eq_12, sw_clr_addr_sel_eq_13, sw_clr_addr_sel_eq_14, sw_clr_addr_sel_eq_15;
271 wire sw_clr_addr_sel_eq_16, sw_clr_addr_sel_eq_17, sw_clr_addr_sel_eq_18, sw_clr_addr_sel_eq_19, sw_clr_addr_sel_eq_20, sw_clr_addr_sel_eq_21, sw_clr_addr_sel_eq_22, sw_clr_addr_sel_eq_23;
272 wire sw_clr_addr_sel_eq_24, sw_clr_addr_sel_eq_25, sw_clr_addr_sel_eq_26, sw_clr_addr_sel_eq_27, sw_clr_addr_sel_eq_28, sw_clr_addr_sel_eq_29, sw_clr_addr_sel_eq_30, sw_clr_addr_sel_eq_31;
273 wire sw_clr_addr_sel_eq_32, sw_clr_addr_sel_eq_33, sw_clr_addr_sel_eq_34, sw_clr_addr_sel_eq_35;
274
275 wire sw_set_addr_sel_eq_0, sw_set_addr_sel_eq_1, sw_set_addr_sel_eq_2, sw_set_addr_sel_eq_3, sw_set_addr_sel_eq_4, sw_set_addr_sel_eq_5, sw_set_addr_sel_eq_6, sw_set_addr_sel_eq_7;
276 wire sw_set_addr_sel_eq_8, sw_set_addr_sel_eq_9, sw_set_addr_sel_eq_10, sw_set_addr_sel_eq_11, sw_set_addr_sel_eq_12, sw_set_addr_sel_eq_13, sw_set_addr_sel_eq_14, sw_set_addr_sel_eq_15;
277 wire sw_set_addr_sel_eq_16, sw_set_addr_sel_eq_17, sw_set_addr_sel_eq_18, sw_set_addr_sel_eq_19, sw_set_addr_sel_eq_20, sw_set_addr_sel_eq_21, sw_set_addr_sel_eq_22, sw_set_addr_sel_eq_23;
278 wire sw_set_addr_sel_eq_24, sw_set_addr_sel_eq_25, sw_set_addr_sel_eq_26, sw_set_addr_sel_eq_27, sw_set_addr_sel_eq_28, sw_set_addr_sel_eq_29, sw_set_addr_sel_eq_30, sw_set_addr_sel_eq_31;
279 wire sw_set_addr_sel_eq_32, sw_set_addr_sel_eq_33, sw_set_addr_sel_eq_34, sw_set_addr_sel_eq_35;
280
281
282
283 //------------------------------------------
284 //Signals used as to indicate EQ's are full
285 //------------------------------------------
286 wire full_eq_0, full_eq_1, full_eq_2, full_eq_3, full_eq_4, full_eq_5, full_eq_6, full_eq_7;
287 wire full_eq_8, full_eq_9, full_eq_10, full_eq_11, full_eq_12, full_eq_13, full_eq_14, full_eq_15;
288 wire full_eq_16, full_eq_17, full_eq_18, full_eq_19, full_eq_20, full_eq_21, full_eq_22, full_eq_23;
289 wire full_eq_24, full_eq_25, full_eq_26, full_eq_27, full_eq_28, full_eq_29, full_eq_30, full_eq_31;
290 wire full_eq_32, full_eq_33, full_eq_34, full_eq_35;
291
292
293 //--------------------------------------------------
294 //Signals used for Incrementing Tail Pointers
295 //---------------------------------------------------
296
297 wire [6:0] t_ptr_inc_0, t_ptr_inc_1, t_ptr_inc_2, t_ptr_inc_3, t_ptr_inc_4, t_ptr_inc_5, t_ptr_inc_6, t_ptr_inc_7;
298 wire [6:0] t_ptr_inc_8, t_ptr_inc_9, t_ptr_inc_10, t_ptr_inc_11, t_ptr_inc_12, t_ptr_inc_13, t_ptr_inc_14, t_ptr_inc_15;
299 wire [6:0] t_ptr_inc_16, t_ptr_inc_17, t_ptr_inc_18, t_ptr_inc_19, t_ptr_inc_20, t_ptr_inc_21, t_ptr_inc_22, t_ptr_inc_23;
300 wire [6:0] t_ptr_inc_24, t_ptr_inc_25, t_ptr_inc_26, t_ptr_inc_27, t_ptr_inc_28, t_ptr_inc_29, t_ptr_inc_30, t_ptr_inc_31;
301 wire [6:0] t_ptr_inc_32, t_ptr_inc_33, t_ptr_inc_34, t_ptr_inc_35;
302
303 wire t_ptr_inc_sel_0, t_ptr_inc_sel_1, t_ptr_inc_sel_2, t_ptr_inc_sel_3, t_ptr_inc_sel_4, t_ptr_inc_sel_5, t_ptr_inc_sel_6, t_ptr_inc_sel_7;
304 wire t_ptr_inc_sel_8, t_ptr_inc_sel_9, t_ptr_inc_sel_10, t_ptr_inc_sel_11, t_ptr_inc_sel_12, t_ptr_inc_sel_13, t_ptr_inc_sel_14, t_ptr_inc_sel_15;
305 wire t_ptr_inc_sel_16, t_ptr_inc_sel_17, t_ptr_inc_sel_18, t_ptr_inc_sel_19, t_ptr_inc_sel_20, t_ptr_inc_sel_21, t_ptr_inc_sel_22, t_ptr_inc_sel_23;
306 wire t_ptr_inc_sel_24, t_ptr_inc_sel_25, t_ptr_inc_sel_26, t_ptr_inc_sel_27, t_ptr_inc_sel_28, t_ptr_inc_sel_29, t_ptr_inc_sel_30, t_ptr_inc_sel_31;
307 wire t_ptr_inc_sel_32, t_ptr_inc_sel_33, t_ptr_inc_sel_34, t_ptr_inc_sel_35;
308
309
310 //------------------------------------------
311 //Signals used as to indicate when each EQ
312 // has been selected to be sent for a write
313 //------------------------------------------
314
315 wire eq_num_sel_0, eq_num_sel_1, eq_num_sel_2, eq_num_sel_3, eq_num_sel_4, eq_num_sel_5, eq_num_sel_6, eq_num_sel_7;
316 wire eq_num_sel_8, eq_num_sel_9, eq_num_sel_10, eq_num_sel_11, eq_num_sel_12, eq_num_sel_13, eq_num_sel_14, eq_num_sel_15;
317 wire eq_num_sel_16, eq_num_sel_17, eq_num_sel_18, eq_num_sel_19, eq_num_sel_20, eq_num_sel_21, eq_num_sel_22, eq_num_sel_23;
318 wire eq_num_sel_24, eq_num_sel_25, eq_num_sel_26, eq_num_sel_27, eq_num_sel_28, eq_num_sel_29, eq_num_sel_30, eq_num_sel_31;
319 wire eq_num_sel_32, eq_num_sel_33, eq_num_sel_34, eq_num_sel_35;
320
321 //-------------------------
322 // Eq State (One Hot)
323 // [2] -- Error State
324 // [1] -- Active State
325 // [0] -- Idle State
326 //-------------------------
327
328 wire [2:0] eq_state_0, eq_state_1, eq_state_2, eq_state_3, eq_state_4, eq_state_5, eq_state_6, eq_state_7;
329 wire [2:0] eq_state_8, eq_state_9, eq_state_10, eq_state_11, eq_state_12, eq_state_13, eq_state_14, eq_state_15;
330 wire [2:0] eq_state_16, eq_state_17, eq_state_18, eq_state_19, eq_state_20, eq_state_21, eq_state_22, eq_state_23;
331 wire [2:0] eq_state_24, eq_state_25, eq_state_26, eq_state_27, eq_state_28, eq_state_29, eq_state_30, eq_state_31;
332 wire [2:0] eq_state_32, eq_state_33, eq_state_34, eq_state_35;
333
334
335 //-------------------------------------------------------------
336 // Wires used to indicated EQ requires a Mondo to be generated
337 //-------------------------------------------------------------
338 wire [35:0] hw_mondo_trig;
339
340 //-------------------------------------------------------------
341 // Wires used to For EQ base address
342 //-------------------------------------------------------------
343 wire [44:0] eq_base_address;
344
345 //-------------------------------------------------------------
346 // Wire for Exteranl write data
347 //-------------------------------------------------------------
348 wire eq_fsm_wr;
349 wire [1:0] eq_fsm_wr_data;
350
351
352 //**************************************************
353 // Registers that Are Not Flops
354 //**************************************************
355 reg [6:0] eq_address_mux;
356 reg eq_ok_mux;
357 reg eq_state_mux;
358 reg [`FIRE_DEBUG_WDTH-1:0] n_dbg_a;
359 reg [`FIRE_DEBUG_WDTH-1:0] n_dbg_b;
360
361
362 //**************************************************
363 // Registers that Are Flops
364 //**************************************************
365
366 reg [61:0] eqs2ors_eq_addr;
367 reg eqs2ors_sel;
368 reg [35:0] eqs2iss_eq_int_l;
369 reg [`FIRE_DEBUG_WDTH-1:0] dbg_a;
370 reg [`FIRE_DEBUG_WDTH-1:0] dbg_b;
371
372//############################################################################
373// ZERO IN CHECKERS
374//############################################################################
375 //--------------------------------
376 // Make sure EQ is never over 35
377 //--------------------------------
378
379 //0in maximum -var rds2eqs_eq -val 35
380
381 //----------------------------------
382 // Make sure EQ is decoded properly
383 //----------------------------------
384
385
386 /* 0in decoder -in rds2eqs_eq
387 -out {28'h0,
388 eq_num_sel_35, eq_num_sel_34, eq_num_sel_33, eq_num_sel_32, eq_num_sel_31, eq_num_sel_30,
389 eq_num_sel_29, eq_num_sel_28, eq_num_sel_27, eq_num_sel_26, eq_num_sel_25, eq_num_sel_24,
390 eq_num_sel_23, eq_num_sel_22, eq_num_sel_21, eq_num_sel_20, eq_num_sel_19, eq_num_sel_18,
391 eq_num_sel_17, eq_num_sel_16, eq_num_sel_15, eq_num_sel_14, eq_num_sel_13, eq_num_sel_12,
392 eq_num_sel_11, eq_num_sel_10, eq_num_sel_9, eq_num_sel_8, eq_num_sel_7, eq_num_sel_6,
393 eq_num_sel_5, eq_num_sel_4, eq_num_sel_3, eq_num_sel_2, eq_num_sel_1, eq_num_sel_0
394 }
395
396 */
397
398 //---------------------------------------
399 // Make sure only 1 EQ selected at a time
400 //---------------------------------------
401
402 /*0in bits_on -var {eq_num_sel_35, eq_num_sel_34, eq_num_sel_33, eq_num_sel_32, eq_num_sel_31, eq_num_sel_30,
403 eq_num_sel_29, eq_num_sel_28, eq_num_sel_27, eq_num_sel_26, eq_num_sel_25, eq_num_sel_24,
404 eq_num_sel_23, eq_num_sel_22, eq_num_sel_21, eq_num_sel_20, eq_num_sel_19, eq_num_sel_18,
405 eq_num_sel_17, eq_num_sel_16, eq_num_sel_15, eq_num_sel_14, eq_num_sel_13, eq_num_sel_12,
406 eq_num_sel_11, eq_num_sel_10, eq_num_sel_9, eq_num_sel_8, eq_num_sel_7, eq_num_sel_6,
407 eq_num_sel_5, eq_num_sel_4, eq_num_sel_3, eq_num_sel_2, eq_num_sel_1, eq_num_sel_0
408 }
409 -max 1
410 */
411
412//############################################################################
413// COMBINATIONAL LOGIC
414//############################################################################
415
416
417//-------------------------------------------------------
418// Assigning the external signals from DCM to names for FSM's
419//-------------------------------------------------------
420assign eq_fsm_wr = ext_wr;
421assign eq_fsm_wr_data = {clr_e2i_ext_wr_data,set_en_ext_wr_data}; // The en/dis bit and the e2i bit
422
423
424//-------------------------------------------------------
425// Decode the EQ that is comming in
426//
427// The EQ number comming in is a 6 bit encoded value
428// the logic below makes it in to a 1 of 36 select
429//-------------------------------------------------------
430
431assign eq_num_sel_0 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
432assign eq_num_sel_1 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
433assign eq_num_sel_2 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
434assign eq_num_sel_3 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
435assign eq_num_sel_4 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
436assign eq_num_sel_5 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
437assign eq_num_sel_6 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
438assign eq_num_sel_7 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
439assign eq_num_sel_8 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
440assign eq_num_sel_9 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
441assign eq_num_sel_10 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
442assign eq_num_sel_11 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
443assign eq_num_sel_12 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
444assign eq_num_sel_13 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
445assign eq_num_sel_14 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
446assign eq_num_sel_15 = ~(rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
447assign eq_num_sel_16 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
448assign eq_num_sel_17 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
449assign eq_num_sel_18 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
450assign eq_num_sel_19 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
451assign eq_num_sel_20 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
452assign eq_num_sel_21 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
453assign eq_num_sel_22 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
454assign eq_num_sel_23 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
455assign eq_num_sel_24 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
456assign eq_num_sel_25 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
457assign eq_num_sel_26 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
458assign eq_num_sel_27 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
459assign eq_num_sel_28 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
460assign eq_num_sel_29 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
461assign eq_num_sel_30 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
462assign eq_num_sel_31 = ~(rds2eqs_eq[5]) & (rds2eqs_eq[4]) & (rds2eqs_eq[3]) & (rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
463assign eq_num_sel_32 = (rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
464assign eq_num_sel_33 = (rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & ~(rds2eqs_eq[1]) & (rds2eqs_eq[0]);
465assign eq_num_sel_34 = (rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & ~(rds2eqs_eq[0]);
466assign eq_num_sel_35 = (rds2eqs_eq[5]) & ~(rds2eqs_eq[4]) & ~(rds2eqs_eq[3]) & ~(rds2eqs_eq[2]) & (rds2eqs_eq[1]) & (rds2eqs_eq[0]);
467
468
469//-----------------------------------------------------------------------------
470// Mux the results of the adders using rds2eqs_eq as the select to select which of
471// the 32 EQ's the write is for
472//-----------------------------------------------------------------------------
473
474always @ (t_ptr_0 or t_ptr_1 or t_ptr_2 or t_ptr_3 or t_ptr_4 or t_ptr_5 or t_ptr_6 or t_ptr_7 or
475 t_ptr_8 or t_ptr_9 or t_ptr_10 or t_ptr_11 or t_ptr_12 or t_ptr_13 or t_ptr_14 or t_ptr_15 or
476 t_ptr_16 or t_ptr_17 or t_ptr_18 or t_ptr_19 or t_ptr_20 or t_ptr_21 or t_ptr_22 or t_ptr_23 or t_ptr_24 or
477 t_ptr_25 or t_ptr_26 or t_ptr_27 or t_ptr_28 or t_ptr_29 or t_ptr_30 or t_ptr_31 or t_ptr_32 or t_ptr_33 or
478 t_ptr_34 or t_ptr_35 or rds2eqs_eq)
479
480 case (rds2eqs_eq) // synopsys parallel_case full_case infer_mux
481 6'b000000 : eq_address_mux = t_ptr_0;
482 6'b000001 : eq_address_mux = t_ptr_1;
483 6'b000010 : eq_address_mux = t_ptr_2;
484 6'b000011 : eq_address_mux = t_ptr_3;
485 6'b000100 : eq_address_mux = t_ptr_4;
486 6'b000101 : eq_address_mux = t_ptr_5;
487 6'b000110 : eq_address_mux = t_ptr_6;
488 6'b000111 : eq_address_mux = t_ptr_7;
489
490 6'b001000 : eq_address_mux = t_ptr_8;
491 6'b001001 : eq_address_mux = t_ptr_9;
492 6'b001010 : eq_address_mux = t_ptr_10;
493 6'b001011 : eq_address_mux = t_ptr_11;
494 6'b001100 : eq_address_mux = t_ptr_12;
495 6'b001101 : eq_address_mux = t_ptr_13;
496 6'b001110 : eq_address_mux = t_ptr_14;
497 6'b001111 : eq_address_mux = t_ptr_15;
498
499 6'b010000 : eq_address_mux = t_ptr_16;
500 6'b010001 : eq_address_mux = t_ptr_17;
501 6'b010010 : eq_address_mux = t_ptr_18;
502 6'b010011 : eq_address_mux = t_ptr_19;
503 6'b010100 : eq_address_mux = t_ptr_20;
504 6'b010101 : eq_address_mux = t_ptr_21;
505 6'b010110 : eq_address_mux = t_ptr_22;
506 6'b010111 : eq_address_mux = t_ptr_23;
507
508 6'b011000 : eq_address_mux = t_ptr_24;
509 6'b011001 : eq_address_mux = t_ptr_25;
510 6'b011010 : eq_address_mux = t_ptr_26;
511 6'b011011 : eq_address_mux = t_ptr_27;
512 6'b011100 : eq_address_mux = t_ptr_28;
513 6'b011101 : eq_address_mux = t_ptr_29;
514 6'b011110 : eq_address_mux = t_ptr_30;
515 6'b011111 : eq_address_mux = t_ptr_31;
516
517 6'b100000 : eq_address_mux = t_ptr_32;
518 6'b100001 : eq_address_mux = t_ptr_33;
519 6'b100010 : eq_address_mux = t_ptr_34;
520 6'b100011 : eq_address_mux = t_ptr_35;
521 endcase
522
523
524
525
526//--------------------------------------------------------------------------------
527// Need to notify software when there are items in the EQ which need to be processed
528//
529// Since when the tail pointer equals the head pointer the EQ is empty
530// when they are not equal it is safe to say that there are entries in the EQ
531//
532// When this happen we need to notify software so that they may processes these
533// entries. We also only notify software when we are in the active state.
534//
535//-------------------------------------------------------------------------------
536
537assign hw_mondo_trig[0] = (t_ptr_0 != h_ptr_0) & eq_state_0[ACTIVE];
538assign hw_mondo_trig[1] = (t_ptr_1 != h_ptr_1) & eq_state_1[ACTIVE];
539assign hw_mondo_trig[2] = (t_ptr_2 != h_ptr_2) & eq_state_2[ACTIVE];
540assign hw_mondo_trig[3] = (t_ptr_3 != h_ptr_3) & eq_state_3[ACTIVE];
541assign hw_mondo_trig[4] = (t_ptr_4 != h_ptr_4) & eq_state_4[ACTIVE];
542assign hw_mondo_trig[5] = (t_ptr_5 != h_ptr_5) & eq_state_5[ACTIVE];
543assign hw_mondo_trig[6] = (t_ptr_6 != h_ptr_6) & eq_state_6[ACTIVE];
544assign hw_mondo_trig[7] = (t_ptr_7 != h_ptr_7) & eq_state_7[ACTIVE];
545assign hw_mondo_trig[8] = (t_ptr_8 != h_ptr_8) & eq_state_8[ACTIVE];
546assign hw_mondo_trig[9] = (t_ptr_9 != h_ptr_9) & eq_state_9[ACTIVE];
547assign hw_mondo_trig[10] = (t_ptr_10 != h_ptr_10) & eq_state_10[ACTIVE];
548assign hw_mondo_trig[11] = (t_ptr_11 != h_ptr_11) & eq_state_11[ACTIVE];
549assign hw_mondo_trig[12] = (t_ptr_12 != h_ptr_12) & eq_state_12[ACTIVE];
550assign hw_mondo_trig[13] = (t_ptr_13 != h_ptr_13) & eq_state_13[ACTIVE];
551assign hw_mondo_trig[14] = (t_ptr_14 != h_ptr_14) & eq_state_14[ACTIVE];
552assign hw_mondo_trig[15] = (t_ptr_15 != h_ptr_15) & eq_state_15[ACTIVE];
553assign hw_mondo_trig[16] = (t_ptr_16 != h_ptr_16) & eq_state_16[ACTIVE];
554assign hw_mondo_trig[17] = (t_ptr_17 != h_ptr_17) & eq_state_17[ACTIVE];
555assign hw_mondo_trig[18] = (t_ptr_18 != h_ptr_18) & eq_state_18[ACTIVE];
556assign hw_mondo_trig[19] = (t_ptr_19 != h_ptr_19) & eq_state_19[ACTIVE];
557assign hw_mondo_trig[20] = (t_ptr_20 != h_ptr_20) & eq_state_20[ACTIVE];
558assign hw_mondo_trig[21] = (t_ptr_21 != h_ptr_21) & eq_state_21[ACTIVE];
559assign hw_mondo_trig[22] = (t_ptr_22 != h_ptr_22) & eq_state_22[ACTIVE];
560assign hw_mondo_trig[23] = (t_ptr_23 != h_ptr_23) & eq_state_23[ACTIVE];
561assign hw_mondo_trig[24] = (t_ptr_24 != h_ptr_24) & eq_state_24[ACTIVE];
562assign hw_mondo_trig[25] = (t_ptr_25 != h_ptr_25) & eq_state_25[ACTIVE];
563assign hw_mondo_trig[26] = (t_ptr_26 != h_ptr_26) & eq_state_26[ACTIVE];
564assign hw_mondo_trig[27] = (t_ptr_27 != h_ptr_27) & eq_state_27[ACTIVE];
565assign hw_mondo_trig[28] = (t_ptr_28 != h_ptr_28) & eq_state_28[ACTIVE];
566assign hw_mondo_trig[29] = (t_ptr_29 != h_ptr_29) & eq_state_29[ACTIVE];
567assign hw_mondo_trig[30] = (t_ptr_30 != h_ptr_30) & eq_state_30[ACTIVE];
568assign hw_mondo_trig[31] = (t_ptr_31 != h_ptr_31) & eq_state_31[ACTIVE];
569assign hw_mondo_trig[32] = (t_ptr_32 != h_ptr_32) & eq_state_32[ACTIVE];
570assign hw_mondo_trig[33] = (t_ptr_33 != h_ptr_33) & eq_state_33[ACTIVE];
571assign hw_mondo_trig[34] = (t_ptr_34 != h_ptr_34) & eq_state_34[ACTIVE];
572assign hw_mondo_trig[35] = (t_ptr_35 != h_ptr_35) & eq_state_35[ACTIVE];
573
574
575
576//************************
577// EQ FULL DETECTION
578//************************
579
580//-----------------------------------------------------------------------------
581// Increment the tail pointers
582// We do the addition prior to any request
583//
584//-----------------------------------------------------------------------------
585assign t_ptr_inc_0 = t_ptr_0 + 1;
586assign t_ptr_inc_1 = t_ptr_1 + 1;
587assign t_ptr_inc_2 = t_ptr_2 + 1;
588assign t_ptr_inc_3 = t_ptr_3 + 1;
589assign t_ptr_inc_4 = t_ptr_4 + 1;
590assign t_ptr_inc_5 = t_ptr_5 + 1;
591assign t_ptr_inc_6 = t_ptr_6 + 1;
592assign t_ptr_inc_7 = t_ptr_7 + 1;
593assign t_ptr_inc_8 = t_ptr_8 + 1;
594assign t_ptr_inc_9 = t_ptr_9 + 1;
595assign t_ptr_inc_10 = t_ptr_10 + 1;
596assign t_ptr_inc_11 = t_ptr_11 + 1;
597assign t_ptr_inc_12 = t_ptr_12 + 1;
598assign t_ptr_inc_13 = t_ptr_13 + 1;
599assign t_ptr_inc_14 = t_ptr_14 + 1;
600assign t_ptr_inc_15 = t_ptr_15 + 1;
601assign t_ptr_inc_16 = t_ptr_16 + 1;
602assign t_ptr_inc_17 = t_ptr_17 + 1;
603assign t_ptr_inc_18 = t_ptr_18 + 1;
604assign t_ptr_inc_19 = t_ptr_19 + 1;
605assign t_ptr_inc_20 = t_ptr_20 + 1;
606assign t_ptr_inc_21 = t_ptr_21 + 1;
607assign t_ptr_inc_22 = t_ptr_22 + 1;
608assign t_ptr_inc_23 = t_ptr_23 + 1;
609assign t_ptr_inc_24 = t_ptr_24 + 1;
610assign t_ptr_inc_25 = t_ptr_25 + 1;
611assign t_ptr_inc_26 = t_ptr_26 + 1;
612assign t_ptr_inc_27 = t_ptr_27 + 1;
613assign t_ptr_inc_28 = t_ptr_28 + 1;
614assign t_ptr_inc_29 = t_ptr_29 + 1;
615assign t_ptr_inc_30 = t_ptr_30 + 1;
616assign t_ptr_inc_31 = t_ptr_31 + 1;
617assign t_ptr_inc_32 = t_ptr_32 + 1;
618assign t_ptr_inc_33 = t_ptr_33 + 1;
619assign t_ptr_inc_34 = t_ptr_34 + 1;
620assign t_ptr_inc_35 = t_ptr_35 + 1;
621
622//-----------------------------------------------------------------------------
623// Now determine if the EQ is Full and can't accept anymore writes
624//
625// Check if Full If head = tail +1 it is
626//-----------------------------------------------------------------------------
627
628assign full_eq_0 = t_ptr_inc_0 == h_ptr_0;
629assign full_eq_1 = t_ptr_inc_1 == h_ptr_1;
630assign full_eq_2 = t_ptr_inc_2 == h_ptr_2;
631assign full_eq_3 = t_ptr_inc_3 == h_ptr_3;
632assign full_eq_4 = t_ptr_inc_4 == h_ptr_4;
633assign full_eq_5 = t_ptr_inc_5 == h_ptr_5;
634assign full_eq_6 = t_ptr_inc_6 == h_ptr_6;
635assign full_eq_7 = t_ptr_inc_7 == h_ptr_7;
636assign full_eq_8 = t_ptr_inc_8 == h_ptr_8;
637assign full_eq_9 = t_ptr_inc_9 == h_ptr_9;
638assign full_eq_10 = t_ptr_inc_10 == h_ptr_10;
639assign full_eq_11 = t_ptr_inc_11 == h_ptr_11;
640assign full_eq_12 = t_ptr_inc_12 == h_ptr_12;
641assign full_eq_13 = t_ptr_inc_13 == h_ptr_13;
642assign full_eq_14 = t_ptr_inc_14 == h_ptr_14;
643assign full_eq_15 = t_ptr_inc_15 == h_ptr_15;
644assign full_eq_16 = t_ptr_inc_16 == h_ptr_16;
645assign full_eq_17 = t_ptr_inc_17 == h_ptr_17;
646assign full_eq_18 = t_ptr_inc_18 == h_ptr_18;
647assign full_eq_19 = t_ptr_inc_19 == h_ptr_19;
648assign full_eq_20 = t_ptr_inc_20 == h_ptr_20;
649assign full_eq_21 = t_ptr_inc_21 == h_ptr_21;
650assign full_eq_22 = t_ptr_inc_22 == h_ptr_22;
651assign full_eq_23 = t_ptr_inc_23 == h_ptr_23;
652assign full_eq_24 = t_ptr_inc_24 == h_ptr_24;
653assign full_eq_25 = t_ptr_inc_25 == h_ptr_25;
654assign full_eq_26 = t_ptr_inc_26 == h_ptr_26;
655assign full_eq_27 = t_ptr_inc_27 == h_ptr_27;
656assign full_eq_28 = t_ptr_inc_28 == h_ptr_28;
657assign full_eq_29 = t_ptr_inc_29 == h_ptr_29;
658assign full_eq_30 = t_ptr_inc_30 == h_ptr_30;
659assign full_eq_31 = t_ptr_inc_31 == h_ptr_31;
660assign full_eq_32 = t_ptr_inc_32 == h_ptr_32;
661assign full_eq_33 = t_ptr_inc_33 == h_ptr_33;
662assign full_eq_34 = t_ptr_inc_34 == h_ptr_34;
663assign full_eq_35 = t_ptr_inc_35 == h_ptr_35;
664
665
666//************************
667// EQ OVER FLOW DETECTION
668//************************
669
670//-----------------------------------------------------------------------------
671// HW Overflow detection
672//
673// If full, and a new write comes in and the EQ is in the ACTIVE state.
674//
675// This signal is used to determine:
676// - as part of when to load the EQ overflow error bit (setting it to 1)
677// - Input into fsm to change from ACTIVE to ERROR
678//
679//
680// NOTE - eq_state_* variable is not needed here and may be able to be
681// removed later if needed to make timing . This can be done since
682// this signal is only used by the FSM in the ACTIVE STATE
683//-----------------------------------------------------------------------------
684
685assign hw_set_over_err_eq_0 = rds2eqs_eq_sel & eq_num_sel_0 & full_eq_0 & eq_state_0[ACTIVE];
686assign hw_set_over_err_eq_1 = rds2eqs_eq_sel & eq_num_sel_1 & full_eq_1 & eq_state_1[ACTIVE];
687assign hw_set_over_err_eq_2 = rds2eqs_eq_sel & eq_num_sel_2 & full_eq_2 & eq_state_2[ACTIVE];
688assign hw_set_over_err_eq_3 = rds2eqs_eq_sel & eq_num_sel_3 & full_eq_3 & eq_state_3[ACTIVE];
689assign hw_set_over_err_eq_4 = rds2eqs_eq_sel & eq_num_sel_4 & full_eq_4 & eq_state_4[ACTIVE];
690assign hw_set_over_err_eq_5 = rds2eqs_eq_sel & eq_num_sel_5 & full_eq_5 & eq_state_5[ACTIVE];
691assign hw_set_over_err_eq_6 = rds2eqs_eq_sel & eq_num_sel_6 & full_eq_6 & eq_state_6[ACTIVE];
692assign hw_set_over_err_eq_7 = rds2eqs_eq_sel & eq_num_sel_7 & full_eq_7 & eq_state_7[ACTIVE];
693assign hw_set_over_err_eq_8 = rds2eqs_eq_sel & eq_num_sel_8 & full_eq_8 & eq_state_8[ACTIVE];
694assign hw_set_over_err_eq_9 = rds2eqs_eq_sel & eq_num_sel_9 & full_eq_9 & eq_state_9[ACTIVE];
695assign hw_set_over_err_eq_10 = rds2eqs_eq_sel & eq_num_sel_10 & full_eq_10 & eq_state_10[ACTIVE];
696assign hw_set_over_err_eq_11 = rds2eqs_eq_sel & eq_num_sel_11 & full_eq_11 & eq_state_11[ACTIVE];
697assign hw_set_over_err_eq_12 = rds2eqs_eq_sel & eq_num_sel_12 & full_eq_12 & eq_state_12[ACTIVE];
698assign hw_set_over_err_eq_13 = rds2eqs_eq_sel & eq_num_sel_13 & full_eq_13 & eq_state_13[ACTIVE];
699assign hw_set_over_err_eq_14 = rds2eqs_eq_sel & eq_num_sel_14 & full_eq_14 & eq_state_14[ACTIVE];
700assign hw_set_over_err_eq_15 = rds2eqs_eq_sel & eq_num_sel_15 & full_eq_15 & eq_state_15[ACTIVE];
701assign hw_set_over_err_eq_16 = rds2eqs_eq_sel & eq_num_sel_16 & full_eq_16 & eq_state_16[ACTIVE];
702assign hw_set_over_err_eq_17 = rds2eqs_eq_sel & eq_num_sel_17 & full_eq_17 & eq_state_17[ACTIVE];
703assign hw_set_over_err_eq_18 = rds2eqs_eq_sel & eq_num_sel_18 & full_eq_18 & eq_state_18[ACTIVE];
704assign hw_set_over_err_eq_19 = rds2eqs_eq_sel & eq_num_sel_19 & full_eq_19 & eq_state_19[ACTIVE];
705assign hw_set_over_err_eq_20 = rds2eqs_eq_sel & eq_num_sel_20 & full_eq_20 & eq_state_20[ACTIVE];
706assign hw_set_over_err_eq_21 = rds2eqs_eq_sel & eq_num_sel_21 & full_eq_21 & eq_state_21[ACTIVE];
707assign hw_set_over_err_eq_22 = rds2eqs_eq_sel & eq_num_sel_22 & full_eq_22 & eq_state_22[ACTIVE];
708assign hw_set_over_err_eq_23 = rds2eqs_eq_sel & eq_num_sel_23 & full_eq_23 & eq_state_23[ACTIVE];
709assign hw_set_over_err_eq_24 = rds2eqs_eq_sel & eq_num_sel_24 & full_eq_24 & eq_state_24[ACTIVE];
710assign hw_set_over_err_eq_25 = rds2eqs_eq_sel & eq_num_sel_25 & full_eq_25 & eq_state_25[ACTIVE];
711assign hw_set_over_err_eq_26 = rds2eqs_eq_sel & eq_num_sel_26 & full_eq_26 & eq_state_26[ACTIVE];
712assign hw_set_over_err_eq_27 = rds2eqs_eq_sel & eq_num_sel_27 & full_eq_27 & eq_state_27[ACTIVE];
713assign hw_set_over_err_eq_28 = rds2eqs_eq_sel & eq_num_sel_28 & full_eq_28 & eq_state_28[ACTIVE];
714assign hw_set_over_err_eq_29 = rds2eqs_eq_sel & eq_num_sel_29 & full_eq_29 & eq_state_29[ACTIVE];
715assign hw_set_over_err_eq_30 = rds2eqs_eq_sel & eq_num_sel_30 & full_eq_30 & eq_state_30[ACTIVE];
716assign hw_set_over_err_eq_31 = rds2eqs_eq_sel & eq_num_sel_31 & full_eq_31 & eq_state_31[ACTIVE];
717assign hw_set_over_err_eq_32 = rds2eqs_eq_sel & eq_num_sel_32 & full_eq_32 & eq_state_32[ACTIVE];
718assign hw_set_over_err_eq_33 = rds2eqs_eq_sel & eq_num_sel_33 & full_eq_33 & eq_state_33[ACTIVE];
719assign hw_set_over_err_eq_34 = rds2eqs_eq_sel & eq_num_sel_34 & full_eq_34 & eq_state_34[ACTIVE];
720assign hw_set_over_err_eq_35 = rds2eqs_eq_sel & eq_num_sel_35 & full_eq_35 & eq_state_35[ACTIVE];
721
722//-----------------------------------------------------------------------------
723// State Transistion in controled by a SW Regs
724//
725// IDLE -> ACTIVE eq_ctrl_set reg bit 44
726// ACTIVE -> IDLE eq_ctrl_clr reg bit 44
727// ACTIVE -> ERROR eq_ctrl_set reg bit 57
728// ERROR -> IDLE eq_ctrl_clr reg bit 47
729//
730// Error Status Bit
731//
732// Can be set by software eq_ctrl_set reg bit 57 only in ACTIVE STATE
733// Can be cleared by software eq_ctrl_clr reg bit 57 in ANY STATE
734//
735//
736//-----------------------------------------------------------------------------
737
738//-----------------------------------------------------------------------------
739// SW Set Overflow
740//
741// If SW PIO and the EQ is in the ACTIVE state.
742//
743// This signal is used to determine:
744// - as part of when to load the EQ overflow error bit (setting it to 1)
745// - Input into fsm to change state from ACTIVE to ERROR
746//
747// NOTE - eq_state_* variable is not needed here and may be able to be
748// removed later if needed to make timing . This can be done since
749// this signal is only used by the FSM in the ACTIVE STATE
750//
751// However if this is done this signal can not be used to set the
752// overflow error status bit. Changes will need to be made to the
753// load_over_err_eq_* signals to "and" ACTIVE STATE with
754// sw_set_over_err_eq_*
755//-----------------------------------------------------------------------------
756
757assign sw_set_over_err_eq_0 = sw_set_addr_sel_eq_0 & ext_wr & set_enoverr_ext_wr_data & eq_state_0[ACTIVE];
758assign sw_set_over_err_eq_1 = sw_set_addr_sel_eq_1 & ext_wr & set_enoverr_ext_wr_data & eq_state_1[ACTIVE];
759assign sw_set_over_err_eq_2 = sw_set_addr_sel_eq_2 & ext_wr & set_enoverr_ext_wr_data & eq_state_2[ACTIVE];
760assign sw_set_over_err_eq_3 = sw_set_addr_sel_eq_3 & ext_wr & set_enoverr_ext_wr_data & eq_state_3[ACTIVE];
761assign sw_set_over_err_eq_4 = sw_set_addr_sel_eq_4 & ext_wr & set_enoverr_ext_wr_data & eq_state_4[ACTIVE];
762assign sw_set_over_err_eq_5 = sw_set_addr_sel_eq_5 & ext_wr & set_enoverr_ext_wr_data & eq_state_5[ACTIVE];
763assign sw_set_over_err_eq_6 = sw_set_addr_sel_eq_6 & ext_wr & set_enoverr_ext_wr_data & eq_state_6[ACTIVE];
764assign sw_set_over_err_eq_7 = sw_set_addr_sel_eq_7 & ext_wr & set_enoverr_ext_wr_data & eq_state_7[ACTIVE];
765assign sw_set_over_err_eq_8 = sw_set_addr_sel_eq_8 & ext_wr & set_enoverr_ext_wr_data & eq_state_8[ACTIVE];
766assign sw_set_over_err_eq_9 = sw_set_addr_sel_eq_9 & ext_wr & set_enoverr_ext_wr_data & eq_state_9[ACTIVE];
767assign sw_set_over_err_eq_10 = sw_set_addr_sel_eq_10 & ext_wr & set_enoverr_ext_wr_data & eq_state_10[ACTIVE];
768assign sw_set_over_err_eq_11 = sw_set_addr_sel_eq_11 & ext_wr & set_enoverr_ext_wr_data & eq_state_11[ACTIVE];
769assign sw_set_over_err_eq_12 = sw_set_addr_sel_eq_12 & ext_wr & set_enoverr_ext_wr_data & eq_state_12[ACTIVE];
770assign sw_set_over_err_eq_13 = sw_set_addr_sel_eq_13 & ext_wr & set_enoverr_ext_wr_data & eq_state_13[ACTIVE];
771assign sw_set_over_err_eq_14 = sw_set_addr_sel_eq_14 & ext_wr & set_enoverr_ext_wr_data & eq_state_14[ACTIVE];
772assign sw_set_over_err_eq_15 = sw_set_addr_sel_eq_15 & ext_wr & set_enoverr_ext_wr_data & eq_state_15[ACTIVE];
773assign sw_set_over_err_eq_16 = sw_set_addr_sel_eq_16 & ext_wr & set_enoverr_ext_wr_data & eq_state_16[ACTIVE];
774assign sw_set_over_err_eq_17 = sw_set_addr_sel_eq_17 & ext_wr & set_enoverr_ext_wr_data & eq_state_17[ACTIVE];
775assign sw_set_over_err_eq_18 = sw_set_addr_sel_eq_18 & ext_wr & set_enoverr_ext_wr_data & eq_state_18[ACTIVE];
776assign sw_set_over_err_eq_19 = sw_set_addr_sel_eq_19 & ext_wr & set_enoverr_ext_wr_data & eq_state_19[ACTIVE];
777assign sw_set_over_err_eq_20 = sw_set_addr_sel_eq_20 & ext_wr & set_enoverr_ext_wr_data & eq_state_20[ACTIVE];
778assign sw_set_over_err_eq_21 = sw_set_addr_sel_eq_21 & ext_wr & set_enoverr_ext_wr_data & eq_state_21[ACTIVE];
779assign sw_set_over_err_eq_22 = sw_set_addr_sel_eq_22 & ext_wr & set_enoverr_ext_wr_data & eq_state_22[ACTIVE];
780assign sw_set_over_err_eq_23 = sw_set_addr_sel_eq_23 & ext_wr & set_enoverr_ext_wr_data & eq_state_23[ACTIVE];
781assign sw_set_over_err_eq_24 = sw_set_addr_sel_eq_24 & ext_wr & set_enoverr_ext_wr_data & eq_state_24[ACTIVE];
782assign sw_set_over_err_eq_25 = sw_set_addr_sel_eq_25 & ext_wr & set_enoverr_ext_wr_data & eq_state_25[ACTIVE];
783assign sw_set_over_err_eq_26 = sw_set_addr_sel_eq_26 & ext_wr & set_enoverr_ext_wr_data & eq_state_26[ACTIVE];
784assign sw_set_over_err_eq_27 = sw_set_addr_sel_eq_27 & ext_wr & set_enoverr_ext_wr_data & eq_state_27[ACTIVE];
785assign sw_set_over_err_eq_28 = sw_set_addr_sel_eq_28 & ext_wr & set_enoverr_ext_wr_data & eq_state_28[ACTIVE];
786assign sw_set_over_err_eq_29 = sw_set_addr_sel_eq_29 & ext_wr & set_enoverr_ext_wr_data & eq_state_29[ACTIVE];
787assign sw_set_over_err_eq_30 = sw_set_addr_sel_eq_30 & ext_wr & set_enoverr_ext_wr_data & eq_state_30[ACTIVE];
788assign sw_set_over_err_eq_31 = sw_set_addr_sel_eq_31 & ext_wr & set_enoverr_ext_wr_data & eq_state_31[ACTIVE];
789assign sw_set_over_err_eq_32 = sw_set_addr_sel_eq_32 & ext_wr & set_enoverr_ext_wr_data & eq_state_32[ACTIVE];
790assign sw_set_over_err_eq_33 = sw_set_addr_sel_eq_33 & ext_wr & set_enoverr_ext_wr_data & eq_state_33[ACTIVE];
791assign sw_set_over_err_eq_34 = sw_set_addr_sel_eq_34 & ext_wr & set_enoverr_ext_wr_data & eq_state_34[ACTIVE];
792assign sw_set_over_err_eq_35 = sw_set_addr_sel_eq_35 & ext_wr & set_enoverr_ext_wr_data & eq_state_35[ACTIVE];
793
794//-----------------------------------------------------------------------------
795// SW Clr Overflow
796//
797// If SW PIO and the EQ is in the ANY state.
798//
799// This signal is used to determine:
800// - as part of when to load the EQ overflow error bit (clearing it to 0)
801//
802//-----------------------------------------------------------------------------
803
804assign sw_clr_over_err_eq_0 = sw_clr_addr_sel_eq_0 & ext_wr & clr_coverr_ext_wr_data;
805assign sw_clr_over_err_eq_1 = sw_clr_addr_sel_eq_1 & ext_wr & clr_coverr_ext_wr_data;
806assign sw_clr_over_err_eq_2 = sw_clr_addr_sel_eq_2 & ext_wr & clr_coverr_ext_wr_data;
807assign sw_clr_over_err_eq_3 = sw_clr_addr_sel_eq_3 & ext_wr & clr_coverr_ext_wr_data;
808assign sw_clr_over_err_eq_4 = sw_clr_addr_sel_eq_4 & ext_wr & clr_coverr_ext_wr_data;
809assign sw_clr_over_err_eq_5 = sw_clr_addr_sel_eq_5 & ext_wr & clr_coverr_ext_wr_data;
810assign sw_clr_over_err_eq_6 = sw_clr_addr_sel_eq_6 & ext_wr & clr_coverr_ext_wr_data;
811assign sw_clr_over_err_eq_7 = sw_clr_addr_sel_eq_7 & ext_wr & clr_coverr_ext_wr_data;
812assign sw_clr_over_err_eq_8 = sw_clr_addr_sel_eq_8 & ext_wr & clr_coverr_ext_wr_data;
813assign sw_clr_over_err_eq_9 = sw_clr_addr_sel_eq_9 & ext_wr & clr_coverr_ext_wr_data;
814assign sw_clr_over_err_eq_10 = sw_clr_addr_sel_eq_10 & ext_wr & clr_coverr_ext_wr_data;
815assign sw_clr_over_err_eq_11 = sw_clr_addr_sel_eq_11 & ext_wr & clr_coverr_ext_wr_data;
816assign sw_clr_over_err_eq_12 = sw_clr_addr_sel_eq_12 & ext_wr & clr_coverr_ext_wr_data;
817assign sw_clr_over_err_eq_13 = sw_clr_addr_sel_eq_13 & ext_wr & clr_coverr_ext_wr_data;
818assign sw_clr_over_err_eq_14 = sw_clr_addr_sel_eq_14 & ext_wr & clr_coverr_ext_wr_data;
819assign sw_clr_over_err_eq_15 = sw_clr_addr_sel_eq_15 & ext_wr & clr_coverr_ext_wr_data;
820assign sw_clr_over_err_eq_16 = sw_clr_addr_sel_eq_16 & ext_wr & clr_coverr_ext_wr_data;
821assign sw_clr_over_err_eq_17 = sw_clr_addr_sel_eq_17 & ext_wr & clr_coverr_ext_wr_data;
822assign sw_clr_over_err_eq_18 = sw_clr_addr_sel_eq_18 & ext_wr & clr_coverr_ext_wr_data;
823assign sw_clr_over_err_eq_19 = sw_clr_addr_sel_eq_19 & ext_wr & clr_coverr_ext_wr_data;
824assign sw_clr_over_err_eq_20 = sw_clr_addr_sel_eq_20 & ext_wr & clr_coverr_ext_wr_data;
825assign sw_clr_over_err_eq_21 = sw_clr_addr_sel_eq_21 & ext_wr & clr_coverr_ext_wr_data;
826assign sw_clr_over_err_eq_22 = sw_clr_addr_sel_eq_22 & ext_wr & clr_coverr_ext_wr_data;
827assign sw_clr_over_err_eq_23 = sw_clr_addr_sel_eq_23 & ext_wr & clr_coverr_ext_wr_data;
828assign sw_clr_over_err_eq_24 = sw_clr_addr_sel_eq_24 & ext_wr & clr_coverr_ext_wr_data;
829assign sw_clr_over_err_eq_25 = sw_clr_addr_sel_eq_25 & ext_wr & clr_coverr_ext_wr_data;
830assign sw_clr_over_err_eq_26 = sw_clr_addr_sel_eq_26 & ext_wr & clr_coverr_ext_wr_data;
831assign sw_clr_over_err_eq_27 = sw_clr_addr_sel_eq_27 & ext_wr & clr_coverr_ext_wr_data;
832assign sw_clr_over_err_eq_28 = sw_clr_addr_sel_eq_28 & ext_wr & clr_coverr_ext_wr_data;
833assign sw_clr_over_err_eq_29 = sw_clr_addr_sel_eq_29 & ext_wr & clr_coverr_ext_wr_data;
834assign sw_clr_over_err_eq_30 = sw_clr_addr_sel_eq_30 & ext_wr & clr_coverr_ext_wr_data;
835assign sw_clr_over_err_eq_31 = sw_clr_addr_sel_eq_31 & ext_wr & clr_coverr_ext_wr_data;
836assign sw_clr_over_err_eq_32 = sw_clr_addr_sel_eq_32 & ext_wr & clr_coverr_ext_wr_data;
837assign sw_clr_over_err_eq_33 = sw_clr_addr_sel_eq_33 & ext_wr & clr_coverr_ext_wr_data;
838assign sw_clr_over_err_eq_34 = sw_clr_addr_sel_eq_34 & ext_wr & clr_coverr_ext_wr_data;
839assign sw_clr_over_err_eq_35 = sw_clr_addr_sel_eq_35 & ext_wr & clr_coverr_ext_wr_data;
840
841
842
843
844
845//-----------------------------------------------------------------------------
846// Set the Error Bit Signal
847//
848// Combination of SW Set Overflow PIO , HW Set overflow error ,
849//-----------------------------------------------------------------------------
850assign set_over_err_eq_0 = hw_set_over_err_eq_0 | sw_set_over_err_eq_0;
851assign set_over_err_eq_1 = hw_set_over_err_eq_1 | sw_set_over_err_eq_1;
852assign set_over_err_eq_2 = hw_set_over_err_eq_2 | sw_set_over_err_eq_2;
853assign set_over_err_eq_3 = hw_set_over_err_eq_3 | sw_set_over_err_eq_3;
854assign set_over_err_eq_4 = hw_set_over_err_eq_4 | sw_set_over_err_eq_4;
855assign set_over_err_eq_5 = hw_set_over_err_eq_5 | sw_set_over_err_eq_5;
856assign set_over_err_eq_6 = hw_set_over_err_eq_6 | sw_set_over_err_eq_6;
857assign set_over_err_eq_7 = hw_set_over_err_eq_7 | sw_set_over_err_eq_7;
858assign set_over_err_eq_8 = hw_set_over_err_eq_8 | sw_set_over_err_eq_8;
859assign set_over_err_eq_9 = hw_set_over_err_eq_9 | sw_set_over_err_eq_9;
860assign set_over_err_eq_10 = hw_set_over_err_eq_10 | sw_set_over_err_eq_10;
861assign set_over_err_eq_11 = hw_set_over_err_eq_11 | sw_set_over_err_eq_11;
862assign set_over_err_eq_12 = hw_set_over_err_eq_12 | sw_set_over_err_eq_12;
863assign set_over_err_eq_13 = hw_set_over_err_eq_13 | sw_set_over_err_eq_13;
864assign set_over_err_eq_14 = hw_set_over_err_eq_14 | sw_set_over_err_eq_14;
865assign set_over_err_eq_15 = hw_set_over_err_eq_15 | sw_set_over_err_eq_15;
866assign set_over_err_eq_16 = hw_set_over_err_eq_16 | sw_set_over_err_eq_16;
867assign set_over_err_eq_17 = hw_set_over_err_eq_17 | sw_set_over_err_eq_17;
868assign set_over_err_eq_18 = hw_set_over_err_eq_18 | sw_set_over_err_eq_18;
869assign set_over_err_eq_19 = hw_set_over_err_eq_19 | sw_set_over_err_eq_19;
870assign set_over_err_eq_20 = hw_set_over_err_eq_20 | sw_set_over_err_eq_20;
871assign set_over_err_eq_21 = hw_set_over_err_eq_21 | sw_set_over_err_eq_21;
872assign set_over_err_eq_22 = hw_set_over_err_eq_22 | sw_set_over_err_eq_22;
873assign set_over_err_eq_23 = hw_set_over_err_eq_23 | sw_set_over_err_eq_23;
874assign set_over_err_eq_24 = hw_set_over_err_eq_24 | sw_set_over_err_eq_24;
875assign set_over_err_eq_25 = hw_set_over_err_eq_25 | sw_set_over_err_eq_25;
876assign set_over_err_eq_26 = hw_set_over_err_eq_26 | sw_set_over_err_eq_26;
877assign set_over_err_eq_27 = hw_set_over_err_eq_27 | sw_set_over_err_eq_27;
878assign set_over_err_eq_28 = hw_set_over_err_eq_28 | sw_set_over_err_eq_28;
879assign set_over_err_eq_29 = hw_set_over_err_eq_29 | sw_set_over_err_eq_29;
880assign set_over_err_eq_30 = hw_set_over_err_eq_30 | sw_set_over_err_eq_30;
881assign set_over_err_eq_31 = hw_set_over_err_eq_31 | sw_set_over_err_eq_31;
882assign set_over_err_eq_32 = hw_set_over_err_eq_32 | sw_set_over_err_eq_32;
883assign set_over_err_eq_33 = hw_set_over_err_eq_33 | sw_set_over_err_eq_33;
884assign set_over_err_eq_34 = hw_set_over_err_eq_34 | sw_set_over_err_eq_34;
885assign set_over_err_eq_35 = hw_set_over_err_eq_35 | sw_set_over_err_eq_35;
886
887
888
889//-----------------------------------------------------------------------------
890// Load Signal
891//
892// Combination of SW Overflow PIO , HW overflow error , or SW clear error
893//-----------------------------------------------------------------------------
894assign load_over_err_eq_0 = set_over_err_eq_0 | sw_clr_over_err_eq_0;
895assign load_over_err_eq_1 = set_over_err_eq_1 | sw_clr_over_err_eq_1;
896assign load_over_err_eq_2 = set_over_err_eq_2 | sw_clr_over_err_eq_2;
897assign load_over_err_eq_3 = set_over_err_eq_3 | sw_clr_over_err_eq_3;
898assign load_over_err_eq_4 = set_over_err_eq_4 | sw_clr_over_err_eq_4;
899assign load_over_err_eq_5 = set_over_err_eq_5 | sw_clr_over_err_eq_5;
900assign load_over_err_eq_6 = set_over_err_eq_6 | sw_clr_over_err_eq_6;
901assign load_over_err_eq_7 = set_over_err_eq_7 | sw_clr_over_err_eq_7;
902assign load_over_err_eq_8 = set_over_err_eq_8 | sw_clr_over_err_eq_8;
903assign load_over_err_eq_9 = set_over_err_eq_9 | sw_clr_over_err_eq_9;
904assign load_over_err_eq_10 = set_over_err_eq_10 | sw_clr_over_err_eq_10;
905assign load_over_err_eq_11 = set_over_err_eq_11 | sw_clr_over_err_eq_11;
906assign load_over_err_eq_12 = set_over_err_eq_12 | sw_clr_over_err_eq_12;
907assign load_over_err_eq_13 = set_over_err_eq_13 | sw_clr_over_err_eq_13;
908assign load_over_err_eq_14 = set_over_err_eq_14 | sw_clr_over_err_eq_14;
909assign load_over_err_eq_15 = set_over_err_eq_15 | sw_clr_over_err_eq_15;
910assign load_over_err_eq_16 = set_over_err_eq_16 | sw_clr_over_err_eq_16;
911assign load_over_err_eq_17 = set_over_err_eq_17 | sw_clr_over_err_eq_17;
912assign load_over_err_eq_18 = set_over_err_eq_18 | sw_clr_over_err_eq_18;
913assign load_over_err_eq_19 = set_over_err_eq_19 | sw_clr_over_err_eq_19;
914assign load_over_err_eq_20 = set_over_err_eq_20 | sw_clr_over_err_eq_20;
915assign load_over_err_eq_21 = set_over_err_eq_21 | sw_clr_over_err_eq_21;
916assign load_over_err_eq_22 = set_over_err_eq_22 | sw_clr_over_err_eq_22;
917assign load_over_err_eq_23 = set_over_err_eq_23 | sw_clr_over_err_eq_23;
918assign load_over_err_eq_24 = set_over_err_eq_24 | sw_clr_over_err_eq_24;
919assign load_over_err_eq_25 = set_over_err_eq_25 | sw_clr_over_err_eq_25;
920assign load_over_err_eq_26 = set_over_err_eq_26 | sw_clr_over_err_eq_26;
921assign load_over_err_eq_27 = set_over_err_eq_27 | sw_clr_over_err_eq_27;
922assign load_over_err_eq_28 = set_over_err_eq_28 | sw_clr_over_err_eq_28;
923assign load_over_err_eq_29 = set_over_err_eq_29 | sw_clr_over_err_eq_29;
924assign load_over_err_eq_30 = set_over_err_eq_30 | sw_clr_over_err_eq_30;
925assign load_over_err_eq_31 = set_over_err_eq_31 | sw_clr_over_err_eq_31;
926assign load_over_err_eq_32 = set_over_err_eq_32 | sw_clr_over_err_eq_32;
927assign load_over_err_eq_33 = set_over_err_eq_33 | sw_clr_over_err_eq_33;
928assign load_over_err_eq_34 = set_over_err_eq_34 | sw_clr_over_err_eq_34;
929assign load_over_err_eq_35 = set_over_err_eq_35 | sw_clr_over_err_eq_35;
930
931
932//-----------------------------------------------------------------------------
933// Data to load into the over_flow error
934//
935//-----------------------------------------------------------------------------
936
937
938assign data_over_err_eq_0 = ~sw_clr_over_err_eq_0;
939assign data_over_err_eq_1 = ~sw_clr_over_err_eq_1;
940assign data_over_err_eq_2 = ~sw_clr_over_err_eq_2;
941assign data_over_err_eq_3 = ~sw_clr_over_err_eq_3;
942assign data_over_err_eq_4 = ~sw_clr_over_err_eq_4;
943assign data_over_err_eq_5 = ~sw_clr_over_err_eq_5;
944assign data_over_err_eq_6 = ~sw_clr_over_err_eq_6;
945assign data_over_err_eq_7 = ~sw_clr_over_err_eq_7;
946assign data_over_err_eq_8 = ~sw_clr_over_err_eq_8;
947assign data_over_err_eq_9 = ~sw_clr_over_err_eq_9;
948assign data_over_err_eq_10 = ~sw_clr_over_err_eq_10;
949assign data_over_err_eq_11 = ~sw_clr_over_err_eq_11;
950assign data_over_err_eq_12 = ~sw_clr_over_err_eq_12;
951assign data_over_err_eq_13 = ~sw_clr_over_err_eq_13;
952assign data_over_err_eq_14 = ~sw_clr_over_err_eq_14;
953assign data_over_err_eq_15 = ~sw_clr_over_err_eq_15;
954assign data_over_err_eq_16 = ~sw_clr_over_err_eq_16;
955assign data_over_err_eq_17 = ~sw_clr_over_err_eq_17;
956assign data_over_err_eq_18 = ~sw_clr_over_err_eq_18;
957assign data_over_err_eq_19 = ~sw_clr_over_err_eq_19;
958assign data_over_err_eq_20 = ~sw_clr_over_err_eq_20;
959assign data_over_err_eq_21 = ~sw_clr_over_err_eq_21;
960assign data_over_err_eq_22 = ~sw_clr_over_err_eq_22;
961assign data_over_err_eq_23 = ~sw_clr_over_err_eq_23;
962assign data_over_err_eq_24 = ~sw_clr_over_err_eq_24;
963assign data_over_err_eq_25 = ~sw_clr_over_err_eq_25;
964assign data_over_err_eq_26 = ~sw_clr_over_err_eq_26;
965assign data_over_err_eq_27 = ~sw_clr_over_err_eq_27;
966assign data_over_err_eq_28 = ~sw_clr_over_err_eq_28;
967assign data_over_err_eq_29 = ~sw_clr_over_err_eq_29;
968assign data_over_err_eq_30 = ~sw_clr_over_err_eq_30;
969assign data_over_err_eq_31 = ~sw_clr_over_err_eq_31;
970assign data_over_err_eq_32 = ~sw_clr_over_err_eq_32;
971assign data_over_err_eq_33 = ~sw_clr_over_err_eq_33;
972assign data_over_err_eq_34 = ~sw_clr_over_err_eq_34;
973assign data_over_err_eq_35 = ~sw_clr_over_err_eq_35;
974
975
976
977//-----------------------------------------------------------------------------
978// Create Error Interrupt Signal
979//-----------------------------------------------------------------------------
980
981
982assign eqs2ics_eq_over_error = set_over_err_eq_0 |
983 set_over_err_eq_1 |
984 set_over_err_eq_2 |
985 set_over_err_eq_3 |
986 set_over_err_eq_4 |
987 set_over_err_eq_5 |
988 set_over_err_eq_6 |
989 set_over_err_eq_7 |
990 set_over_err_eq_8 |
991 set_over_err_eq_9 |
992 set_over_err_eq_10 |
993 set_over_err_eq_11 |
994 set_over_err_eq_12 |
995 set_over_err_eq_13 |
996 set_over_err_eq_14 |
997 set_over_err_eq_15 |
998 set_over_err_eq_16 |
999 set_over_err_eq_17 |
1000 set_over_err_eq_18 |
1001 set_over_err_eq_19 |
1002 set_over_err_eq_20 |
1003 set_over_err_eq_21 |
1004 set_over_err_eq_22 |
1005 set_over_err_eq_23 |
1006 set_over_err_eq_24 |
1007 set_over_err_eq_25 |
1008 set_over_err_eq_26 |
1009 set_over_err_eq_27 |
1010 set_over_err_eq_28 |
1011 set_over_err_eq_29 |
1012 set_over_err_eq_30 |
1013 set_over_err_eq_31 |
1014 set_over_err_eq_32 |
1015 set_over_err_eq_33 |
1016 set_over_err_eq_34 |
1017 set_over_err_eq_35;
1018
1019
1020assign eqs2ics_error_data = {58'h0, rds2eqs_eq};
1021
1022
1023//************************
1024// Tail Pointer Update
1025//************************
1026
1027//-----------------------------------------------------------------------------
1028// Select signals to know when to update the tail pointer
1029//
1030// Only update when
1031// - The pipe line is selected
1032// - It is the proper tail pointer to update
1033// - And the EQ is ok and did not have an error.
1034//-----------------------------------------------------------------------------
1035
1036
1037assign t_ptr_inc_sel_0 = rds2eqs_eq_sel & eq_ok_0 & eq_num_sel_0;
1038assign t_ptr_inc_sel_1 = rds2eqs_eq_sel & eq_ok_1 & eq_num_sel_1;
1039assign t_ptr_inc_sel_2 = rds2eqs_eq_sel & eq_ok_2 & eq_num_sel_2;
1040assign t_ptr_inc_sel_3 = rds2eqs_eq_sel & eq_ok_3 & eq_num_sel_3;
1041assign t_ptr_inc_sel_4 = rds2eqs_eq_sel & eq_ok_4 & eq_num_sel_4;
1042assign t_ptr_inc_sel_5 = rds2eqs_eq_sel & eq_ok_5 & eq_num_sel_5;
1043assign t_ptr_inc_sel_6 = rds2eqs_eq_sel & eq_ok_6 & eq_num_sel_6;
1044assign t_ptr_inc_sel_7 = rds2eqs_eq_sel & eq_ok_7 & eq_num_sel_7;
1045assign t_ptr_inc_sel_8 = rds2eqs_eq_sel & eq_ok_8 & eq_num_sel_8;
1046assign t_ptr_inc_sel_9 = rds2eqs_eq_sel & eq_ok_9 & eq_num_sel_9;
1047assign t_ptr_inc_sel_10 = rds2eqs_eq_sel & eq_ok_10 & eq_num_sel_10;
1048assign t_ptr_inc_sel_11 = rds2eqs_eq_sel & eq_ok_11 & eq_num_sel_11;
1049assign t_ptr_inc_sel_12 = rds2eqs_eq_sel & eq_ok_12 & eq_num_sel_12;
1050assign t_ptr_inc_sel_13 = rds2eqs_eq_sel & eq_ok_13 & eq_num_sel_13;
1051assign t_ptr_inc_sel_14 = rds2eqs_eq_sel & eq_ok_14 & eq_num_sel_14;
1052assign t_ptr_inc_sel_15 = rds2eqs_eq_sel & eq_ok_15 & eq_num_sel_15;
1053assign t_ptr_inc_sel_16 = rds2eqs_eq_sel & eq_ok_16 & eq_num_sel_16;
1054assign t_ptr_inc_sel_17 = rds2eqs_eq_sel & eq_ok_17 & eq_num_sel_17;
1055assign t_ptr_inc_sel_18 = rds2eqs_eq_sel & eq_ok_18 & eq_num_sel_18;
1056assign t_ptr_inc_sel_19 = rds2eqs_eq_sel & eq_ok_19 & eq_num_sel_19;
1057assign t_ptr_inc_sel_20 = rds2eqs_eq_sel & eq_ok_20 & eq_num_sel_20;
1058assign t_ptr_inc_sel_21 = rds2eqs_eq_sel & eq_ok_21 & eq_num_sel_21;
1059assign t_ptr_inc_sel_22 = rds2eqs_eq_sel & eq_ok_22 & eq_num_sel_22;
1060assign t_ptr_inc_sel_23 = rds2eqs_eq_sel & eq_ok_23 & eq_num_sel_23;
1061assign t_ptr_inc_sel_24 = rds2eqs_eq_sel & eq_ok_24 & eq_num_sel_24;
1062assign t_ptr_inc_sel_25 = rds2eqs_eq_sel & eq_ok_25 & eq_num_sel_25;
1063assign t_ptr_inc_sel_26 = rds2eqs_eq_sel & eq_ok_26 & eq_num_sel_26;
1064assign t_ptr_inc_sel_27 = rds2eqs_eq_sel & eq_ok_27 & eq_num_sel_27;
1065assign t_ptr_inc_sel_28 = rds2eqs_eq_sel & eq_ok_28 & eq_num_sel_28;
1066assign t_ptr_inc_sel_29 = rds2eqs_eq_sel & eq_ok_29 & eq_num_sel_29;
1067assign t_ptr_inc_sel_30 = rds2eqs_eq_sel & eq_ok_30 & eq_num_sel_30;
1068assign t_ptr_inc_sel_31 = rds2eqs_eq_sel & eq_ok_31 & eq_num_sel_31;
1069assign t_ptr_inc_sel_32 = rds2eqs_eq_sel & eq_ok_32 & eq_num_sel_32;
1070assign t_ptr_inc_sel_33 = rds2eqs_eq_sel & eq_ok_33 & eq_num_sel_33;
1071assign t_ptr_inc_sel_34 = rds2eqs_eq_sel & eq_ok_34 & eq_num_sel_34;
1072assign t_ptr_inc_sel_35 = rds2eqs_eq_sel & eq_ok_35 & eq_num_sel_35;
1073
1074
1075
1076
1077
1078//-----------------------------------------------------------------------------
1079// EQ OK OUTPUT GENERATION
1080//
1081// To find out if it is OK to issue an EQ write we must check three things
1082// 1) Is the EQ Full
1083// 2) Is the EQ Enabled (Has SW made it active and ready to accept writes)
1084// 3) Is the EQ in Error State
1085//
1086// ?) Or conversly we can just check to make sure it is in the ACTIVE STATE
1087//
1088//---- ------------------------------------------------------------------------
1089
1090
1091//*********************
1092// EQ ACTIVE DETECTION
1093//*********************
1094
1095//-----------------------------------------------------------------------------
1096// Find out if the EQ is Active we must check the state to make sure that
1097// It is in the ACTIVE state and not in the ERROR or IDLE states.
1098// To do this we can take the 1-hot active bit directly from the state machine
1099//-----------------------------------------------------------------------------
1100
1101//************************
1102// EQ Ok Wire Assignmeent
1103//************************
1104
1105//-----------------------------------------------------------------------------
1106// The EQ is ok to send a write to if it is not full and the State is ACTIVE
1107//-----------------------------------------------------------------------------
1108
1109assign eq_ok_0 = !(full_eq_0) & eq_state_0[ACTIVE];
1110assign eq_ok_1 = !(full_eq_1) & eq_state_1[ACTIVE];
1111assign eq_ok_2 = !(full_eq_2) & eq_state_2[ACTIVE];
1112assign eq_ok_3 = !(full_eq_3) & eq_state_3[ACTIVE];
1113assign eq_ok_4 = !(full_eq_4) & eq_state_4[ACTIVE];
1114assign eq_ok_5 = !(full_eq_5) & eq_state_5[ACTIVE];
1115assign eq_ok_6 = !(full_eq_6) & eq_state_6[ACTIVE];
1116assign eq_ok_7 = !(full_eq_7) & eq_state_7[ACTIVE];
1117assign eq_ok_8 = !(full_eq_8) & eq_state_8[ACTIVE];
1118assign eq_ok_9 = !(full_eq_9) & eq_state_9[ACTIVE];
1119assign eq_ok_10 = !(full_eq_10) & eq_state_10[ACTIVE];
1120assign eq_ok_11 = !(full_eq_11) & eq_state_11[ACTIVE];
1121assign eq_ok_12 = !(full_eq_12) & eq_state_12[ACTIVE];
1122assign eq_ok_13 = !(full_eq_13) & eq_state_13[ACTIVE];
1123assign eq_ok_14 = !(full_eq_14) & eq_state_14[ACTIVE];
1124assign eq_ok_15 = !(full_eq_15) & eq_state_15[ACTIVE];
1125assign eq_ok_16 = !(full_eq_16) & eq_state_16[ACTIVE];
1126assign eq_ok_17 = !(full_eq_17) & eq_state_17[ACTIVE];
1127assign eq_ok_18 = !(full_eq_18) & eq_state_18[ACTIVE];
1128assign eq_ok_19 = !(full_eq_19) & eq_state_19[ACTIVE];
1129assign eq_ok_20 = !(full_eq_20) & eq_state_20[ACTIVE];
1130assign eq_ok_21 = !(full_eq_21) & eq_state_21[ACTIVE];
1131assign eq_ok_22 = !(full_eq_22) & eq_state_22[ACTIVE];
1132assign eq_ok_23 = !(full_eq_23) & eq_state_23[ACTIVE];
1133assign eq_ok_24 = !(full_eq_24) & eq_state_24[ACTIVE];
1134assign eq_ok_25 = !(full_eq_25) & eq_state_25[ACTIVE];
1135assign eq_ok_26 = !(full_eq_26) & eq_state_26[ACTIVE];
1136assign eq_ok_27 = !(full_eq_27) & eq_state_27[ACTIVE];
1137assign eq_ok_28 = !(full_eq_28) & eq_state_28[ACTIVE];
1138assign eq_ok_29 = !(full_eq_29) & eq_state_29[ACTIVE];
1139assign eq_ok_30 = !(full_eq_30) & eq_state_30[ACTIVE];
1140assign eq_ok_31 = !(full_eq_31) & eq_state_31[ACTIVE];
1141assign eq_ok_32 = !(full_eq_32) & eq_state_32[ACTIVE];
1142assign eq_ok_33 = !(full_eq_33) & eq_state_33[ACTIVE];
1143assign eq_ok_34 = !(full_eq_34) & eq_state_34[ACTIVE];
1144assign eq_ok_35 = !(full_eq_35) & eq_state_35[ACTIVE];
1145
1146//*******************
1147// EQ OK Muxing
1148//*******************
1149
1150//-----------------------------------------------------------------------------
1151// Mux the results of the 36 eq ok signals using rds2eqs_eq as the select to select
1152// which of the EQ's the write is for
1153//-----------------------------------------------------------------------------
1154
1155always @ (eq_ok_0 or eq_ok_1 or eq_ok_2 or eq_ok_3 or eq_ok_4 or eq_ok_5 or eq_ok_6 or eq_ok_7 or
1156 eq_ok_8 or eq_ok_9 or eq_ok_10 or eq_ok_11 or eq_ok_12 or eq_ok_13 or eq_ok_14 or eq_ok_15 or
1157 eq_ok_16 or eq_ok_17 or eq_ok_18 or eq_ok_19 or eq_ok_20 or eq_ok_21 or eq_ok_22 or eq_ok_23 or eq_ok_24 or
1158 eq_ok_25 or eq_ok_26 or eq_ok_27 or eq_ok_28 or eq_ok_29 or eq_ok_30 or eq_ok_31 or eq_ok_32 or eq_ok_33 or
1159 eq_ok_34 or eq_ok_35 or rds2eqs_eq)
1160
1161 case (rds2eqs_eq) // synopsys parallel_case full_case infer_mux
1162 6'b000000 : eq_ok_mux = eq_ok_0;
1163 6'b000001 : eq_ok_mux = eq_ok_1;
1164 6'b000010 : eq_ok_mux = eq_ok_2;
1165 6'b000011 : eq_ok_mux = eq_ok_3;
1166 6'b000100 : eq_ok_mux = eq_ok_4;
1167 6'b000101 : eq_ok_mux = eq_ok_5;
1168 6'b000110 : eq_ok_mux = eq_ok_6;
1169 6'b000111 : eq_ok_mux = eq_ok_7;
1170
1171 6'b001000 : eq_ok_mux = eq_ok_8;
1172 6'b001001 : eq_ok_mux = eq_ok_9;
1173 6'b001010 : eq_ok_mux = eq_ok_10;
1174 6'b001011 : eq_ok_mux = eq_ok_11;
1175 6'b001100 : eq_ok_mux = eq_ok_12;
1176 6'b001101 : eq_ok_mux = eq_ok_13;
1177 6'b001110 : eq_ok_mux = eq_ok_14;
1178 6'b001111 : eq_ok_mux = eq_ok_15;
1179
1180 6'b010000 : eq_ok_mux = eq_ok_16;
1181 6'b010001 : eq_ok_mux = eq_ok_17;
1182 6'b010010 : eq_ok_mux = eq_ok_18;
1183 6'b010011 : eq_ok_mux = eq_ok_19;
1184 6'b010100 : eq_ok_mux = eq_ok_20;
1185 6'b010101 : eq_ok_mux = eq_ok_21;
1186 6'b010110 : eq_ok_mux = eq_ok_22;
1187 6'b010111 : eq_ok_mux = eq_ok_23;
1188
1189 6'b011000 : eq_ok_mux = eq_ok_24;
1190 6'b011001 : eq_ok_mux = eq_ok_25;
1191 6'b011010 : eq_ok_mux = eq_ok_26;
1192 6'b011011 : eq_ok_mux = eq_ok_27;
1193 6'b011100 : eq_ok_mux = eq_ok_28;
1194 6'b011101 : eq_ok_mux = eq_ok_29;
1195 6'b011110 : eq_ok_mux = eq_ok_30;
1196 6'b011111 : eq_ok_mux = eq_ok_31;
1197
1198 6'b100000 : eq_ok_mux = eq_ok_32;
1199 6'b100001 : eq_ok_mux = eq_ok_33;
1200 6'b100010 : eq_ok_mux = eq_ok_34;
1201 6'b100011 : eq_ok_mux = eq_ok_35;
1202
1203
1204 endcase
1205
1206//**********************
1207// EQ IDLE State Muxing
1208//**********************
1209
1210//-----------------------------------------------------------------------------
1211// Mux the results of the 36 eq ok signals using rds2eqs_eq as the select to select
1212// which of the EQ's the write is for
1213//-----------------------------------------------------------------------------
1214
1215always @ (eq_state_0 or eq_state_1 or eq_state_2 or eq_state_3 or eq_state_4 or eq_state_5 or eq_state_6 or eq_state_7 or
1216 eq_state_8 or eq_state_9 or eq_state_10 or eq_state_11 or eq_state_12 or eq_state_13 or eq_state_14 or eq_state_15 or
1217 eq_state_16 or eq_state_17 or eq_state_18 or eq_state_19 or eq_state_20 or eq_state_21 or eq_state_22 or eq_state_23 or eq_state_24 or
1218 eq_state_25 or eq_state_26 or eq_state_27 or eq_state_28 or eq_state_29 or eq_state_30 or eq_state_31 or eq_state_32 or eq_state_33 or
1219 eq_state_34 or eq_state_35 or rds2eqs_eq)
1220
1221 case (rds2eqs_eq) // synopsys parallel_case full_case infer_mux
1222 6'b000000 : eq_state_mux = eq_state_0[IDLE];
1223 6'b000001 : eq_state_mux = eq_state_1[IDLE];
1224 6'b000010 : eq_state_mux = eq_state_2[IDLE];
1225 6'b000011 : eq_state_mux = eq_state_3[IDLE];
1226 6'b000100 : eq_state_mux = eq_state_4[IDLE];
1227 6'b000101 : eq_state_mux = eq_state_5[IDLE];
1228 6'b000110 : eq_state_mux = eq_state_6[IDLE];
1229 6'b000111 : eq_state_mux = eq_state_7[IDLE];
1230
1231 6'b001000 : eq_state_mux = eq_state_8[IDLE];
1232 6'b001001 : eq_state_mux = eq_state_9[IDLE];
1233 6'b001010 : eq_state_mux = eq_state_10[IDLE];
1234 6'b001011 : eq_state_mux = eq_state_11[IDLE];
1235 6'b001100 : eq_state_mux = eq_state_12[IDLE];
1236 6'b001101 : eq_state_mux = eq_state_13[IDLE];
1237 6'b001110 : eq_state_mux = eq_state_14[IDLE];
1238 6'b001111 : eq_state_mux = eq_state_15[IDLE];
1239
1240 6'b010000 : eq_state_mux = eq_state_16[IDLE];
1241 6'b010001 : eq_state_mux = eq_state_17[IDLE];
1242 6'b010010 : eq_state_mux = eq_state_18[IDLE];
1243 6'b010011 : eq_state_mux = eq_state_19[IDLE];
1244 6'b010100 : eq_state_mux = eq_state_20[IDLE];
1245 6'b010101 : eq_state_mux = eq_state_21[IDLE];
1246 6'b010110 : eq_state_mux = eq_state_22[IDLE];
1247 6'b010111 : eq_state_mux = eq_state_23[IDLE];
1248
1249 6'b011000 : eq_state_mux = eq_state_24[IDLE];
1250 6'b011001 : eq_state_mux = eq_state_25[IDLE];
1251 6'b011010 : eq_state_mux = eq_state_26[IDLE];
1252 6'b011011 : eq_state_mux = eq_state_27[IDLE];
1253 6'b011100 : eq_state_mux = eq_state_28[IDLE];
1254 6'b011101 : eq_state_mux = eq_state_29[IDLE];
1255 6'b011110 : eq_state_mux = eq_state_30[IDLE];
1256 6'b011111 : eq_state_mux = eq_state_31[IDLE];
1257
1258 6'b100000 : eq_state_mux = eq_state_32[IDLE];
1259 6'b100001 : eq_state_mux = eq_state_33[IDLE];
1260 6'b100010 : eq_state_mux = eq_state_34[IDLE];
1261 6'b100011 : eq_state_mux = eq_state_35[IDLE];
1262
1263
1264 endcase
1265
1266
1267
1268//*******************
1269// Assign the Output
1270//*******************
1271
1272//-----------------------------------------------------------------------------
1273// Dont flop the out put of eq ok need the signal immediately
1274//-----------------------------------------------------------------------------
1275
1276assign eqs2scs_eq_ok = eq_ok_mux;
1277assign eqs2scs_eq_not_en = eq_state_mux;
1278
1279//############################################################################
1280// SEQUENTIAL LOGIC
1281//############################################################################
1282
1283//*******************
1284// Assign the Output
1285//*******************
1286
1287//-----------------------------------------------------------------------------
1288// Flop the output of the block. Load the flop if selected else hold the
1289// value.
1290//-----------------------------------------------------------------------------
1291
1292always @ (posedge clk)
1293 if (!rst_l)
1294 begin
1295 eqs2ors_eq_addr <= 62'h0;
1296 eqs2ors_sel <= 1'b0;
1297 end
1298 else if (rds2eqs_eq_sel & eqs2scs_eq_ok)
1299 begin
1300 eqs2ors_eq_addr <= {eq_base_address,rds2eqs_eq,eq_address_mux,4'h0} ;
1301 eqs2ors_sel <= rds2eqs_eq_sel;
1302 end
1303 else
1304 begin
1305 eqs2ors_eq_addr <= eqs2ors_eq_addr;
1306 eqs2ors_sel <= rds2eqs_eq_sel;
1307 end
1308
1309//BP 7-25-06 N2 bug 118163, eq_base_address_63 to tmu for msi decode
1310assign eq_base_address_63 = eq_base_address[44];
1311
1312//-----------------------------------------------------------------------------
1313// Flop the output of the block.
1314//
1315// This is for the interrupt requests to the ISS
1316//
1317// Signal is active low thats why it is inverted
1318//-----------------------------------------------------------------------------
1319
1320always @ (posedge clk)
1321 if (!rst_l)
1322 eqs2iss_eq_int_l <= 36'hFFFF_FFFF_F;
1323 else
1324 eqs2iss_eq_int_l <= ~hw_mondo_trig;
1325
1326
1327
1328//-----------------------------------------------------
1329// Debug Ports
1330//-----------------------------------------------------
1331
1332always @ (dbg2eqs_dbg_sel_a or rds2eqs_eq_sel or rds2eqs_eq[5:0] or eqs2ics_eq_over_error or
1333 eqs2scs_eq_ok or eqs2scs_eq_not_en or eqs2ors_sel or eqs2iss_eq_int_l or
1334 eq_fsm_wr or eq_fsm_wr_data)
1335 begin
1336 case (dbg2eqs_dbg_sel_a) // synopsys infer_mux
1337 3'b000: n_dbg_a = {rds2eqs_eq_sel, rds2eqs_eq[5:0], eqs2ics_eq_over_error};
1338 3'b001: n_dbg_a = {1'b0, eqs2scs_eq_ok, eqs2scs_eq_not_en, eqs2ors_sel, eqs2iss_eq_int_l[35:32]};
1339 3'b010: n_dbg_a = {eqs2iss_eq_int_l[7:0]};
1340 3'b011: n_dbg_a = {eqs2iss_eq_int_l[15:8]};
1341 3'b100: n_dbg_a = {eqs2iss_eq_int_l[23:16]};
1342 3'b101: n_dbg_a = {eqs2iss_eq_int_l[31:24]};
1343 3'b110: n_dbg_a = {5'h0, eq_fsm_wr, eq_fsm_wr_data[1:0]};
1344 3'b111: n_dbg_a = 8'h00;
1345 endcase
1346 end
1347
1348always @ (dbg2eqs_dbg_sel_b or rds2eqs_eq_sel or rds2eqs_eq[5:0] or eqs2ics_eq_over_error or
1349 eqs2scs_eq_ok or eqs2scs_eq_not_en or eqs2ors_sel or eqs2iss_eq_int_l or
1350 eq_fsm_wr or eq_fsm_wr_data )
1351 begin
1352 case (dbg2eqs_dbg_sel_b) // synopsys infer_mux
1353 3'b000: n_dbg_b = {rds2eqs_eq_sel, rds2eqs_eq[5:0], eqs2ics_eq_over_error};
1354 3'b001: n_dbg_b = {1'b0, eqs2scs_eq_ok, eqs2scs_eq_not_en, eqs2ors_sel, eqs2iss_eq_int_l[35:32]};
1355 3'b010: n_dbg_b = {eqs2iss_eq_int_l[7:0]};
1356 3'b011: n_dbg_b = {eqs2iss_eq_int_l[15:8]};
1357 3'b100: n_dbg_b = {eqs2iss_eq_int_l[23:16]};
1358 3'b101: n_dbg_b = {eqs2iss_eq_int_l[31:24]};
1359 3'b110: n_dbg_b = {5'h0, eq_fsm_wr, eq_fsm_wr_data[1:0]};
1360 3'b111: n_dbg_b = 8'h00;
1361 endcase
1362 end
1363
1364
1365always @ (posedge clk)
1366 begin
1367 if (~rst_l ) begin
1368 dbg_a <= `FIRE_DEBUG_WDTH'b0;
1369 dbg_b <= `FIRE_DEBUG_WDTH'b0;
1370 end
1371 else begin
1372 dbg_a <= n_dbg_a;
1373 dbg_b <= n_dbg_b;
1374 end
1375 end
1376
1377
1378assign eqs2dbg_dbg_a = dbg_a;
1379assign eqs2dbg_dbg_b = dbg_b;
1380
1381
1382//############################################################################
1383// MODULE INSTANTIATIONS
1384//############################################################################
1385
1386 dmu_imu_eqs_csr csr (
1387
1388 .clk (clk),
1389 .csrbus_valid (csrbus_valid),
1390 .csrbus_done (csrbus_done),
1391 .csrbus_mapped (csrbus_mapped),
1392 .csrbus_wr_data (csrbus_wr_data),
1393 .csrbus_wr (csrbus_wr),
1394 .csrbus_read_data (csrbus_read_data),
1395 .csrbus_addr (csrbus_addr),
1396 .rst_l (rst_l),
1397
1398 .csrbus_src_bus (csrbus_src_bus),
1399 .csrbus_acc_vio (csrbus_acc_vio),
1400 .instance_id (j2d_instance_id),
1401
1402 .ext_wr (ext_wr),
1403
1404 .eq_ctrl_set_enoverr_ext_wr_data (set_enoverr_ext_wr_data),
1405 .eq_ctrl_set_en_ext_wr_data (set_en_ext_wr_data),
1406 .eq_ctrl_clr_coverr_ext_wr_data (clr_coverr_ext_wr_data),
1407 .eq_ctrl_clr_e2i_ext_wr_data (clr_e2i_ext_wr_data),
1408
1409 // Dont need anything here same as set_en_ext_wr_data
1410 // csrtool quork spits out twice for same data bitI only need 1 to pass to fsm's
1411 .eq_ctrl_clr_dis_ext_wr_data (),
1412
1413 .eq_base_address_address_hw_read (eq_base_address),
1414
1415 .eq_ctrl_set_ext_select_0 (sw_set_addr_sel_eq_0),
1416 .eq_ctrl_set_ext_select_1 (sw_set_addr_sel_eq_1),
1417 .eq_ctrl_set_ext_select_2 (sw_set_addr_sel_eq_2),
1418 .eq_ctrl_set_ext_select_3 (sw_set_addr_sel_eq_3),
1419 .eq_ctrl_set_ext_select_4 (sw_set_addr_sel_eq_4),
1420 .eq_ctrl_set_ext_select_5 (sw_set_addr_sel_eq_5),
1421 .eq_ctrl_set_ext_select_6 (sw_set_addr_sel_eq_6),
1422 .eq_ctrl_set_ext_select_7 (sw_set_addr_sel_eq_7),
1423 .eq_ctrl_set_ext_select_8 (sw_set_addr_sel_eq_8),
1424 .eq_ctrl_set_ext_select_9 (sw_set_addr_sel_eq_9),
1425 .eq_ctrl_set_ext_select_10 (sw_set_addr_sel_eq_10),
1426 .eq_ctrl_set_ext_select_11 (sw_set_addr_sel_eq_11),
1427 .eq_ctrl_set_ext_select_12 (sw_set_addr_sel_eq_12),
1428 .eq_ctrl_set_ext_select_13 (sw_set_addr_sel_eq_13),
1429 .eq_ctrl_set_ext_select_14 (sw_set_addr_sel_eq_14),
1430 .eq_ctrl_set_ext_select_15 (sw_set_addr_sel_eq_15),
1431 .eq_ctrl_set_ext_select_16 (sw_set_addr_sel_eq_16),
1432 .eq_ctrl_set_ext_select_17 (sw_set_addr_sel_eq_17),
1433 .eq_ctrl_set_ext_select_18 (sw_set_addr_sel_eq_18),
1434 .eq_ctrl_set_ext_select_19 (sw_set_addr_sel_eq_19),
1435 .eq_ctrl_set_ext_select_20 (sw_set_addr_sel_eq_20),
1436 .eq_ctrl_set_ext_select_21 (sw_set_addr_sel_eq_21),
1437 .eq_ctrl_set_ext_select_22 (sw_set_addr_sel_eq_22),
1438 .eq_ctrl_set_ext_select_23 (sw_set_addr_sel_eq_23),
1439 .eq_ctrl_set_ext_select_24 (sw_set_addr_sel_eq_24),
1440 .eq_ctrl_set_ext_select_25 (sw_set_addr_sel_eq_25),
1441 .eq_ctrl_set_ext_select_26 (sw_set_addr_sel_eq_26),
1442 .eq_ctrl_set_ext_select_27 (sw_set_addr_sel_eq_27),
1443 .eq_ctrl_set_ext_select_28 (sw_set_addr_sel_eq_28),
1444 .eq_ctrl_set_ext_select_29 (sw_set_addr_sel_eq_29),
1445 .eq_ctrl_set_ext_select_30 (sw_set_addr_sel_eq_30),
1446 .eq_ctrl_set_ext_select_31 (sw_set_addr_sel_eq_31),
1447 .eq_ctrl_set_ext_select_32 (sw_set_addr_sel_eq_32),
1448 .eq_ctrl_set_ext_select_33 (sw_set_addr_sel_eq_33),
1449 .eq_ctrl_set_ext_select_34 (sw_set_addr_sel_eq_34),
1450 .eq_ctrl_set_ext_select_35 (sw_set_addr_sel_eq_35),
1451
1452
1453 .eq_ctrl_clr_ext_select_0 (sw_clr_addr_sel_eq_0),
1454 .eq_ctrl_clr_ext_select_1 (sw_clr_addr_sel_eq_1),
1455 .eq_ctrl_clr_ext_select_2 (sw_clr_addr_sel_eq_2),
1456 .eq_ctrl_clr_ext_select_3 (sw_clr_addr_sel_eq_3),
1457 .eq_ctrl_clr_ext_select_4 (sw_clr_addr_sel_eq_4),
1458 .eq_ctrl_clr_ext_select_5 (sw_clr_addr_sel_eq_5),
1459 .eq_ctrl_clr_ext_select_6 (sw_clr_addr_sel_eq_6),
1460 .eq_ctrl_clr_ext_select_7 (sw_clr_addr_sel_eq_7),
1461 .eq_ctrl_clr_ext_select_8 (sw_clr_addr_sel_eq_8),
1462 .eq_ctrl_clr_ext_select_9 (sw_clr_addr_sel_eq_9),
1463 .eq_ctrl_clr_ext_select_10 (sw_clr_addr_sel_eq_10),
1464 .eq_ctrl_clr_ext_select_11 (sw_clr_addr_sel_eq_11),
1465 .eq_ctrl_clr_ext_select_12 (sw_clr_addr_sel_eq_12),
1466 .eq_ctrl_clr_ext_select_13 (sw_clr_addr_sel_eq_13),
1467 .eq_ctrl_clr_ext_select_14 (sw_clr_addr_sel_eq_14),
1468 .eq_ctrl_clr_ext_select_15 (sw_clr_addr_sel_eq_15),
1469 .eq_ctrl_clr_ext_select_16 (sw_clr_addr_sel_eq_16),
1470 .eq_ctrl_clr_ext_select_17 (sw_clr_addr_sel_eq_17),
1471 .eq_ctrl_clr_ext_select_18 (sw_clr_addr_sel_eq_18),
1472 .eq_ctrl_clr_ext_select_19 (sw_clr_addr_sel_eq_19),
1473 .eq_ctrl_clr_ext_select_20 (sw_clr_addr_sel_eq_20),
1474 .eq_ctrl_clr_ext_select_21 (sw_clr_addr_sel_eq_21),
1475 .eq_ctrl_clr_ext_select_22 (sw_clr_addr_sel_eq_22),
1476 .eq_ctrl_clr_ext_select_23 (sw_clr_addr_sel_eq_23),
1477 .eq_ctrl_clr_ext_select_24 (sw_clr_addr_sel_eq_24),
1478 .eq_ctrl_clr_ext_select_25 (sw_clr_addr_sel_eq_25),
1479 .eq_ctrl_clr_ext_select_26 (sw_clr_addr_sel_eq_26),
1480 .eq_ctrl_clr_ext_select_27 (sw_clr_addr_sel_eq_27),
1481 .eq_ctrl_clr_ext_select_28 (sw_clr_addr_sel_eq_28),
1482 .eq_ctrl_clr_ext_select_29 (sw_clr_addr_sel_eq_29),
1483 .eq_ctrl_clr_ext_select_30 (sw_clr_addr_sel_eq_30),
1484 .eq_ctrl_clr_ext_select_31 (sw_clr_addr_sel_eq_31),
1485 .eq_ctrl_clr_ext_select_32 (sw_clr_addr_sel_eq_32),
1486 .eq_ctrl_clr_ext_select_33 (sw_clr_addr_sel_eq_33),
1487 .eq_ctrl_clr_ext_select_34 (sw_clr_addr_sel_eq_34),
1488 .eq_ctrl_clr_ext_select_35 (sw_clr_addr_sel_eq_35),
1489
1490
1491 .eq_state_state_ext_read_data_0 (eq_state_0),
1492 .eq_state_state_ext_read_data_1 (eq_state_1),
1493 .eq_state_state_ext_read_data_2 (eq_state_2),
1494 .eq_state_state_ext_read_data_3 (eq_state_3),
1495 .eq_state_state_ext_read_data_4 (eq_state_4),
1496 .eq_state_state_ext_read_data_5 (eq_state_5),
1497 .eq_state_state_ext_read_data_6 (eq_state_6),
1498 .eq_state_state_ext_read_data_7 (eq_state_7),
1499 .eq_state_state_ext_read_data_8 (eq_state_8),
1500 .eq_state_state_ext_read_data_9 (eq_state_9),
1501 .eq_state_state_ext_read_data_10 (eq_state_10),
1502 .eq_state_state_ext_read_data_11 (eq_state_11),
1503 .eq_state_state_ext_read_data_12 (eq_state_12),
1504 .eq_state_state_ext_read_data_13 (eq_state_13),
1505 .eq_state_state_ext_read_data_14 (eq_state_14),
1506 .eq_state_state_ext_read_data_15 (eq_state_15),
1507 .eq_state_state_ext_read_data_16 (eq_state_16),
1508 .eq_state_state_ext_read_data_17 (eq_state_17),
1509 .eq_state_state_ext_read_data_18 (eq_state_18),
1510 .eq_state_state_ext_read_data_19 (eq_state_19),
1511 .eq_state_state_ext_read_data_20 (eq_state_20),
1512 .eq_state_state_ext_read_data_21 (eq_state_21),
1513 .eq_state_state_ext_read_data_22 (eq_state_22),
1514 .eq_state_state_ext_read_data_23 (eq_state_23),
1515 .eq_state_state_ext_read_data_24 (eq_state_24),
1516 .eq_state_state_ext_read_data_25 (eq_state_25),
1517 .eq_state_state_ext_read_data_26 (eq_state_26),
1518 .eq_state_state_ext_read_data_27 (eq_state_27),
1519 .eq_state_state_ext_read_data_28 (eq_state_28),
1520 .eq_state_state_ext_read_data_29 (eq_state_29),
1521 .eq_state_state_ext_read_data_30 (eq_state_30),
1522 .eq_state_state_ext_read_data_31 (eq_state_31),
1523 .eq_state_state_ext_read_data_32 (eq_state_32),
1524 .eq_state_state_ext_read_data_33 (eq_state_33),
1525 .eq_state_state_ext_read_data_34 (eq_state_34),
1526 .eq_state_state_ext_read_data_35 (eq_state_35),
1527
1528
1529 .eq_tail_overr_hw_ld_0 (load_over_err_eq_0),
1530 .eq_tail_overr_hw_ld_1 (load_over_err_eq_1),
1531 .eq_tail_overr_hw_ld_2 (load_over_err_eq_2),
1532 .eq_tail_overr_hw_ld_3 (load_over_err_eq_3),
1533 .eq_tail_overr_hw_ld_4 (load_over_err_eq_4),
1534 .eq_tail_overr_hw_ld_5 (load_over_err_eq_5),
1535 .eq_tail_overr_hw_ld_6 (load_over_err_eq_6),
1536 .eq_tail_overr_hw_ld_7 (load_over_err_eq_7),
1537 .eq_tail_overr_hw_ld_8 (load_over_err_eq_8),
1538 .eq_tail_overr_hw_ld_9 (load_over_err_eq_9),
1539 .eq_tail_overr_hw_ld_10 (load_over_err_eq_10),
1540 .eq_tail_overr_hw_ld_11 (load_over_err_eq_11),
1541 .eq_tail_overr_hw_ld_12 (load_over_err_eq_12),
1542 .eq_tail_overr_hw_ld_13 (load_over_err_eq_13),
1543 .eq_tail_overr_hw_ld_14 (load_over_err_eq_14),
1544 .eq_tail_overr_hw_ld_15 (load_over_err_eq_15),
1545 .eq_tail_overr_hw_ld_16 (load_over_err_eq_16),
1546 .eq_tail_overr_hw_ld_17 (load_over_err_eq_17),
1547 .eq_tail_overr_hw_ld_18 (load_over_err_eq_18),
1548 .eq_tail_overr_hw_ld_19 (load_over_err_eq_19),
1549 .eq_tail_overr_hw_ld_20 (load_over_err_eq_20),
1550 .eq_tail_overr_hw_ld_21 (load_over_err_eq_21),
1551 .eq_tail_overr_hw_ld_22 (load_over_err_eq_22),
1552 .eq_tail_overr_hw_ld_23 (load_over_err_eq_23),
1553 .eq_tail_overr_hw_ld_24 (load_over_err_eq_24),
1554 .eq_tail_overr_hw_ld_25 (load_over_err_eq_25),
1555 .eq_tail_overr_hw_ld_26 (load_over_err_eq_26),
1556 .eq_tail_overr_hw_ld_27 (load_over_err_eq_27),
1557 .eq_tail_overr_hw_ld_28 (load_over_err_eq_28),
1558 .eq_tail_overr_hw_ld_29 (load_over_err_eq_29),
1559 .eq_tail_overr_hw_ld_30 (load_over_err_eq_30),
1560 .eq_tail_overr_hw_ld_31 (load_over_err_eq_31),
1561 .eq_tail_overr_hw_ld_32 (load_over_err_eq_32),
1562 .eq_tail_overr_hw_ld_33 (load_over_err_eq_33),
1563 .eq_tail_overr_hw_ld_34 (load_over_err_eq_34),
1564 .eq_tail_overr_hw_ld_35 (load_over_err_eq_35),
1565
1566
1567 .eq_tail_overr_hw_write_0 (data_over_err_eq_0),
1568 .eq_tail_overr_hw_write_1 (data_over_err_eq_1),
1569 .eq_tail_overr_hw_write_2 (data_over_err_eq_2),
1570 .eq_tail_overr_hw_write_3 (data_over_err_eq_3),
1571 .eq_tail_overr_hw_write_4 (data_over_err_eq_4),
1572 .eq_tail_overr_hw_write_5 (data_over_err_eq_5),
1573 .eq_tail_overr_hw_write_6 (data_over_err_eq_6),
1574 .eq_tail_overr_hw_write_7 (data_over_err_eq_7),
1575 .eq_tail_overr_hw_write_8 (data_over_err_eq_8),
1576 .eq_tail_overr_hw_write_9 (data_over_err_eq_9),
1577 .eq_tail_overr_hw_write_10 (data_over_err_eq_10),
1578 .eq_tail_overr_hw_write_11 (data_over_err_eq_11),
1579 .eq_tail_overr_hw_write_12 (data_over_err_eq_12),
1580 .eq_tail_overr_hw_write_13 (data_over_err_eq_13),
1581 .eq_tail_overr_hw_write_14 (data_over_err_eq_14),
1582 .eq_tail_overr_hw_write_15 (data_over_err_eq_15),
1583 .eq_tail_overr_hw_write_16 (data_over_err_eq_16),
1584 .eq_tail_overr_hw_write_17 (data_over_err_eq_17),
1585 .eq_tail_overr_hw_write_18 (data_over_err_eq_18),
1586 .eq_tail_overr_hw_write_19 (data_over_err_eq_19),
1587 .eq_tail_overr_hw_write_20 (data_over_err_eq_20),
1588 .eq_tail_overr_hw_write_21 (data_over_err_eq_21),
1589 .eq_tail_overr_hw_write_22 (data_over_err_eq_22),
1590 .eq_tail_overr_hw_write_23 (data_over_err_eq_23),
1591 .eq_tail_overr_hw_write_24 (data_over_err_eq_24),
1592 .eq_tail_overr_hw_write_25 (data_over_err_eq_25),
1593 .eq_tail_overr_hw_write_26 (data_over_err_eq_26),
1594 .eq_tail_overr_hw_write_27 (data_over_err_eq_27),
1595 .eq_tail_overr_hw_write_28 (data_over_err_eq_28),
1596 .eq_tail_overr_hw_write_29 (data_over_err_eq_29),
1597 .eq_tail_overr_hw_write_30 (data_over_err_eq_30),
1598 .eq_tail_overr_hw_write_31 (data_over_err_eq_31),
1599 .eq_tail_overr_hw_write_32 (data_over_err_eq_32),
1600 .eq_tail_overr_hw_write_33 (data_over_err_eq_33),
1601 .eq_tail_overr_hw_write_34 (data_over_err_eq_34),
1602 .eq_tail_overr_hw_write_35 (data_over_err_eq_35),
1603
1604
1605 .eq_tail_tail_hw_ld_0 (t_ptr_inc_sel_0),
1606 .eq_tail_tail_hw_ld_1 (t_ptr_inc_sel_1),
1607 .eq_tail_tail_hw_ld_2 (t_ptr_inc_sel_2),
1608 .eq_tail_tail_hw_ld_3 (t_ptr_inc_sel_3),
1609 .eq_tail_tail_hw_ld_4 (t_ptr_inc_sel_4),
1610 .eq_tail_tail_hw_ld_5 (t_ptr_inc_sel_5),
1611 .eq_tail_tail_hw_ld_6 (t_ptr_inc_sel_6),
1612 .eq_tail_tail_hw_ld_7 (t_ptr_inc_sel_7),
1613 .eq_tail_tail_hw_ld_8 (t_ptr_inc_sel_8),
1614 .eq_tail_tail_hw_ld_9 (t_ptr_inc_sel_9),
1615 .eq_tail_tail_hw_ld_10 (t_ptr_inc_sel_10),
1616 .eq_tail_tail_hw_ld_11 (t_ptr_inc_sel_11),
1617 .eq_tail_tail_hw_ld_12 (t_ptr_inc_sel_12),
1618 .eq_tail_tail_hw_ld_13 (t_ptr_inc_sel_13),
1619 .eq_tail_tail_hw_ld_14 (t_ptr_inc_sel_14),
1620 .eq_tail_tail_hw_ld_15 (t_ptr_inc_sel_15),
1621 .eq_tail_tail_hw_ld_16 (t_ptr_inc_sel_16),
1622 .eq_tail_tail_hw_ld_17 (t_ptr_inc_sel_17),
1623 .eq_tail_tail_hw_ld_18 (t_ptr_inc_sel_18),
1624 .eq_tail_tail_hw_ld_19 (t_ptr_inc_sel_19),
1625 .eq_tail_tail_hw_ld_20 (t_ptr_inc_sel_20),
1626 .eq_tail_tail_hw_ld_21 (t_ptr_inc_sel_21),
1627 .eq_tail_tail_hw_ld_22 (t_ptr_inc_sel_22),
1628 .eq_tail_tail_hw_ld_23 (t_ptr_inc_sel_23),
1629 .eq_tail_tail_hw_ld_24 (t_ptr_inc_sel_24),
1630 .eq_tail_tail_hw_ld_25 (t_ptr_inc_sel_25),
1631 .eq_tail_tail_hw_ld_26 (t_ptr_inc_sel_26),
1632 .eq_tail_tail_hw_ld_27 (t_ptr_inc_sel_27),
1633 .eq_tail_tail_hw_ld_28 (t_ptr_inc_sel_28),
1634 .eq_tail_tail_hw_ld_29 (t_ptr_inc_sel_29),
1635 .eq_tail_tail_hw_ld_30 (t_ptr_inc_sel_30),
1636 .eq_tail_tail_hw_ld_31 (t_ptr_inc_sel_31),
1637 .eq_tail_tail_hw_ld_32 (t_ptr_inc_sel_32),
1638 .eq_tail_tail_hw_ld_33 (t_ptr_inc_sel_33),
1639 .eq_tail_tail_hw_ld_34 (t_ptr_inc_sel_34),
1640 .eq_tail_tail_hw_ld_35 (t_ptr_inc_sel_35),
1641
1642
1643 .eq_tail_tail_hw_write_0 (t_ptr_inc_0),
1644 .eq_tail_tail_hw_write_1 (t_ptr_inc_1),
1645 .eq_tail_tail_hw_write_2 (t_ptr_inc_2),
1646 .eq_tail_tail_hw_write_3 (t_ptr_inc_3),
1647 .eq_tail_tail_hw_write_4 (t_ptr_inc_4),
1648 .eq_tail_tail_hw_write_5 (t_ptr_inc_5),
1649 .eq_tail_tail_hw_write_6 (t_ptr_inc_6),
1650 .eq_tail_tail_hw_write_7 (t_ptr_inc_7),
1651 .eq_tail_tail_hw_write_8 (t_ptr_inc_8),
1652 .eq_tail_tail_hw_write_9 (t_ptr_inc_9),
1653 .eq_tail_tail_hw_write_10 (t_ptr_inc_10),
1654 .eq_tail_tail_hw_write_11 (t_ptr_inc_11),
1655 .eq_tail_tail_hw_write_12 (t_ptr_inc_12),
1656 .eq_tail_tail_hw_write_13 (t_ptr_inc_13),
1657 .eq_tail_tail_hw_write_14 (t_ptr_inc_14),
1658 .eq_tail_tail_hw_write_15 (t_ptr_inc_15),
1659 .eq_tail_tail_hw_write_16 (t_ptr_inc_16),
1660 .eq_tail_tail_hw_write_17 (t_ptr_inc_17),
1661 .eq_tail_tail_hw_write_18 (t_ptr_inc_18),
1662 .eq_tail_tail_hw_write_19 (t_ptr_inc_19),
1663 .eq_tail_tail_hw_write_20 (t_ptr_inc_20),
1664 .eq_tail_tail_hw_write_21 (t_ptr_inc_21),
1665 .eq_tail_tail_hw_write_22 (t_ptr_inc_22),
1666 .eq_tail_tail_hw_write_23 (t_ptr_inc_23),
1667 .eq_tail_tail_hw_write_24 (t_ptr_inc_24),
1668 .eq_tail_tail_hw_write_25 (t_ptr_inc_25),
1669 .eq_tail_tail_hw_write_26 (t_ptr_inc_26),
1670 .eq_tail_tail_hw_write_27 (t_ptr_inc_27),
1671 .eq_tail_tail_hw_write_28 (t_ptr_inc_28),
1672 .eq_tail_tail_hw_write_29 (t_ptr_inc_29),
1673 .eq_tail_tail_hw_write_30 (t_ptr_inc_30),
1674 .eq_tail_tail_hw_write_31 (t_ptr_inc_31),
1675 .eq_tail_tail_hw_write_32 (t_ptr_inc_32),
1676 .eq_tail_tail_hw_write_33 (t_ptr_inc_33),
1677 .eq_tail_tail_hw_write_34 (t_ptr_inc_34),
1678 .eq_tail_tail_hw_write_35 (t_ptr_inc_35),
1679
1680
1681 .eq_tail_tail_hw_read_0 (t_ptr_0),
1682 .eq_tail_tail_hw_read_1 (t_ptr_1),
1683 .eq_tail_tail_hw_read_2 (t_ptr_2),
1684 .eq_tail_tail_hw_read_3 (t_ptr_3),
1685 .eq_tail_tail_hw_read_4 (t_ptr_4),
1686 .eq_tail_tail_hw_read_5 (t_ptr_5),
1687 .eq_tail_tail_hw_read_6 (t_ptr_6),
1688 .eq_tail_tail_hw_read_7 (t_ptr_7),
1689 .eq_tail_tail_hw_read_8 (t_ptr_8),
1690 .eq_tail_tail_hw_read_9 (t_ptr_9),
1691 .eq_tail_tail_hw_read_10 (t_ptr_10),
1692 .eq_tail_tail_hw_read_11 (t_ptr_11),
1693 .eq_tail_tail_hw_read_12 (t_ptr_12),
1694 .eq_tail_tail_hw_read_13 (t_ptr_13),
1695 .eq_tail_tail_hw_read_14 (t_ptr_14),
1696 .eq_tail_tail_hw_read_15 (t_ptr_15),
1697 .eq_tail_tail_hw_read_16 (t_ptr_16),
1698 .eq_tail_tail_hw_read_17 (t_ptr_17),
1699 .eq_tail_tail_hw_read_18 (t_ptr_18),
1700 .eq_tail_tail_hw_read_19 (t_ptr_19),
1701 .eq_tail_tail_hw_read_20 (t_ptr_20),
1702 .eq_tail_tail_hw_read_21 (t_ptr_21),
1703 .eq_tail_tail_hw_read_22 (t_ptr_22),
1704 .eq_tail_tail_hw_read_23 (t_ptr_23),
1705 .eq_tail_tail_hw_read_24 (t_ptr_24),
1706 .eq_tail_tail_hw_read_25 (t_ptr_25),
1707 .eq_tail_tail_hw_read_26 (t_ptr_26),
1708 .eq_tail_tail_hw_read_27 (t_ptr_27),
1709 .eq_tail_tail_hw_read_28 (t_ptr_28),
1710 .eq_tail_tail_hw_read_29 (t_ptr_29),
1711 .eq_tail_tail_hw_read_30 (t_ptr_30),
1712 .eq_tail_tail_hw_read_31 (t_ptr_31),
1713 .eq_tail_tail_hw_read_32 (t_ptr_32),
1714 .eq_tail_tail_hw_read_33 (t_ptr_33),
1715 .eq_tail_tail_hw_read_34 (t_ptr_34),
1716 .eq_tail_tail_hw_read_35 (t_ptr_35),
1717
1718
1719 .eq_head_head_hw_read_0 (h_ptr_0),
1720 .eq_head_head_hw_read_1 (h_ptr_1),
1721 .eq_head_head_hw_read_2 (h_ptr_2),
1722 .eq_head_head_hw_read_3 (h_ptr_3),
1723 .eq_head_head_hw_read_4 (h_ptr_4),
1724 .eq_head_head_hw_read_5 (h_ptr_5),
1725 .eq_head_head_hw_read_6 (h_ptr_6),
1726 .eq_head_head_hw_read_7 (h_ptr_7),
1727 .eq_head_head_hw_read_8 (h_ptr_8),
1728 .eq_head_head_hw_read_9 (h_ptr_9),
1729 .eq_head_head_hw_read_10 (h_ptr_10),
1730 .eq_head_head_hw_read_11 (h_ptr_11),
1731 .eq_head_head_hw_read_12 (h_ptr_12),
1732 .eq_head_head_hw_read_13 (h_ptr_13),
1733 .eq_head_head_hw_read_14 (h_ptr_14),
1734 .eq_head_head_hw_read_15 (h_ptr_15),
1735 .eq_head_head_hw_read_16 (h_ptr_16),
1736 .eq_head_head_hw_read_17 (h_ptr_17),
1737 .eq_head_head_hw_read_18 (h_ptr_18),
1738 .eq_head_head_hw_read_19 (h_ptr_19),
1739 .eq_head_head_hw_read_20 (h_ptr_20),
1740 .eq_head_head_hw_read_21 (h_ptr_21),
1741 .eq_head_head_hw_read_22 (h_ptr_22),
1742 .eq_head_head_hw_read_23 (h_ptr_23),
1743 .eq_head_head_hw_read_24 (h_ptr_24),
1744 .eq_head_head_hw_read_25 (h_ptr_25),
1745 .eq_head_head_hw_read_26 (h_ptr_26),
1746 .eq_head_head_hw_read_27 (h_ptr_27),
1747 .eq_head_head_hw_read_28 (h_ptr_28),
1748 .eq_head_head_hw_read_29 (h_ptr_29),
1749 .eq_head_head_hw_read_30 (h_ptr_30),
1750 .eq_head_head_hw_read_31 (h_ptr_31),
1751 .eq_head_head_hw_read_32 (h_ptr_32),
1752 .eq_head_head_hw_read_33 (h_ptr_33),
1753 .eq_head_head_hw_read_34 (h_ptr_34),
1754 .eq_head_head_hw_read_35 (h_ptr_35)
1755
1756 );
1757
1758
1759dmu_imu_eqs_fsm fsm_0 ( //------
1760 // EQ 0
1761 .clk (clk), //------
1762 .rst_l (rst_l),
1763
1764 .set_over_err (set_over_err_eq_0),
1765
1766
1767 .sw_wr (eq_fsm_wr),
1768 .sw_set_addr_sel (sw_set_addr_sel_eq_0),
1769 .sw_clr_addr_sel (sw_clr_addr_sel_eq_0),
1770 .sw_wr_data (eq_fsm_wr_data),
1771
1772 .eq_state (eq_state_0));
1773
1774
1775dmu_imu_eqs_fsm fsm_1 ( //------
1776 // EQ 1
1777 .clk (clk), //------
1778 .rst_l (rst_l),
1779
1780 .set_over_err (set_over_err_eq_1),
1781
1782
1783 .sw_wr (eq_fsm_wr),
1784 .sw_set_addr_sel (sw_set_addr_sel_eq_1),
1785 .sw_clr_addr_sel (sw_clr_addr_sel_eq_1),
1786 .sw_wr_data (eq_fsm_wr_data),
1787
1788 .eq_state (eq_state_1));
1789
1790dmu_imu_eqs_fsm fsm_2 ( //------
1791 // EQ 2
1792 .clk (clk), //------
1793 .rst_l (rst_l),
1794
1795 .set_over_err (set_over_err_eq_2),
1796
1797 .sw_wr (eq_fsm_wr),
1798 .sw_set_addr_sel (sw_set_addr_sel_eq_2),
1799 .sw_clr_addr_sel (sw_clr_addr_sel_eq_2),
1800 .sw_wr_data (eq_fsm_wr_data),
1801
1802 .eq_state (eq_state_2));
1803
1804
1805dmu_imu_eqs_fsm fsm_3 ( //------
1806 // EQ 3
1807 .clk (clk), //------
1808 .rst_l (rst_l),
1809
1810 .set_over_err (set_over_err_eq_3),
1811
1812 .sw_wr (eq_fsm_wr),
1813 .sw_set_addr_sel (sw_set_addr_sel_eq_3),
1814 .sw_clr_addr_sel (sw_clr_addr_sel_eq_3),
1815 .sw_wr_data (eq_fsm_wr_data),
1816
1817 .eq_state (eq_state_3));
1818
1819
1820dmu_imu_eqs_fsm fsm_4 ( //------
1821 // EQ 4
1822 .clk (clk), //------
1823 .rst_l (rst_l),
1824
1825 .set_over_err (set_over_err_eq_4),
1826
1827 .sw_wr (eq_fsm_wr),
1828 .sw_set_addr_sel (sw_set_addr_sel_eq_4),
1829 .sw_clr_addr_sel (sw_clr_addr_sel_eq_4),
1830 .sw_wr_data (eq_fsm_wr_data),
1831
1832 .eq_state (eq_state_4));
1833
1834dmu_imu_eqs_fsm fsm_5 ( //------
1835 // EQ 5
1836 .clk (clk), //------
1837 .rst_l (rst_l),
1838
1839 .set_over_err (set_over_err_eq_5),
1840
1841 .sw_wr (eq_fsm_wr),
1842 .sw_set_addr_sel (sw_set_addr_sel_eq_5),
1843 .sw_clr_addr_sel (sw_clr_addr_sel_eq_5),
1844 .sw_wr_data (eq_fsm_wr_data),
1845
1846 .eq_state (eq_state_5));
1847
1848dmu_imu_eqs_fsm fsm_6 ( //------
1849 // EQ 6
1850 .clk (clk), //------
1851 .rst_l (rst_l),
1852
1853 .set_over_err (set_over_err_eq_6),
1854
1855 .sw_wr (eq_fsm_wr),
1856 .sw_set_addr_sel (sw_set_addr_sel_eq_6),
1857 .sw_clr_addr_sel (sw_clr_addr_sel_eq_6),
1858 .sw_wr_data (eq_fsm_wr_data),
1859
1860 .eq_state (eq_state_6));
1861
1862
1863dmu_imu_eqs_fsm fsm_7 ( //------
1864 // EQ 7
1865 .clk (clk), //------
1866 .rst_l (rst_l),
1867
1868 .set_over_err (set_over_err_eq_7),
1869
1870 .sw_wr (eq_fsm_wr),
1871 .sw_set_addr_sel (sw_set_addr_sel_eq_7),
1872 .sw_clr_addr_sel (sw_clr_addr_sel_eq_7),
1873 .sw_wr_data (eq_fsm_wr_data),
1874
1875 .eq_state (eq_state_7));
1876
1877dmu_imu_eqs_fsm fsm_8 ( //------
1878 // EQ 8
1879 .clk (clk), //------
1880 .rst_l (rst_l),
1881
1882 .set_over_err (set_over_err_eq_8),
1883
1884 .sw_wr (eq_fsm_wr),
1885 .sw_set_addr_sel (sw_set_addr_sel_eq_8),
1886 .sw_clr_addr_sel (sw_clr_addr_sel_eq_8),
1887 .sw_wr_data (eq_fsm_wr_data),
1888
1889 .eq_state (eq_state_8));
1890
1891dmu_imu_eqs_fsm fsm_9 ( //------
1892 // EQ 9
1893 .clk (clk), //------
1894 .rst_l (rst_l),
1895
1896 .set_over_err (set_over_err_eq_9),
1897
1898 .sw_wr (eq_fsm_wr),
1899 .sw_set_addr_sel (sw_set_addr_sel_eq_9),
1900 .sw_clr_addr_sel (sw_clr_addr_sel_eq_9),
1901 .sw_wr_data (eq_fsm_wr_data),
1902
1903 .eq_state (eq_state_9));
1904
1905
1906dmu_imu_eqs_fsm fsm_10 ( //------
1907 // EQ 10
1908 .clk (clk), //------
1909 .rst_l (rst_l),
1910
1911 .set_over_err (set_over_err_eq_10),
1912
1913 .sw_wr (eq_fsm_wr),
1914 .sw_set_addr_sel (sw_set_addr_sel_eq_10),
1915 .sw_clr_addr_sel (sw_clr_addr_sel_eq_10),
1916 .sw_wr_data (eq_fsm_wr_data),
1917
1918 .eq_state (eq_state_10));
1919
1920dmu_imu_eqs_fsm fsm_11 ( //------
1921 // EQ 11
1922 .clk (clk), //------
1923 .rst_l (rst_l),
1924
1925 .set_over_err (set_over_err_eq_11),
1926
1927 .sw_wr (eq_fsm_wr),
1928 .sw_set_addr_sel (sw_set_addr_sel_eq_11),
1929 .sw_clr_addr_sel (sw_clr_addr_sel_eq_11),
1930 .sw_wr_data (eq_fsm_wr_data),
1931
1932 .eq_state (eq_state_11));
1933
1934dmu_imu_eqs_fsm fsm_12 ( //------
1935 // EQ 12
1936 .clk (clk), //------
1937 .rst_l (rst_l),
1938
1939 .set_over_err (set_over_err_eq_12),
1940
1941 .sw_wr (eq_fsm_wr),
1942 .sw_set_addr_sel (sw_set_addr_sel_eq_12),
1943 .sw_clr_addr_sel (sw_clr_addr_sel_eq_12),
1944 .sw_wr_data (eq_fsm_wr_data),
1945
1946 .eq_state (eq_state_12));
1947
1948
1949dmu_imu_eqs_fsm fsm_13 ( //------
1950 // EQ 13
1951 .clk (clk), //------
1952 .rst_l (rst_l),
1953
1954 .set_over_err (set_over_err_eq_13),
1955
1956 .sw_wr (eq_fsm_wr),
1957 .sw_set_addr_sel (sw_set_addr_sel_eq_13),
1958 .sw_clr_addr_sel (sw_clr_addr_sel_eq_13),
1959 .sw_wr_data (eq_fsm_wr_data),
1960
1961 .eq_state (eq_state_13));
1962
1963dmu_imu_eqs_fsm fsm_14 ( //------
1964 // EQ 14
1965 .clk (clk), //------
1966 .rst_l (rst_l),
1967
1968 .set_over_err (set_over_err_eq_14),
1969
1970 .sw_wr (eq_fsm_wr),
1971 .sw_set_addr_sel (sw_set_addr_sel_eq_14),
1972 .sw_clr_addr_sel (sw_clr_addr_sel_eq_14),
1973 .sw_wr_data (eq_fsm_wr_data),
1974
1975 .eq_state (eq_state_14));
1976
1977dmu_imu_eqs_fsm fsm_15 ( //------
1978 // EQ 15
1979 .clk (clk), //------
1980 .rst_l (rst_l),
1981
1982 .set_over_err (set_over_err_eq_15),
1983
1984 .sw_wr (eq_fsm_wr),
1985 .sw_set_addr_sel (sw_set_addr_sel_eq_15),
1986 .sw_clr_addr_sel (sw_clr_addr_sel_eq_15),
1987 .sw_wr_data (eq_fsm_wr_data),
1988
1989 .eq_state (eq_state_15));
1990
1991
1992
1993dmu_imu_eqs_fsm fsm_16 ( //------
1994 // EQ 16
1995 .clk (clk), //------
1996 .rst_l (rst_l),
1997
1998 .set_over_err (set_over_err_eq_16),
1999
2000 .sw_wr (eq_fsm_wr),
2001 .sw_set_addr_sel (sw_set_addr_sel_eq_16),
2002 .sw_clr_addr_sel (sw_clr_addr_sel_eq_16),
2003 .sw_wr_data (eq_fsm_wr_data),
2004
2005 .eq_state (eq_state_16));
2006
2007
2008dmu_imu_eqs_fsm fsm_17 ( //------
2009 // EQ 17
2010 .clk (clk), //------
2011 .rst_l (rst_l),
2012
2013 .set_over_err (set_over_err_eq_17),
2014
2015 .sw_wr (eq_fsm_wr),
2016 .sw_set_addr_sel (sw_set_addr_sel_eq_17),
2017 .sw_clr_addr_sel (sw_clr_addr_sel_eq_17),
2018 .sw_wr_data (eq_fsm_wr_data),
2019
2020 .eq_state (eq_state_17));
2021
2022dmu_imu_eqs_fsm fsm_18 ( //------
2023 // EQ 18
2024 .clk (clk), //------
2025 .rst_l (rst_l),
2026
2027 .set_over_err (set_over_err_eq_18),
2028
2029 .sw_wr (eq_fsm_wr),
2030 .sw_set_addr_sel (sw_set_addr_sel_eq_18),
2031 .sw_clr_addr_sel (sw_clr_addr_sel_eq_18),
2032 .sw_wr_data (eq_fsm_wr_data),
2033
2034 .eq_state (eq_state_18));
2035
2036dmu_imu_eqs_fsm fsm_19 ( //------
2037 // EQ 19
2038 .clk (clk), //------
2039 .rst_l (rst_l),
2040
2041 .set_over_err (set_over_err_eq_19),
2042
2043 .sw_wr (eq_fsm_wr),
2044 .sw_set_addr_sel (sw_set_addr_sel_eq_19),
2045 .sw_clr_addr_sel (sw_clr_addr_sel_eq_19),
2046 .sw_wr_data (eq_fsm_wr_data),
2047
2048 .eq_state (eq_state_19));
2049
2050
2051
2052dmu_imu_eqs_fsm fsm_20 ( //------
2053 // EQ 20
2054 .clk (clk), //------
2055 .rst_l (rst_l),
2056
2057 .set_over_err (set_over_err_eq_20),
2058
2059
2060 .sw_wr (eq_fsm_wr),
2061 .sw_set_addr_sel (sw_set_addr_sel_eq_20),
2062 .sw_clr_addr_sel (sw_clr_addr_sel_eq_20),
2063 .sw_wr_data (eq_fsm_wr_data),
2064
2065 .eq_state (eq_state_20));
2066
2067
2068dmu_imu_eqs_fsm fsm_21 ( //------
2069 // EQ 21
2070 .clk (clk), //------
2071 .rst_l (rst_l),
2072
2073 .set_over_err (set_over_err_eq_21),
2074
2075
2076 .sw_wr (eq_fsm_wr),
2077 .sw_set_addr_sel (sw_set_addr_sel_eq_21),
2078 .sw_clr_addr_sel (sw_clr_addr_sel_eq_21),
2079 .sw_wr_data (eq_fsm_wr_data),
2080
2081 .eq_state (eq_state_21));
2082
2083dmu_imu_eqs_fsm fsm_22 ( //------
2084 // EQ 22
2085 .clk (clk), //------
2086 .rst_l (rst_l),
2087
2088 .set_over_err (set_over_err_eq_22),
2089
2090 .sw_wr (eq_fsm_wr),
2091 .sw_set_addr_sel (sw_set_addr_sel_eq_22),
2092 .sw_clr_addr_sel (sw_clr_addr_sel_eq_22),
2093 .sw_wr_data (eq_fsm_wr_data),
2094
2095 .eq_state (eq_state_22));
2096
2097
2098dmu_imu_eqs_fsm fsm_23 ( //------
2099 // EQ 23
2100 .clk (clk), //------
2101 .rst_l (rst_l),
2102
2103 .set_over_err (set_over_err_eq_23),
2104
2105 .sw_wr (eq_fsm_wr),
2106 .sw_set_addr_sel (sw_set_addr_sel_eq_23),
2107 .sw_clr_addr_sel (sw_clr_addr_sel_eq_23),
2108 .sw_wr_data (eq_fsm_wr_data),
2109
2110 .eq_state (eq_state_23));
2111
2112
2113dmu_imu_eqs_fsm fsm_24 ( //------
2114 // EQ 24
2115 .clk (clk), //------
2116 .rst_l (rst_l),
2117
2118 .set_over_err (set_over_err_eq_24),
2119
2120 .sw_wr (eq_fsm_wr),
2121 .sw_set_addr_sel (sw_set_addr_sel_eq_24),
2122 .sw_clr_addr_sel (sw_clr_addr_sel_eq_24),
2123 .sw_wr_data (eq_fsm_wr_data),
2124
2125 .eq_state (eq_state_24));
2126
2127dmu_imu_eqs_fsm fsm_25 ( //------
2128 // EQ 25
2129 .clk (clk), //------
2130 .rst_l (rst_l),
2131
2132 .set_over_err (set_over_err_eq_25),
2133
2134 .sw_wr (eq_fsm_wr),
2135 .sw_set_addr_sel (sw_set_addr_sel_eq_25),
2136 .sw_clr_addr_sel (sw_clr_addr_sel_eq_25),
2137 .sw_wr_data (eq_fsm_wr_data),
2138
2139 .eq_state (eq_state_25));
2140
2141dmu_imu_eqs_fsm fsm_26 ( //------
2142 // EQ 26
2143 .clk (clk), //------
2144 .rst_l (rst_l),
2145
2146 .set_over_err (set_over_err_eq_26),
2147
2148 .sw_wr (eq_fsm_wr),
2149 .sw_set_addr_sel (sw_set_addr_sel_eq_26),
2150 .sw_clr_addr_sel (sw_clr_addr_sel_eq_26),
2151 .sw_wr_data (eq_fsm_wr_data),
2152
2153 .eq_state (eq_state_26));
2154
2155
2156dmu_imu_eqs_fsm fsm_27 ( //------
2157 // EQ 27
2158 .clk (clk), //------
2159 .rst_l (rst_l),
2160
2161 .set_over_err (set_over_err_eq_27),
2162
2163 .sw_wr (eq_fsm_wr),
2164 .sw_set_addr_sel (sw_set_addr_sel_eq_27),
2165 .sw_clr_addr_sel (sw_clr_addr_sel_eq_27),
2166 .sw_wr_data (eq_fsm_wr_data),
2167
2168 .eq_state (eq_state_27));
2169
2170dmu_imu_eqs_fsm fsm_28 ( //------
2171 // EQ 28
2172 .clk (clk), //------
2173 .rst_l (rst_l),
2174
2175 .set_over_err (set_over_err_eq_28),
2176
2177 .sw_wr (eq_fsm_wr),
2178 .sw_set_addr_sel (sw_set_addr_sel_eq_28),
2179 .sw_clr_addr_sel (sw_clr_addr_sel_eq_28),
2180 .sw_wr_data (eq_fsm_wr_data),
2181
2182 .eq_state (eq_state_28));
2183
2184dmu_imu_eqs_fsm fsm_29 ( //------
2185 // EQ 29
2186 .clk (clk), //------
2187 .rst_l (rst_l),
2188
2189 .set_over_err (set_over_err_eq_29),
2190
2191 .sw_wr (eq_fsm_wr),
2192 .sw_set_addr_sel (sw_set_addr_sel_eq_29),
2193 .sw_clr_addr_sel (sw_clr_addr_sel_eq_29),
2194 .sw_wr_data (eq_fsm_wr_data),
2195
2196 .eq_state (eq_state_29));
2197
2198
2199
2200
2201dmu_imu_eqs_fsm fsm_30 ( //------
2202 // EQ 30
2203 .clk (clk), //------
2204 .rst_l (rst_l),
2205
2206 .set_over_err (set_over_err_eq_30),
2207
2208
2209 .sw_wr (eq_fsm_wr),
2210 .sw_set_addr_sel (sw_set_addr_sel_eq_30),
2211 .sw_clr_addr_sel (sw_clr_addr_sel_eq_30),
2212 .sw_wr_data (eq_fsm_wr_data),
2213
2214 .eq_state (eq_state_30));
2215
2216
2217dmu_imu_eqs_fsm fsm_31 ( //------
2218 // EQ 31
2219 .clk (clk), //------
2220 .rst_l (rst_l),
2221
2222 .set_over_err (set_over_err_eq_31),
2223
2224
2225 .sw_wr (eq_fsm_wr),
2226 .sw_set_addr_sel (sw_set_addr_sel_eq_31),
2227 .sw_clr_addr_sel (sw_clr_addr_sel_eq_31),
2228 .sw_wr_data (eq_fsm_wr_data),
2229
2230 .eq_state (eq_state_31));
2231
2232dmu_imu_eqs_fsm fsm_32 ( //------
2233 // EQ 32
2234 .clk (clk), //------
2235 .rst_l (rst_l),
2236
2237 .set_over_err (set_over_err_eq_32),
2238
2239 .sw_wr (eq_fsm_wr),
2240 .sw_set_addr_sel (sw_set_addr_sel_eq_32),
2241 .sw_clr_addr_sel (sw_clr_addr_sel_eq_32),
2242 .sw_wr_data (eq_fsm_wr_data),
2243
2244 .eq_state (eq_state_32));
2245
2246
2247dmu_imu_eqs_fsm fsm_33 ( //------
2248 // EQ 33
2249 .clk (clk), //------
2250 .rst_l (rst_l),
2251
2252 .set_over_err (set_over_err_eq_33),
2253
2254 .sw_wr (eq_fsm_wr),
2255 .sw_set_addr_sel (sw_set_addr_sel_eq_33),
2256 .sw_clr_addr_sel (sw_clr_addr_sel_eq_33),
2257 .sw_wr_data (eq_fsm_wr_data),
2258
2259 .eq_state (eq_state_33));
2260
2261
2262dmu_imu_eqs_fsm fsm_34 ( //------
2263 // EQ 34
2264 .clk (clk), //------
2265 .rst_l (rst_l),
2266
2267 .set_over_err (set_over_err_eq_34),
2268
2269 .sw_wr (eq_fsm_wr),
2270 .sw_set_addr_sel (sw_set_addr_sel_eq_34),
2271 .sw_clr_addr_sel (sw_clr_addr_sel_eq_34),
2272 .sw_wr_data (eq_fsm_wr_data),
2273
2274 .eq_state (eq_state_34));
2275
2276dmu_imu_eqs_fsm fsm_35 ( //------
2277 // EQ 35
2278 .clk (clk), //------
2279 .rst_l (rst_l),
2280
2281 .set_over_err (set_over_err_eq_35),
2282
2283 .sw_wr (eq_fsm_wr),
2284 .sw_set_addr_sel (sw_set_addr_sel_eq_35),
2285 .sw_clr_addr_sel (sw_clr_addr_sel_eq_35),
2286 .sw_wr_data (eq_fsm_wr_data),
2287
2288 .eq_state (eq_state_35));
2289
2290
2291
2292endmodule