Commit | Line | Data |
---|---|---|
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 | ||
48 | module 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 | ||
74 | input [199:0] data_inp; // compare_data/pio_data_input | |
75 | input cam_compare; // initiate compare operation | |
76 | input pio_wt; // if 1, pio writes to cam's data or mask or valid planes. | |
77 | input pio_rd; // if 1, pio reads from cam's data or mask or valid planes. | |
78 | input pio_sel; // pio access cam's mask<=1, data<=0 plane | |
79 | input [6:0] cam_index; // pio access address, N2: {1'b0,cam_index[6:0]} | |
80 | input reset; | |
81 | input clk; | |
82 | ||
83 | input tcu_se_scancollar_in; // dft - se for input flops default=0 | |
84 | input tcu_se_scancollar_out; // dft - se for output flops default=0 | |
85 | input tcu_array_wr_inhibit; // dft - write inhibit during scan default=0 | |
86 | input tcu_aclk; // dft - scan clock a default=0 | |
87 | input tcu_bclk; // dft - scan clock b default=0 | |
88 | input scan_in; // dft - scan in default= previous flop output | |
89 | ||
90 | input tcu_pce_ov; | |
91 | input pce; | |
92 | ||
93 | ||
94 | output scan_out; // dft - scan out | |
95 | ||
96 | output cam_valid; // if 1, cam is ready to accept a new comparison | |
97 | output cam_hit; // if 1, there is a cam match/hit | |
98 | output [6:0] cam_haddr; // index of a cam match/hit entry, N2: {1'b0,haddr[6:0]} | |
99 | output pio_rd_vld; // pio_read_out_data valid for the core_clk domain | |
100 | output [199:0] msk_dat_out; // pio data read out of cam's mask or data plane | |
101 | ||
102 | wire cam_valid; | |
103 | wire cam_hit; | |
104 | wire [6:0] cam_haddr; | |
105 | wire pio_rd_vld; | |
106 | wire [199:0] msk_dat_out; | |
107 | wire scan_out; | |
108 | ||
109 | // ----------- wire definition -------------------- | |
110 | ||
111 | wire [199:0] saout; | |
112 | wire [199:0] din; | |
113 | wire hit; | |
114 | wire [6:0] haddr; | |
115 | wire cp3; | |
116 | wire sel_msk; | |
117 | wire [6:0] index; | |
118 | wire r_en_b; | |
119 | wire w_en_b; | |
120 | wire k_en_b; | |
121 | wire [127:0] ml_sout; | |
122 | ||
123 | ||
124 | wire [6:0] so_haddr; | |
125 | wire siclk; | |
126 | wire soclk; | |
127 | wire [199:0] so_in; | |
128 | wire [199:0] so_out; | |
129 | wire [6:0] haddr_in; | |
130 | wire [6:0] so_index; | |
131 | wire hit_in; | |
132 | wire pio_sel_in; | |
133 | wire l1clk; | |
134 | wire rw1; | |
135 | /*--------------------------------------------------------*/ | |
136 | wire [2:0] c_scam_st; | |
137 | wire [1:0] c_pio_w_st; | |
138 | wire [1:0] c_pio_r_st; | |
139 | ||
140 | wire [2:0] n_scam_st_in; | |
141 | wire [1:0] n_pio_w_st_in; | |
142 | wire [1:0] n_pio_r_st_in; | |
143 | ||
144 | reg [2:0] n_scam_st; | |
145 | reg [1:0] n_pio_w_st; | |
146 | reg [1:0] n_pio_r_st; | |
147 | ||
148 | wire compare_d; | |
149 | wire write_d; | |
150 | wire read_d; | |
151 | wire compare_in; | |
152 | wire pio_rd_in; | |
153 | wire pio_wt_in; | |
154 | wire cam_compare_sm; | |
155 | wire pio_wt_sm; | |
156 | wire pio_rd_sm; | |
157 | ||
158 | wire rd_vld; | |
159 | wire cam_vld; | |
160 | wire l1clk_out; | |
161 | ||
162 | wire so_camvld; | |
163 | wire so_rdvld; | |
164 | wire so_comp; | |
165 | wire so_wrt; | |
166 | wire so_read; | |
167 | wire [1:0] so_rst; | |
168 | wire [2:0] so_cst; | |
169 | wire [1:0] so_wst; | |
170 | ||
171 | ||
172 | integer 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 | ||
348 | assign siclk = tcu_aclk; | |
349 | assign 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 | //------------------------------ | |
372 | cl_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] ) ); | |
373 | cl_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] ) ); | |
374 | cl_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] ) ); | |
375 | cl_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] ) ); | |
376 | cl_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] ) ); | |
377 | cl_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] ) ); | |
378 | cl_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] ) ); | |
379 | cl_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] ) ); | |
380 | cl_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] ) ); | |
381 | cl_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 | ||
383 | cl_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]) ); | |
384 | cl_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]) ); | |
385 | cl_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]) ); | |
386 | cl_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]) ); | |
387 | cl_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]) ); | |
388 | cl_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]) ); | |
389 | cl_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]) ); | |
390 | cl_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]) ); | |
391 | cl_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]) ); | |
392 | cl_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 | ||
394 | cl_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]) ); | |
395 | cl_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]) ); | |
396 | cl_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]) ); | |
397 | cl_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]) ); | |
398 | cl_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]) ); | |
399 | cl_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]) ); | |
400 | cl_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]) ); | |
401 | cl_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]) ); | |
402 | cl_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]) ); | |
403 | cl_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 | ||
405 | cl_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]) ); | |
406 | cl_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]) ); | |
407 | cl_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]) ); | |
408 | cl_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]) ); | |
409 | cl_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]) ); | |
410 | cl_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]) ); | |
411 | cl_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]) ); | |
412 | cl_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]) ); | |
413 | cl_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]) ); | |
414 | cl_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 | ||
416 | cl_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]) ); | |
417 | cl_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]) ); | |
418 | cl_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]) ); | |
419 | cl_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]) ); | |
420 | cl_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]) ); | |
421 | cl_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]) ); | |
422 | cl_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]) ); | |
423 | cl_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]) ); | |
424 | cl_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]) ); | |
425 | cl_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 | ||
427 | cl_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]) ); | |
428 | cl_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]) ); | |
429 | cl_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]) ); | |
430 | cl_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]) ); | |
431 | cl_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]) ); | |
432 | cl_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]) ); | |
433 | cl_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]) ); | |
434 | cl_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]) ); | |
435 | cl_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]) ); | |
436 | cl_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 | ||
438 | cl_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]) ); | |
439 | cl_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]) ); | |
440 | cl_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]) ); | |
441 | cl_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]) ); | |
442 | cl_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]) ); | |
443 | cl_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]) ); | |
444 | cl_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]) ); | |
445 | cl_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]) ); | |
446 | cl_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]) ); | |
447 | cl_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 | ||
449 | cl_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]) ); | |
450 | cl_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]) ); | |
451 | cl_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]) ); | |
452 | cl_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]) ); | |
453 | cl_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]) ); | |
454 | cl_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]) ); | |
455 | cl_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]) ); | |
456 | cl_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]) ); | |
457 | cl_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]) ); | |
458 | cl_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 | ||
460 | cl_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]) ); | |
461 | cl_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]) ); | |
462 | cl_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]) ); | |
463 | cl_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]) ); | |
464 | cl_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]) ); | |
465 | cl_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]) ); | |
466 | cl_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]) ); | |
467 | cl_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]) ); | |
468 | cl_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]) ); | |
469 | cl_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 | ||
471 | cl_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]) ); | |
472 | cl_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]) ); | |
473 | cl_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]) ); | |
474 | cl_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]) ); | |
475 | cl_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]) ); | |
476 | cl_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]) ); | |
477 | cl_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]) ); | |
478 | cl_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]) ); | |
479 | cl_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]) ); | |
480 | cl_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 | ||
500 | cl_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]) ); | |
501 | cl_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]) ); | |
502 | cl_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]) ); | |
503 | cl_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]) ); | |
504 | cl_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]) ); | |
505 | cl_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]) ); | |
506 | cl_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 | ||
508 | cl_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 ) ); | |
509 | cl_sc1_msff_8x dwrt ( .si(so_sel ), .so(so_wrt ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(pio_wt_in ), .q(write_d ) ); | |
510 | cl_sc1_msff_8x dread ( .si(so_wrt ), .so(so_read ), .l1clk(l1clk_in), .siclk(siclk), .soclk(soclk), .d(pio_rd_in ), .q(read_d ) ); | |
511 | cl_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 | ||
574 | cl_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]) ); | |
575 | cl_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]) ); | |
576 | cl_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]) ); | |
577 | cl_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]) ); | |
578 | cl_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]) ); | |
579 | cl_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]) ); | |
580 | cl_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]) ); | |
581 | cl_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]) ); | |
582 | cl_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]) ); | |
583 | cl_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 | ||
585 | cl_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]) ); | |
586 | cl_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]) ); | |
587 | cl_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]) ); | |
588 | cl_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]) ); | |
589 | cl_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]) ); | |
590 | cl_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]) ); | |
591 | cl_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]) ); | |
592 | cl_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]) ); | |
593 | cl_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]) ); | |
594 | cl_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 | ||
596 | cl_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]) ); | |
597 | cl_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]) ); | |
598 | cl_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]) ); | |
599 | cl_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]) ); | |
600 | cl_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]) ); | |
601 | cl_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]) ); | |
602 | cl_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]) ); | |
603 | cl_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]) ); | |
604 | cl_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]) ); | |
605 | cl_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 | ||
607 | cl_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]) ); | |
608 | cl_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]) ); | |
609 | cl_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]) ); | |
610 | cl_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]) ); | |
611 | cl_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]) ); | |
612 | cl_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]) ); | |
613 | cl_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]) ); | |
614 | cl_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]) ); | |
615 | cl_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]) ); | |
616 | cl_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 | ||
618 | cl_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]) ); | |
619 | cl_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]) ); | |
620 | cl_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]) ); | |
621 | cl_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]) ); | |
622 | cl_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]) ); | |
623 | cl_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]) ); | |
624 | cl_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]) ); | |
625 | cl_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]) ); | |
626 | cl_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]) ); | |
627 | cl_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 | ||
629 | cl_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]) ); | |
630 | cl_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]) ); | |
631 | cl_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]) ); | |
632 | cl_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]) ); | |
633 | cl_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]) ); | |
634 | cl_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]) ); | |
635 | cl_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]) ); | |
636 | cl_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]) ); | |
637 | cl_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]) ); | |
638 | cl_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 | ||
640 | cl_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]) ); | |
641 | cl_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]) ); | |
642 | cl_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]) ); | |
643 | cl_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]) ); | |
644 | cl_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]) ); | |
645 | cl_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]) ); | |
646 | cl_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]) ); | |
647 | cl_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]) ); | |
648 | cl_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]) ); | |
649 | cl_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 | ||
651 | cl_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]) ); | |
652 | cl_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]) ); | |
653 | cl_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]) ); | |
654 | cl_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]) ); | |
655 | cl_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]) ); | |
656 | cl_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]) ); | |
657 | cl_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]) ); | |
658 | cl_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]) ); | |
659 | cl_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]) ); | |
660 | cl_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 | ||
662 | cl_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]) ); | |
663 | cl_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]) ); | |
664 | cl_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]) ); | |
665 | cl_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]) ); | |
666 | cl_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]) ); | |
667 | cl_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]) ); | |
668 | cl_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]) ); | |
669 | cl_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]) ); | |
670 | cl_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]) ); | |
671 | cl_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 | ||
673 | cl_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]) ); | |
674 | cl_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]) ); | |
675 | cl_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]) ); | |
676 | cl_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]) ); | |
677 | cl_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]) ); | |
678 | cl_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]) ); | |
679 | cl_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]) ); | |
680 | cl_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]) ); | |
681 | cl_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]) ); | |
682 | cl_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 | ||
700 | cl_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]) ); | |
701 | cl_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]) ); | |
702 | cl_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]) ); | |
703 | cl_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]) ); | |
704 | cl_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]) ); | |
705 | cl_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]) ); | |
706 | cl_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]) ); | |
707 | cl_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]) ); | |
708 | cl_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]) ); | |
709 | cl_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 | ||
711 | cl_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]) ); | |
712 | cl_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]) ); | |
713 | cl_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]) ); | |
714 | cl_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]) ); | |
715 | cl_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]) ); | |
716 | cl_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]) ); | |
717 | cl_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]) ); | |
718 | cl_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]) ); | |
719 | cl_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]) ); | |
720 | cl_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 | ||
722 | cl_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]) ); | |
723 | cl_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]) ); | |
724 | cl_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]) ); | |
725 | cl_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]) ); | |
726 | cl_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]) ); | |
727 | cl_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]) ); | |
728 | cl_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]) ); | |
729 | cl_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]) ); | |
730 | cl_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]) ); | |
731 | cl_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 | ||
733 | cl_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]) ); | |
734 | cl_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]) ); | |
735 | cl_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]) ); | |
736 | cl_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]) ); | |
737 | cl_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]) ); | |
738 | cl_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]) ); | |
739 | cl_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]) ); | |
740 | cl_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]) ); | |
741 | cl_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]) ); | |
742 | cl_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 | ||
744 | cl_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]) ); | |
745 | cl_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]) ); | |
746 | cl_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]) ); | |
747 | cl_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]) ); | |
748 | cl_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]) ); | |
749 | cl_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]) ); | |
750 | cl_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]) ); | |
751 | cl_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]) ); | |
752 | cl_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]) ); | |
753 | cl_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 | ||
755 | cl_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]) ); | |
756 | cl_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]) ); | |
757 | cl_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]) ); | |
758 | cl_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]) ); | |
759 | cl_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]) ); | |
760 | cl_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]) ); | |
761 | cl_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]) ); | |
762 | cl_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]) ); | |
763 | cl_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]) ); | |
764 | cl_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 | ||
766 | cl_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]) ); | |
767 | cl_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]) ); | |
768 | cl_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]) ); | |
769 | cl_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]) ); | |
770 | cl_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]) ); | |
771 | cl_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]) ); | |
772 | cl_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]) ); | |
773 | cl_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]) ); | |
774 | cl_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]) ); | |
775 | cl_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 | ||
777 | cl_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]) ); | |
778 | cl_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]) ); | |
779 | cl_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]) ); | |
780 | cl_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]) ); | |
781 | cl_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]) ); | |
782 | cl_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]) ); | |
783 | cl_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]) ); | |
784 | cl_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]) ); | |
785 | cl_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]) ); | |
786 | cl_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 | ||
788 | cl_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]) ); | |
789 | cl_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]) ); | |
790 | cl_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]) ); | |
791 | cl_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]) ); | |
792 | cl_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]) ); | |
793 | cl_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]) ); | |
794 | cl_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]) ); | |
795 | cl_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]) ); | |
796 | cl_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]) ); | |
797 | cl_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 | ||
799 | cl_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]) ); | |
800 | cl_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]) ); | |
801 | cl_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]) ); | |
802 | cl_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]) ); | |
803 | cl_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]) ); | |
804 | cl_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]) ); | |
805 | cl_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]) ); | |
806 | cl_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]) ); | |
807 | cl_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]) ); | |
808 | cl_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 | ||
826 | cl_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 | ||
828 | cl_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]) ); | |
829 | cl_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]) ); | |
830 | cl_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]) ); | |
831 | cl_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]) ); | |
832 | cl_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]) ); | |
833 | cl_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]) ); | |
834 | cl_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 | ||
863 | cl_sc1_msff_8x dcamvld ( .si(so_haddr[6]), .so(so_camvld), .l1clk(l1clk_out), .siclk(siclk), .soclk(soclk), .d(cam_vld), .q(cam_valid) ); | |
864 | cl_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 | ||
866 | cl_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]) ); | |
867 | cl_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]) ); | |
868 | cl_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 | ||
870 | cl_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]) ); | |
871 | cl_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 | ||
873 | cl_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]) ); | |
874 | cl_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 | ||
936 | cl_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]) ); | |
937 | cl_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]) ); | |
938 | cl_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]) ); | |
939 | cl_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]) ); | |
940 | cl_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]) ); | |
941 | cl_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]) ); | |
942 | cl_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]) ); | |
943 | cl_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]) ); | |
944 | cl_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]) ); | |
945 | cl_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 | ||
947 | cl_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]) ); | |
948 | cl_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]) ); | |
949 | cl_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]) ); | |
950 | cl_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]) ); | |
951 | cl_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]) ); | |
952 | cl_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]) ); | |
953 | cl_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]) ); | |
954 | cl_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]) ); | |
955 | cl_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]) ); | |
956 | cl_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 | ||
958 | cl_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]) ); | |
959 | cl_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]) ); | |
960 | cl_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]) ); | |
961 | cl_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]) ); | |
962 | cl_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]) ); | |
963 | cl_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]) ); | |
964 | cl_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]) ); | |
965 | cl_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]) ); | |
966 | cl_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]) ); | |
967 | cl_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 | ||
969 | cl_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]) ); | |
970 | cl_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]) ); | |
971 | cl_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]) ); | |
972 | cl_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]) ); | |
973 | cl_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]) ); | |
974 | cl_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]) ); | |
975 | cl_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]) ); | |
976 | cl_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]) ); | |
977 | cl_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]) ); | |
978 | cl_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 | ||
980 | cl_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]) ); | |
981 | cl_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]) ); | |
982 | cl_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]) ); | |
983 | cl_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]) ); | |
984 | cl_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]) ); | |
985 | cl_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]) ); | |
986 | cl_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]) ); | |
987 | cl_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]) ); | |
988 | cl_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]) ); | |
989 | cl_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 | ||
991 | cl_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]) ); | |
992 | cl_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]) ); | |
993 | cl_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]) ); | |
994 | cl_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]) ); | |
995 | cl_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]) ); | |
996 | cl_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]) ); | |
997 | cl_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]) ); | |
998 | cl_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]) ); | |
999 | cl_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]) ); | |
1000 | cl_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 | ||
1002 | cl_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]) ); | |
1003 | cl_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]) ); | |
1004 | cl_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]) ); | |
1005 | cl_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]) ); | |
1006 | cl_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]) ); | |
1007 | cl_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]) ); | |
1008 | cl_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]) ); | |
1009 | cl_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]) ); | |
1010 | cl_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]) ); | |
1011 | cl_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 | ||
1013 | cl_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]) ); | |
1014 | cl_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]) ); | |
1015 | cl_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]) ); | |
1016 | cl_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]) ); | |
1017 | cl_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]) ); | |
1018 | cl_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]) ); | |
1019 | cl_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]) ); | |
1020 | cl_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]) ); | |
1021 | cl_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]) ); | |
1022 | cl_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 | ||
1024 | cl_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]) ); | |
1025 | cl_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]) ); | |
1026 | cl_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]) ); | |
1027 | cl_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]) ); | |
1028 | cl_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]) ); | |
1029 | cl_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]) ); | |
1030 | cl_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]) ); | |
1031 | cl_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]) ); | |
1032 | cl_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]) ); | |
1033 | cl_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 | ||
1035 | cl_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]) ); | |
1036 | cl_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]) ); | |
1037 | cl_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]) ); | |
1038 | cl_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]) ); | |
1039 | cl_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]) ); | |
1040 | cl_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]) ); | |
1041 | cl_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]) ); | |
1042 | cl_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]) ); | |
1043 | cl_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]) ); | |
1044 | cl_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 | ||
1058 | endmodule | |
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 | ||
1089 | module n2_tcam_enc ( | |
1090 | ml_sout, | |
1091 | hit, | |
1092 | haddr); | |
1093 | ||
1094 | input [127:0] ml_sout; // matched entries | |
1095 | output hit; // cam has a match/hit | |
1096 | output [6:0] haddr; // cam's match/hit address | |
1097 | ||
1098 | ||
1099 | wire hit; | |
1100 | reg [6:0] haddr; | |
1101 | reg pe_flag; | |
1102 | integer 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 | ||
1136 | endmodule | |
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 | ||
1165 | module 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 | ||
1177 | input [199:0] din; // compare_data/pio_data_input, registered | |
1178 | input r_en_b; // if 1, pio read to cam's mask or data plane. | |
1179 | input w_en_b; // if 1, pio write to cam's mask or data plane. | |
1180 | input k_en_b; // if 1, compare to cam's data. | |
1181 | input sel_msk; // pio access mask plane | |
1182 | input [6:0] index; // pio access address, registered | |
1183 | input l1clk; // tcam internal clock | |
1184 | output [199:0] saout; // pio data read out of cam's mask or data plane | |
1185 | output [127:0] ml_sout; // matched entries | |
1186 | ||
1187 | wire [199:0] din; | |
1188 | wire r_en_b; | |
1189 | wire w_en_b; | |
1190 | wire k_en_b; | |
1191 | wire [6:0] index; | |
1192 | wire l1clk; | |
1193 | ||
1194 | reg [199:0] mem_data[127:0]; | |
1195 | reg [199:0] mem_mask[127:0]; | |
1196 | reg [199:0] saout; | |
1197 | ||
1198 | reg [7:0] entry; | |
1199 | reg [127:0] match_entry; | |
1200 | reg [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 | ||
1264 | endmodule |