| 1 | // ========== Copyright Header Begin ========================================== |
| 2 | // |
| 3 | // OpenSPARC T2 Processor File: n2_com_cm_32x40_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 | module n2_com_cm_32x40_cust ( |
| 36 | adr_w, |
| 37 | din, |
| 38 | write_en, |
| 39 | tcu_array_wr_inhibit, |
| 40 | adr_r, |
| 41 | read_en, |
| 42 | lookup_en, |
| 43 | key, |
| 44 | l2clk, |
| 45 | tcu_se_scancollar_in, |
| 46 | scan_in, |
| 47 | tcu_pce_ov, |
| 48 | pce, |
| 49 | tcu_aclk, |
| 50 | tcu_bclk, |
| 51 | tcu_scan_en, |
| 52 | tcu_clk_stop, |
| 53 | tcu_array_bypass, |
| 54 | scan_out, |
| 55 | match, |
| 56 | match_idx, |
| 57 | dout); |
| 58 | wire siclk; |
| 59 | wire soclk; |
| 60 | wire pce_ov; |
| 61 | wire l1clk_in; |
| 62 | wire l1clk_en; |
| 63 | wire [142:0] so; |
| 64 | wire [152:0] xx_unused; |
| 65 | wire [152:0] xx0_unused; |
| 66 | wire [41:0] din_d1; |
| 67 | wire [41:7] key_d1; |
| 68 | wire lkup_so; |
| 69 | wire lookup_en_d1; |
| 70 | wire mb_ren_d1; |
| 71 | wire mb_wen_d1; |
| 72 | wire [31:0] adr_r_d1; |
| 73 | wire [31:0] adr_w_d1; |
| 74 | |
| 75 | |
| 76 | input [31:0] adr_w ; // set up to +ve edge, BS & SR 11/04/03, MB grows to 32 |
| 77 | input [41:0] din; // set up to +ve edge |
| 78 | input write_en; // +ve edge clk; write enable |
| 79 | input tcu_array_wr_inhibit; // used to gate off writes during SCAN. |
| 80 | input [31:0] adr_r; // set up to +ve edge, BS & SR 11/04/03, MB grows to 32 |
| 81 | input read_en; |
| 82 | input lookup_en; // set up to -ve edge |
| 83 | input [41:7] key; // set up to -ve edge |
| 84 | input l2clk ; |
| 85 | input tcu_se_scancollar_in; |
| 86 | input scan_in; |
| 87 | input tcu_pce_ov; |
| 88 | input pce; |
| 89 | input tcu_aclk; |
| 90 | input tcu_bclk; |
| 91 | input tcu_scan_en; |
| 92 | input tcu_clk_stop; |
| 93 | input tcu_array_bypass; // array bypass for DFT |
| 94 | |
| 95 | output scan_out; |
| 96 | output [31:0] match ; |
| 97 | output [31:0] match_idx ; |
| 98 | output [41:0] dout; |
| 99 | |
| 100 | // JDL 05/17/07 |
| 101 | // synopsys translate_off |
| 102 | |
| 103 | wire [41:0] dout_array; |
| 104 | wire [31:0] match_array; |
| 105 | wire [31:0] match_idx_array; |
| 106 | |
| 107 | // scan chain connections //// |
| 108 | wire stop; |
| 109 | assign siclk = tcu_aclk; |
| 110 | assign soclk = tcu_bclk; |
| 111 | //assign se = tcu_scan_en; |
| 112 | assign stop = tcu_clk_stop; |
| 113 | assign pce_ov = tcu_pce_ov; |
| 114 | |
| 115 | assign dout = dout_array; |
| 116 | |
| 117 | //// Input Flops ///// |
| 118 | |
| 119 | |
| 120 | /////////// |
| 121 | n2_com_cm_32x40_cust_l1clkhdr_ctl_macro collar_in |
| 122 | ( |
| 123 | .l2clk (l2clk ), |
| 124 | .l1en (pce ), |
| 125 | .pce_ov (pce_ov ), |
| 126 | .stop (stop ), |
| 127 | .se (tcu_se_scancollar_in), |
| 128 | .l1clk (l1clk_in ) |
| 129 | ); |
| 130 | |
| 131 | n2_com_cm_32x40_cust_l1clkhdr_ctl_macro scan_en |
| 132 | ( |
| 133 | .l2clk (l2clk ), |
| 134 | .l1en (pce ), |
| 135 | .pce_ov (pce_ov ), |
| 136 | .stop (stop ), |
| 137 | .se (tcu_scan_en), |
| 138 | .l1clk (l1clk_en ) |
| 139 | ); |
| 140 | |
| 141 | |
| 142 | |
| 143 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx0 (.scan_in(scan_in), .scan_out(so[0]), .l1clk(l1clk_in), .d(din[0]), .latout(xx_unused[0]), .q_l(xx0_unused[0]), .q(din_d1[0]), |
| 144 | .siclk(siclk), |
| 145 | .soclk(soclk)); |
| 146 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx1 (.scan_in(so[0]), .scan_out(so[1]), .l1clk(l1clk_in), .d(din[1]), .latout(xx_unused[1]), .q_l(xx0_unused[1]), .q(din_d1[1]), |
| 147 | .siclk(siclk), |
| 148 | .soclk(soclk)); |
| 149 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx2 (.scan_in(so[1]), .scan_out(so[2]), .l1clk(l1clk_in), .d(din[2]), .latout(xx_unused[2]), .q_l(xx0_unused[2]), .q(din_d1[2]), |
| 150 | .siclk(siclk), |
| 151 | .soclk(soclk)); |
| 152 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx3 (.scan_in(so[2]), .scan_out(so[3]), .l1clk(l1clk_in), .d(din[3]), .latout(xx_unused[3]), .q_l(xx0_unused[3]), .q(din_d1[3]), |
| 153 | .siclk(siclk), |
| 154 | .soclk(soclk)); |
| 155 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx4 (.scan_in(so[3]), .scan_out(so[4]), .l1clk(l1clk_in), .d(din[4]), .latout(xx_unused[4]), .q_l(xx0_unused[4]), .q(din_d1[4]), |
| 156 | .siclk(siclk), |
| 157 | .soclk(soclk)); |
| 158 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx5 (.scan_in(so[4]), .scan_out(so[5]), .l1clk(l1clk_in), .d(din[5]), .latout(xx_unused[5]), .q_l(xx0_unused[5]), .q(din_d1[5]), |
| 159 | .siclk(siclk), |
| 160 | .soclk(soclk)); |
| 161 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx6 (.scan_in(so[5]), .scan_out(so[6]), .l1clk(l1clk_in), .d(din[6]), .latout(xx_unused[6]), .q_l(xx0_unused[6]), .q(din_d1[6]), |
| 162 | .siclk(siclk), |
| 163 | .soclk(soclk)); |
| 164 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx7 (.scan_in(so[6]), .scan_out(so[7]), .l1clk(l1clk_in), .d(din[9]), .latout(xx_unused[7]), .q_l(xx0_unused[7]), .q(din_d1[9]), |
| 165 | .siclk(siclk), |
| 166 | .soclk(soclk)); |
| 167 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx8 (.scan_in(so[7]), .scan_out(so[8]), .l1clk(l1clk_in), .d(din[10]), .latout(xx_unused[8]), .q_l(xx0_unused[8]), .q(din_d1[10]), |
| 168 | .siclk(siclk), |
| 169 | .soclk(soclk)); |
| 170 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx9 (.scan_in(so[8]), .scan_out(so[9]), .l1clk(l1clk_in), .d(din[11]), .latout(xx_unused[9]), .q_l(xx0_unused[9]), .q(din_d1[11]), |
| 171 | .siclk(siclk), |
| 172 | .soclk(soclk)); |
| 173 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx10 (.scan_in(so[9]), .scan_out(so[10]), .l1clk(l1clk_in), .d(din[12]), .latout(xx_unused[10]), .q_l(xx0_unused[10]), .q(din_d1[12]), |
| 174 | .siclk(siclk), |
| 175 | .soclk(soclk)); |
| 176 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx11 (.scan_in(so[10]), .scan_out(so[11]), .l1clk(l1clk_in), .d(din[13]), .latout(xx_unused[11]), .q_l(xx0_unused[11]), .q(din_d1[13]), |
| 177 | .siclk(siclk), |
| 178 | .soclk(soclk)); |
| 179 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx12 (.scan_in(so[11]), .scan_out(so[12]), .l1clk(l1clk_in), .d(din[14]), .latout(xx_unused[12]), .q_l(xx0_unused[12]), .q(din_d1[14]), |
| 180 | .siclk(siclk), |
| 181 | .soclk(soclk)); |
| 182 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx13 (.scan_in(so[12]), .scan_out(so[13]), .l1clk(l1clk_in), .d(din[15]), .latout(xx_unused[13]), .q_l(xx0_unused[13]), .q(din_d1[15]), |
| 183 | .siclk(siclk), |
| 184 | .soclk(soclk)); |
| 185 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx14 (.scan_in(so[13]), .scan_out(so[14]), .l1clk(l1clk_in), .d(din[16]), .latout(xx_unused[14]), .q_l(xx0_unused[14]), .q(din_d1[16]), |
| 186 | .siclk(siclk), |
| 187 | .soclk(soclk)); |
| 188 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx15 (.scan_in(so[14]), .scan_out(so[15]), .l1clk(l1clk_in), .d(din[17]), .latout(xx_unused[15]), .q_l(xx0_unused[15]), .q(din_d1[17]), |
| 189 | .siclk(siclk), |
| 190 | .soclk(soclk)); |
| 191 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx16 (.scan_in(so[15]), .scan_out(so[16]), .l1clk(l1clk_in), .d(din[7]), .latout(xx_unused[16]), .q_l(xx0_unused[16]), .q(din_d1[7]), |
| 192 | .siclk(siclk), |
| 193 | .soclk(soclk)); |
| 194 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx17 (.scan_in(so[16]), .scan_out(so[17]), .l1clk(l1clk_in), .d(din[8]), .latout(xx_unused[17]), .q_l(xx0_unused[17]), .q(din_d1[8]), |
| 195 | .siclk(siclk), |
| 196 | .soclk(soclk)); |
| 197 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx18 (.scan_in(so[17]), .scan_out(so[18]), .l1clk(l1clk_in), .d(din[18]), .latout(xx_unused[18]), .q_l(xx0_unused[18]), .q(din_d1[18]), |
| 198 | .siclk(siclk), |
| 199 | .soclk(soclk)); |
| 200 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx19 (.scan_in(so[18]), .scan_out(so[19]), .l1clk(l1clk_in), .d(din[19]), .latout(xx_unused[19]), .q_l(xx0_unused[19]), .q(din_d1[19]), |
| 201 | .siclk(siclk), |
| 202 | .soclk(soclk)); |
| 203 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx20 (.scan_in(so[19]), .scan_out(so[20]), .l1clk(l1clk_in), .d(din[20]), .latout(xx_unused[20]), .q_l(xx0_unused[20]), .q(din_d1[20]), |
| 204 | .siclk(siclk), |
| 205 | .soclk(soclk)); |
| 206 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx21 (.scan_in(so[20]), .scan_out(so[21]), .l1clk(l1clk_in), .d(din[21]), .latout(xx_unused[21]), .q_l(xx0_unused[21]), .q(din_d1[21]), |
| 207 | .siclk(siclk), |
| 208 | .soclk(soclk)); |
| 209 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx22 (.scan_in(so[21]), .scan_out(so[22]), .l1clk(l1clk_in), .d(din[22]), .latout(xx_unused[22]), .q_l(xx0_unused[22]), .q(din_d1[22]), |
| 210 | .siclk(siclk), |
| 211 | .soclk(soclk)); |
| 212 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx23 (.scan_in(so[22]), .scan_out(so[23]), .l1clk(l1clk_in), .d(din[23]), .latout(xx_unused[23]), .q_l(xx0_unused[23]), .q(din_d1[23]), |
| 213 | .siclk(siclk), |
| 214 | .soclk(soclk)); |
| 215 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx24 (.scan_in(so[23]), .scan_out(so[24]), .l1clk(l1clk_in), .d(din[24]), .latout(xx_unused[24]), .q_l(xx0_unused[24]), .q(din_d1[24]), |
| 216 | .siclk(siclk), |
| 217 | .soclk(soclk)); |
| 218 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx25 (.scan_in(so[24]), .scan_out(so[25]), .l1clk(l1clk_in), .d(din[25]), .latout(xx_unused[25]), .q_l(xx0_unused[25]), .q(din_d1[25]), |
| 219 | .siclk(siclk), |
| 220 | .soclk(soclk)); |
| 221 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx26 (.scan_in(so[25]), .scan_out(so[26]), .l1clk(l1clk_in), .d(din[26]), .latout(xx_unused[26]), .q_l(xx0_unused[26]), .q(din_d1[26]), |
| 222 | .siclk(siclk), |
| 223 | .soclk(soclk)); |
| 224 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx27 (.scan_in(so[26]), .scan_out(so[27]), .l1clk(l1clk_in), .d(din[27]), .latout(xx_unused[27]), .q_l(xx0_unused[27]), .q(din_d1[27]), |
| 225 | .siclk(siclk), |
| 226 | .soclk(soclk)); |
| 227 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx28 (.scan_in(so[27]), .scan_out(so[28]), .l1clk(l1clk_in), .d(din[28]), .latout(xx_unused[28]), .q_l(xx0_unused[28]), .q(din_d1[28]), |
| 228 | .siclk(siclk), |
| 229 | .soclk(soclk)); |
| 230 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx29 (.scan_in(so[28]), .scan_out(so[29]), .l1clk(l1clk_in), .d(din[29]), .latout(xx_unused[29]), .q_l(xx0_unused[29]), .q(din_d1[29]), |
| 231 | .siclk(siclk), |
| 232 | .soclk(soclk)); |
| 233 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx30 (.scan_in(so[29]), .scan_out(so[30]), .l1clk(l1clk_in), .d(din[30]), .latout(xx_unused[30]), .q_l(xx0_unused[30]), .q(din_d1[30]), |
| 234 | .siclk(siclk), |
| 235 | .soclk(soclk)); |
| 236 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx31 (.scan_in(so[30]), .scan_out(so[31]), .l1clk(l1clk_in), .d(din[31]), .latout(xx_unused[31]), .q_l(xx0_unused[31]), .q(din_d1[31]), |
| 237 | .siclk(siclk), |
| 238 | .soclk(soclk)); |
| 239 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx32 (.scan_in(so[31]), .scan_out(so[32]), .l1clk(l1clk_in), .d(din[32]), .latout(xx_unused[32]), .q_l(xx0_unused[32]), .q(din_d1[32]), |
| 240 | .siclk(siclk), |
| 241 | .soclk(soclk)); |
| 242 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx33 (.scan_in(so[32]), .scan_out(so[33]), .l1clk(l1clk_in), .d(din[33]), .latout(xx_unused[33]), .q_l(xx0_unused[33]), .q(din_d1[33]), |
| 243 | .siclk(siclk), |
| 244 | .soclk(soclk)); |
| 245 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx34 (.scan_in(so[33]), .scan_out(so[34]), .l1clk(l1clk_in), .d(din[34]), .latout(xx_unused[34]), .q_l(xx0_unused[34]), .q(din_d1[34]), |
| 246 | .siclk(siclk), |
| 247 | .soclk(soclk)); |
| 248 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx35 (.scan_in(so[34]), .scan_out(so[35]), .l1clk(l1clk_in), .d(din[35]), .latout(xx_unused[35]), .q_l(xx0_unused[35]), .q(din_d1[35]), |
| 249 | .siclk(siclk), |
| 250 | .soclk(soclk)); |
| 251 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx36 (.scan_in(so[35]), .scan_out(so[36]), .l1clk(l1clk_in), .d(din[36]), .latout(xx_unused[36]), .q_l(xx0_unused[36]), .q(din_d1[36]), |
| 252 | .siclk(siclk), |
| 253 | .soclk(soclk)); |
| 254 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx37 (.scan_in(so[36]), .scan_out(so[37]), .l1clk(l1clk_in), .d(din[37]), .latout(xx_unused[37]), .q_l(xx0_unused[37]), .q(din_d1[37]), |
| 255 | .siclk(siclk), |
| 256 | .soclk(soclk)); |
| 257 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx38 (.scan_in(so[37]), .scan_out(so[38]), .l1clk(l1clk_in), .d(din[38]), .latout(xx_unused[38]), .q_l(xx0_unused[38]), .q(din_d1[38]), |
| 258 | .siclk(siclk), |
| 259 | .soclk(soclk)); |
| 260 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx39 (.scan_in(so[38]), .scan_out(so[39]), .l1clk(l1clk_in), .d(din[39]), .latout(xx_unused[39]), .q_l(xx0_unused[39]), .q(din_d1[39]), |
| 261 | .siclk(siclk), |
| 262 | .soclk(soclk)); |
| 263 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx40 (.scan_in(so[39]), .scan_out(so[40]), .l1clk(l1clk_in), .d(din[40]), .latout(xx_unused[40]), .q_l(xx0_unused[40]), .q(din_d1[40]), |
| 264 | .siclk(siclk), |
| 265 | .soclk(soclk)); |
| 266 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx41 (.scan_in(so[40]), .scan_out(so[41]), .l1clk(l1clk_in), .d(din[41]), .latout(xx_unused[41]), .q_l(xx0_unused[41]), .q(din_d1[41]), |
| 267 | .siclk(siclk), |
| 268 | .soclk(soclk)); |
| 269 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx42 (.scan_in(so[41]), .scan_out(so[42]), .l1clk(l1clk_in), .d(key[41]), .latout(key_d1[41]), .q_l(xx0_unused[42]), .q(xx_unused[42]), |
| 270 | .siclk(siclk), |
| 271 | .soclk(soclk)); |
| 272 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx43 (.scan_in(so[42]), .scan_out(so[43]), .l1clk(l1clk_in), .d(key[40]), .latout(key_d1[40]), .q_l(xx0_unused[43]), .q(xx_unused[43]), |
| 273 | .siclk(siclk), |
| 274 | .soclk(soclk)); |
| 275 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx44 (.scan_in(so[43]), .scan_out(so[44]), .l1clk(l1clk_in), .d(key[39]), .latout(key_d1[39]), .q_l(xx0_unused[44]), .q(xx_unused[44]), |
| 276 | .siclk(siclk), |
| 277 | .soclk(soclk)); |
| 278 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx45 (.scan_in(so[44]), .scan_out(so[45]), .l1clk(l1clk_in), .d(key[38]), .latout(key_d1[38]), .q_l(xx0_unused[45]), .q(xx_unused[45]), |
| 279 | .siclk(siclk), |
| 280 | .soclk(soclk)); |
| 281 | |
| 282 | |
| 283 | |
| 284 | |
| 285 | |
| 286 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx46 (.scan_in(so[45]), .scan_out(lkup_so), .l1clk(l1clk_in), .d(lookup_en), .latout(lookup_en_d1), .q_l(xx0_unused[46]), .q(xx_unused[46]), |
| 287 | .siclk(siclk), |
| 288 | .soclk(soclk)); |
| 289 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx47 (.scan_in(lkup_so), .scan_out(so[46]), .l1clk(l1clk_in), .d(key[37]), .latout(key_d1[37]), .q_l(xx0_unused[47]), .q(xx_unused[47]), |
| 290 | .siclk(siclk), |
| 291 | .soclk(soclk)); |
| 292 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx48 (.scan_in(so[46]), .scan_out(so[47]), .l1clk(l1clk_in), .d(key[36]), .latout(key_d1[36]), .q_l(xx0_unused[48]), .q(xx_unused[48]), |
| 293 | .siclk(siclk), |
| 294 | .soclk(soclk)); |
| 295 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx49 (.scan_in(so[47]), .scan_out(so[48]), .l1clk(l1clk_in), .d(key[35]), .latout(key_d1[35]), .q_l(xx0_unused[49]), .q(xx_unused[49]), |
| 296 | .siclk(siclk), |
| 297 | .soclk(soclk)); |
| 298 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx50 (.scan_in(so[48]), .scan_out(so[49]), .l1clk(l1clk_in), .d(key[34]), .latout(key_d1[34]), .q_l(xx0_unused[50]), .q(xx_unused[50]), |
| 299 | .siclk(siclk), |
| 300 | .soclk(soclk)); |
| 301 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx51 (.scan_in(so[49]), .scan_out(so[50]), .l1clk(l1clk_in), .d(key[33]), .latout(key_d1[33]), .q_l(xx0_unused[51]), .q(xx_unused[51]), |
| 302 | .siclk(siclk), |
| 303 | .soclk(soclk)); |
| 304 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx52 (.scan_in(so[50]), .scan_out(so[51]), .l1clk(l1clk_in), .d(key[32]), .latout(key_d1[32]), .q_l(xx0_unused[52]), .q(xx_unused[52]), |
| 305 | .siclk(siclk), |
| 306 | .soclk(soclk)); |
| 307 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx53 (.scan_in(so[51]), .scan_out(so[52]), .l1clk(l1clk_in), .d(key[31]), .latout(key_d1[31]), .q_l(xx0_unused[53]), .q(xx_unused[53]), |
| 308 | .siclk(siclk), |
| 309 | .soclk(soclk)); |
| 310 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx54 (.scan_in(so[52]), .scan_out(so[53]), .l1clk(l1clk_in), .d(key[30]), .latout(key_d1[30]), .q_l(xx0_unused[54]), .q(xx_unused[54]), |
| 311 | .siclk(siclk), |
| 312 | .soclk(soclk)); |
| 313 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx55 (.scan_in(so[53]), .scan_out(so[54]), .l1clk(l1clk_in), .d(key[29]), .latout(key_d1[29]), .q_l(xx0_unused[55]), .q(xx_unused[55]), |
| 314 | .siclk(siclk), |
| 315 | .soclk(soclk)); |
| 316 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx56 (.scan_in(so[54]), .scan_out(so[55]), .l1clk(l1clk_in), .d(key[28]), .latout(key_d1[28]), .q_l(xx0_unused[56]), .q(xx_unused[56]), |
| 317 | .siclk(siclk), |
| 318 | .soclk(soclk)); |
| 319 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx57 (.scan_in(so[55]), .scan_out(so[56]), .l1clk(l1clk_in), .d(key[27]), .latout(key_d1[27]), .q_l(xx0_unused[57]), .q(xx_unused[57]), |
| 320 | .siclk(siclk), |
| 321 | .soclk(soclk)); |
| 322 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx58 (.scan_in(so[56]), .scan_out(so[57]), .l1clk(l1clk_in), .d(key[26]), .latout(key_d1[26]), .q_l(xx0_unused[58]), .q(xx_unused[58]), |
| 323 | .siclk(siclk), |
| 324 | .soclk(soclk)); |
| 325 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx59 (.scan_in(so[57]), .scan_out(so[58]), .l1clk(l1clk_in), .d(key[25]), .latout(key_d1[25]), .q_l(xx0_unused[59]), .q(xx_unused[59]), |
| 326 | .siclk(siclk), |
| 327 | .soclk(soclk)); |
| 328 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx60 (.scan_in(so[58]), .scan_out(so[59]), .l1clk(l1clk_in), .d(key[24]), .latout(key_d1[24]), .q_l(xx0_unused[60]), .q(xx_unused[60]), |
| 329 | .siclk(siclk), |
| 330 | .soclk(soclk)); |
| 331 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx61 (.scan_in(so[59]), .scan_out(so[60]), .l1clk(l1clk_in), .d(key[23]), .latout(key_d1[23]), .q_l(xx0_unused[70]), .q(xx_unused[70]), |
| 332 | .siclk(siclk), |
| 333 | .soclk(soclk)); |
| 334 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx62 (.scan_in(so[60]), .scan_out(so[61]), .l1clk(l1clk_in), .d(key[22]), .latout(key_d1[22]), .q_l(xx0_unused[71]), .q(xx_unused[71]), |
| 335 | .siclk(siclk), |
| 336 | .soclk(soclk)); |
| 337 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx63 (.scan_in(so[61]), .scan_out(so[62]), .l1clk(l1clk_in), .d(key[21]), .latout(key_d1[21]), .q_l(xx0_unused[72]), .q(xx_unused[72]), |
| 338 | .siclk(siclk), |
| 339 | .soclk(soclk)); |
| 340 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx64 (.scan_in(so[62]), .scan_out(so[63]), .l1clk(l1clk_in), .d(key[20]), .latout(key_d1[20]), .q_l(xx0_unused[73]), .q(xx_unused[73]), |
| 341 | .siclk(siclk), |
| 342 | .soclk(soclk)); |
| 343 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx65 (.scan_in(so[63]), .scan_out(so[64]), .l1clk(l1clk_in), .d(key[19]), .latout(key_d1[19]), .q_l(xx0_unused[74]), .q(xx_unused[74]), |
| 344 | .siclk(siclk), |
| 345 | .soclk(soclk)); |
| 346 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx66 (.scan_in(so[64]), .scan_out(so[65]), .l1clk(l1clk_in), .d(key[18]), .latout(key_d1[18]), .q_l(xx0_unused[75]), .q(xx_unused[75]), |
| 347 | .siclk(siclk), |
| 348 | .soclk(soclk)); |
| 349 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx67 (.scan_in(so[65]), .scan_out(so[66]), .l1clk(l1clk_in), .d(key[8]), .latout(key_d1[8]), .q_l(xx0_unused[76]), .q(xx_unused[76]), |
| 350 | .siclk(siclk), |
| 351 | .soclk(soclk)); |
| 352 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx68 (.scan_in(so[66]), .scan_out(so[67]), .l1clk(l1clk_in), .d(key[7]), .latout(key_d1[7]), .q_l(xx0_unused[77]), .q(xx_unused[77]), |
| 353 | .siclk(siclk), |
| 354 | .soclk(soclk)); |
| 355 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx69 (.scan_in(so[67]), .scan_out(so[68]), .l1clk(l1clk_in), .d(key[17]), .latout(key_d1[17]), .q_l(xx0_unused[78]), .q(xx_unused[78]), |
| 356 | .siclk(siclk), |
| 357 | .soclk(soclk)); |
| 358 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx70 (.scan_in(so[68]), .scan_out(so[69]), .l1clk(l1clk_in), .d(key[16]), .latout(key_d1[16]), .q_l(xx0_unused[79]), .q(xx_unused[79]), |
| 359 | .siclk(siclk), |
| 360 | .soclk(soclk)); |
| 361 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx71 (.scan_in(so[69]), .scan_out(so[70]), .l1clk(l1clk_in), .d(key[15]), .latout(key_d1[15]), .q_l(xx0_unused[80]), .q(xx_unused[80]), |
| 362 | .siclk(siclk), |
| 363 | .soclk(soclk)); |
| 364 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx72 (.scan_in(so[70]), .scan_out(so[71]), .l1clk(l1clk_in), .d(key[14]), .latout(key_d1[14]), .q_l(xx0_unused[81]), .q(xx_unused[81]), |
| 365 | .siclk(siclk), |
| 366 | .soclk(soclk)); |
| 367 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx73 (.scan_in(so[71]), .scan_out(so[72]), .l1clk(l1clk_in), .d(key[13]), .latout(key_d1[13]), .q_l(xx0_unused[82]), .q(xx_unused[82]), |
| 368 | .siclk(siclk), |
| 369 | .soclk(soclk)); |
| 370 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx74 (.scan_in(so[72]), .scan_out(so[73]), .l1clk(l1clk_in), .d(key[12]), .latout(key_d1[12]), .q_l(xx0_unused[83]), .q(xx_unused[83]), |
| 371 | .siclk(siclk), |
| 372 | .soclk(soclk)); |
| 373 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx75 (.scan_in(so[73]), .scan_out(so[74]), .l1clk(l1clk_in), .d(key[11]), .latout(key_d1[11]), .q_l(xx0_unused[84]), .q(xx_unused[84]), |
| 374 | .siclk(siclk), |
| 375 | .soclk(soclk)); |
| 376 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx76 (.scan_in(so[74]), .scan_out(so[75]), .l1clk(l1clk_in), .d(key[10]), .latout(key_d1[10]), .q_l(xx0_unused[85]), .q(xx_unused[85]), |
| 377 | .siclk(siclk), |
| 378 | .soclk(soclk)); |
| 379 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx77 (.scan_in(so[75]), .scan_out(so[76]), .l1clk(l1clk_in), .d(key[9]), .latout(key_d1[9]), .q_l(xx0_unused[86]), .q(xx_unused[86]), |
| 380 | .siclk(siclk), |
| 381 | .soclk(soclk)); |
| 382 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx78 (.scan_in(so[76]), .scan_out(so[77]), .l1clk(l1clk_in), .d(read_en), .latout(mb_ren_d1), .q_l(xx0_unused[87]), .q(xx_unused[87]), |
| 383 | .siclk(siclk), |
| 384 | .soclk(soclk)); |
| 385 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx79 (.scan_in(so[77]), .scan_out(so[78]), .l1clk(l1clk_in), .d(write_en), .latout(mb_wen_d1), .q_l(xx0_unused[88]), .q(xx_unused[88]), |
| 386 | .siclk(siclk), |
| 387 | .soclk(soclk)); |
| 388 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx80 (.scan_in(so[78]), .scan_out(so[79]), .l1clk(l1clk_in), .d(adr_r[0]), .latout(adr_r_d1[0]), .q_l(xx0_unused[89]), .q(xx_unused[89]), |
| 389 | .siclk(siclk), |
| 390 | .soclk(soclk)); |
| 391 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx81 (.scan_in(so[79]), .scan_out(so[80]), .l1clk(l1clk_in), .d(adr_r[1]), .latout(adr_r_d1[1]), .q_l(xx0_unused[90]), .q(xx_unused[90]), |
| 392 | .siclk(siclk), |
| 393 | .soclk(soclk)); |
| 394 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx82 (.scan_in(so[80]), .scan_out(so[81]), .l1clk(l1clk_in), .d(adr_r[2]), .latout(adr_r_d1[2]), .q_l(xx0_unused[91]), .q(xx_unused[91]), |
| 395 | .siclk(siclk), |
| 396 | .soclk(soclk)); |
| 397 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx83 (.scan_in(so[81]), .scan_out(so[82]), .l1clk(l1clk_in), .d(adr_r[3]), .latout(adr_r_d1[3]), .q_l(xx0_unused[92]), .q(xx_unused[92]), |
| 398 | .siclk(siclk), |
| 399 | .soclk(soclk)); |
| 400 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx84 (.scan_in(so[82]), .scan_out(so[83]), .l1clk(l1clk_in), .d(adr_w[0]), .latout(adr_w_d1[0]), .q_l(xx0_unused[93]), .q(xx_unused[93]), |
| 401 | .siclk(siclk), |
| 402 | .soclk(soclk)); |
| 403 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx85 (.scan_in(so[83]), .scan_out(so[84]), .l1clk(l1clk_in), .d(adr_w[1]), .latout(adr_w_d1[1]), .q_l(xx0_unused[94]), .q(xx_unused[94]), |
| 404 | .siclk(siclk), |
| 405 | .soclk(soclk)); |
| 406 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx86 (.scan_in(so[84]), .scan_out(so[85]), .l1clk(l1clk_in), .d(adr_w[2]), .latout(adr_w_d1[2]), .q_l(xx0_unused[95]), .q(xx_unused[95]), |
| 407 | .siclk(siclk), |
| 408 | .soclk(soclk)); |
| 409 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx87 (.scan_in(so[85]), .scan_out(so[86]), .l1clk(l1clk_in), .d(adr_w[3]), .latout(adr_w_d1[3]), .q_l(xx0_unused[96]), .q(xx_unused[96]), |
| 410 | .siclk(siclk), |
| 411 | .soclk(soclk)); |
| 412 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx88 (.scan_in(so[86]), .scan_out(so[87]), .l1clk(l1clk_in), .d(adr_r[4]), .latout(adr_r_d1[4]), .q_l(xx0_unused[97]), .q(xx_unused[97]), |
| 413 | .siclk(siclk), |
| 414 | .soclk(soclk)); |
| 415 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx89 (.scan_in(so[87]), .scan_out(so[88]), .l1clk(l1clk_in), .d(adr_r[5]), .latout(adr_r_d1[5]), .q_l(xx0_unused[98]), .q(xx_unused[98]), |
| 416 | .siclk(siclk), |
| 417 | .soclk(soclk)); |
| 418 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx90 (.scan_in(so[88]), .scan_out(so[89]), .l1clk(l1clk_in), .d(adr_r[6]), .latout(adr_r_d1[6]), .q_l(xx0_unused[99]), .q(xx_unused[99]), |
| 419 | .siclk(siclk), |
| 420 | .soclk(soclk)); |
| 421 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx91 (.scan_in(so[89]), .scan_out(so[90]), .l1clk(l1clk_in), .d(adr_r[7]), .latout(adr_r_d1[7]), .q_l(xx0_unused[100]), .q(xx_unused[100]), |
| 422 | .siclk(siclk), |
| 423 | .soclk(soclk)); |
| 424 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx92 (.scan_in(so[90]), .scan_out(so[91]), .l1clk(l1clk_in), .d(adr_w[4]), .latout(adr_w_d1[4]), .q_l(xx0_unused[101]), .q(xx_unused[101]), |
| 425 | .siclk(siclk), |
| 426 | .soclk(soclk)); |
| 427 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx93 (.scan_in(so[91]), .scan_out(so[92]), .l1clk(l1clk_in), .d(adr_w[5]), .latout(adr_w_d1[5]), .q_l(xx0_unused[102]), .q(xx_unused[102]), |
| 428 | .siclk(siclk), |
| 429 | .soclk(soclk)); |
| 430 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx94 (.scan_in(so[92]), .scan_out(so[93]), .l1clk(l1clk_in), .d(adr_w[6]), .latout(adr_w_d1[6]), .q_l(xx0_unused[103]), .q(xx_unused[103]), |
| 431 | .siclk(siclk), |
| 432 | .soclk(soclk)); |
| 433 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx95 (.scan_in(so[93]), .scan_out(so[94]), .l1clk(l1clk_in), .d(adr_w[7]), .latout(adr_w_d1[7]), .q_l(xx0_unused[104]), .q(xx_unused[104]), |
| 434 | .siclk(siclk), |
| 435 | .soclk(soclk)); |
| 436 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx96 (.scan_in(so[94]), .scan_out(so[95]), .l1clk(l1clk_in), .d(adr_r[11]), .latout(adr_r_d1[11]), .q_l(xx0_unused[105]), .q(xx_unused[105]), |
| 437 | .siclk(siclk), |
| 438 | .soclk(soclk)); |
| 439 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx97 (.scan_in(so[95]), .scan_out(so[96]), .l1clk(l1clk_in), .d(adr_r[10]), .latout(adr_r_d1[10]), .q_l(xx0_unused[106]), .q(xx_unused[106]), |
| 440 | .siclk(siclk), |
| 441 | .soclk(soclk)); |
| 442 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx98 (.scan_in(so[96]), .scan_out(so[97]), .l1clk(l1clk_in), .d(adr_r[9]), .latout(adr_r_d1[9]), .q_l(xx0_unused[107]), .q(xx_unused[107]), |
| 443 | .siclk(siclk), |
| 444 | .soclk(soclk)); |
| 445 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx99 (.scan_in(so[97]), .scan_out(so[98]), .l1clk(l1clk_in), .d(adr_r[8]), .latout(adr_r_d1[8]), .q_l(xx0_unused[108]), .q(xx_unused[108]), |
| 446 | .siclk(siclk), |
| 447 | .soclk(soclk)); |
| 448 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx100 (.scan_in(so[98]), .scan_out(so[99]), .l1clk(l1clk_in), .d(adr_w[11]), .latout(adr_w_d1[11]), .q_l(xx0_unused[109]), .q(xx_unused[109]), |
| 449 | .siclk(siclk), |
| 450 | .soclk(soclk)); |
| 451 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx101 (.scan_in(so[99]), .scan_out(so[100]), .l1clk(l1clk_in), .d(adr_w[10]), .latout(adr_w_d1[10]), .q_l(xx0_unused[110]), .q(xx_unused[110]), |
| 452 | .siclk(siclk), |
| 453 | .soclk(soclk)); |
| 454 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx102 (.scan_in(so[100]), .scan_out(so[101]), .l1clk(l1clk_in), .d(adr_w[9]), .latout(adr_w_d1[9]), .q_l(xx0_unused[111]), .q(xx_unused[111]), |
| 455 | .siclk(siclk), |
| 456 | .soclk(soclk)); |
| 457 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx103 (.scan_in(so[101]), .scan_out(so[102]), .l1clk(l1clk_in), .d(adr_w[8]), .latout(adr_w_d1[8]), .q_l(xx0_unused[112]), .q(xx_unused[112]), |
| 458 | .siclk(siclk), |
| 459 | .soclk(soclk)); |
| 460 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx104 (.scan_in(so[102]), .scan_out(so[103]), .l1clk(l1clk_in), .d(adr_r[15]), .latout(adr_r_d1[15]),.q_l(xx0_unused[113]), .q(xx_unused[113]), |
| 461 | .siclk(siclk), |
| 462 | .soclk(soclk)); |
| 463 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx105 (.scan_in(so[103]), .scan_out(so[104]), .l1clk(l1clk_in), .d(adr_r[14]), .latout(adr_r_d1[14]),.q_l(xx0_unused[114]), .q(xx_unused[114]), |
| 464 | .siclk(siclk), |
| 465 | .soclk(soclk)); |
| 466 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx106 (.scan_in(so[104]), .scan_out(so[105]), .l1clk(l1clk_in), .d(adr_r[13]), .latout(adr_r_d1[13]),.q_l(xx0_unused[115]), .q(xx_unused[115]), |
| 467 | .siclk(siclk), |
| 468 | .soclk(soclk)); |
| 469 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx107 (.scan_in(so[105]), .scan_out(so[106]), .l1clk(l1clk_in), .d(adr_r[12]), .latout(adr_r_d1[12]),.q_l(xx0_unused[116]), .q(xx_unused[116]), |
| 470 | .siclk(siclk), |
| 471 | .soclk(soclk)); |
| 472 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx108 (.scan_in(so[106]), .scan_out(so[107]), .l1clk(l1clk_in), .d(adr_w[15]), .latout(adr_w_d1[15]),.q_l(xx0_unused[117]), .q(xx_unused[117]), |
| 473 | .siclk(siclk), |
| 474 | .soclk(soclk)); |
| 475 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx109 (.scan_in(so[107]), .scan_out(so[108]), .l1clk(l1clk_in), .d(adr_w[14]), .latout(adr_w_d1[14]),.q_l(xx0_unused[118]), .q(xx_unused[118]), |
| 476 | .siclk(siclk), |
| 477 | .soclk(soclk)); |
| 478 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx110 (.scan_in(so[108]), .scan_out(so[109]), .l1clk(l1clk_in), .d(adr_w[13]), .latout(adr_w_d1[13]),.q_l(xx0_unused[119]), .q(xx_unused[119]), |
| 479 | .siclk(siclk), |
| 480 | .soclk(soclk)); |
| 481 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx111 (.scan_in(so[109]), .scan_out(so[110]), .l1clk(l1clk_in), .d(adr_w[12]), .latout(adr_w_d1[12]),.q_l(xx0_unused[120]), .q(xx_unused[120]), |
| 482 | .siclk(siclk), |
| 483 | .soclk(soclk)); |
| 484 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx112 (.scan_in(so[110]), .scan_out(so[111]), .l1clk(l1clk_in), .d(adr_r[16]), .latout(adr_r_d1[16]),.q_l(xx0_unused[121]), .q(xx_unused[121]), |
| 485 | .siclk(siclk), |
| 486 | .soclk(soclk)); |
| 487 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx113 (.scan_in(so[111]), .scan_out(so[112]), .l1clk(l1clk_in), .d(adr_r[17]), .latout(adr_r_d1[17]),.q_l(xx0_unused[122]), .q(xx_unused[122]), |
| 488 | .siclk(siclk), |
| 489 | .soclk(soclk)); |
| 490 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx114 (.scan_in(so[112]), .scan_out(so[113]), .l1clk(l1clk_in), .d(adr_r[18]), .latout(adr_r_d1[18]),.q_l(xx0_unused[123]), .q(xx_unused[123]), |
| 491 | .siclk(siclk), |
| 492 | .soclk(soclk)); |
| 493 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx115 (.scan_in(so[113]), .scan_out(so[114]), .l1clk(l1clk_in), .d(adr_r[19]), .latout(adr_r_d1[19]),.q_l(xx0_unused[124]), .q(xx_unused[124]), |
| 494 | .siclk(siclk), |
| 495 | .soclk(soclk)); |
| 496 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx116 (.scan_in(so[114]), .scan_out(so[115]), .l1clk(l1clk_in), .d(adr_w[16]), .latout(adr_w_d1[16]),.q_l(xx0_unused[125]), .q(xx_unused[125]), |
| 497 | .siclk(siclk), |
| 498 | .soclk(soclk)); |
| 499 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx117 (.scan_in(so[115]), .scan_out(so[116]), .l1clk(l1clk_in), .d(adr_w[17]), .latout(adr_w_d1[17]),.q_l(xx0_unused[126]), .q(xx_unused[126]), |
| 500 | .siclk(siclk), |
| 501 | .soclk(soclk)); |
| 502 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx118 (.scan_in(so[116]), .scan_out(so[117]), .l1clk(l1clk_in), .d(adr_w[18]), .latout(adr_w_d1[18]),.q_l(xx0_unused[127]), .q(xx_unused[127]), |
| 503 | .siclk(siclk), |
| 504 | .soclk(soclk)); |
| 505 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx119 (.scan_in(so[117]), .scan_out(so[118]), .l1clk(l1clk_in), .d(adr_w[19]), .latout(adr_w_d1[19]),.q_l(xx0_unused[128]), .q(xx_unused[128]), |
| 506 | .siclk(siclk), |
| 507 | .soclk(soclk)); |
| 508 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx120 (.scan_in(so[118]), .scan_out(so[119]), .l1clk(l1clk_in), .d(adr_r[20]), .latout(adr_r_d1[20]),.q_l(xx0_unused[129]), .q(xx_unused[129]), |
| 509 | .siclk(siclk), |
| 510 | .soclk(soclk)); |
| 511 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx121 (.scan_in(so[119]), .scan_out(so[120]), .l1clk(l1clk_in), .d(adr_r[21]), .latout(adr_r_d1[21]),.q_l(xx0_unused[130]), .q(xx_unused[130]), |
| 512 | .siclk(siclk), |
| 513 | .soclk(soclk)); |
| 514 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx122 (.scan_in(so[120]), .scan_out(so[121]), .l1clk(l1clk_in), .d(adr_r[22]), .latout(adr_r_d1[22]),.q_l(xx0_unused[131]), .q(xx_unused[131]), |
| 515 | .siclk(siclk), |
| 516 | .soclk(soclk)); |
| 517 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx123 (.scan_in(so[121]), .scan_out(so[122]), .l1clk(l1clk_in), .d(adr_r[23]), .latout(adr_r_d1[23]),.q_l(xx0_unused[132]), .q(xx_unused[132]), |
| 518 | .siclk(siclk), |
| 519 | .soclk(soclk)); |
| 520 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx124 (.scan_in(so[122]), .scan_out(so[123]), .l1clk(l1clk_in), .d(adr_w[20]), .latout(adr_w_d1[20]),.q_l(xx0_unused[133]), .q(xx_unused[133]), |
| 521 | .siclk(siclk), |
| 522 | .soclk(soclk)); |
| 523 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx125 (.scan_in(so[123]), .scan_out(so[124]), .l1clk(l1clk_in), .d(adr_w[21]), .latout(adr_w_d1[21]),.q_l(xx0_unused[134]), .q(xx_unused[134]), |
| 524 | .siclk(siclk), |
| 525 | .soclk(soclk)); |
| 526 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx126 (.scan_in(so[124]), .scan_out(so[125]), .l1clk(l1clk_in), .d(adr_w[22]), .latout(adr_w_d1[22]),.q_l(xx0_unused[135]), .q(xx_unused[135]), |
| 527 | .siclk(siclk), |
| 528 | .soclk(soclk)); |
| 529 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx127 (.scan_in(so[125]), .scan_out(so[126]), .l1clk(l1clk_in), .d(adr_w[23]), .latout(adr_w_d1[23]),.q_l(xx0_unused[136]), .q(xx_unused[136]), |
| 530 | .siclk(siclk), |
| 531 | .soclk(soclk)); |
| 532 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx128 (.scan_in(so[126]), .scan_out(so[127]), .l1clk(l1clk_in), .d(adr_r[27]), .latout(adr_r_d1[27]),.q_l(xx0_unused[137]), .q(xx_unused[137]), |
| 533 | .siclk(siclk), |
| 534 | .soclk(soclk)); |
| 535 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx129 (.scan_in(so[127]), .scan_out(so[128]), .l1clk(l1clk_in), .d(adr_r[26]), .latout(adr_r_d1[26]),.q_l(xx0_unused[138]), .q(xx_unused[138]), |
| 536 | .siclk(siclk), |
| 537 | .soclk(soclk)); |
| 538 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx130 (.scan_in(so[128]), .scan_out(so[129]), .l1clk(l1clk_in), .d(adr_r[25]), .latout(adr_r_d1[25]),.q_l(xx0_unused[139]), .q(xx_unused[139]), |
| 539 | .siclk(siclk), |
| 540 | .soclk(soclk)); |
| 541 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx131 (.scan_in(so[129]), .scan_out(so[130]), .l1clk(l1clk_in), .d(adr_r[24]), .latout(adr_r_d1[24]),.q_l(xx0_unused[140]), .q(xx_unused[140]), |
| 542 | .siclk(siclk), |
| 543 | .soclk(soclk)); |
| 544 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx132 (.scan_in(so[130]), .scan_out(so[131]), .l1clk(l1clk_in), .d(adr_w[27]), .latout(adr_w_d1[27]),.q_l(xx0_unused[141]), .q(xx_unused[141]), |
| 545 | .siclk(siclk), |
| 546 | .soclk(soclk)); |
| 547 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx133 (.scan_in(so[131]), .scan_out(so[132]), .l1clk(l1clk_in), .d(adr_w[26]), .latout(adr_w_d1[26]),.q_l(xx0_unused[142]), .q(xx_unused[142]), |
| 548 | .siclk(siclk), |
| 549 | .soclk(soclk)); |
| 550 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx134 (.scan_in(so[132]), .scan_out(so[133]), .l1clk(l1clk_in), .d(adr_w[25]), .latout(adr_w_d1[25]),.q_l(xx0_unused[143]), .q(xx_unused[143]), |
| 551 | .siclk(siclk), |
| 552 | .soclk(soclk)); |
| 553 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx135 (.scan_in(so[133]), .scan_out(so[134]), .l1clk(l1clk_in), .d(adr_w[24]), .latout(adr_w_d1[24]),.q_l(xx0_unused[144]), .q(xx_unused[144]), |
| 554 | .siclk(siclk), |
| 555 | .soclk(soclk)); |
| 556 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx136 (.scan_in(so[134]), .scan_out(so[135]), .l1clk(l1clk_in), .d(adr_r[31]), .latout(adr_r_d1[31]),.q_l(xx0_unused[145]), .q(xx_unused[145]), |
| 557 | .siclk(siclk), |
| 558 | .soclk(soclk)); |
| 559 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx137 (.scan_in(so[135]), .scan_out(so[136]), .l1clk(l1clk_in), .d(adr_r[30]), .latout(adr_r_d1[30]),.q_l(xx0_unused[146]), .q(xx_unused[146]), |
| 560 | .siclk(siclk), |
| 561 | .soclk(soclk)); |
| 562 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx138 (.scan_in(so[136]), .scan_out(so[137]), .l1clk(l1clk_in), .d(adr_r[29]), .latout(adr_r_d1[29]),.q_l(xx0_unused[147]), .q(xx_unused[147]), |
| 563 | .siclk(siclk), |
| 564 | .soclk(soclk)); |
| 565 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx139 (.scan_in(so[137]), .scan_out(so[138]), .l1clk(l1clk_in), .d(adr_r[28]), .latout(adr_r_d1[28]),.q_l(xx0_unused[148]), .q(xx_unused[148]), |
| 566 | .siclk(siclk), |
| 567 | .soclk(soclk)); |
| 568 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx140 (.scan_in(so[138]), .scan_out(so[139]), .l1clk(l1clk_in), .d(adr_w[31]), .latout(adr_w_d1[31]),.q_l(xx0_unused[149]), .q(xx_unused[149]), |
| 569 | .siclk(siclk), |
| 570 | .soclk(soclk)); |
| 571 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx141 (.scan_in(so[139]), .scan_out(so[140]), .l1clk(l1clk_in), .d(adr_w[30]), .latout(adr_w_d1[30]),.q_l(xx0_unused[150]), .q(xx_unused[150]), |
| 572 | .siclk(siclk), |
| 573 | .soclk(soclk)); |
| 574 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx142 (.scan_in(so[140]), .scan_out(so[141]), .l1clk(l1clk_in), .d(adr_w[29]), .latout(adr_w_d1[29]),.q_l(xx0_unused[151]), .q(xx_unused[151]), |
| 575 | .siclk(siclk), |
| 576 | .soclk(soclk)); |
| 577 | n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 xx143 (.scan_in(so[141]), .scan_out(so[142]), .l1clk(l1clk_in), .d(adr_w[28]), .latout(adr_w_d1[28]),.q_l(xx0_unused[152]), .q(xx_unused[152]), |
| 578 | .siclk(siclk), |
| 579 | .soclk(soclk)); |
| 580 | |
| 581 | |
| 582 | /////////////////// |
| 583 | /// Memory array //// |
| 584 | |
| 585 | n2_com_cm_32x40_cust_array array ( |
| 586 | .l1clk(l1clk_en), |
| 587 | .wr_en (mb_wen_d1), |
| 588 | .rd_en (mb_ren_d1), |
| 589 | .wr_addr(adr_w_d1[31:0]), |
| 590 | .rd_addr(adr_r_d1[31:0]), |
| 591 | .din(din_d1[41:0]), |
| 592 | .dout(dout_array[41:0]), |
| 593 | .tcu_array_wr_inhibit(tcu_array_wr_inhibit), |
| 594 | .lookup_en(lookup_en_d1), |
| 595 | .key(key_d1[41:7]), |
| 596 | .match(match[31:0]), |
| 597 | .match_idx(match_idx[31:0]), |
| 598 | .bypass(tcu_array_bypass) |
| 599 | ); |
| 600 | |
| 601 | // fixscan start: |
| 602 | //assign ff_din_scanin = scan_in ; |
| 603 | //assign ff_wr_en_scanin = ff_din_scanout ; |
| 604 | //assign ff_wr_adr_scanin = ff_wr_en_scanout ; |
| 605 | //assign ff_rd_adr_scanin = ff_wr_adr_scanout ; |
| 606 | //assign ff_ren_scanin = ff_rd_adr_scanout ; |
| 607 | //assign ff_lookup_en_scanin = ff_ren_scanout ; |
| 608 | //assign ff_key_scanin = ff_lookup_en_scanout ; |
| 609 | assign scan_out = so[142]; //ff_key_scanout ; |
| 610 | // fixscan end: |
| 611 | |
| 612 | // synopsys translate_on |
| 613 | |
| 614 | endmodule |
| 615 | |
| 616 | |
| 617 | module n2_com_cm_32x40_cust_array ( |
| 618 | l1clk, |
| 619 | wr_en, |
| 620 | rd_en, |
| 621 | tcu_array_wr_inhibit, |
| 622 | key, |
| 623 | wr_addr, |
| 624 | rd_addr, |
| 625 | din, |
| 626 | lookup_en, |
| 627 | bypass, |
| 628 | dout, |
| 629 | match, |
| 630 | match_idx); |
| 631 | |
| 632 | input l1clk; |
| 633 | input wr_en; |
| 634 | input rd_en; |
| 635 | |
| 636 | input tcu_array_wr_inhibit; |
| 637 | input [41:7] key; |
| 638 | input [31:0] wr_addr; |
| 639 | input [31:0] rd_addr; |
| 640 | input [41:0] din; |
| 641 | input lookup_en; |
| 642 | input bypass; |
| 643 | |
| 644 | output [41:0] dout; |
| 645 | output [31:0] match; |
| 646 | output [31:0] match_idx; |
| 647 | |
| 648 | |
| 649 | |
| 650 | |
| 651 | |
| 652 | reg [41:0] mb_cam_data[31:0] ; |
| 653 | reg [41:0] dout; |
| 654 | reg [41:0] tmp_addr ; |
| 655 | reg [41:0] tmp_addr0 ; |
| 656 | reg [41:0] tmp_addr1 ; |
| 657 | reg [41:0] tmp_addr2 ; |
| 658 | reg [41:0] tmp_addr3 ; |
| 659 | reg [41:0] tmp_addr4 ; |
| 660 | reg [41:0] tmp_addr5 ; |
| 661 | reg [41:0] tmp_addr6 ; |
| 662 | reg [41:0] tmp_addr7 ; |
| 663 | reg [41:0] tmp_addr8 ; |
| 664 | reg [41:0] tmp_addr9 ; |
| 665 | reg [41:0] tmp_addr10 ; |
| 666 | reg [41:0] tmp_addr11 ; |
| 667 | reg [41:0] tmp_addr12 ; |
| 668 | reg [41:0] tmp_addr13 ; |
| 669 | reg [41:0] tmp_addr14 ; |
| 670 | reg [41:0] tmp_addr15 ; |
| 671 | reg [41:0] tmp_addr16; |
| 672 | reg [41:0] tmp_addr17; |
| 673 | reg [41:0] tmp_addr18; |
| 674 | reg [41:0] tmp_addr19; |
| 675 | reg [41:0] tmp_addr20; |
| 676 | reg [41:0] tmp_addr21; |
| 677 | reg [41:0] tmp_addr22; |
| 678 | reg [41:0] tmp_addr23; |
| 679 | reg [41:0] tmp_addr24; |
| 680 | reg [41:0] tmp_addr25; |
| 681 | reg [41:0] tmp_addr26; |
| 682 | reg [41:0] tmp_addr27; |
| 683 | reg [41:0] tmp_addr28; |
| 684 | reg [41:0] tmp_addr29; |
| 685 | reg [41:0] tmp_addr30; |
| 686 | reg [41:0] tmp_addr31; |
| 687 | |
| 688 | wire [31:0] match ; |
| 689 | wire [31:0] match_idx ; |
| 690 | reg [31:0] match_p ; |
| 691 | reg [31:0] match_idx_p ; |
| 692 | |
| 693 | wire [41:0] tmp_data0; |
| 694 | wire [41:0] tmp_data1; |
| 695 | wire [41:0] tmp_data2; |
| 696 | wire [41:0] tmp_data3; |
| 697 | wire [41:0] tmp_data4; |
| 698 | wire [41:0] tmp_data5; |
| 699 | wire [41:0] tmp_data6; |
| 700 | wire [41:0] tmp_data7; |
| 701 | wire [41:0] tmp_data8; |
| 702 | wire [41:0] tmp_data9; |
| 703 | wire [41:0] tmp_data10; |
| 704 | wire [41:0] tmp_data11; |
| 705 | wire [41:0] tmp_data12; |
| 706 | wire [41:0] tmp_data13; |
| 707 | wire [41:0] tmp_data14; |
| 708 | wire [41:0] tmp_data15; |
| 709 | wire [41:0] tmp_data16; |
| 710 | wire [41:0] tmp_data17; |
| 711 | wire [41:0] tmp_data18; |
| 712 | wire [41:0] tmp_data19; |
| 713 | wire [41:0] tmp_data20; |
| 714 | wire [41:0] tmp_data21; |
| 715 | wire [41:0] tmp_data22; |
| 716 | wire [41:0] tmp_data23; |
| 717 | wire [41:0] tmp_data24; |
| 718 | wire [41:0] tmp_data25; |
| 719 | wire [41:0] tmp_data26; |
| 720 | wire [41:0] tmp_data27; |
| 721 | wire [41:0] tmp_data28; |
| 722 | wire [41:0] tmp_data29; |
| 723 | wire [41:0] tmp_data30; |
| 724 | wire [41:0] tmp_data31; |
| 725 | // bamick, added wires above to allow us to view array contents in SSF |
| 726 | |
| 727 | `ifndef NOINITMEM |
| 728 | /////////////////////////////////////// |
| 729 | // Initialize the arrays. // |
| 730 | /////////////////////////////////////// |
| 731 | integer n; |
| 732 | initial begin |
| 733 | for (n = 0; n < 32; n = n + 1) begin |
| 734 | mb_cam_data[n] = {42 {1'b0}}; |
| 735 | end |
| 736 | end |
| 737 | `endif |
| 738 | |
| 739 | assign tmp_data0 = mb_cam_data[0]; |
| 740 | assign tmp_data1 = mb_cam_data[1]; |
| 741 | assign tmp_data2 = mb_cam_data[2]; |
| 742 | assign tmp_data3 = mb_cam_data[3]; |
| 743 | assign tmp_data4 = mb_cam_data[4]; |
| 744 | assign tmp_data5 = mb_cam_data[5]; |
| 745 | assign tmp_data6 = mb_cam_data[6]; |
| 746 | assign tmp_data7 = mb_cam_data[7]; |
| 747 | assign tmp_data8 = mb_cam_data[8]; |
| 748 | assign tmp_data9 = mb_cam_data[9]; |
| 749 | assign tmp_data10 = mb_cam_data[10]; |
| 750 | assign tmp_data11 = mb_cam_data[11]; |
| 751 | assign tmp_data12 = mb_cam_data[12]; |
| 752 | assign tmp_data13 = mb_cam_data[13]; |
| 753 | assign tmp_data14 = mb_cam_data[14]; |
| 754 | assign tmp_data15 = mb_cam_data[15]; |
| 755 | assign tmp_data16 = mb_cam_data[16]; |
| 756 | assign tmp_data17 = mb_cam_data[17]; |
| 757 | assign tmp_data18 = mb_cam_data[18]; |
| 758 | assign tmp_data19 = mb_cam_data[19]; |
| 759 | assign tmp_data20 = mb_cam_data[20]; |
| 760 | assign tmp_data21 = mb_cam_data[21]; |
| 761 | assign tmp_data22 = mb_cam_data[22]; |
| 762 | assign tmp_data23 = mb_cam_data[23]; |
| 763 | assign tmp_data24 = mb_cam_data[24]; |
| 764 | assign tmp_data25 = mb_cam_data[25]; |
| 765 | assign tmp_data26 = mb_cam_data[26]; |
| 766 | assign tmp_data27 = mb_cam_data[27]; |
| 767 | assign tmp_data28 = mb_cam_data[28]; |
| 768 | assign tmp_data29 = mb_cam_data[29]; |
| 769 | assign tmp_data30 = mb_cam_data[30]; |
| 770 | assign tmp_data31 = mb_cam_data[31]; |
| 771 | // bamick, added assign statements to allow use to view array contents in SSF |
| 772 | |
| 773 | integer i; |
| 774 | |
| 775 | assign match = match_p ; |
| 776 | assign match_idx = match_idx_p ; |
| 777 | |
| 778 | //0in kndr -var wr_addr[31:0] -active wr_en |
| 779 | //0in kndr -var rd_addr[31:0] -active rd_en |
| 780 | //0in one_hot -var rd_addr[31:0] -active (|rd_addr & rd_en) -group mbist_mode |
| 781 | //0in one_hot -var wr_addr[31:0] -active (|wr_addr & wr_en) -group mbist_mode |
| 782 | |
| 783 | // CAM OPERATION |
| 784 | always @( /*AUTOSENSE*/ /*memory or*/ wr_addr or key or |
| 785 | tmp_data0 or tmp_data1 or tmp_data2 or tmp_data3 or tmp_data4 or tmp_data5 or |
| 786 | tmp_data6 or tmp_data7 or tmp_data8 or tmp_data9 or tmp_data10 or tmp_data11 or |
| 787 | tmp_data12 or tmp_data13 or tmp_data14 or tmp_data15 or tmp_data16 or tmp_data17 or |
| 788 | tmp_data18 or tmp_data19 or tmp_data20 or tmp_data21 or tmp_data22 or tmp_data23 or |
| 789 | tmp_data24 or tmp_data25 or tmp_data26 or tmp_data27 or tmp_data28 or tmp_data29 or |
| 790 | tmp_data30 or tmp_data31 or |
| 791 | lookup_en or wr_en or bypass or tcu_array_wr_inhibit or l1clk) begin |
| 792 | |
| 793 | |
| 794 | |
| 795 | #0 |
| 796 | |
| 797 | |
| 798 | |
| 799 | if (bypass) begin |
| 800 | match_p = 32'b0 ; |
| 801 | match_idx_p = 32'hffffffff; |
| 802 | end |
| 803 | else if ( l1clk & lookup_en & ~tcu_array_wr_inhibit) begin |
| 804 | |
| 805 | |
| 806 | tmp_addr0 = tmp_data0; |
| 807 | match_p[0] = ( wr_en & wr_addr[0] ) ? 1'bx : |
| 808 | ( tmp_addr0[41:7] == key[41:7] ) ; |
| 809 | match_idx_p[0] = ( wr_en & wr_addr[0] ) ? 1'bx : |
| 810 | ( tmp_addr0[17:9] == key[17:9] ) ; |
| 811 | |
| 812 | tmp_addr1 = tmp_data1; |
| 813 | match_p[1] = ( wr_en & wr_addr[1] ) ? 1'bx : |
| 814 | ( tmp_addr1[41:7] == key[41:7] ) ; |
| 815 | match_idx_p[1] = ( wr_en & wr_addr[1] ) ? 1'bx : |
| 816 | ( tmp_addr1[17:9] == key[17:9] ) ; |
| 817 | |
| 818 | tmp_addr2 = tmp_data2; |
| 819 | match_p[2] = ( wr_en & wr_addr[2] ) ? 1'bx : |
| 820 | ( tmp_addr2[41:7] == key[41:7] ) ; |
| 821 | match_idx_p[2] = ( wr_en & wr_addr[2] ) ? 1'bx : |
| 822 | ( tmp_addr2[17:9] == key[17:9] ) ; |
| 823 | |
| 824 | tmp_addr3 = tmp_data3; |
| 825 | match_p[3] = ( wr_en & wr_addr[3] ) ? 1'bx : |
| 826 | ( tmp_addr3[41:7] == key[41:7] ) ; |
| 827 | match_idx_p[3] = ( wr_en & wr_addr[3] ) ? 1'bx : |
| 828 | ( tmp_addr3[17:9] == key[17:9] ) ; |
| 829 | |
| 830 | tmp_addr4 = tmp_data4; |
| 831 | match_p[4] = ( wr_en & wr_addr[4] ) ? 1'bx : |
| 832 | ( tmp_addr4[41:7] == key[41:7] ) ; |
| 833 | match_idx_p[4] = ( wr_en & wr_addr[4] ) ? 1'bx : |
| 834 | ( tmp_addr4[17:9] == key[17:9] ) ; |
| 835 | |
| 836 | tmp_addr5 = tmp_data5; |
| 837 | match_p[5] = ( wr_en & wr_addr[5] ) ? 1'bx : |
| 838 | ( tmp_addr5[41:7] == key[41:7] ) ; |
| 839 | match_idx_p[5] = ( wr_en & wr_addr[5] ) ? 1'bx : |
| 840 | ( tmp_addr5[17:9] == key[17:9] ) ; |
| 841 | |
| 842 | tmp_addr6 = tmp_data6; |
| 843 | match_p[6] = ( wr_en & wr_addr[6] ) ? 1'bx : |
| 844 | ( tmp_addr6[41:7] == key[41:7] ) ; |
| 845 | match_idx_p[6] = ( wr_en & wr_addr[6] ) ? 1'bx : |
| 846 | ( tmp_addr6[17:9] == key[17:9] ) ; |
| 847 | |
| 848 | tmp_addr7 = tmp_data7; |
| 849 | match_p[7] = ( wr_en & wr_addr[7] ) ? 1'bx : |
| 850 | ( tmp_addr7[41:7] == key[41:7] ) ; |
| 851 | match_idx_p[7] = ( wr_en & wr_addr[7] ) ? 1'bx : |
| 852 | ( tmp_addr7[17:9] == key[17:9] ) ; |
| 853 | |
| 854 | tmp_addr8 = tmp_data8; |
| 855 | match_p[8] = ( wr_en & wr_addr[8] ) ? 1'bx : |
| 856 | ( tmp_addr8[41:7] == key[41:7] ) ; |
| 857 | match_idx_p[8] = ( wr_en & wr_addr[8] ) ? 1'bx : |
| 858 | ( tmp_addr8[17:9] == key[17:9] ) ; |
| 859 | |
| 860 | tmp_addr9 = tmp_data9; |
| 861 | match_p[9] = ( wr_en & wr_addr[9] ) ? 1'bx : |
| 862 | ( tmp_addr9[41:7] == key[41:7] ) ; |
| 863 | match_idx_p[9] = ( wr_en & wr_addr[9] ) ? 1'bx : |
| 864 | ( tmp_addr9[17:9] == key[17:9] ) ; |
| 865 | |
| 866 | tmp_addr10 = tmp_data10; |
| 867 | match_p[10] = ( wr_en & wr_addr[10] ) ? 1'bx : |
| 868 | ( tmp_addr10[41:7] == key[41:7] ) ; |
| 869 | match_idx_p[10] = ( wr_en & wr_addr[10] ) ? 1'bx : |
| 870 | ( tmp_addr10[17:9] == key[17:9] ) ; |
| 871 | |
| 872 | tmp_addr11 = tmp_data11; |
| 873 | match_p[11] = ( wr_en & wr_addr[11] ) ? 1'bx : |
| 874 | ( tmp_addr11[41:7] == key[41:7] ) ; |
| 875 | match_idx_p[11] = ( wr_en & wr_addr[11] ) ? 1'bx : |
| 876 | ( tmp_addr11[17:9] == key[17:9] ) ; |
| 877 | |
| 878 | tmp_addr12 = tmp_data12; |
| 879 | match_p[12] = ( wr_en & wr_addr[12] ) ? 1'bx : |
| 880 | ( tmp_addr12[41:7] == key[41:7] ) ; |
| 881 | match_idx_p[12] = ( wr_en & wr_addr[12] ) ? 1'bx : |
| 882 | ( tmp_addr12[17:9] == key[17:9] ) ; |
| 883 | |
| 884 | tmp_addr13 = tmp_data13; |
| 885 | match_p[13] = ( wr_en & wr_addr[13] ) ? 1'bx : |
| 886 | ( tmp_addr13[41:7] == key[41:7] ) ; |
| 887 | match_idx_p[13] = ( wr_en & wr_addr[13] ) ? 1'bx : |
| 888 | ( tmp_addr13[17:9] == key[17:9] ) ; |
| 889 | |
| 890 | tmp_addr14 = tmp_data14; |
| 891 | match_p[14] = ( wr_en & wr_addr[14] ) ? 1'bx : |
| 892 | ( tmp_addr14[41:7] == key[41:7] ) ; |
| 893 | match_idx_p[14] = ( wr_en & wr_addr[14] ) ? 1'bx : |
| 894 | ( tmp_addr14[17:9] == key[17:9] ) ; |
| 895 | |
| 896 | tmp_addr15 = tmp_data15; |
| 897 | match_p[15] = ( wr_en & wr_addr[15] ) ? 1'bx : |
| 898 | ( tmp_addr15[41:7] == key[41:7] ) ; |
| 899 | match_idx_p[15] = ( wr_en & wr_addr[15] ) ? 1'bx : |
| 900 | ( tmp_addr15[17:9] == key[17:9] ) ; |
| 901 | |
| 902 | // BS & SR 11/04/03, MB grows to 32 |
| 903 | |
| 904 | tmp_addr16 = tmp_data16; |
| 905 | match_p[16] = ( wr_en & wr_addr[16] ) ? 1'bx : ( tmp_addr16[41:7] == key[41:7] ) ; |
| 906 | match_idx_p[16] = ( wr_en & wr_addr[16] ) ? 1'bx : ( tmp_addr16[17:9] == key[17:9] ) ; |
| 907 | |
| 908 | tmp_addr17 = tmp_data17; |
| 909 | match_p[17] = ( wr_en & wr_addr[17] ) ? 1'bx : ( tmp_addr17[41:7] == key[41:7] ) ; |
| 910 | match_idx_p[17] = ( wr_en & wr_addr[17] ) ? 1'bx : ( tmp_addr17[17:9] == key[17:9] ) ; |
| 911 | |
| 912 | tmp_addr18 = tmp_data18; |
| 913 | match_p[18] = ( wr_en & wr_addr[18] ) ? 1'bx : ( tmp_addr18[41:7] == key[41:7] ) ; |
| 914 | match_idx_p[18] = ( wr_en & wr_addr[18] ) ? 1'bx : ( tmp_addr18[17:9] == key[17:9] ) ; |
| 915 | |
| 916 | tmp_addr19 = tmp_data19; |
| 917 | match_p[19] = ( wr_en & wr_addr[19] ) ? 1'bx : ( tmp_addr19[41:7] == key[41:7] ) ; |
| 918 | match_idx_p[19] = ( wr_en & wr_addr[19] ) ? 1'bx : ( tmp_addr19[17:9] == key[17:9] ) ; |
| 919 | |
| 920 | tmp_addr20 = tmp_data20; |
| 921 | match_p[20] = ( wr_en & wr_addr[20] ) ? 1'bx : ( tmp_addr20[41:7] == key[41:7] ) ; |
| 922 | match_idx_p[20] = ( wr_en & wr_addr[20] ) ? 1'bx : ( tmp_addr20[17:9] == key[17:9] ) ; |
| 923 | |
| 924 | tmp_addr21 = tmp_data21; |
| 925 | match_p[21] = ( wr_en & wr_addr[21] ) ? 1'bx : ( tmp_addr21[41:7] == key[41:7] ) ; |
| 926 | match_idx_p[21] = ( wr_en & wr_addr[21] ) ? 1'bx : ( tmp_addr21[17:9] == key[17:9] ) ; |
| 927 | |
| 928 | tmp_addr22 = tmp_data22; |
| 929 | match_p[22] = ( wr_en & wr_addr[22] ) ? 1'bx : ( tmp_addr22[41:7] == key[41:7] ) ; |
| 930 | match_idx_p[22] = ( wr_en & wr_addr[22] ) ? 1'bx : ( tmp_addr22[17:9] == key[17:9] ) ; |
| 931 | |
| 932 | tmp_addr23 = tmp_data23; |
| 933 | match_p[23] = ( wr_en & wr_addr[23] ) ? 1'bx : ( tmp_addr23[41:7] == key[41:7] ) ; |
| 934 | match_idx_p[23] = ( wr_en & wr_addr[23] ) ? 1'bx : ( tmp_addr23[17:9] == key[17:9] ) ; |
| 935 | |
| 936 | tmp_addr24 = tmp_data24; |
| 937 | match_p[24] = ( wr_en & wr_addr[24] ) ? 1'bx : ( tmp_addr24[41:7] == key[41:7] ) ; |
| 938 | match_idx_p[24] = ( wr_en & wr_addr[24] ) ? 1'bx : ( tmp_addr24[17:9] == key[17:9] ) ; |
| 939 | |
| 940 | tmp_addr25 = tmp_data25; |
| 941 | match_p[25] = ( wr_en & wr_addr[25] ) ? 1'bx : ( tmp_addr25[41:7] == key[41:7] ) ; |
| 942 | match_idx_p[25] = ( wr_en & wr_addr[25] ) ? 1'bx : ( tmp_addr25[17:9] == key[17:9] ) ; |
| 943 | |
| 944 | tmp_addr26 = tmp_data26; |
| 945 | match_p[26] = ( wr_en & wr_addr[26] ) ? 1'bx : ( tmp_addr26[41:7] == key[41:7] ) ; |
| 946 | match_idx_p[26] = ( wr_en & wr_addr[26] ) ? 1'bx : ( tmp_addr26[17:9] == key[17:9] ) ; |
| 947 | |
| 948 | tmp_addr27 = tmp_data27; |
| 949 | match_p[27] = ( wr_en & wr_addr[27] ) ? 1'bx : ( tmp_addr27[41:7] == key[41:7] ) ; |
| 950 | match_idx_p[27] = ( wr_en & wr_addr[27] ) ? 1'bx : ( tmp_addr27[17:9] == key[17:9] ) ; |
| 951 | |
| 952 | |
| 953 | tmp_addr28 = tmp_data28; |
| 954 | match_p[28] = ( wr_en & wr_addr[28] ) ? 1'bx : ( tmp_addr28[41:7] == key[41:7] ) ; |
| 955 | match_idx_p[28] = ( wr_en & wr_addr[28] ) ? 1'bx : ( tmp_addr28[17:9] == key[17:9] ) ; |
| 956 | |
| 957 | tmp_addr29 = tmp_data29; |
| 958 | match_p[29] = ( wr_en & wr_addr[29] ) ? 1'bx : ( tmp_addr29[41:7] == key[41:7] ) ; |
| 959 | match_idx_p[29] = ( wr_en & wr_addr[29] ) ? 1'bx : ( tmp_addr29[17:9] == key[17:9] ) ; |
| 960 | |
| 961 | tmp_addr30 = tmp_data30; |
| 962 | match_p[30] = ( wr_en & wr_addr[30] ) ? 1'bx : ( tmp_addr30[41:7] == key[41:7] ) ; |
| 963 | match_idx_p[30] = ( wr_en & wr_addr[30] ) ? 1'bx : ( tmp_addr30[17:9] == key[17:9] ) ; |
| 964 | |
| 965 | |
| 966 | tmp_addr31 = tmp_data31; |
| 967 | match_p[31] = ( wr_en & wr_addr[31] ) ? 1'bx : ( tmp_addr31[41:7] == key[41:7] ) ; |
| 968 | match_idx_p[31] = ( wr_en & wr_addr[31] ) ? 1'bx : ( tmp_addr31[17:9] == key[17:9] ) ; |
| 969 | |
| 970 | |
| 971 | end |
| 972 | |
| 973 | else if ( l1clk & ~lookup_en & ~tcu_array_wr_inhibit ) |
| 974 | begin |
| 975 | match_p = 32'b0; |
| 976 | match_idx_p = 32'b0; |
| 977 | end |
| 978 | |
| 979 | else |
| 980 | begin |
| 981 | end // do nothing, hold output latched during l1clk low |
| 982 | |
| 983 | end |
| 984 | |
| 985 | |
| 986 | // READ AND WRITE HAPPEN in Phase 1. |
| 987 | |
| 988 | //bamick: convert write_disable to se; add bypass |
| 989 | always @(l1clk or wr_addr or din or wr_en or tcu_array_wr_inhibit or bypass or rd_addr or rd_en) |
| 990 | begin |
| 991 | if (l1clk & wr_en & ~tcu_array_wr_inhibit & ~bypass) |
| 992 | begin |
| 993 | case(wr_addr ) |
| 994 | 32'b0000_0000_0000_0000_0000_0000_0000_0000: ; // do nothing |
| 995 | 32'b0000_0000_0000_0000_0000_0000_0000_0001: mb_cam_data[0] = din ; |
| 996 | 32'b0000_0000_0000_0000_0000_0000_0000_0010: mb_cam_data[1] = din ; |
| 997 | 32'b0000_0000_0000_0000_0000_0000_0000_0100: mb_cam_data[2] = din ; |
| 998 | 32'b0000_0000_0000_0000_0000_0000_0000_1000: mb_cam_data[3] = din ; |
| 999 | 32'b0000_0000_0000_0000_0000_0000_0001_0000: mb_cam_data[4] = din; |
| 1000 | 32'b0000_0000_0000_0000_0000_0000_0010_0000: mb_cam_data[5] = din ; |
| 1001 | 32'b0000_0000_0000_0000_0000_0000_0100_0000: mb_cam_data[6] = din ; |
| 1002 | 32'b0000_0000_0000_0000_0000_0000_1000_0000: mb_cam_data[7] = din ; |
| 1003 | 32'b0000_0000_0000_0000_0000_0001_0000_0000: mb_cam_data[8] = din ; |
| 1004 | 32'b0000_0000_0000_0000_0000_0010_0000_0000: mb_cam_data[9] = din ; |
| 1005 | 32'b0000_0000_0000_0000_0000_0100_0000_0000: mb_cam_data[10] = din ; |
| 1006 | 32'b0000_0000_0000_0000_0000_1000_0000_0000: mb_cam_data[11] = din ; |
| 1007 | 32'b0000_0000_0000_0000_0001_0000_0000_0000: mb_cam_data[12] = din ; |
| 1008 | 32'b0000_0000_0000_0000_0010_0000_0000_0000: mb_cam_data[13] = din ; |
| 1009 | 32'b0000_0000_0000_0000_0100_0000_0000_0000: mb_cam_data[14] = din ; |
| 1010 | 32'b0000_0000_0000_0000_1000_0000_0000_0000: mb_cam_data[15] = din ; |
| 1011 | 32'b0000_0000_0000_0001_0000_0000_0000_0000: mb_cam_data[16] = din ; |
| 1012 | 32'b0000_0000_0000_0010_0000_0000_0000_0000: mb_cam_data[17] = din ; |
| 1013 | 32'b0000_0000_0000_0100_0000_0000_0000_0000: mb_cam_data[18] = din ; |
| 1014 | 32'b0000_0000_0000_1000_0000_0000_0000_0000: mb_cam_data[19] = din ; |
| 1015 | 32'b0000_0000_0001_0000_0000_0000_0000_0000: mb_cam_data[20] = din; |
| 1016 | 32'b0000_0000_0010_0000_0000_0000_0000_0000: mb_cam_data[21] = din ; |
| 1017 | 32'b0000_0000_0100_0000_0000_0000_0000_0000: mb_cam_data[22] = din ; |
| 1018 | 32'b0000_0000_1000_0000_0000_0000_0000_0000: mb_cam_data[23] = din ; |
| 1019 | 32'b0000_0001_0000_0000_0000_0000_0000_0000: mb_cam_data[24] = din ; |
| 1020 | 32'b0000_0010_0000_0000_0000_0000_0000_0000: mb_cam_data[25] = din ; |
| 1021 | 32'b0000_0100_0000_0000_0000_0000_0000_0000: mb_cam_data[26] = din ; |
| 1022 | 32'b0000_1000_0000_0000_0000_0000_0000_0000: mb_cam_data[27] = din ; |
| 1023 | 32'b0001_0000_0000_0000_0000_0000_0000_0000: mb_cam_data[28] = din ; |
| 1024 | 32'b0010_0000_0000_0000_0000_0000_0000_0000: mb_cam_data[29] = din ; |
| 1025 | 32'b0100_0000_0000_0000_0000_0000_0000_0000: mb_cam_data[30] = din ; |
| 1026 | 32'b1000_0000_0000_0000_0000_0000_0000_0000: mb_cam_data[31] = din ; |
| 1027 | default: begin |
| 1028 | // 0in <fire -message "FATAL ERROR: incorrect write wordline" -group mbist_mode |
| 1029 | end |
| 1030 | endcase |
| 1031 | if(rd_en & (wr_addr==rd_addr)) |
| 1032 | begin |
| 1033 | // 0in <fire -message "ERROR : reading and writing to same location " -group mbist_mode |
| 1034 | end |
| 1035 | end |
| 1036 | end |
| 1037 | |
| 1038 | // Notice that the renable is qualified with l1clk to take |
| 1039 | // care that we do not read from the array if reset_l goes high |
| 1040 | // during the negative phase of l1clk. |
| 1041 | // |
| 1042 | |
| 1043 | // bamick, add bypass |
| 1044 | always @( rd_addr or wr_addr or rd_en or wr_en or tcu_array_wr_inhibit or bypass or l1clk or |
| 1045 | tmp_data0 or tmp_data1 or tmp_data2 or tmp_data3 or tmp_data4 or tmp_data5 or |
| 1046 | tmp_data6 or tmp_data7 or tmp_data8 or tmp_data9 or tmp_data10 or tmp_data11 or |
| 1047 | tmp_data12 or tmp_data13 or tmp_data14 or tmp_data15 or tmp_data16 or tmp_data17 or |
| 1048 | tmp_data18 or tmp_data19 or tmp_data20 or tmp_data21 or tmp_data22 or tmp_data23 or |
| 1049 | tmp_data24 or tmp_data25 or tmp_data26 or tmp_data27 or tmp_data28 or tmp_data29 or |
| 1050 | tmp_data30 or tmp_data31 or |
| 1051 | din) begin |
| 1052 | if (bypass) begin |
| 1053 | dout <= din; |
| 1054 | end |
| 1055 | |
| 1056 | // bamick, IMPORTANT: not sure the below if matches circuit case, can't confirm yet |
| 1057 | // as don't yet know how to run SSF to verify scan... |
| 1058 | // I do think the value should be 42'b0 or hold the current value |
| 1059 | |
| 1060 | else if (rd_en & l1clk & tcu_array_wr_inhibit ) begin |
| 1061 | // dout <= 42'h000_0000_0000 ; |
| 1062 | end |
| 1063 | |
| 1064 | else if (rd_en & l1clk & ~tcu_array_wr_inhibit ) |
| 1065 | begin |
| 1066 | if ((wr_en) && (rd_addr == wr_addr)) |
| 1067 | begin |
| 1068 | dout <= 42'bx ; |
| 1069 | // 0in <fire -message "ERROR : reading and writing to same location " -group mbist_mode |
| 1070 | end |
| 1071 | else |
| 1072 | begin |
| 1073 | case(rd_addr) |
| 1074 | // match sense amp ckt behavior when no read wl is selected |
| 1075 | //32'b0000_0000_0000_0000_0000_0000_0000_0000: dout <= 42'hff_ffff_ffff; |
| 1076 | 32'b0000_0000_0000_0000_0000_0000_0000_0000: dout <= 42'b0; |
| 1077 | 32'b0000_0000_0000_0000_0000_0000_0000_0001: dout <= tmp_data0 ; |
| 1078 | 32'b0000_0000_0000_0000_0000_0000_0000_0010: dout <= tmp_data1 ; |
| 1079 | 32'b0000_0000_0000_0000_0000_0000_0000_0100: dout <= tmp_data2 ; |
| 1080 | 32'b0000_0000_0000_0000_0000_0000_0000_1000: dout <= tmp_data3 ; |
| 1081 | 32'b0000_0000_0000_0000_0000_0000_0001_0000: dout <= tmp_data4 ; |
| 1082 | 32'b0000_0000_0000_0000_0000_0000_0010_0000: dout <= tmp_data5 ; |
| 1083 | 32'b0000_0000_0000_0000_0000_0000_0100_0000: dout <= tmp_data6 ; |
| 1084 | 32'b0000_0000_0000_0000_0000_0000_1000_0000: dout <= tmp_data7 ; |
| 1085 | 32'b0000_0000_0000_0000_0000_0001_0000_0000: dout <= tmp_data8 ; |
| 1086 | 32'b0000_0000_0000_0000_0000_0010_0000_0000: dout <= tmp_data9 ; |
| 1087 | 32'b0000_0000_0000_0000_0000_0100_0000_0000: dout <= tmp_data10 ; |
| 1088 | 32'b0000_0000_0000_0000_0000_1000_0000_0000: dout <= tmp_data11 ; |
| 1089 | 32'b0000_0000_0000_0000_0001_0000_0000_0000: dout <= tmp_data12 ; |
| 1090 | 32'b0000_0000_0000_0000_0010_0000_0000_0000: dout <= tmp_data13 ; |
| 1091 | 32'b0000_0000_0000_0000_0100_0000_0000_0000: dout <= tmp_data14 ; |
| 1092 | 32'b0000_0000_0000_0000_1000_0000_0000_0000: dout <= tmp_data15 ; |
| 1093 | 32'b0000_0000_0000_0001_0000_0000_0000_0000: dout <= tmp_data16 ; |
| 1094 | 32'b0000_0000_0000_0010_0000_0000_0000_0000: dout <= tmp_data17 ; |
| 1095 | 32'b0000_0000_0000_0100_0000_0000_0000_0000: dout <= tmp_data18 ; |
| 1096 | 32'b0000_0000_0000_1000_0000_0000_0000_0000: dout <= tmp_data19 ; |
| 1097 | 32'b0000_0000_0001_0000_0000_0000_0000_0000: dout <= tmp_data20 ; |
| 1098 | 32'b0000_0000_0010_0000_0000_0000_0000_0000: dout <= tmp_data21 ; |
| 1099 | 32'b0000_0000_0100_0000_0000_0000_0000_0000: dout <= tmp_data22 ; |
| 1100 | 32'b0000_0000_1000_0000_0000_0000_0000_0000: dout <= tmp_data23 ; |
| 1101 | 32'b0000_0001_0000_0000_0000_0000_0000_0000: dout <= tmp_data24 ; |
| 1102 | 32'b0000_0010_0000_0000_0000_0000_0000_0000: dout <= tmp_data25 ; |
| 1103 | 32'b0000_0100_0000_0000_0000_0000_0000_0000: dout <= tmp_data26 ; |
| 1104 | 32'b0000_1000_0000_0000_0000_0000_0000_0000: dout <= tmp_data27 ; |
| 1105 | 32'b0001_0000_0000_0000_0000_0000_0000_0000: dout <= tmp_data28 ; |
| 1106 | 32'b0010_0000_0000_0000_0000_0000_0000_0000: dout <= tmp_data29 ; |
| 1107 | 32'b0100_0000_0000_0000_0000_0000_0000_0000: dout <= tmp_data30 ; |
| 1108 | 32'b1000_0000_0000_0000_0000_0000_0000_0000: dout <= tmp_data31 ; |
| 1109 | default: |
| 1110 | begin |
| 1111 | dout <= 42'bx; |
| 1112 | // 0in <fire -message "FATAL ERROR: incorrect read wordline" -group mbist_mode |
| 1113 | end |
| 1114 | endcase |
| 1115 | end |
| 1116 | end // of else if |
| 1117 | end |
| 1118 | endmodule |
| 1119 | |
| 1120 | |
| 1121 | |
| 1122 | |
| 1123 | |
| 1124 | |
| 1125 | // any PARAMS parms go into naming of macro |
| 1126 | |
| 1127 | module n2_com_cm_32x40_cust_l1clkhdr_ctl_macro ( |
| 1128 | l2clk, |
| 1129 | l1en, |
| 1130 | pce_ov, |
| 1131 | stop, |
| 1132 | se, |
| 1133 | l1clk); |
| 1134 | |
| 1135 | |
| 1136 | input l2clk; |
| 1137 | input l1en; |
| 1138 | input pce_ov; |
| 1139 | input stop; |
| 1140 | input se; |
| 1141 | output l1clk; |
| 1142 | |
| 1143 | |
| 1144 | |
| 1145 | |
| 1146 | |
| 1147 | cl_sc1_l1hdr_8x c_0 ( |
| 1148 | |
| 1149 | |
| 1150 | .l2clk(l2clk), |
| 1151 | .pce(l1en), |
| 1152 | .l1clk(l1clk), |
| 1153 | .se(se), |
| 1154 | .pce_ov(pce_ov), |
| 1155 | .stop(stop) |
| 1156 | ); |
| 1157 | |
| 1158 | |
| 1159 | |
| 1160 | endmodule |
| 1161 | |
| 1162 | |
| 1163 | |
| 1164 | |
| 1165 | |
| 1166 | |
| 1167 | |
| 1168 | |
| 1169 | |
| 1170 | // |
| 1171 | // macro for cl_mc1_scm_msff_lat_{4}x flops |
| 1172 | // |
| 1173 | // |
| 1174 | |
| 1175 | |
| 1176 | |
| 1177 | |
| 1178 | |
| 1179 | module n2_com_cm_32x40_cust_scm_msff_lat_macro__width_1 ( |
| 1180 | d, |
| 1181 | scan_in, |
| 1182 | l1clk, |
| 1183 | siclk, |
| 1184 | soclk, |
| 1185 | latout, |
| 1186 | scan_out, |
| 1187 | q, |
| 1188 | q_l); |
| 1189 | input [0:0] d; |
| 1190 | input scan_in; |
| 1191 | input l1clk; |
| 1192 | input siclk; |
| 1193 | input soclk; |
| 1194 | output [0:0] latout; |
| 1195 | output scan_out; |
| 1196 | output [0:0] q; |
| 1197 | output [0:0] q_l; |
| 1198 | |
| 1199 | |
| 1200 | |
| 1201 | |
| 1202 | |
| 1203 | |
| 1204 | scm_msff_lat #(1) d0_0 ( |
| 1205 | .d(d[0:0]), |
| 1206 | .si(scan_in), |
| 1207 | .so(scan_out), |
| 1208 | .l1clk(l1clk), |
| 1209 | .siclk(siclk), |
| 1210 | .soclk(soclk), |
| 1211 | .q(q[0:0]), |
| 1212 | .q_l(q_l[0:0]), |
| 1213 | .latout(latout[0:0]) |
| 1214 | ); |
| 1215 | |
| 1216 | |
| 1217 | |
| 1218 | |
| 1219 | |
| 1220 | |
| 1221 | |
| 1222 | |
| 1223 | |
| 1224 | |
| 1225 | //place::generic_place($width,$stack,$left); |
| 1226 | |
| 1227 | endmodule |
| 1228 | |
| 1229 | |
| 1230 | |
| 1231 | |