| 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 |