Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / libs / n2sram / cams / n2_niu_tc_128x200s_cust_l / n2_niu_tc_128x200s_cust / rtl / n2_niu_tc_128x200s_cust.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: n2_niu_tc_128x200s_cust.v
4// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
5// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
6//
7// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8//
9// This program is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; version 2 of the License.
12//
13// This program is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// For the avoidance of doubt, and except that if any non-GPL license
23// choice is available it will apply instead, Sun elects to use only
24// the General Public License version 2 (GPLv2) at this time for any
25// software where a choice of GPL license versions is made
26// available with the language indicating that GPLv2 or any later version
27// may be used, or where a choice of which version of the GPL is applied is
28// otherwise unspecified.
29//
30// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
31// CA 95054 USA or visit www.sun.com if you need additional information or
32// have any questions.
33//
34// ========== Copyright Header End ============================================
35`define NIU_SCAM_IDL 3'b000
36`define NIU_SCAM_CMP1 3'b001
37`define NIU_SCAM_CMP2 3'b010
38`define NIU_SCAM_CMP3 3'b100
39
40`define NIU_SCAM_PIO_W_IDL 2'b00
41`define NIU_SCAM_PIO_W1 2'b01
42`define NIU_SCAM_PIO_W2 2'b10
43
44`define NIU_SCAM_PIO_R_IDL 2'b00
45`define NIU_SCAM_PIO_R1 2'b01
46`define NIU_SCAM_PIO_R2 2'b10
47
48module n2_niu_tc_128x200s_cust (
49 data_inp,
50 cam_compare,
51 pio_wt,
52 pio_rd,
53 pio_sel,
54 cam_index,
55 reset,
56 clk,
57 tcu_se_scancollar_in,
58 tcu_se_scancollar_out,
59 tcu_array_wr_inhibit,
60 tcu_aclk,
61 tcu_bclk,
62 tcu_pce_ov,
63 pce,
64 scan_in,
65 scan_out,
66 cam_valid,
67 cam_hit,
68 cam_haddr,
69 pio_rd_vld,
70 msk_dat_out);
71
72
73
74input [199:0] data_inp; // compare_data/pio_data_input
75input cam_compare; // initiate compare operation
76input pio_wt; // if 1, pio writes to cam's data or mask or valid planes.
77input pio_rd; // if 1, pio reads from cam's data or mask or valid planes.
78input pio_sel; // pio access cam's mask<=1, data<=0 plane
79input [6:0] cam_index; // pio access address, N2: {1'b0,cam_index[6:0]}
80input reset;
81input clk;
82
83input tcu_se_scancollar_in; // dft - se for input flops default=0
84input tcu_se_scancollar_out; // dft - se for output flops default=0
85input tcu_array_wr_inhibit; // dft - write inhibit during scan default=0
86input tcu_aclk; // dft - scan clock a default=0
87input tcu_bclk; // dft - scan clock b default=0
88input scan_in; // dft - scan in default= previous flop output
89
90input tcu_pce_ov;
91input pce;
92
93
94output scan_out; // dft - scan out
95
96output cam_valid; // if 1, cam is ready to accept a new comparison
97output cam_hit; // if 1, there is a cam match/hit
98output [6:0] cam_haddr; // index of a cam match/hit entry, N2: {1'b0,haddr[6:0]}
99output pio_rd_vld; // pio_read_out_data valid for the core_clk domain
100output [199:0] msk_dat_out; // pio data read out of cam's mask or data plane
101
102wire cam_valid;
103wire cam_hit;
104wire [6:0] cam_haddr;
105wire pio_rd_vld;
106wire [199:0] msk_dat_out;
107wire scan_out;
108
109// ----------- wire definition --------------------
110
111wire [199:0] saout;
112wire [199:0] din;
113wire hit;
114wire [6:0] haddr;
115wire cp3;
116wire sel_msk;
117wire [6:0] index;
118wire r_en_b;
119wire w_en_b;
120wire k_en_b;
121wire [127:0] ml_sout;
122
123
124wire [6:0] so_haddr;
125wire siclk;
126wire soclk;
127wire [199:0] so_in;
128wire [199:0] so_out;
129wire [6:0] haddr_in;
130wire [6:0] so_index;
131wire hit_in;
132wire pio_sel_in;
133wire l1clk;
134wire rw1;
135/*--------------------------------------------------------*/
136wire [2:0] c_scam_st;
137wire [1:0] c_pio_w_st;
138wire [1:0] c_pio_r_st;
139
140wire [2:0] n_scam_st_in;
141wire [1:0] n_pio_w_st_in;
142wire [1:0] n_pio_r_st_in;
143
144reg [2:0] n_scam_st;
145reg [1:0] n_pio_w_st;
146reg [1:0] n_pio_r_st;
147
148wire compare_d;
149wire write_d;
150wire read_d;
151wire compare_in;
152wire pio_rd_in;
153wire pio_wt_in;
154wire cam_compare_sm;
155wire pio_wt_sm;
156wire pio_rd_sm;
157
158wire rd_vld;
159wire cam_vld;
160wire l1clk_out;
161
162wire so_camvld;
163wire so_rdvld;
164wire so_comp;
165wire so_wrt;
166wire so_read;
167wire [1:0] so_rst;
168wire [2:0] so_cst;
169wire [1:0] so_wst;
170
171
172integer j;
173// input flops
174 assign pio_sel_in = (rw1 && sel_msk) || (!rw1 && pio_sel);
175 assign compare_in = cam_compare && !reset;
176 assign pio_rd_in = pio_rd && !reset;
177 assign pio_wt_in = pio_wt && !reset;
178 assign n_scam_st_in = n_scam_st[2:0] & ({3{!reset}});
179 assign n_pio_r_st_in = n_pio_r_st[1:0] & ({2{!reset}});
180 assign n_pio_w_st_in = n_pio_w_st[1:0] & ({2{!reset}});
181
182// output flops
183 assign cam_vld = c_scam_st[2] && !reset;
184 assign rd_vld = c_pio_r_st[1] && !reset;
185 assign hit_in = cp3 & !reset & hit;
186 assign haddr_in[6:0] = {7{cp3}} & {7{hit}} & {7{!reset}} & haddr[6:0];
187
188 assign scan_out = so_out[0];
189
190/**********************************************************/
191
192/**********************************************************/
193 assign w_en_b = !(!(c_scam_st[0] || c_scam_st[1] || c_scam_st[2]) &&
194 c_pio_w_st[0]) ||
195 tcu_array_wr_inhibit;
196
197 assign r_en_b = !(( (c_pio_r_st[0] && !c_scam_st[0]) ||
198 (c_pio_r_st[1] && c_scam_st[1]) ) &&
199 !( c_pio_w_st[0] || c_pio_w_st[1]) )
200 || tcu_array_wr_inhibit;
201
202 assign k_en_b = !c_scam_st[0] || tcu_array_wr_inhibit;
203 assign cp3 = c_scam_st[2];
204 assign rw1 = c_pio_r_st[0] || c_pio_w_st[0];
205
206 assign cam_compare_sm = !tcu_se_scancollar_in && cam_compare;
207 assign pio_wt_sm = !tcu_se_scancollar_in && pio_wt;
208 assign pio_rd_sm = !tcu_se_scancollar_in && pio_rd;
209/**********************************************************/
210
211 always @( cam_compare_sm or compare_d or c_scam_st
212 ) begin
213
214 n_scam_st = `NIU_SCAM_IDL;
215
216
217 case (c_scam_st) //synopsys parallel_case
218 (`NIU_SCAM_IDL):
219 begin
220 if (compare_d || cam_compare_sm) begin
221 n_scam_st = `NIU_SCAM_CMP1;
222 end
223 else begin
224 n_scam_st = `NIU_SCAM_IDL;
225 end
226 end
227 (`NIU_SCAM_CMP1):
228 begin
229 n_scam_st = `NIU_SCAM_CMP2;
230 end
231 (`NIU_SCAM_CMP2):
232 begin
233 n_scam_st = `NIU_SCAM_CMP3;
234 end
235 (`NIU_SCAM_CMP3):
236 begin
237 n_scam_st = `NIU_SCAM_IDL;
238 end
239 default:
240 begin
241 n_scam_st = `NIU_SCAM_IDL;
242 end
243 endcase
244 end
245
246/**********************************************************/
247
248 always @(pio_wt_sm or write_d or c_pio_w_st
249 ) begin
250
251 n_pio_w_st = `NIU_SCAM_PIO_W_IDL;
252
253 case (c_pio_w_st) //synopsys parallel_case
254 (`NIU_SCAM_PIO_W_IDL):
255 begin
256 if (pio_wt_sm || write_d) begin
257 n_pio_w_st = `NIU_SCAM_PIO_W1;
258 end
259 else begin
260 n_pio_w_st = `NIU_SCAM_PIO_W_IDL;
261 end
262 end
263 (`NIU_SCAM_PIO_W1):
264 begin
265 n_pio_w_st = `NIU_SCAM_PIO_W2;
266 end
267 (`NIU_SCAM_PIO_W2):
268 begin
269 if (pio_wt_sm) begin
270 n_pio_w_st = `NIU_SCAM_PIO_W1;
271 end
272 else begin
273 n_pio_w_st = `NIU_SCAM_PIO_W_IDL;
274 end
275 end
276 default:
277 begin
278 n_pio_w_st = `NIU_SCAM_PIO_W_IDL;
279 end
280 endcase
281 end
282
283
284/**********************************************************/
285
286 always @(pio_rd_sm or read_d or c_pio_r_st
287 ) begin
288
289 n_pio_r_st = `NIU_SCAM_PIO_R_IDL;
290
291 case (c_pio_r_st) //synopsys parallel_case
292 (`NIU_SCAM_PIO_R_IDL):
293 begin
294 if (pio_rd_sm|| read_d) begin
295 n_pio_r_st = `NIU_SCAM_PIO_R1;
296 end
297 else begin
298 n_pio_r_st = `NIU_SCAM_PIO_R_IDL;
299 end
300 end
301 (`NIU_SCAM_PIO_R1):
302 begin
303 n_pio_r_st = `NIU_SCAM_PIO_R2;
304 end
305 (`NIU_SCAM_PIO_R2):
306 begin
307 if (pio_rd_sm)
308 n_pio_r_st = `NIU_SCAM_PIO_R1;
309 else
310 n_pio_r_st = `NIU_SCAM_PIO_R_IDL;
311 end
312 default:
313 begin
314 n_pio_r_st = `NIU_SCAM_PIO_R_IDL;
315 end
316 endcase
317 end
318
319
320 // ---------------------- CAM's data pre_registered -------------------------
321
322// ---------------------------------- CAM's arrays -----------------------------
323 n2_tcam_array niu_tcam_ary0 (
324 .din (din),
325 .r_en_b (r_en_b),
326 .w_en_b (w_en_b),
327 .k_en_b (k_en_b),
328 .sel_msk (sel_msk),
329 .index (index),
330 .l1clk (l1clk_out),
331 .saout (saout),
332 .ml_sout (ml_sout)
333 );
334
335// ---------------------------------- CAM's priority encoder -----------------------------
336 n2_tcam_enc niu_tcam_enc0 (
337 .ml_sout (ml_sout),
338 .hit (hit),
339 .haddr (haddr)
340 );
341
342// ---------------------------------- CAM's control -----------------------------
343
344//------------------------------
345//---- clock headers ---------
346//------------------------------
347
348assign siclk = tcu_aclk;
349assign soclk = tcu_bclk;
350
351 cl_sc1_l1hdr_12x clk_in(
352 .l2clk(clk),
353 .pce(pce),
354 .l1clk(l1clk_in),
355 .se(tcu_se_scancollar_in),
356 .pce_ov(tcu_pce_ov),
357 .stop(1'b0)
358 );
359
360 cl_sc1_l1hdr_12x clk_out(
361 .l2clk(clk),
362 .pce(pce),
363 .l1clk(l1clk_out),
364 .se(tcu_se_scancollar_out),
365 .pce_ov(tcu_pce_ov),
366 .stop(1'b0)
367 );
368
369//------------------------------
370//---- din flops - left---------
371//------------------------------
372cl_sc1_msff_8x din_l_0 ( .si(scan_in ), .so(so_in[0] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[0] ), .q(din[0] ) );
373cl_sc1_msff_8x din_l_1 ( .si(so_in[0] ), .so(so_in[1] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[1] ), .q(din[1] ) );
374cl_sc1_msff_8x din_l_2 ( .si(so_in[1] ), .so(so_in[2] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[2] ), .q(din[2] ) );
375cl_sc1_msff_8x din_l_3 ( .si(so_in[2] ), .so(so_in[3] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[3] ), .q(din[3] ) );
376cl_sc1_msff_8x din_l_4 ( .si(so_in[3] ), .so(so_in[4] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[4] ), .q(din[4] ) );
377cl_sc1_msff_8x din_l_5 ( .si(so_in[4] ), .so(so_in[5] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[5] ), .q(din[5] ) );
378cl_sc1_msff_8x din_l_6 ( .si(so_in[5] ), .so(so_in[6] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[6] ), .q(din[6] ) );
379cl_sc1_msff_8x din_l_7 ( .si(so_in[6] ), .so(so_in[7] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[7] ), .q(din[7] ) );
380cl_sc1_msff_8x din_l_8 ( .si(so_in[7] ), .so(so_in[8] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[8] ), .q(din[8] ) );
381cl_sc1_msff_8x din_l_9 ( .si(so_in[8] ), .so(so_in[9] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[9] ), .q(din[9] ) );
382
383cl_sc1_msff_8x din_l_10 ( .si(so_in[9] ), .so(so_in[10] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[10] ), .q(din[10]) );
384cl_sc1_msff_8x din_l_11 ( .si(so_in[10] ), .so(so_in[11] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[11] ), .q(din[11]) );
385cl_sc1_msff_8x din_l_12 ( .si(so_in[11] ), .so(so_in[12] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[12] ), .q(din[12]) );
386cl_sc1_msff_8x din_l_13 ( .si(so_in[12] ), .so(so_in[13] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[13] ), .q(din[13]) );
387cl_sc1_msff_8x din_l_14 ( .si(so_in[13] ), .so(so_in[14] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[14] ), .q(din[14]) );
388cl_sc1_msff_8x din_l_15 ( .si(so_in[14] ), .so(so_in[15] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[15] ), .q(din[15]) );
389cl_sc1_msff_8x din_l_16 ( .si(so_in[15] ), .so(so_in[16] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[16] ), .q(din[16]) );
390cl_sc1_msff_8x din_l_17 ( .si(so_in[16] ), .so(so_in[17] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[17] ), .q(din[17]) );
391cl_sc1_msff_8x din_l_18 ( .si(so_in[17] ), .so(so_in[18] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[18] ), .q(din[18]) );
392cl_sc1_msff_8x din_l_19 ( .si(so_in[18] ), .so(so_in[19] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[19] ), .q(din[19]) );
393
394cl_sc1_msff_8x din_l_20 ( .si(so_in[19] ), .so(so_in[20] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[20] ), .q(din[20]) );
395cl_sc1_msff_8x din_l_21 ( .si(so_in[20] ), .so(so_in[21] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[21] ), .q(din[21]) );
396cl_sc1_msff_8x din_l_22 ( .si(so_in[21] ), .so(so_in[22] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[22] ), .q(din[22]) );
397cl_sc1_msff_8x din_l_23 ( .si(so_in[22] ), .so(so_in[23] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[23] ), .q(din[23]) );
398cl_sc1_msff_8x din_l_24 ( .si(so_in[23] ), .so(so_in[24] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[24] ), .q(din[24]) );
399cl_sc1_msff_8x din_l_25 ( .si(so_in[24] ), .so(so_in[25] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[25] ), .q(din[25]) );
400cl_sc1_msff_8x din_l_26 ( .si(so_in[25] ), .so(so_in[26] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[26] ), .q(din[26]) );
401cl_sc1_msff_8x din_l_27 ( .si(so_in[26] ), .so(so_in[27] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[27] ), .q(din[27]) );
402cl_sc1_msff_8x din_l_28 ( .si(so_in[27] ), .so(so_in[28] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[28] ), .q(din[28]) );
403cl_sc1_msff_8x din_l_29 ( .si(so_in[28] ), .so(so_in[29] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[29] ), .q(din[29]) );
404
405cl_sc1_msff_8x din_l_30 ( .si(so_in[29] ), .so(so_in[30] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[30] ), .q(din[30]) );
406cl_sc1_msff_8x din_l_31 ( .si(so_in[30] ), .so(so_in[31] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[31] ), .q(din[31]) );
407cl_sc1_msff_8x din_l_32 ( .si(so_in[31] ), .so(so_in[32] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[32] ), .q(din[32]) );
408cl_sc1_msff_8x din_l_33 ( .si(so_in[32] ), .so(so_in[33] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[33] ), .q(din[33]) );
409cl_sc1_msff_8x din_l_34 ( .si(so_in[33] ), .so(so_in[34] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[34] ), .q(din[34]) );
410cl_sc1_msff_8x din_l_35 ( .si(so_in[34] ), .so(so_in[35] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[35] ), .q(din[35]) );
411cl_sc1_msff_8x din_l_36 ( .si(so_in[35] ), .so(so_in[36] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[36] ), .q(din[36]) );
412cl_sc1_msff_8x din_l_37 ( .si(so_in[36] ), .so(so_in[37] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[37] ), .q(din[37]) );
413cl_sc1_msff_8x din_l_38 ( .si(so_in[37] ), .so(so_in[38] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[38] ), .q(din[38]) );
414cl_sc1_msff_8x din_l_39 ( .si(so_in[38] ), .so(so_in[39] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[39] ), .q(din[39]) );
415
416cl_sc1_msff_8x din_l_40 ( .si(so_in[39] ), .so(so_in[40] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[40] ), .q(din[40]) );
417cl_sc1_msff_8x din_l_41 ( .si(so_in[40] ), .so(so_in[41] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[41] ), .q(din[41]) );
418cl_sc1_msff_8x din_l_42 ( .si(so_in[41] ), .so(so_in[42] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[42] ), .q(din[42]) );
419cl_sc1_msff_8x din_l_43 ( .si(so_in[42] ), .so(so_in[43] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[43] ), .q(din[43]) );
420cl_sc1_msff_8x din_l_44 ( .si(so_in[43] ), .so(so_in[44] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[44] ), .q(din[44]) );
421cl_sc1_msff_8x din_l_45 ( .si(so_in[44] ), .so(so_in[45] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[45] ), .q(din[45]) );
422cl_sc1_msff_8x din_l_46 ( .si(so_in[45] ), .so(so_in[46] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[46] ), .q(din[46]) );
423cl_sc1_msff_8x din_l_47 ( .si(so_in[46] ), .so(so_in[47] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[47] ), .q(din[47]) );
424cl_sc1_msff_8x din_l_48 ( .si(so_in[47] ), .so(so_in[48] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[48] ), .q(din[48]) );
425cl_sc1_msff_8x din_l_49 ( .si(so_in[48] ), .so(so_in[49] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[49] ), .q(din[49]) );
426
427cl_sc1_msff_8x din_l_50 ( .si(so_in[49] ), .so(so_in[50] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[50] ), .q(din[50]) );
428cl_sc1_msff_8x din_l_51 ( .si(so_in[50] ), .so(so_in[51] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[51] ), .q(din[51]) );
429cl_sc1_msff_8x din_l_52 ( .si(so_in[51] ), .so(so_in[52] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[52] ), .q(din[52]) );
430cl_sc1_msff_8x din_l_53 ( .si(so_in[52] ), .so(so_in[53] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[53] ), .q(din[53]) );
431cl_sc1_msff_8x din_l_54 ( .si(so_in[53] ), .so(so_in[54] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[54] ), .q(din[54]) );
432cl_sc1_msff_8x din_l_55 ( .si(so_in[54] ), .so(so_in[55] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[55] ), .q(din[55]) );
433cl_sc1_msff_8x din_l_56 ( .si(so_in[55] ), .so(so_in[56] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[56] ), .q(din[56]) );
434cl_sc1_msff_8x din_l_57 ( .si(so_in[56] ), .so(so_in[57] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[57] ), .q(din[57]) );
435cl_sc1_msff_8x din_l_58 ( .si(so_in[57] ), .so(so_in[58] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[58] ), .q(din[58]) );
436cl_sc1_msff_8x din_l_59 ( .si(so_in[58] ), .so(so_in[59] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[59] ), .q(din[59]) );
437
438cl_sc1_msff_8x din_l_60 ( .si(so_in[59] ), .so(so_in[60] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[60] ), .q(din[60]) );
439cl_sc1_msff_8x din_l_61 ( .si(so_in[60] ), .so(so_in[61] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[61] ), .q(din[61]) );
440cl_sc1_msff_8x din_l_62 ( .si(so_in[61] ), .so(so_in[62] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[62] ), .q(din[62]) );
441cl_sc1_msff_8x din_l_63 ( .si(so_in[62] ), .so(so_in[63] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[63] ), .q(din[63]) );
442cl_sc1_msff_8x din_l_64 ( .si(so_in[63] ), .so(so_in[64] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[64] ), .q(din[64]) );
443cl_sc1_msff_8x din_l_65 ( .si(so_in[64] ), .so(so_in[65] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[65] ), .q(din[65]) );
444cl_sc1_msff_8x din_l_66 ( .si(so_in[65] ), .so(so_in[66] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[66] ), .q(din[66]) );
445cl_sc1_msff_8x din_l_67 ( .si(so_in[66] ), .so(so_in[67] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[67] ), .q(din[67]) );
446cl_sc1_msff_8x din_l_68 ( .si(so_in[67] ), .so(so_in[68] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[68] ), .q(din[68]) );
447cl_sc1_msff_8x din_l_69 ( .si(so_in[68] ), .so(so_in[69] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[69] ), .q(din[69]) );
448
449cl_sc1_msff_8x din_l_70 ( .si(so_in[69] ), .so(so_in[70] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[70] ), .q(din[70]) );
450cl_sc1_msff_8x din_l_71 ( .si(so_in[70] ), .so(so_in[71] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[71] ), .q(din[71]) );
451cl_sc1_msff_8x din_l_72 ( .si(so_in[71] ), .so(so_in[72] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[72] ), .q(din[72]) );
452cl_sc1_msff_8x din_l_73 ( .si(so_in[72] ), .so(so_in[73] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[73] ), .q(din[73]) );
453cl_sc1_msff_8x din_l_74 ( .si(so_in[73] ), .so(so_in[74] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[74] ), .q(din[74]) );
454cl_sc1_msff_8x din_l_75 ( .si(so_in[74] ), .so(so_in[75] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[75] ), .q(din[75]) );
455cl_sc1_msff_8x din_l_76 ( .si(so_in[75] ), .so(so_in[76] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[76] ), .q(din[76]) );
456cl_sc1_msff_8x din_l_77 ( .si(so_in[76] ), .so(so_in[77] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[77] ), .q(din[77]) );
457cl_sc1_msff_8x din_l_78 ( .si(so_in[77] ), .so(so_in[78] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[78] ), .q(din[78]) );
458cl_sc1_msff_8x din_l_79 ( .si(so_in[78] ), .so(so_in[79] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[79] ), .q(din[79]) );
459
460cl_sc1_msff_8x din_l_80 ( .si(so_in[79] ), .so(so_in[80] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[80] ), .q(din[80]) );
461cl_sc1_msff_8x din_l_81 ( .si(so_in[80] ), .so(so_in[81] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[81] ), .q(din[81]) );
462cl_sc1_msff_8x din_l_82 ( .si(so_in[81] ), .so(so_in[82] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[82] ), .q(din[82]) );
463cl_sc1_msff_8x din_l_83 ( .si(so_in[82] ), .so(so_in[83] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[83] ), .q(din[83]) );
464cl_sc1_msff_8x din_l_84 ( .si(so_in[83] ), .so(so_in[84] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[84] ), .q(din[84]) );
465cl_sc1_msff_8x din_l_85 ( .si(so_in[84] ), .so(so_in[85] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[85] ), .q(din[85]) );
466cl_sc1_msff_8x din_l_86 ( .si(so_in[85] ), .so(so_in[86] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[86] ), .q(din[86]) );
467cl_sc1_msff_8x din_l_87 ( .si(so_in[86] ), .so(so_in[87] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[87] ), .q(din[87]) );
468cl_sc1_msff_8x din_l_88 ( .si(so_in[87] ), .so(so_in[88] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[88] ), .q(din[88]) );
469cl_sc1_msff_8x din_l_89 ( .si(so_in[88] ), .so(so_in[89] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[89] ), .q(din[89]) );
470
471cl_sc1_msff_8x din_l_90 ( .si(so_in[89] ), .so(so_in[90] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[90] ), .q(din[90]) );
472cl_sc1_msff_8x din_l_91 ( .si(so_in[90] ), .so(so_in[91] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[91] ), .q(din[91]) );
473cl_sc1_msff_8x din_l_92 ( .si(so_in[91] ), .so(so_in[92] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[92] ), .q(din[92]) );
474cl_sc1_msff_8x din_l_93 ( .si(so_in[92] ), .so(so_in[93] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[93] ), .q(din[93]) );
475cl_sc1_msff_8x din_l_94 ( .si(so_in[93] ), .so(so_in[94] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[94] ), .q(din[94]) );
476cl_sc1_msff_8x din_l_95 ( .si(so_in[94] ), .so(so_in[95] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[95] ), .q(din[95]) );
477cl_sc1_msff_8x din_l_96 ( .si(so_in[95] ), .so(so_in[96] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[96] ), .q(din[96]) );
478cl_sc1_msff_8x din_l_97 ( .si(so_in[96] ), .so(so_in[97] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[97] ), .q(din[97]) );
479cl_sc1_msff_8x din_l_98 ( .si(so_in[97] ), .so(so_in[98] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[98] ), .q(din[98]) );
480cl_sc1_msff_8x din_l_99 ( .si(so_in[98] ), .so(so_in[99] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[99] ), .q(din[99]) );
481
482/*
483 dff #(100) din_l (
484 .l1clk(l1clk_in),
485 .siclk(siclk),
486 .soclk(soclk),
487 .d(data_inp[99:0]),
488 .si({so_in[98:0],scan_in}),
489 .so(so_in[99:0]),
490 .q(din[99:0])
491 );
492
493*/
494
495
496//------------------------------
497//---- control input flops------
498//------------------------------
499
500cl_sc1_msff_8x dindex_0 ( .si(so_in[99] ), .so(so_index[0] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(cam_index[0] ), .q(index[0]) );
501cl_sc1_msff_8x dindex_1 ( .si(so_index[0]), .so(so_index[1] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(cam_index[1] ), .q(index[1]) );
502cl_sc1_msff_8x dindex_2 ( .si(so_index[1]), .so(so_index[2] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(cam_index[2] ), .q(index[2]) );
503cl_sc1_msff_8x dindex_3 ( .si(so_index[2]), .so(so_index[3] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(cam_index[3] ), .q(index[3]) );
504cl_sc1_msff_8x dindex_4 ( .si(so_index[3]), .so(so_index[4] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(cam_index[4] ), .q(index[4]) );
505cl_sc1_msff_8x dindex_5 ( .si(so_index[4]), .so(so_index[5] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(cam_index[5] ), .q(index[5]) );
506cl_sc1_msff_8x dindex_6 ( .si(so_index[5]), .so(so_index[6] ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(cam_index[6] ), .q(index[6]) );
507
508cl_sc1_msff_8x dsel ( .si(so_index[6]), .so(so_sel ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(pio_sel_in ), .q(sel_msk ) );
509cl_sc1_msff_8x dwrt ( .si(so_sel ), .so(so_wrt ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(pio_wt_in ), .q(write_d ) );
510cl_sc1_msff_8x dread ( .si(so_wrt ), .so(so_read ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(pio_rd_in ), .q(read_d ) );
511cl_sc1_msff_8x dcomp ( .si(so_read ), .so(so_comp ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(compare_in ), .q(compare_d) );
512
513
514/*
515
516 dff #(7) dindex (
517 .l1clk(l1clk_in),
518 .siclk(siclk),
519 .soclk(soclk),
520 .d(cam_index[6:0]),
521 .si({so_index[5:0],so_in[99]}),
522 .so(so_index[6:0]),
523 .q(index[6:0])
524 );
525
526 dff #(1) dsel (
527 .l1clk(l1clk_in),
528 .siclk(siclk),
529 .soclk(soclk),
530 .d(pio_sel_in),
531 .si(so_index[6]),
532 .so(so_sel),
533 .q(sel_msk)
534 );
535
536
537 dff #(1) dwrt (
538 .l1clk(l1clk_in),
539 .siclk(siclk),
540 .soclk(soclk),
541 .d(pio_wt_in),
542 .si(so_sel),
543 .so(so_wrt),
544 .q(write_d)
545 );
546
547
548 dff #(1) dread (
549 .l1clk(l1clk_in),
550 .siclk(siclk),
551 .soclk(soclk),
552 .d(pio_rd_in),
553 .si(so_wrt),
554 .so(so_read),
555 .q(read_d)
556 );
557
558
559 dff #(1) dcomp (
560 .l1clk(l1clk_in),
561 .siclk(siclk),
562 .soclk(soclk),
563 .d(compare_in),
564 .si(so_read),
565 .so(so_comp),
566 .q(compare_d)
567 );
568
569*/
570//------------------------------
571//---- din flops - right--------
572//------------------------------
573
574cl_sc1_msff_8x din_r_100 ( .si(so_comp ), .so(so_in[100]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[100]), .q(din[100]) );
575cl_sc1_msff_8x din_r_101 ( .si(so_in[100]), .so(so_in[101]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[101]), .q(din[101]) );
576cl_sc1_msff_8x din_r_102 ( .si(so_in[101]), .so(so_in[102]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[102]), .q(din[102]) );
577cl_sc1_msff_8x din_r_103 ( .si(so_in[102]), .so(so_in[103]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[103]), .q(din[103]) );
578cl_sc1_msff_8x din_r_104 ( .si(so_in[103]), .so(so_in[104]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[104]), .q(din[104]) );
579cl_sc1_msff_8x din_r_105 ( .si(so_in[104]), .so(so_in[105]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[105]), .q(din[105]) );
580cl_sc1_msff_8x din_r_106 ( .si(so_in[105]), .so(so_in[106]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[106]), .q(din[106]) );
581cl_sc1_msff_8x din_r_107 ( .si(so_in[106]), .so(so_in[107]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[107]), .q(din[107]) );
582cl_sc1_msff_8x din_r_108 ( .si(so_in[107]), .so(so_in[108]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[108]), .q(din[108]) );
583cl_sc1_msff_8x din_r_109 ( .si(so_in[108]), .so(so_in[109]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[109]), .q(din[109]) );
584
585cl_sc1_msff_8x din_r_110 ( .si(so_in[109]), .so(so_in[110]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[110]), .q(din[110]) );
586cl_sc1_msff_8x din_r_111 ( .si(so_in[110]), .so(so_in[111]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[111]), .q(din[111]) );
587cl_sc1_msff_8x din_r_112 ( .si(so_in[111]), .so(so_in[112]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[112]), .q(din[112]) );
588cl_sc1_msff_8x din_r_113 ( .si(so_in[112]), .so(so_in[113]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[113]), .q(din[113]) );
589cl_sc1_msff_8x din_r_114 ( .si(so_in[113]), .so(so_in[114]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[114]), .q(din[114]) );
590cl_sc1_msff_8x din_r_115 ( .si(so_in[114]), .so(so_in[115]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[115]), .q(din[115]) );
591cl_sc1_msff_8x din_r_116 ( .si(so_in[115]), .so(so_in[116]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[116]), .q(din[116]) );
592cl_sc1_msff_8x din_r_117 ( .si(so_in[116]), .so(so_in[117]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[117]), .q(din[117]) );
593cl_sc1_msff_8x din_r_118 ( .si(so_in[117]), .so(so_in[118]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[118]), .q(din[118]) );
594cl_sc1_msff_8x din_r_119 ( .si(so_in[118]), .so(so_in[119]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[119]), .q(din[119]) );
595
596cl_sc1_msff_8x din_r_120 ( .si(so_in[119]), .so(so_in[120]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[120]), .q(din[120]) );
597cl_sc1_msff_8x din_r_121 ( .si(so_in[120]), .so(so_in[121]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[121]), .q(din[121]) );
598cl_sc1_msff_8x din_r_122 ( .si(so_in[121]), .so(so_in[122]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[122]), .q(din[122]) );
599cl_sc1_msff_8x din_r_123 ( .si(so_in[122]), .so(so_in[123]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[123]), .q(din[123]) );
600cl_sc1_msff_8x din_r_124 ( .si(so_in[123]), .so(so_in[124]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[124]), .q(din[124]) );
601cl_sc1_msff_8x din_r_125 ( .si(so_in[124]), .so(so_in[125]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[125]), .q(din[125]) );
602cl_sc1_msff_8x din_r_126 ( .si(so_in[125]), .so(so_in[126]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[126]), .q(din[126]) );
603cl_sc1_msff_8x din_r_127 ( .si(so_in[126]), .so(so_in[127]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[127]), .q(din[127]) );
604cl_sc1_msff_8x din_r_128 ( .si(so_in[127]), .so(so_in[128]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[128]), .q(din[128]) );
605cl_sc1_msff_8x din_r_129 ( .si(so_in[128]), .so(so_in[129]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[129]), .q(din[129]) );
606
607cl_sc1_msff_8x din_r_130 ( .si(so_in[129]), .so(so_in[130]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[130]), .q(din[130]) );
608cl_sc1_msff_8x din_r_131 ( .si(so_in[130]), .so(so_in[131]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[131]), .q(din[131]) );
609cl_sc1_msff_8x din_r_132 ( .si(so_in[131]), .so(so_in[132]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[132]), .q(din[132]) );
610cl_sc1_msff_8x din_r_133 ( .si(so_in[132]), .so(so_in[133]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[133]), .q(din[133]) );
611cl_sc1_msff_8x din_r_134 ( .si(so_in[133]), .so(so_in[134]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[134]), .q(din[134]) );
612cl_sc1_msff_8x din_r_135 ( .si(so_in[134]), .so(so_in[135]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[135]), .q(din[135]) );
613cl_sc1_msff_8x din_r_136 ( .si(so_in[135]), .so(so_in[136]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[136]), .q(din[136]) );
614cl_sc1_msff_8x din_r_137 ( .si(so_in[136]), .so(so_in[137]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[137]), .q(din[137]) );
615cl_sc1_msff_8x din_r_138 ( .si(so_in[137]), .so(so_in[138]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[138]), .q(din[138]) );
616cl_sc1_msff_8x din_r_139 ( .si(so_in[138]), .so(so_in[139]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[139]), .q(din[139]) );
617
618cl_sc1_msff_8x din_r_140 ( .si(so_in[139]), .so(so_in[140]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[140]), .q(din[140]) );
619cl_sc1_msff_8x din_r_141 ( .si(so_in[140]), .so(so_in[141]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[141]), .q(din[141]) );
620cl_sc1_msff_8x din_r_142 ( .si(so_in[141]), .so(so_in[142]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[142]), .q(din[142]) );
621cl_sc1_msff_8x din_r_143 ( .si(so_in[142]), .so(so_in[143]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[143]), .q(din[143]) );
622cl_sc1_msff_8x din_r_144 ( .si(so_in[143]), .so(so_in[144]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[144]), .q(din[144]) );
623cl_sc1_msff_8x din_r_145 ( .si(so_in[144]), .so(so_in[145]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[145]), .q(din[145]) );
624cl_sc1_msff_8x din_r_146 ( .si(so_in[145]), .so(so_in[146]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[146]), .q(din[146]) );
625cl_sc1_msff_8x din_r_147 ( .si(so_in[146]), .so(so_in[147]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[147]), .q(din[147]) );
626cl_sc1_msff_8x din_r_148 ( .si(so_in[147]), .so(so_in[148]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[148]), .q(din[148]) );
627cl_sc1_msff_8x din_r_149 ( .si(so_in[148]), .so(so_in[149]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[149]), .q(din[149]) );
628
629cl_sc1_msff_8x din_r_150 ( .si(so_in[149]), .so(so_in[150]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[150]), .q(din[150]) );
630cl_sc1_msff_8x din_r_151 ( .si(so_in[150]), .so(so_in[151]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[151]), .q(din[151]) );
631cl_sc1_msff_8x din_r_152 ( .si(so_in[151]), .so(so_in[152]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[152]), .q(din[152]) );
632cl_sc1_msff_8x din_r_153 ( .si(so_in[152]), .so(so_in[153]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[153]), .q(din[153]) );
633cl_sc1_msff_8x din_r_154 ( .si(so_in[153]), .so(so_in[154]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[154]), .q(din[154]) );
634cl_sc1_msff_8x din_r_155 ( .si(so_in[154]), .so(so_in[155]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[155]), .q(din[155]) );
635cl_sc1_msff_8x din_r_156 ( .si(so_in[155]), .so(so_in[156]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[156]), .q(din[156]) );
636cl_sc1_msff_8x din_r_157 ( .si(so_in[156]), .so(so_in[157]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[157]), .q(din[157]) );
637cl_sc1_msff_8x din_r_158 ( .si(so_in[157]), .so(so_in[158]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[158]), .q(din[158]) );
638cl_sc1_msff_8x din_r_159 ( .si(so_in[158]), .so(so_in[159]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[159]), .q(din[159]) );
639
640cl_sc1_msff_8x din_r_160 ( .si(so_in[159]), .so(so_in[160]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[160]), .q(din[160]) );
641cl_sc1_msff_8x din_r_161 ( .si(so_in[160]), .so(so_in[161]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[161]), .q(din[161]) );
642cl_sc1_msff_8x din_r_162 ( .si(so_in[161]), .so(so_in[162]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[162]), .q(din[162]) );
643cl_sc1_msff_8x din_r_163 ( .si(so_in[162]), .so(so_in[163]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[163]), .q(din[163]) );
644cl_sc1_msff_8x din_r_164 ( .si(so_in[163]), .so(so_in[164]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[164]), .q(din[164]) );
645cl_sc1_msff_8x din_r_165 ( .si(so_in[164]), .so(so_in[165]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[165]), .q(din[165]) );
646cl_sc1_msff_8x din_r_166 ( .si(so_in[165]), .so(so_in[166]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[166]), .q(din[166]) );
647cl_sc1_msff_8x din_r_167 ( .si(so_in[166]), .so(so_in[167]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[167]), .q(din[167]) );
648cl_sc1_msff_8x din_r_168 ( .si(so_in[167]), .so(so_in[168]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[168]), .q(din[168]) );
649cl_sc1_msff_8x din_r_169 ( .si(so_in[168]), .so(so_in[169]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[169]), .q(din[169]) );
650
651cl_sc1_msff_8x din_r_170 ( .si(so_in[169]), .so(so_in[170]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[170]), .q(din[170]) );
652cl_sc1_msff_8x din_r_171 ( .si(so_in[170]), .so(so_in[171]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[171]), .q(din[171]) );
653cl_sc1_msff_8x din_r_172 ( .si(so_in[171]), .so(so_in[172]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[172]), .q(din[172]) );
654cl_sc1_msff_8x din_r_173 ( .si(so_in[172]), .so(so_in[173]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[173]), .q(din[173]) );
655cl_sc1_msff_8x din_r_174 ( .si(so_in[173]), .so(so_in[174]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[174]), .q(din[174]) );
656cl_sc1_msff_8x din_r_175 ( .si(so_in[174]), .so(so_in[175]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[175]), .q(din[175]) );
657cl_sc1_msff_8x din_r_176 ( .si(so_in[175]), .so(so_in[176]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[176]), .q(din[176]) );
658cl_sc1_msff_8x din_r_177 ( .si(so_in[176]), .so(so_in[177]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[177]), .q(din[177]) );
659cl_sc1_msff_8x din_r_178 ( .si(so_in[177]), .so(so_in[178]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[178]), .q(din[178]) );
660cl_sc1_msff_8x din_r_179 ( .si(so_in[178]), .so(so_in[179]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[179]), .q(din[179]) );
661
662cl_sc1_msff_8x din_r_180 ( .si(so_in[179]), .so(so_in[180]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[180]), .q(din[180]) );
663cl_sc1_msff_8x din_r_181 ( .si(so_in[180]), .so(so_in[181]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[181]), .q(din[181]) );
664cl_sc1_msff_8x din_r_182 ( .si(so_in[181]), .so(so_in[182]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[182]), .q(din[182]) );
665cl_sc1_msff_8x din_r_183 ( .si(so_in[182]), .so(so_in[183]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[183]), .q(din[183]) );
666cl_sc1_msff_8x din_r_184 ( .si(so_in[183]), .so(so_in[184]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[184]), .q(din[184]) );
667cl_sc1_msff_8x din_r_185 ( .si(so_in[184]), .so(so_in[185]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[185]), .q(din[185]) );
668cl_sc1_msff_8x din_r_186 ( .si(so_in[185]), .so(so_in[186]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[186]), .q(din[186]) );
669cl_sc1_msff_8x din_r_187 ( .si(so_in[186]), .so(so_in[187]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[187]), .q(din[187]) );
670cl_sc1_msff_8x din_r_188 ( .si(so_in[187]), .so(so_in[188]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[188]), .q(din[188]) );
671cl_sc1_msff_8x din_r_189 ( .si(so_in[188]), .so(so_in[189]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[189]), .q(din[189]) );
672
673cl_sc1_msff_8x din_r_190 ( .si(so_in[189]), .so(so_in[190]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[190]), .q(din[190]) );
674cl_sc1_msff_8x din_r_191 ( .si(so_in[190]), .so(so_in[191]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[191]), .q(din[191]) );
675cl_sc1_msff_8x din_r_192 ( .si(so_in[191]), .so(so_in[192]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[192]), .q(din[192]) );
676cl_sc1_msff_8x din_r_193 ( .si(so_in[192]), .so(so_in[193]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[193]), .q(din[193]) );
677cl_sc1_msff_8x din_r_194 ( .si(so_in[193]), .so(so_in[194]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[194]), .q(din[194]) );
678cl_sc1_msff_8x din_r_195 ( .si(so_in[194]), .so(so_in[195]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[195]), .q(din[195]) );
679cl_sc1_msff_8x din_r_196 ( .si(so_in[195]), .so(so_in[196]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[196]), .q(din[196]) );
680cl_sc1_msff_8x din_r_197 ( .si(so_in[196]), .so(so_in[197]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[197]), .q(din[197]) );
681cl_sc1_msff_8x din_r_198 ( .si(so_in[197]), .so(so_in[198]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[198]), .q(din[198]) );
682cl_sc1_msff_8x din_r_199 ( .si(so_in[198]), .so(so_in[199]), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(data_inp[199]), .q(din[199]) );
683
684/*
685 dff #(100) din_r (
686 .l1clk(l1clk_in),
687 .siclk(siclk),
688 .soclk(soclk),
689 .d(data_inp[199:100]),
690 .si({so_in[198:100],so_comp}),
691 .so(so_in[199:100]),
692 .q(din[199:100])
693 );
694*/
695
696//------------------------------
697//---- dout flops - right-------
698//------------------------------
699
700cl_sc1_msff_8x dout_r_199 ( .si(so_in[199] ), .so(so_out[199]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[199]), .q(msk_dat_out[199]) );
701cl_sc1_msff_8x dout_r_198 ( .si(so_out[199]), .so(so_out[198]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[198]), .q(msk_dat_out[198]) );
702cl_sc1_msff_8x dout_r_197 ( .si(so_out[198]), .so(so_out[197]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[197]), .q(msk_dat_out[197]) );
703cl_sc1_msff_8x dout_r_196 ( .si(so_out[197]), .so(so_out[196]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[196]), .q(msk_dat_out[196]) );
704cl_sc1_msff_8x dout_r_195 ( .si(so_out[196]), .so(so_out[195]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[195]), .q(msk_dat_out[195]) );
705cl_sc1_msff_8x dout_r_194 ( .si(so_out[195]), .so(so_out[194]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[194]), .q(msk_dat_out[194]) );
706cl_sc1_msff_8x dout_r_193 ( .si(so_out[194]), .so(so_out[193]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[193]), .q(msk_dat_out[193]) );
707cl_sc1_msff_8x dout_r_192 ( .si(so_out[193]), .so(so_out[192]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[192]), .q(msk_dat_out[192]) );
708cl_sc1_msff_8x dout_r_191 ( .si(so_out[192]), .so(so_out[191]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[191]), .q(msk_dat_out[191]) );
709cl_sc1_msff_8x dout_r_190 ( .si(so_out[191]), .so(so_out[190]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[190]), .q(msk_dat_out[190]) );
710
711cl_sc1_msff_8x dout_r_189 ( .si(so_out[190]), .so(so_out[189]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[189]), .q(msk_dat_out[189]) );
712cl_sc1_msff_8x dout_r_188 ( .si(so_out[189]), .so(so_out[188]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[188]), .q(msk_dat_out[188]) );
713cl_sc1_msff_8x dout_r_187 ( .si(so_out[188]), .so(so_out[187]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[187]), .q(msk_dat_out[187]) );
714cl_sc1_msff_8x dout_r_186 ( .si(so_out[187]), .so(so_out[186]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[186]), .q(msk_dat_out[186]) );
715cl_sc1_msff_8x dout_r_185 ( .si(so_out[186]), .so(so_out[185]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[185]), .q(msk_dat_out[185]) );
716cl_sc1_msff_8x dout_r_184 ( .si(so_out[185]), .so(so_out[184]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[184]), .q(msk_dat_out[184]) );
717cl_sc1_msff_8x dout_r_183 ( .si(so_out[184]), .so(so_out[183]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[183]), .q(msk_dat_out[183]) );
718cl_sc1_msff_8x dout_r_182 ( .si(so_out[183]), .so(so_out[182]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[182]), .q(msk_dat_out[182]) );
719cl_sc1_msff_8x dout_r_181 ( .si(so_out[182]), .so(so_out[181]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[181]), .q(msk_dat_out[181]) );
720cl_sc1_msff_8x dout_r_180 ( .si(so_out[181]), .so(so_out[180]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[180]), .q(msk_dat_out[180]) );
721
722cl_sc1_msff_8x dout_r_179 ( .si(so_out[180]), .so(so_out[179]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[179]), .q(msk_dat_out[179]) );
723cl_sc1_msff_8x dout_r_178 ( .si(so_out[179]), .so(so_out[178]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[178]), .q(msk_dat_out[178]) );
724cl_sc1_msff_8x dout_r_177 ( .si(so_out[178]), .so(so_out[177]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[177]), .q(msk_dat_out[177]) );
725cl_sc1_msff_8x dout_r_176 ( .si(so_out[177]), .so(so_out[176]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[176]), .q(msk_dat_out[176]) );
726cl_sc1_msff_8x dout_r_175 ( .si(so_out[176]), .so(so_out[175]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[175]), .q(msk_dat_out[175]) );
727cl_sc1_msff_8x dout_r_174 ( .si(so_out[175]), .so(so_out[174]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[174]), .q(msk_dat_out[174]) );
728cl_sc1_msff_8x dout_r_173 ( .si(so_out[174]), .so(so_out[173]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[173]), .q(msk_dat_out[173]) );
729cl_sc1_msff_8x dout_r_172 ( .si(so_out[173]), .so(so_out[172]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[172]), .q(msk_dat_out[172]) );
730cl_sc1_msff_8x dout_r_171 ( .si(so_out[172]), .so(so_out[171]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[171]), .q(msk_dat_out[171]) );
731cl_sc1_msff_8x dout_r_170 ( .si(so_out[171]), .so(so_out[170]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[170]), .q(msk_dat_out[170]) );
732
733cl_sc1_msff_8x dout_r_169 ( .si(so_out[170]), .so(so_out[169]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[169]), .q(msk_dat_out[169]) );
734cl_sc1_msff_8x dout_r_168 ( .si(so_out[169]), .so(so_out[168]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[168]), .q(msk_dat_out[168]) );
735cl_sc1_msff_8x dout_r_167 ( .si(so_out[168]), .so(so_out[167]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[167]), .q(msk_dat_out[167]) );
736cl_sc1_msff_8x dout_r_166 ( .si(so_out[167]), .so(so_out[166]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[166]), .q(msk_dat_out[166]) );
737cl_sc1_msff_8x dout_r_165 ( .si(so_out[166]), .so(so_out[165]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[165]), .q(msk_dat_out[165]) );
738cl_sc1_msff_8x dout_r_164 ( .si(so_out[165]), .so(so_out[164]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[164]), .q(msk_dat_out[164]) );
739cl_sc1_msff_8x dout_r_163 ( .si(so_out[164]), .so(so_out[163]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[163]), .q(msk_dat_out[163]) );
740cl_sc1_msff_8x dout_r_162 ( .si(so_out[163]), .so(so_out[162]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[162]), .q(msk_dat_out[162]) );
741cl_sc1_msff_8x dout_r_161 ( .si(so_out[162]), .so(so_out[161]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[161]), .q(msk_dat_out[161]) );
742cl_sc1_msff_8x dout_r_160 ( .si(so_out[161]), .so(so_out[160]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[160]), .q(msk_dat_out[160]) );
743
744cl_sc1_msff_8x dout_r_159 ( .si(so_out[160]), .so(so_out[159]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[159]), .q(msk_dat_out[159]) );
745cl_sc1_msff_8x dout_r_158 ( .si(so_out[159]), .so(so_out[158]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[158]), .q(msk_dat_out[158]) );
746cl_sc1_msff_8x dout_r_157 ( .si(so_out[158]), .so(so_out[157]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[157]), .q(msk_dat_out[157]) );
747cl_sc1_msff_8x dout_r_156 ( .si(so_out[157]), .so(so_out[156]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[156]), .q(msk_dat_out[156]) );
748cl_sc1_msff_8x dout_r_155 ( .si(so_out[156]), .so(so_out[155]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[155]), .q(msk_dat_out[155]) );
749cl_sc1_msff_8x dout_r_154 ( .si(so_out[155]), .so(so_out[154]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[154]), .q(msk_dat_out[154]) );
750cl_sc1_msff_8x dout_r_153 ( .si(so_out[154]), .so(so_out[153]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[153]), .q(msk_dat_out[153]) );
751cl_sc1_msff_8x dout_r_152 ( .si(so_out[153]), .so(so_out[152]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[152]), .q(msk_dat_out[152]) );
752cl_sc1_msff_8x dout_r_151 ( .si(so_out[152]), .so(so_out[151]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[151]), .q(msk_dat_out[151]) );
753cl_sc1_msff_8x dout_r_150 ( .si(so_out[151]), .so(so_out[150]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[150]), .q(msk_dat_out[150]) );
754
755cl_sc1_msff_8x dout_r_149 ( .si(so_out[150]), .so(so_out[149]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[149]), .q(msk_dat_out[149]) );
756cl_sc1_msff_8x dout_r_148 ( .si(so_out[149]), .so(so_out[148]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[148]), .q(msk_dat_out[148]) );
757cl_sc1_msff_8x dout_r_147 ( .si(so_out[148]), .so(so_out[147]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[147]), .q(msk_dat_out[147]) );
758cl_sc1_msff_8x dout_r_146 ( .si(so_out[147]), .so(so_out[146]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[146]), .q(msk_dat_out[146]) );
759cl_sc1_msff_8x dout_r_145 ( .si(so_out[146]), .so(so_out[145]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[145]), .q(msk_dat_out[145]) );
760cl_sc1_msff_8x dout_r_144 ( .si(so_out[145]), .so(so_out[144]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[144]), .q(msk_dat_out[144]) );
761cl_sc1_msff_8x dout_r_143 ( .si(so_out[144]), .so(so_out[143]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[143]), .q(msk_dat_out[143]) );
762cl_sc1_msff_8x dout_r_142 ( .si(so_out[143]), .so(so_out[142]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[142]), .q(msk_dat_out[142]) );
763cl_sc1_msff_8x dout_r_141 ( .si(so_out[142]), .so(so_out[141]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[141]), .q(msk_dat_out[141]) );
764cl_sc1_msff_8x dout_r_140 ( .si(so_out[141]), .so(so_out[140]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[140]), .q(msk_dat_out[140]) );
765
766cl_sc1_msff_8x dout_r_139 ( .si(so_out[140]), .so(so_out[139]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[139]), .q(msk_dat_out[139]) );
767cl_sc1_msff_8x dout_r_138 ( .si(so_out[139]), .so(so_out[138]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[138]), .q(msk_dat_out[138]) );
768cl_sc1_msff_8x dout_r_137 ( .si(so_out[138]), .so(so_out[137]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[137]), .q(msk_dat_out[137]) );
769cl_sc1_msff_8x dout_r_136 ( .si(so_out[137]), .so(so_out[136]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[136]), .q(msk_dat_out[136]) );
770cl_sc1_msff_8x dout_r_135 ( .si(so_out[136]), .so(so_out[135]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[135]), .q(msk_dat_out[135]) );
771cl_sc1_msff_8x dout_r_134 ( .si(so_out[135]), .so(so_out[134]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[134]), .q(msk_dat_out[134]) );
772cl_sc1_msff_8x dout_r_133 ( .si(so_out[134]), .so(so_out[133]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[133]), .q(msk_dat_out[133]) );
773cl_sc1_msff_8x dout_r_132 ( .si(so_out[133]), .so(so_out[132]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[132]), .q(msk_dat_out[132]) );
774cl_sc1_msff_8x dout_r_131 ( .si(so_out[132]), .so(so_out[131]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[131]), .q(msk_dat_out[131]) );
775cl_sc1_msff_8x dout_r_130 ( .si(so_out[131]), .so(so_out[130]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[130]), .q(msk_dat_out[130]) );
776
777cl_sc1_msff_8x dout_r_129 ( .si(so_out[130]), .so(so_out[129]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[129]), .q(msk_dat_out[129]) );
778cl_sc1_msff_8x dout_r_128 ( .si(so_out[129]), .so(so_out[128]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[128]), .q(msk_dat_out[128]) );
779cl_sc1_msff_8x dout_r_127 ( .si(so_out[128]), .so(so_out[127]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[127]), .q(msk_dat_out[127]) );
780cl_sc1_msff_8x dout_r_126 ( .si(so_out[127]), .so(so_out[126]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[126]), .q(msk_dat_out[126]) );
781cl_sc1_msff_8x dout_r_125 ( .si(so_out[126]), .so(so_out[125]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[125]), .q(msk_dat_out[125]) );
782cl_sc1_msff_8x dout_r_124 ( .si(so_out[125]), .so(so_out[124]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[124]), .q(msk_dat_out[124]) );
783cl_sc1_msff_8x dout_r_123 ( .si(so_out[124]), .so(so_out[123]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[123]), .q(msk_dat_out[123]) );
784cl_sc1_msff_8x dout_r_122 ( .si(so_out[123]), .so(so_out[122]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[122]), .q(msk_dat_out[122]) );
785cl_sc1_msff_8x dout_r_121 ( .si(so_out[122]), .so(so_out[121]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[121]), .q(msk_dat_out[121]) );
786cl_sc1_msff_8x dout_r_120 ( .si(so_out[121]), .so(so_out[120]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[120]), .q(msk_dat_out[120]) );
787
788cl_sc1_msff_8x dout_r_119 ( .si(so_out[120]), .so(so_out[119]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[119]), .q(msk_dat_out[119]) );
789cl_sc1_msff_8x dout_r_118 ( .si(so_out[119]), .so(so_out[118]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[118]), .q(msk_dat_out[118]) );
790cl_sc1_msff_8x dout_r_117 ( .si(so_out[118]), .so(so_out[117]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[117]), .q(msk_dat_out[117]) );
791cl_sc1_msff_8x dout_r_116 ( .si(so_out[117]), .so(so_out[116]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[116]), .q(msk_dat_out[116]) );
792cl_sc1_msff_8x dout_r_115 ( .si(so_out[116]), .so(so_out[115]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[115]), .q(msk_dat_out[115]) );
793cl_sc1_msff_8x dout_r_114 ( .si(so_out[115]), .so(so_out[114]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[114]), .q(msk_dat_out[114]) );
794cl_sc1_msff_8x dout_r_113 ( .si(so_out[114]), .so(so_out[113]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[113]), .q(msk_dat_out[113]) );
795cl_sc1_msff_8x dout_r_112 ( .si(so_out[113]), .so(so_out[112]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[112]), .q(msk_dat_out[112]) );
796cl_sc1_msff_8x dout_r_111 ( .si(so_out[112]), .so(so_out[111]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[111]), .q(msk_dat_out[111]) );
797cl_sc1_msff_8x dout_r_110 ( .si(so_out[111]), .so(so_out[110]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[110]), .q(msk_dat_out[110]) );
798
799cl_sc1_msff_8x dout_r_109 ( .si(so_out[110]), .so(so_out[109]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[109]), .q(msk_dat_out[109]) );
800cl_sc1_msff_8x dout_r_108 ( .si(so_out[109]), .so(so_out[108]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[108]), .q(msk_dat_out[108]) );
801cl_sc1_msff_8x dout_r_107 ( .si(so_out[108]), .so(so_out[107]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[107]), .q(msk_dat_out[107]) );
802cl_sc1_msff_8x dout_r_106 ( .si(so_out[107]), .so(so_out[106]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[106]), .q(msk_dat_out[106]) );
803cl_sc1_msff_8x dout_r_105 ( .si(so_out[106]), .so(so_out[105]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[105]), .q(msk_dat_out[105]) );
804cl_sc1_msff_8x dout_r_104 ( .si(so_out[105]), .so(so_out[104]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[104]), .q(msk_dat_out[104]) );
805cl_sc1_msff_8x dout_r_103 ( .si(so_out[104]), .so(so_out[103]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[103]), .q(msk_dat_out[103]) );
806cl_sc1_msff_8x dout_r_102 ( .si(so_out[103]), .so(so_out[102]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[102]), .q(msk_dat_out[102]) );
807cl_sc1_msff_8x dout_r_101 ( .si(so_out[102]), .so(so_out[101]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[101]), .q(msk_dat_out[101]) );
808cl_sc1_msff_8x dout_r_100 ( .si(so_out[101]), .so(so_out[100]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[100]), .q(msk_dat_out[100]) );
809
810/*
811 dff #(100) dout_r (
812 .l1clk(l1clk_out),
813 .siclk(siclk),
814 .soclk(soclk),
815 .d(saout[199:100]),
816 .si({so_in[199],so_out[199:101]}),
817 .so(so_out[199:100]),
818 .q(msk_dat_out[199:100])
819 );
820*/
821
822//------------------------------
823//---- control output flops-----
824//------------------------------
825
826cl_sc1_msff_8x dhit ( .si(so_out[100]), .so(so_hit), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(hit_in), .q(cam_hit) );
827
828cl_sc1_msff_8x dhaddr_0 ( .si(so_hit), .so(so_haddr[0]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(haddr_in[0]), .q(cam_haddr[0]) );
829cl_sc1_msff_8x dhaddr_1 ( .si(so_haddr[0]), .so(so_haddr[1]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(haddr_in[1]), .q(cam_haddr[1]) );
830cl_sc1_msff_8x dhaddr_2 ( .si(so_haddr[1]), .so(so_haddr[2]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(haddr_in[2]), .q(cam_haddr[2]) );
831cl_sc1_msff_8x dhaddr_3 ( .si(so_haddr[2]), .so(so_haddr[3]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(haddr_in[3]), .q(cam_haddr[3]) );
832cl_sc1_msff_8x dhaddr_4 ( .si(so_haddr[3]), .so(so_haddr[4]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(haddr_in[4]), .q(cam_haddr[4]) );
833cl_sc1_msff_8x dhaddr_5 ( .si(so_haddr[4]), .so(so_haddr[5]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(haddr_in[5]), .q(cam_haddr[5]) );
834cl_sc1_msff_8x dhaddr_6 ( .si(so_haddr[5]), .so(so_haddr[6]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(haddr_in[6]), .q(cam_haddr[6]) );
835
836/*
837
838 dff #(1) dhit (
839 .l1clk(l1clk_out),
840 .siclk(siclk),
841 .soclk(soclk),
842 .d(hit_in),
843 .si(so_out[100]),
844 .so(so_hit),
845 .q(cam_hit)
846 );
847
848 dff #(7) dhaddr (
849 .l1clk(l1clk_out),
850 .siclk(siclk),
851 .soclk(soclk),
852 .d(haddr_in[6:0]),
853 .si({so_haddr[5:0],so_hit}),
854 .so(so_haddr[6:0]),
855 .q(cam_haddr[6:0])
856 );
857*/
858
859//------------------------------
860//---- state machine flops -----
861//------------------------------
862
863cl_sc1_msff_8x dcamvld ( .si(so_haddr[6]), .so(so_camvld), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(cam_vld), .q(cam_valid) );
864cl_sc1_msff_8x drdvld ( .si(so_camvld), .so(so_rdvld), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(rd_vld), .q(pio_rd_vld) );
865
866cl_sc1_msff_8x dc_st_0 ( .si(so_rdvld), .so(so_cst[0]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(n_scam_st_in[0]), .q(c_scam_st[0]) );
867cl_sc1_msff_8x dc_st_1 ( .si(so_cst[0]), .so(so_cst[1]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(n_scam_st_in[1]), .q(c_scam_st[1]) );
868cl_sc1_msff_8x dc_st_2 ( .si(so_cst[1]), .so(so_cst[2]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(n_scam_st_in[2]), .q(c_scam_st[2]) );
869
870cl_sc1_msff_8x dr_st_0 ( .si(so_cst[2]), .so(so_rst[0]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(n_pio_r_st_in[0]), .q(c_pio_r_st[0]) );
871cl_sc1_msff_8x dr_st_1 ( .si(so_rst[0]), .so(so_rst[1]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(n_pio_r_st_in[1]), .q(c_pio_r_st[1]) );
872
873cl_sc1_msff_8x dw_st_0 ( .si(so_rst[1]), .so(so_wst[0]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(n_pio_w_st_in[0]), .q(c_pio_w_st[0]) );
874cl_sc1_msff_8x dw_st_1 ( .si(so_wst[0]), .so(so_wst[1]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(n_pio_w_st_in[1]), .q(c_pio_w_st[1]) );
875
876/*
877 dff #(1) dcamvld (
878 .l1clk(l1clk_out),
879 .siclk(siclk),
880 .soclk(soclk),
881 .d(cam_vld),
882 .si(so_haddr[6]),
883 .so(so_camvld),
884 .q(cam_valid)
885 );
886
887
888 dff #(1) drdvld (
889 .l1clk(l1clk_out),
890 .siclk(siclk),
891 .soclk(soclk),
892 .d(rd_vld),
893 .si(so_camvld),
894 .so(so_rdvld),
895 .q(pio_rd_vld)
896 );
897
898
899 dff #(3) dc_st (
900 .l1clk(l1clk_out),
901 .siclk(siclk),
902 .soclk(soclk),
903 .d(n_scam_st_in[2:0]),
904 .si({so_cst[1:0],so_rdvld}),
905 .so(so_cst[2:0]),
906 .q(c_scam_st[2:0])
907 );
908
909
910 dff #(2) dr_st (
911 .l1clk(l1clk_out),
912 .siclk(siclk),
913 .soclk(soclk),
914 .d(n_pio_r_st_in[1:0]),
915 .si({so_rst[0],so_cst[2]}),
916 .so(so_rst[1:0]),
917 .q(c_pio_r_st[1:0])
918 );
919
920
921 dff #(2) dw_st (
922 .l1clk(l1clk_out),
923 .siclk(siclk),
924 .soclk(soclk),
925 .d(n_pio_w_st_in[1:0]),
926 .si({so_wst[0],so_rst[1]}),
927 .so(so_wst[1:0]),
928 .q(c_pio_w_st[1:0])
929 );
930*/
931
932//------------------------------
933//---- dout flops - left -------
934//------------------------------
935
936cl_sc1_msff_8x dout_l_99 ( .si(so_wst[1] ), .so(so_out[99]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[99]), .q(msk_dat_out[99]) );
937cl_sc1_msff_8x dout_l_98 ( .si(so_out[99]), .so(so_out[98]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[98]), .q(msk_dat_out[98]) );
938cl_sc1_msff_8x dout_l_97 ( .si(so_out[98]), .so(so_out[97]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[97]), .q(msk_dat_out[97]) );
939cl_sc1_msff_8x dout_l_96 ( .si(so_out[97]), .so(so_out[96]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[96]), .q(msk_dat_out[96]) );
940cl_sc1_msff_8x dout_l_95 ( .si(so_out[96]), .so(so_out[95]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[95]), .q(msk_dat_out[95]) );
941cl_sc1_msff_8x dout_l_94 ( .si(so_out[95]), .so(so_out[94]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[94]), .q(msk_dat_out[94]) );
942cl_sc1_msff_8x dout_l_93 ( .si(so_out[94]), .so(so_out[93]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[93]), .q(msk_dat_out[93]) );
943cl_sc1_msff_8x dout_l_92 ( .si(so_out[93]), .so(so_out[92]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[92]), .q(msk_dat_out[92]) );
944cl_sc1_msff_8x dout_l_91 ( .si(so_out[92]), .so(so_out[91]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[91]), .q(msk_dat_out[91]) );
945cl_sc1_msff_8x dout_l_90 ( .si(so_out[91]), .so(so_out[90]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[90]), .q(msk_dat_out[90]) );
946
947cl_sc1_msff_8x dout_l_89 ( .si(so_out[90]), .so(so_out[89]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[89]), .q(msk_dat_out[89]) );
948cl_sc1_msff_8x dout_l_88 ( .si(so_out[89]), .so(so_out[88]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[88]), .q(msk_dat_out[88]) );
949cl_sc1_msff_8x dout_l_87 ( .si(so_out[88]), .so(so_out[87]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[87]), .q(msk_dat_out[87]) );
950cl_sc1_msff_8x dout_l_86 ( .si(so_out[87]), .so(so_out[86]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[86]), .q(msk_dat_out[86]) );
951cl_sc1_msff_8x dout_l_85 ( .si(so_out[86]), .so(so_out[85]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[85]), .q(msk_dat_out[85]) );
952cl_sc1_msff_8x dout_l_84 ( .si(so_out[85]), .so(so_out[84]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[84]), .q(msk_dat_out[84]) );
953cl_sc1_msff_8x dout_l_83 ( .si(so_out[84]), .so(so_out[83]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[83]), .q(msk_dat_out[83]) );
954cl_sc1_msff_8x dout_l_82 ( .si(so_out[83]), .so(so_out[82]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[82]), .q(msk_dat_out[82]) );
955cl_sc1_msff_8x dout_l_81 ( .si(so_out[82]), .so(so_out[81]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[81]), .q(msk_dat_out[81]) );
956cl_sc1_msff_8x dout_l_80 ( .si(so_out[81]), .so(so_out[80]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[80]), .q(msk_dat_out[80]) );
957
958cl_sc1_msff_8x dout_l_79 ( .si(so_out[80]), .so(so_out[79]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[79]), .q(msk_dat_out[79]) );
959cl_sc1_msff_8x dout_l_78 ( .si(so_out[79]), .so(so_out[78]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[78]), .q(msk_dat_out[78]) );
960cl_sc1_msff_8x dout_l_77 ( .si(so_out[78]), .so(so_out[77]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[77]), .q(msk_dat_out[77]) );
961cl_sc1_msff_8x dout_l_76 ( .si(so_out[77]), .so(so_out[76]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[76]), .q(msk_dat_out[76]) );
962cl_sc1_msff_8x dout_l_75 ( .si(so_out[76]), .so(so_out[75]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[75]), .q(msk_dat_out[75]) );
963cl_sc1_msff_8x dout_l_74 ( .si(so_out[75]), .so(so_out[74]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[74]), .q(msk_dat_out[74]) );
964cl_sc1_msff_8x dout_l_73 ( .si(so_out[74]), .so(so_out[73]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[73]), .q(msk_dat_out[73]) );
965cl_sc1_msff_8x dout_l_72 ( .si(so_out[73]), .so(so_out[72]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[72]), .q(msk_dat_out[72]) );
966cl_sc1_msff_8x dout_l_71 ( .si(so_out[72]), .so(so_out[71]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[71]), .q(msk_dat_out[71]) );
967cl_sc1_msff_8x dout_l_70 ( .si(so_out[71]), .so(so_out[70]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[70]), .q(msk_dat_out[70]) );
968
969cl_sc1_msff_8x dout_l_69 ( .si(so_out[70]), .so(so_out[69]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[69]), .q(msk_dat_out[69]) );
970cl_sc1_msff_8x dout_l_68 ( .si(so_out[69]), .so(so_out[68]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[68]), .q(msk_dat_out[68]) );
971cl_sc1_msff_8x dout_l_67 ( .si(so_out[68]), .so(so_out[67]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[67]), .q(msk_dat_out[67]) );
972cl_sc1_msff_8x dout_l_66 ( .si(so_out[67]), .so(so_out[66]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[66]), .q(msk_dat_out[66]) );
973cl_sc1_msff_8x dout_l_65 ( .si(so_out[66]), .so(so_out[65]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[65]), .q(msk_dat_out[65]) );
974cl_sc1_msff_8x dout_l_64 ( .si(so_out[65]), .so(so_out[64]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[64]), .q(msk_dat_out[64]) );
975cl_sc1_msff_8x dout_l_63 ( .si(so_out[64]), .so(so_out[63]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[63]), .q(msk_dat_out[63]) );
976cl_sc1_msff_8x dout_l_62 ( .si(so_out[63]), .so(so_out[62]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[62]), .q(msk_dat_out[62]) );
977cl_sc1_msff_8x dout_l_61 ( .si(so_out[62]), .so(so_out[61]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[61]), .q(msk_dat_out[61]) );
978cl_sc1_msff_8x dout_l_60 ( .si(so_out[61]), .so(so_out[60]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[60]), .q(msk_dat_out[60]) );
979
980cl_sc1_msff_8x dout_l_59 ( .si(so_out[60]), .so(so_out[59]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[59]), .q(msk_dat_out[59]) );
981cl_sc1_msff_8x dout_l_58 ( .si(so_out[59]), .so(so_out[58]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[58]), .q(msk_dat_out[58]) );
982cl_sc1_msff_8x dout_l_57 ( .si(so_out[58]), .so(so_out[57]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[57]), .q(msk_dat_out[57]) );
983cl_sc1_msff_8x dout_l_56 ( .si(so_out[57]), .so(so_out[56]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[56]), .q(msk_dat_out[56]) );
984cl_sc1_msff_8x dout_l_55 ( .si(so_out[56]), .so(so_out[55]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[55]), .q(msk_dat_out[55]) );
985cl_sc1_msff_8x dout_l_54 ( .si(so_out[55]), .so(so_out[54]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[54]), .q(msk_dat_out[54]) );
986cl_sc1_msff_8x dout_l_53 ( .si(so_out[54]), .so(so_out[53]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[53]), .q(msk_dat_out[53]) );
987cl_sc1_msff_8x dout_l_52 ( .si(so_out[53]), .so(so_out[52]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[52]), .q(msk_dat_out[52]) );
988cl_sc1_msff_8x dout_l_51 ( .si(so_out[52]), .so(so_out[51]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[51]), .q(msk_dat_out[51]) );
989cl_sc1_msff_8x dout_l_50 ( .si(so_out[51]), .so(so_out[50]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[50]), .q(msk_dat_out[50]) );
990
991cl_sc1_msff_8x dout_l_49 ( .si(so_out[50]), .so(so_out[49]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[49]), .q(msk_dat_out[49]) );
992cl_sc1_msff_8x dout_l_48 ( .si(so_out[49]), .so(so_out[48]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[48]), .q(msk_dat_out[48]) );
993cl_sc1_msff_8x dout_l_47 ( .si(so_out[48]), .so(so_out[47]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[47]), .q(msk_dat_out[47]) );
994cl_sc1_msff_8x dout_l_46 ( .si(so_out[47]), .so(so_out[46]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[46]), .q(msk_dat_out[46]) );
995cl_sc1_msff_8x dout_l_45 ( .si(so_out[46]), .so(so_out[45]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[45]), .q(msk_dat_out[45]) );
996cl_sc1_msff_8x dout_l_44 ( .si(so_out[45]), .so(so_out[44]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[44]), .q(msk_dat_out[44]) );
997cl_sc1_msff_8x dout_l_43 ( .si(so_out[44]), .so(so_out[43]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[43]), .q(msk_dat_out[43]) );
998cl_sc1_msff_8x dout_l_42 ( .si(so_out[43]), .so(so_out[42]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[42]), .q(msk_dat_out[42]) );
999cl_sc1_msff_8x dout_l_41 ( .si(so_out[42]), .so(so_out[41]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[41]), .q(msk_dat_out[41]) );
1000cl_sc1_msff_8x dout_l_40 ( .si(so_out[41]), .so(so_out[40]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[40]), .q(msk_dat_out[40]) );
1001
1002cl_sc1_msff_8x dout_l_39 ( .si(so_out[40]), .so(so_out[39]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[39]), .q(msk_dat_out[39]) );
1003cl_sc1_msff_8x dout_l_38 ( .si(so_out[39]), .so(so_out[38]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[38]), .q(msk_dat_out[38]) );
1004cl_sc1_msff_8x dout_l_37 ( .si(so_out[38]), .so(so_out[37]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[37]), .q(msk_dat_out[37]) );
1005cl_sc1_msff_8x dout_l_36 ( .si(so_out[37]), .so(so_out[36]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[36]), .q(msk_dat_out[36]) );
1006cl_sc1_msff_8x dout_l_35 ( .si(so_out[36]), .so(so_out[35]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[35]), .q(msk_dat_out[35]) );
1007cl_sc1_msff_8x dout_l_34 ( .si(so_out[35]), .so(so_out[34]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[34]), .q(msk_dat_out[34]) );
1008cl_sc1_msff_8x dout_l_33 ( .si(so_out[34]), .so(so_out[33]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[33]), .q(msk_dat_out[33]) );
1009cl_sc1_msff_8x dout_l_32 ( .si(so_out[33]), .so(so_out[32]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[32]), .q(msk_dat_out[32]) );
1010cl_sc1_msff_8x dout_l_31 ( .si(so_out[32]), .so(so_out[31]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[31]), .q(msk_dat_out[31]) );
1011cl_sc1_msff_8x dout_l_30 ( .si(so_out[31]), .so(so_out[30]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[30]), .q(msk_dat_out[30]) );
1012
1013cl_sc1_msff_8x dout_l_29 ( .si(so_out[30]), .so(so_out[29]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[29]), .q(msk_dat_out[29]) );
1014cl_sc1_msff_8x dout_l_28 ( .si(so_out[29]), .so(so_out[28]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[28]), .q(msk_dat_out[28]) );
1015cl_sc1_msff_8x dout_l_27 ( .si(so_out[28]), .so(so_out[27]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[27]), .q(msk_dat_out[27]) );
1016cl_sc1_msff_8x dout_l_26 ( .si(so_out[27]), .so(so_out[26]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[26]), .q(msk_dat_out[26]) );
1017cl_sc1_msff_8x dout_l_25 ( .si(so_out[26]), .so(so_out[25]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[25]), .q(msk_dat_out[25]) );
1018cl_sc1_msff_8x dout_l_24 ( .si(so_out[25]), .so(so_out[24]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[24]), .q(msk_dat_out[24]) );
1019cl_sc1_msff_8x dout_l_23 ( .si(so_out[24]), .so(so_out[23]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[23]), .q(msk_dat_out[23]) );
1020cl_sc1_msff_8x dout_l_22 ( .si(so_out[23]), .so(so_out[22]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[22]), .q(msk_dat_out[22]) );
1021cl_sc1_msff_8x dout_l_21 ( .si(so_out[22]), .so(so_out[21]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[21]), .q(msk_dat_out[21]) );
1022cl_sc1_msff_8x dout_l_20 ( .si(so_out[21]), .so(so_out[20]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[20]), .q(msk_dat_out[20]) );
1023
1024cl_sc1_msff_8x dout_l_19 ( .si(so_out[20]), .so(so_out[19]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[19]), .q(msk_dat_out[19]) );
1025cl_sc1_msff_8x dout_l_18 ( .si(so_out[19]), .so(so_out[18]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[18]), .q(msk_dat_out[18]) );
1026cl_sc1_msff_8x dout_l_17 ( .si(so_out[18]), .so(so_out[17]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[17]), .q(msk_dat_out[17]) );
1027cl_sc1_msff_8x dout_l_16 ( .si(so_out[17]), .so(so_out[16]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[16]), .q(msk_dat_out[16]) );
1028cl_sc1_msff_8x dout_l_15 ( .si(so_out[16]), .so(so_out[15]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[15]), .q(msk_dat_out[15]) );
1029cl_sc1_msff_8x dout_l_14 ( .si(so_out[15]), .so(so_out[14]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[14]), .q(msk_dat_out[14]) );
1030cl_sc1_msff_8x dout_l_13 ( .si(so_out[14]), .so(so_out[13]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[13]), .q(msk_dat_out[13]) );
1031cl_sc1_msff_8x dout_l_12 ( .si(so_out[13]), .so(so_out[12]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[12]), .q(msk_dat_out[12]) );
1032cl_sc1_msff_8x dout_l_11 ( .si(so_out[12]), .so(so_out[11]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[11]), .q(msk_dat_out[11]) );
1033cl_sc1_msff_8x dout_l_10 ( .si(so_out[11]), .so(so_out[10]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[10]), .q(msk_dat_out[10]) );
1034
1035cl_sc1_msff_8x dout_l_09 ( .si(so_out[10]), .so(so_out[9]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[9]), .q(msk_dat_out[9]) );
1036cl_sc1_msff_8x dout_l_08 ( .si(so_out[9]), .so(so_out[8]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[8]), .q(msk_dat_out[8]) );
1037cl_sc1_msff_8x dout_l_07 ( .si(so_out[8]), .so(so_out[7]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[7]), .q(msk_dat_out[7]) );
1038cl_sc1_msff_8x dout_l_06 ( .si(so_out[7]), .so(so_out[6]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[6]), .q(msk_dat_out[6]) );
1039cl_sc1_msff_8x dout_l_05 ( .si(so_out[6]), .so(so_out[5]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[5]), .q(msk_dat_out[5]) );
1040cl_sc1_msff_8x dout_l_04 ( .si(so_out[5]), .so(so_out[4]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[4]), .q(msk_dat_out[4]) );
1041cl_sc1_msff_8x dout_l_03 ( .si(so_out[4]), .so(so_out[3]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[3]), .q(msk_dat_out[3]) );
1042cl_sc1_msff_8x dout_l_02 ( .si(so_out[3]), .so(so_out[2]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[2]), .q(msk_dat_out[2]) );
1043cl_sc1_msff_8x dout_l_01 ( .si(so_out[2]), .so(so_out[1]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[1]), .q(msk_dat_out[1]) );
1044cl_sc1_msff_8x dout_l_00 ( .si(so_out[1]), .so(so_out[0]), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(saout[0]), .q(msk_dat_out[0]) );
1045
1046/*
1047 dff #(100) dout_l (
1048 .l1clk(l1clk_out),
1049 .siclk(siclk),
1050 .soclk(soclk),
1051 .d(saout[99:0]),
1052 .si({so_wst[1], so_out[99:1]}),
1053 .so(so_out[99:0]),
1054 .q(msk_dat_out[99:0])
1055 );
1056*/
1057
1058endmodule
1059
1060
1061
1062/**********************************************************
1063***********************************************************
1064
1065 Project : Niu
1066
1067 File name : niu_scam_enc.v
1068
1069 Module(s) name : niu_scam_enc
1070
1071 Parent modules : niu_scam.v
1072
1073 Child modules : niu_scam_hit
1074
1075
1076 Date : Jan. 2004
1077
1078 Description :
1079
1080 Synthesis Notes:
1081
1082 Modification History:
1083 Date Description
1084 ---- -----------
1085
1086************************************************************
1087***********************************************************/
1088
1089module n2_tcam_enc (
1090 ml_sout,
1091 hit,
1092 haddr);
1093
1094input [127:0] ml_sout; // matched entries
1095output hit; // cam has a match/hit
1096output [6:0] haddr; // cam's match/hit address
1097
1098
1099wire hit;
1100reg [6:0] haddr;
1101reg pe_flag;
1102integer i;
1103
1104 assign hit = |(ml_sout[127:0]);
1105
1106 always @(ml_sout)
1107 begin
1108 pe_flag=1'b0;
1109 haddr = 7'h3f;
1110 // Priority is given to entry0
1111 for (i=0;i<128;i=i+1) begin
1112
1113 if(~pe_flag) begin
1114 if(ml_sout[i])
1115 begin
1116 haddr = i ;
1117 pe_flag=1'b1;
1118 end
1119 else if(~ml_sout[i])
1120 begin
1121 pe_flag=1'b0;
1122 end
1123 else
1124 begin
1125 pe_flag=1'b1;
1126 haddr = 7'bXXX_XXXX;
1127 end
1128 end
1129 end
1130
1131 if(~pe_flag) begin
1132 haddr = 7'h7f;
1133 end
1134 end
1135
1136endmodule
1137
1138/**********************************************************
1139***********************************************************
1140
1141 Project : Niu
1142
1143 File name : niu_scam_ary.v
1144
1145 Module(s) name : niu_scam_ary
1146
1147 Parent modules : niu_scam.v
1148
1149 Child modules :
1150
1151
1152 Date : April. 2004
1153
1154 Description :
1155
1156 Synthesis Notes:
1157
1158 Modification History:
1159 Date Description
1160 ---- -----------
1161 8/20/04 Updated the array to match the schematic behavior nmoon
1162************************************************************
1163***********************************************************/
1164
1165module n2_tcam_array (
1166 din,
1167 index,
1168 r_en_b,
1169 w_en_b,
1170 k_en_b,
1171 sel_msk,
1172 l1clk,
1173 saout,
1174 ml_sout);
1175
1176
1177input [199:0] din; // compare_data/pio_data_input, registered
1178input r_en_b; // if 1, pio read to cam's mask or data plane.
1179input w_en_b; // if 1, pio write to cam's mask or data plane.
1180input k_en_b; // if 1, compare to cam's data.
1181input sel_msk; // pio access mask plane
1182input [6:0] index; // pio access address, registered
1183input l1clk; // tcam internal clock
1184output [199:0] saout; // pio data read out of cam's mask or data plane
1185output [127:0] ml_sout; // matched entries
1186
1187wire [199:0] din;
1188wire r_en_b;
1189wire w_en_b;
1190wire k_en_b;
1191wire [6:0] index;
1192wire l1clk;
1193
1194reg [199:0] mem_data[127:0];
1195reg [199:0] mem_mask[127:0];
1196reg [199:0] saout;
1197
1198reg [7:0] entry;
1199reg [127:0] match_entry;
1200reg [127:0] ml_sout;
1201
1202/*************** memory ***********************************/
1203 always @(w_en_b)
1204 if (!w_en_b & !sel_msk & l1clk)
1205 mem_data[index] <= din[199:0]; // 2nd cycle?
1206/*--------------------------------------------------------*/
1207 always @(w_en_b)
1208 if (!w_en_b & sel_msk & l1clk)
1209 mem_mask[index] <= din[199:0];
1210
1211/*************** read out *********************************/
1212 always @(negedge l1clk) begin
1213 if (!r_en_b & !sel_msk)
1214 saout <= mem_data[index];
1215 else if (!r_en_b & sel_msk)
1216 saout <= mem_mask[index];
1217 end
1218
1219/*************** compare **********************************/
1220/*
1221 always @(l1clk or k_en_b or din)
1222 begin
1223 if (!k_en_b && l1clk) //latch
1224 begin
1225 entry = 8'h0;
1226 match_entry = 128'h0;
1227
1228 begin
1229 while (entry < 8'h80) begin
1230 match_entry[entry] = ((din & mem_mask[entry])==(mem_data[entry] & mem_mask[entry]));
1231 entry = entry[7:0] + 8'h1;
1232 end
1233 ml_sout <= match_entry[127:0];
1234 end
1235 end
1236 end
1237*/
1238
1239 always @(negedge l1clk)
1240 begin
1241 if (!k_en_b) //latch
1242 begin
1243 entry = 8'h0;
1244 match_entry = 128'h0;
1245
1246 begin
1247
1248`ifdef PALLADIUM
1249 for(entry=8'h0;entry<8'h80;entry=entry+1)
1250 begin
1251 match_entry[entry] = ((din & mem_mask[entry])==(mem_data[entry] & mem_mask[entry]));
1252 end
1253`else
1254 while (entry < 8'h80) begin
1255 match_entry[entry] = ((din & mem_mask[entry])==(mem_data[entry] & mem_mask[entry]));
1256 entry = entry[7:0] + 8'h1;
1257 end
1258`endif
1259 ml_sout <= match_entry[127:0];
1260 end
1261 end
1262 end
1263
1264endmodule