You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			868 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Verilog
		
	
			
		
		
	
	
			868 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Verilog
		
	
// © IBM Corp. 2020
 | 
						|
// Licensed under the Apache License, Version 2.0 (the "License"), as modified by
 | 
						|
// the terms below; you may not use the files in this repository except in
 | 
						|
// compliance with the License as modified.
 | 
						|
// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
//
 | 
						|
// Modified Terms:
 | 
						|
//
 | 
						|
//    1) For the purpose of the patent license granted to you in Section 3 of the
 | 
						|
//    License, the "Work" hereby includes implementations of the work of authorship
 | 
						|
//    in physical form.
 | 
						|
//
 | 
						|
//    2) Notwithstanding any terms to the contrary in the License, any licenses
 | 
						|
//    necessary for implementation of the Work that are available from OpenPOWER
 | 
						|
//    via the Power ISA End User License Agreement (EULA) are explicitly excluded
 | 
						|
//    hereunder, and may be obtained from OpenPOWER under the terms and conditions
 | 
						|
//    of the EULA.  
 | 
						|
//
 | 
						|
// Unless required by applicable law or agreed to in writing, the reference design
 | 
						|
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
						|
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
 | 
						|
// for the specific language governing permissions and limitations under the License.
 | 
						|
// 
 | 
						|
// Additional rights, including the ability to physically implement a softcore that
 | 
						|
// is compliant with the required sections of the Power ISA Specification, are
 | 
						|
// available at no cost under the terms of the OpenPOWER Power ISA EULA, which can be
 | 
						|
// obtained (along with the Power ISA) here: https://openpowerfoundation.org. 
 | 
						|
 | 
						|
// *********************************************************************
 | 
						|
//
 | 
						|
// This is the ENTITY for mmq_perv (pervasive logic)
 | 
						|
//
 | 
						|
// *********************************************************************
 | 
						|
 | 
						|
`timescale 1 ns / 1 ns
 | 
						|
 | 
						|
`include "tri_a2o.vh"
 | 
						|
`include "mmu_a2o.vh"
 | 
						|
 | 
						|
module mmq_perv(
 | 
						|
 | 
						|
   inout                                   vdd,
 | 
						|
   inout                                   gnd,
 | 
						|
    (* pin_data ="PIN_FUNCTION=/G_CLK/" *)
 | 
						|
   input [0:`NCLK_WIDTH-1]                  nclk,
 | 
						|
 | 
						|
   input [0:1]  pc_mm_sg_3,
 | 
						|
   input [0:1]  pc_mm_func_sl_thold_3,
 | 
						|
   input [0:1]  pc_mm_func_slp_sl_thold_3,
 | 
						|
   input        pc_mm_gptr_sl_thold_3,
 | 
						|
   input        pc_mm_fce_3,
 | 
						|
 | 
						|
   input        pc_mm_time_sl_thold_3,
 | 
						|
   input        pc_mm_repr_sl_thold_3,
 | 
						|
   input        pc_mm_abst_sl_thold_3,
 | 
						|
   input        pc_mm_abst_slp_sl_thold_3,
 | 
						|
   input        pc_mm_cfg_sl_thold_3,
 | 
						|
   input        pc_mm_cfg_slp_sl_thold_3,
 | 
						|
   input        pc_mm_func_nsl_thold_3,
 | 
						|
   input        pc_mm_func_slp_nsl_thold_3,
 | 
						|
   input        pc_mm_ary_nsl_thold_3,
 | 
						|
   input        pc_mm_ary_slp_nsl_thold_3,
 | 
						|
 | 
						|
   input        tc_ac_ccflush_dc,
 | 
						|
   input        tc_scan_diag_dc,
 | 
						|
   input        tc_ac_scan_dis_dc_b,
 | 
						|
 | 
						|
   output [0:1] pc_sg_0,
 | 
						|
   output [0:1] pc_sg_1,
 | 
						|
   output [0:1] pc_sg_2,
 | 
						|
   output [0:1] pc_func_sl_thold_2,
 | 
						|
   output [0:1] pc_func_slp_sl_thold_2,
 | 
						|
   output       pc_func_slp_nsl_thold_2,
 | 
						|
   output       pc_cfg_sl_thold_2,
 | 
						|
   output       pc_cfg_slp_sl_thold_2,
 | 
						|
   output       pc_fce_2,
 | 
						|
 | 
						|
   output       pc_time_sl_thold_0,
 | 
						|
   output       pc_repr_sl_thold_0,
 | 
						|
   output       pc_abst_sl_thold_0,
 | 
						|
   output       pc_abst_slp_sl_thold_0,
 | 
						|
   output       pc_ary_nsl_thold_0,
 | 
						|
   output       pc_ary_slp_nsl_thold_0,
 | 
						|
   output [0:1] pc_func_sl_thold_0,
 | 
						|
   output [0:1] pc_func_sl_thold_0_b,
 | 
						|
   output [0:1] pc_func_slp_sl_thold_0,
 | 
						|
   output [0:1] pc_func_slp_sl_thold_0_b,
 | 
						|
 | 
						|
   output       lcb_clkoff_dc_b,
 | 
						|
   output       lcb_act_dis_dc,
 | 
						|
   output       lcb_d_mode_dc,
 | 
						|
   output [0:4] lcb_delay_lclkr_dc,
 | 
						|
   output [0:4] lcb_mpw1_dc_b,
 | 
						|
   output       lcb_mpw2_dc_b,
 | 
						|
   output       g6t_gptr_lcb_clkoff_dc_b,
 | 
						|
   output       g6t_gptr_lcb_act_dis_dc,
 | 
						|
   output       g6t_gptr_lcb_d_mode_dc,
 | 
						|
   output [0:4] g6t_gptr_lcb_delay_lclkr_dc,
 | 
						|
   output [0:4] g6t_gptr_lcb_mpw1_dc_b,
 | 
						|
   output       g6t_gptr_lcb_mpw2_dc_b,
 | 
						|
   output       g8t_gptr_lcb_clkoff_dc_b,
 | 
						|
   output       g8t_gptr_lcb_act_dis_dc,
 | 
						|
   output       g8t_gptr_lcb_d_mode_dc,
 | 
						|
   output [0:4] g8t_gptr_lcb_delay_lclkr_dc,
 | 
						|
   output [0:4] g8t_gptr_lcb_mpw1_dc_b,
 | 
						|
   output       g8t_gptr_lcb_mpw2_dc_b,
 | 
						|
 | 
						|
   // abist engine controls for arrays from pervasive
 | 
						|
   input [0:3]  pc_mm_abist_dcomp_g6t_2r,
 | 
						|
   input [0:3]  pc_mm_abist_di_0,
 | 
						|
   input [0:3]  pc_mm_abist_di_g6t_2r,
 | 
						|
   input        pc_mm_abist_ena_dc,
 | 
						|
   input        pc_mm_abist_g6t_r_wb,
 | 
						|
   input        pc_mm_abist_g8t1p_renb_0,
 | 
						|
   input        pc_mm_abist_g8t_bw_0,
 | 
						|
   input        pc_mm_abist_g8t_bw_1,
 | 
						|
   input [0:3]  pc_mm_abist_g8t_dcomp,
 | 
						|
   input        pc_mm_abist_g8t_wenb,
 | 
						|
   input [0:9]  pc_mm_abist_raddr_0,
 | 
						|
   input [0:9]  pc_mm_abist_waddr_0,
 | 
						|
   input        pc_mm_abist_wl128_comp_ena,
 | 
						|
 | 
						|
   output       pc_mm_abist_g8t_wenb_q,
 | 
						|
   output       pc_mm_abist_g8t1p_renb_0_q,
 | 
						|
   output [0:3] pc_mm_abist_di_0_q,
 | 
						|
   output       pc_mm_abist_g8t_bw_1_q,
 | 
						|
   output       pc_mm_abist_g8t_bw_0_q,
 | 
						|
   output [0:9] pc_mm_abist_waddr_0_q,
 | 
						|
   output [0:9] pc_mm_abist_raddr_0_q,
 | 
						|
   output       pc_mm_abist_wl128_comp_ena_q,
 | 
						|
   output [0:3] pc_mm_abist_g8t_dcomp_q,
 | 
						|
   output [0:3] pc_mm_abist_dcomp_g6t_2r_q,
 | 
						|
   output [0:3] pc_mm_abist_di_g6t_2r_q,
 | 
						|
   output       pc_mm_abist_g6t_r_wb_q,
 | 
						|
 | 
						|
   // BOLT-ON pervasive stuff for asic
 | 
						|
   input        pc_mm_bolt_sl_thold_3,
 | 
						|
   input        pc_mm_bo_enable_3,		// general bolt-on enable
 | 
						|
   output       pc_mm_bolt_sl_thold_0,
 | 
						|
   output       pc_mm_bo_enable_2,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input        gptr_scan_in,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output       gptr_scan_out,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input        time_scan_in,
 | 
						|
   output       time_scan_in_int,
 | 
						|
   input        time_scan_out_int,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output       time_scan_out,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input [0:9]  func_scan_in,
 | 
						|
   output [0:9] func_scan_in_int,
 | 
						|
   input [0:9]  func_scan_out_int,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output [0:9] func_scan_out,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input        repr_scan_in,
 | 
						|
   output       repr_scan_in_int,
 | 
						|
   input        repr_scan_out_int,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output       repr_scan_out,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input [0:1]  abst_scan_in,
 | 
						|
   output [0:1] abst_scan_in_int,
 | 
						|
   input [0:1]  abst_scan_out_int,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output [0:1] abst_scan_out,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input        bcfg_scan_in,		// config latches that are setup same on all cores
 | 
						|
   output       bcfg_scan_in_int,
 | 
						|
   input        bcfg_scan_out_int,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output       bcfg_scan_out,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input        ccfg_scan_in,		// config latches that could be setup differently on multiple cores
 | 
						|
   output       ccfg_scan_in_int,
 | 
						|
   input        ccfg_scan_out_int,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output       ccfg_scan_out,
 | 
						|
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_IN/" *)
 | 
						|
   input        dcfg_scan_in,
 | 
						|
   output       dcfg_scan_in_int,
 | 
						|
   input        dcfg_scan_out_int,
 | 
						|
(* pin_data="PIN_FUNCTION=/SCAN_OUT/" *)
 | 
						|
   output       dcfg_scan_out
 | 
						|
 | 
						|
);
 | 
						|
 | 
						|
      wire         tidn;
 | 
						|
      wire         tiup;
 | 
						|
 | 
						|
      wire [0:1]   pc_func_sl_thold_2_int;
 | 
						|
      wire [0:1]   pc_func_slp_sl_thold_2_int;
 | 
						|
      wire [0:1]   pc_sg_2_int;
 | 
						|
      wire         pc_gptr_sl_thold_2_int;
 | 
						|
      wire         pc_fce_2_int;
 | 
						|
      wire         pc_time_sl_thold_2_int;
 | 
						|
      wire         pc_repr_sl_thold_2_int;
 | 
						|
      wire         pc_abst_sl_thold_2_int;
 | 
						|
      wire         pc_abst_slp_sl_thold_2_int;
 | 
						|
      wire         pc_cfg_sl_thold_2_int;
 | 
						|
      wire         pc_cfg_slp_sl_thold_2_int;
 | 
						|
      wire         pc_func_nsl_thold_2_int;
 | 
						|
      wire         pc_func_slp_nsl_thold_2_int;
 | 
						|
      wire         pc_ary_nsl_thold_2_int;
 | 
						|
      wire         pc_ary_slp_nsl_thold_2_int;
 | 
						|
      wire         pc_mm_bolt_sl_thold_2_int;
 | 
						|
 | 
						|
      wire [0:1]   pc_func_sl_thold_1_int;
 | 
						|
      wire [0:1]   pc_func_slp_sl_thold_1_int;
 | 
						|
      wire [0:1]   pc_sg_1_int;
 | 
						|
      wire         pc_gptr_sl_thold_1_int;
 | 
						|
      wire         pc_fce_1_int;
 | 
						|
      wire         pc_time_sl_thold_1_int;
 | 
						|
      wire         pc_repr_sl_thold_1_int;
 | 
						|
      wire         pc_abst_sl_thold_1_int;
 | 
						|
      wire         pc_abst_slp_sl_thold_1_int;
 | 
						|
      wire         pc_cfg_sl_thold_1_int;
 | 
						|
      wire         pc_cfg_slp_sl_thold_1_int;
 | 
						|
      wire         pc_func_nsl_thold_1_int;
 | 
						|
      wire         pc_func_slp_nsl_thold_1_int;
 | 
						|
      wire         pc_ary_nsl_thold_1_int;
 | 
						|
      wire         pc_ary_slp_nsl_thold_1_int;
 | 
						|
      wire         pc_mm_bolt_sl_thold_1_int;
 | 
						|
 | 
						|
      wire [0:1]   pc_func_sl_thold_0_int;
 | 
						|
      wire [0:1]   pc_func_slp_sl_thold_0_int;
 | 
						|
      wire [0:1]   pc_sg_0_int;
 | 
						|
      wire         pc_gptr_sl_thold_0_int;
 | 
						|
      wire         pc_fce_0_int;
 | 
						|
      wire         pc_time_sl_thold_0_int;
 | 
						|
      wire         pc_repr_sl_thold_0_int;
 | 
						|
      wire         pc_abst_sl_thold_0_int;
 | 
						|
      wire         pc_abst_slp_sl_thold_0_int;
 | 
						|
      wire         pc_cfg_sl_thold_0_int;
 | 
						|
      wire         pc_cfg_slp_sl_thold_0_int;
 | 
						|
      wire         pc_func_nsl_thold_0_int;
 | 
						|
      wire         pc_func_slp_nsl_thold_0_int;
 | 
						|
      wire         pc_ary_nsl_thold_0_int;
 | 
						|
      wire         pc_ary_slp_nsl_thold_0_int;
 | 
						|
 | 
						|
      wire [0:1]   pc_func_sl_thold_0_b_int;
 | 
						|
      wire [0:1]   pc_func_slp_sl_thold_0_b_int;
 | 
						|
      wire [0:1]   pc_func_slp_sl_force_int;
 | 
						|
      wire [0:1]   pc_func_sl_force_int;
 | 
						|
 | 
						|
      wire [0:1]   abst_scan_in_q;
 | 
						|
      wire [0:1]   abst_scan_out_q;
 | 
						|
      wire         time_scan_in_q;
 | 
						|
      wire         time_scan_out_q;
 | 
						|
      wire         repr_scan_in_q;
 | 
						|
      wire         repr_scan_out_q;
 | 
						|
      wire         gptr_scan_in_q;
 | 
						|
      wire         gptr_scan_out_int;
 | 
						|
      wire         gptr_scan_out_q;
 | 
						|
      wire [0:1]   gptr_scan_lcbctrl;
 | 
						|
      wire         bcfg_scan_in_q;
 | 
						|
      wire         bcfg_scan_out_q;
 | 
						|
      wire         ccfg_scan_in_q;
 | 
						|
      wire         ccfg_scan_out_q;
 | 
						|
      wire         dcfg_scan_in_q;
 | 
						|
      wire         dcfg_scan_out_q;
 | 
						|
      wire [0:9]   func_scan_in_q;
 | 
						|
      wire [0:9]   func_scan_out_q;
 | 
						|
 | 
						|
      wire [0:1]   slat_force;
 | 
						|
      wire         abst_slat_thold_b;
 | 
						|
      wire         abst_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         abst_slat_lclk;
 | 
						|
      wire         time_slat_thold_b;
 | 
						|
      wire         time_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         time_slat_lclk;
 | 
						|
      wire         repr_slat_thold_b;
 | 
						|
      wire         repr_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         repr_slat_lclk;
 | 
						|
      wire         gptr_slat_thold_b;
 | 
						|
      wire         gptr_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         gptr_slat_lclk;
 | 
						|
      wire         bcfg_slat_thold_b;
 | 
						|
      wire         bcfg_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         bcfg_slat_lclk;
 | 
						|
      wire         ccfg_slat_thold_b;
 | 
						|
      wire         ccfg_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         ccfg_slat_lclk;
 | 
						|
      wire         dcfg_slat_thold_b;
 | 
						|
      wire         dcfg_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         dcfg_slat_lclk;
 | 
						|
      wire         func_slat_thold_b;
 | 
						|
      wire         func_slat_d2clk;
 | 
						|
      wire [0:`NCLK_WIDTH-1]         func_slat_lclk;
 | 
						|
 | 
						|
      wire         pc_abst_sl_thold_0_b;
 | 
						|
      wire         pc_abst_sl_force;
 | 
						|
      wire [0:4]   lcb_delay_lclkr_dc_int;
 | 
						|
      wire         lcb_d_mode_dc_int;
 | 
						|
      wire [0:4]   lcb_mpw1_dc_b_int;
 | 
						|
      wire         lcb_mpw2_dc_b_int;
 | 
						|
      wire         lcb_clkoff_dc_b_int;
 | 
						|
 | 
						|
      wire [0:41]  abist_siv;
 | 
						|
      wire [0:41]  abist_sov;
 | 
						|
 | 
						|
      (* analysis_not_referenced="true" *)
 | 
						|
      wire [0:8]   unused_dc;
 | 
						|
 | 
						|
      (* analysis_not_referenced="true" *)
 | 
						|
      wire [0:3] perv_abst_stg_q, perv_abst_stg_q_b;
 | 
						|
 | 
						|
      (* analysis_not_referenced="true" *)
 | 
						|
      wire [0:1] perv_time_stg_q, perv_time_stg_q_b, perv_repr_stg_q, perv_repr_stg_q_b,
 | 
						|
                  perv_gptr_stg_q, perv_gptr_stg_q_b, perv_bcfg_stg_q, perv_bcfg_stg_q_b,
 | 
						|
                  perv_ccfg_stg_q, perv_ccfg_stg_q_b, perv_dcfg_stg_q, perv_dcfg_stg_q_b;
 | 
						|
 | 
						|
      (* analysis_not_referenced="true" *)
 | 
						|
      wire [0:19] perv_func_stg_q, perv_func_stg_q_b;
 | 
						|
 | 
						|
      assign tidn = 1'b0;
 | 
						|
      assign tiup = 1'b1;
 | 
						|
 | 
						|
 | 
						|
      tri_plat #(.WIDTH(20)) perv_3to2_reg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .nclk(nclk),
 | 
						|
         .flush(tc_ac_ccflush_dc),
 | 
						|
         .din( {pc_mm_sg_3[0:1],
 | 
						|
                  pc_mm_func_slp_sl_thold_3[0:1],
 | 
						|
                  pc_mm_func_sl_thold_3[0:1],
 | 
						|
                  pc_mm_gptr_sl_thold_3,
 | 
						|
                  pc_mm_fce_3,
 | 
						|
                  pc_mm_time_sl_thold_3,
 | 
						|
                  pc_mm_repr_sl_thold_3,
 | 
						|
                  pc_mm_abst_sl_thold_3,
 | 
						|
                  pc_mm_abst_slp_sl_thold_3,
 | 
						|
                  pc_mm_cfg_sl_thold_3,
 | 
						|
                  pc_mm_cfg_slp_sl_thold_3,
 | 
						|
                  pc_mm_func_nsl_thold_3,
 | 
						|
                  pc_mm_func_slp_nsl_thold_3,
 | 
						|
                  pc_mm_ary_nsl_thold_3,
 | 
						|
                  pc_mm_ary_slp_nsl_thold_3,
 | 
						|
                  pc_mm_bolt_sl_thold_3,
 | 
						|
                  pc_mm_bo_enable_3} ),
 | 
						|
 | 
						|
         .q( {pc_sg_2_int[0:1],
 | 
						|
               pc_func_slp_sl_thold_2_int[0:1],
 | 
						|
               pc_func_sl_thold_2_int[0:1],
 | 
						|
               pc_gptr_sl_thold_2_int,
 | 
						|
               pc_fce_2_int,
 | 
						|
               pc_time_sl_thold_2_int,
 | 
						|
               pc_repr_sl_thold_2_int,
 | 
						|
               pc_abst_sl_thold_2_int,
 | 
						|
               pc_abst_slp_sl_thold_2_int,
 | 
						|
               pc_cfg_sl_thold_2_int,
 | 
						|
               pc_cfg_slp_sl_thold_2_int,
 | 
						|
               pc_func_nsl_thold_2_int,
 | 
						|
               pc_func_slp_nsl_thold_2_int,
 | 
						|
               pc_ary_nsl_thold_2_int,
 | 
						|
               pc_ary_slp_nsl_thold_2_int,
 | 
						|
               pc_mm_bolt_sl_thold_2_int,
 | 
						|
               pc_mm_bo_enable_2} )
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_plat #(.WIDTH(19)) perv_2to1_reg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .nclk(nclk),
 | 
						|
         .flush(tc_ac_ccflush_dc),
 | 
						|
         .din( {pc_sg_2_int[0:1],
 | 
						|
                 pc_func_slp_sl_thold_2_int[0:1],
 | 
						|
                 pc_func_sl_thold_2_int[0:1],
 | 
						|
                 pc_gptr_sl_thold_2_int,
 | 
						|
                 pc_fce_2_int,
 | 
						|
                 pc_time_sl_thold_2_int,
 | 
						|
                 pc_repr_sl_thold_2_int,
 | 
						|
                 pc_abst_sl_thold_2_int,
 | 
						|
                 pc_abst_slp_sl_thold_2_int,
 | 
						|
                 pc_cfg_sl_thold_2_int,
 | 
						|
                 pc_cfg_slp_sl_thold_2_int,
 | 
						|
                 pc_func_nsl_thold_2_int,
 | 
						|
                 pc_func_slp_nsl_thold_2_int,
 | 
						|
                 pc_ary_nsl_thold_2_int,
 | 
						|
                 pc_ary_slp_nsl_thold_2_int,
 | 
						|
                 pc_mm_bolt_sl_thold_2_int} ),
 | 
						|
         .q( {pc_sg_1_int[0:1],
 | 
						|
               pc_func_slp_sl_thold_1_int[0:1],
 | 
						|
               pc_func_sl_thold_1_int[0:1],
 | 
						|
               pc_gptr_sl_thold_1_int,
 | 
						|
               pc_fce_1_int,
 | 
						|
               pc_time_sl_thold_1_int,
 | 
						|
               pc_repr_sl_thold_1_int,
 | 
						|
               pc_abst_sl_thold_1_int,
 | 
						|
               pc_abst_slp_sl_thold_1_int,
 | 
						|
               pc_cfg_sl_thold_1_int,
 | 
						|
               pc_cfg_slp_sl_thold_1_int,
 | 
						|
               pc_func_nsl_thold_1_int,
 | 
						|
               pc_func_slp_nsl_thold_1_int,
 | 
						|
               pc_ary_nsl_thold_1_int,
 | 
						|
               pc_ary_slp_nsl_thold_1_int,
 | 
						|
               pc_mm_bolt_sl_thold_1_int} )
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_plat #(.WIDTH(19)) perv_1to0_reg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .nclk(nclk),
 | 
						|
         .flush(tc_ac_ccflush_dc),
 | 
						|
         .din( {pc_sg_1_int[0:1],
 | 
						|
                  pc_func_slp_sl_thold_1_int[0:1],
 | 
						|
                  pc_func_sl_thold_1_int[0:1],
 | 
						|
                  pc_gptr_sl_thold_1_int,
 | 
						|
                  pc_fce_1_int,
 | 
						|
                  pc_time_sl_thold_1_int,
 | 
						|
                  pc_repr_sl_thold_1_int,
 | 
						|
                  pc_abst_sl_thold_1_int,
 | 
						|
                  pc_abst_slp_sl_thold_1_int,
 | 
						|
                  pc_cfg_sl_thold_1_int,
 | 
						|
                  pc_cfg_slp_sl_thold_1_int,
 | 
						|
                  pc_func_nsl_thold_1_int,
 | 
						|
                  pc_func_slp_nsl_thold_1_int,
 | 
						|
                  pc_ary_nsl_thold_1_int,
 | 
						|
                  pc_ary_slp_nsl_thold_1_int,
 | 
						|
                  pc_mm_bolt_sl_thold_1_int} ),
 | 
						|
         .q( {pc_sg_0_int[0:1],
 | 
						|
               pc_func_slp_sl_thold_0_int[0:1],
 | 
						|
               pc_func_sl_thold_0_int[0:1],
 | 
						|
               pc_gptr_sl_thold_0_int,
 | 
						|
               pc_fce_0_int,
 | 
						|
               pc_time_sl_thold_0_int,
 | 
						|
               pc_repr_sl_thold_0_int,
 | 
						|
               pc_abst_sl_thold_0_int,
 | 
						|
               pc_abst_slp_sl_thold_0_int,
 | 
						|
               pc_cfg_sl_thold_0_int,
 | 
						|
               pc_cfg_slp_sl_thold_0_int,
 | 
						|
               pc_func_nsl_thold_0_int,
 | 
						|
               pc_func_slp_nsl_thold_0_int,
 | 
						|
               pc_ary_nsl_thold_0_int,
 | 
						|
               pc_ary_slp_nsl_thold_0_int,
 | 
						|
               pc_mm_bolt_sl_thold_0} )
 | 
						|
      );
 | 
						|
 | 
						|
      assign pc_time_sl_thold_0 = pc_time_sl_thold_0_int;
 | 
						|
      assign pc_abst_sl_thold_0 = pc_abst_sl_thold_0_int;
 | 
						|
      assign pc_abst_slp_sl_thold_0 = pc_abst_slp_sl_thold_0_int;
 | 
						|
      assign pc_repr_sl_thold_0 = pc_repr_sl_thold_0_int;
 | 
						|
      assign pc_ary_nsl_thold_0 = pc_ary_nsl_thold_0_int;
 | 
						|
      assign pc_ary_slp_nsl_thold_0 = pc_ary_slp_nsl_thold_0_int;
 | 
						|
 | 
						|
      assign pc_func_sl_thold_0 = pc_func_sl_thold_0_int;
 | 
						|
      assign pc_func_sl_thold_0_b = pc_func_sl_thold_0_b_int;
 | 
						|
      assign pc_func_slp_sl_thold_0 = pc_func_slp_sl_thold_0_int;
 | 
						|
      assign pc_func_slp_sl_thold_0_b = pc_func_slp_sl_thold_0_b_int;
 | 
						|
 | 
						|
      assign pc_sg_0 = pc_sg_0_int;
 | 
						|
      assign pc_sg_1 = pc_sg_1_int;
 | 
						|
      assign pc_sg_2 = pc_sg_2_int;
 | 
						|
 | 
						|
      assign pc_func_sl_thold_2 = pc_func_sl_thold_2_int;
 | 
						|
      assign pc_func_slp_sl_thold_2 = pc_func_slp_sl_thold_2_int;
 | 
						|
      assign pc_func_slp_nsl_thold_2 = pc_func_slp_nsl_thold_2_int;
 | 
						|
      assign pc_cfg_sl_thold_2 = pc_cfg_sl_thold_2_int;
 | 
						|
      assign pc_cfg_slp_sl_thold_2 = pc_cfg_slp_sl_thold_2_int;
 | 
						|
      assign pc_fce_2 = pc_fce_2_int;
 | 
						|
 | 
						|
      assign lcb_clkoff_dc_b = lcb_clkoff_dc_b_int;
 | 
						|
      assign lcb_d_mode_dc = lcb_d_mode_dc_int;
 | 
						|
      assign lcb_delay_lclkr_dc = lcb_delay_lclkr_dc_int;
 | 
						|
      assign lcb_mpw1_dc_b = lcb_mpw1_dc_b_int;
 | 
						|
      assign lcb_mpw2_dc_b = lcb_mpw2_dc_b_int;
 | 
						|
 | 
						|
 | 
						|
      tri_lcbcntl_mac  perv_lcbctrl(
 | 
						|
         .vdd(vdd),
 | 
						|
         .gnd(gnd),
 | 
						|
         .sg(pc_sg_0_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .scan_in(gptr_scan_in_q),
 | 
						|
         .scan_diag_dc(tc_scan_diag_dc),
 | 
						|
         .thold(pc_gptr_sl_thold_0_int),
 | 
						|
         .clkoff_dc_b(lcb_clkoff_dc_b_int),
 | 
						|
         .delay_lclkr_dc(lcb_delay_lclkr_dc_int[0:4]),
 | 
						|
         .act_dis_dc(unused_dc[6]),
 | 
						|
         .d_mode_dc(lcb_d_mode_dc_int),
 | 
						|
         .mpw1_dc_b(lcb_mpw1_dc_b_int[0:4]),
 | 
						|
         .mpw2_dc_b(lcb_mpw2_dc_b_int),
 | 
						|
         .scan_out(gptr_scan_lcbctrl[0])
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbcntl_array_mac  perv_g6t_gptr_lcbctrl(
 | 
						|
         .vdd(vdd),
 | 
						|
         .gnd(gnd),
 | 
						|
         .sg(pc_sg_0_int[1]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .scan_in(gptr_scan_lcbctrl[0]),
 | 
						|
         .scan_diag_dc(tc_scan_diag_dc),
 | 
						|
         .thold(pc_gptr_sl_thold_0_int),
 | 
						|
         .clkoff_dc_b(g6t_gptr_lcb_clkoff_dc_b),
 | 
						|
         .delay_lclkr_dc(g6t_gptr_lcb_delay_lclkr_dc[0:4]),
 | 
						|
         .act_dis_dc(unused_dc[7]),
 | 
						|
         .d_mode_dc(g6t_gptr_lcb_d_mode_dc),
 | 
						|
         .mpw1_dc_b(g6t_gptr_lcb_mpw1_dc_b[0:4]),
 | 
						|
         .mpw2_dc_b(g6t_gptr_lcb_mpw2_dc_b),
 | 
						|
         .scan_out(gptr_scan_lcbctrl[1])
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbcntl_array_mac  perv_g8t_gptr_lcbctrl(
 | 
						|
         .vdd(vdd),
 | 
						|
         .gnd(gnd),
 | 
						|
         .sg(pc_sg_0_int[1]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .scan_in(gptr_scan_lcbctrl[1]),
 | 
						|
         .scan_diag_dc(tc_scan_diag_dc),
 | 
						|
         .thold(pc_gptr_sl_thold_0_int),
 | 
						|
         .clkoff_dc_b(g8t_gptr_lcb_clkoff_dc_b),
 | 
						|
         .delay_lclkr_dc(g8t_gptr_lcb_delay_lclkr_dc[0:4]),
 | 
						|
         .act_dis_dc(unused_dc[8]),
 | 
						|
         .d_mode_dc(g8t_gptr_lcb_d_mode_dc),
 | 
						|
         .mpw1_dc_b(g8t_gptr_lcb_mpw1_dc_b[0:4]),
 | 
						|
         .mpw2_dc_b(g8t_gptr_lcb_mpw2_dc_b),
 | 
						|
         .scan_out(gptr_scan_out_int)
 | 
						|
      );
 | 
						|
 | 
						|
      //never disable act pins, they are used functionally
 | 
						|
      assign lcb_act_dis_dc = 1'b0;
 | 
						|
      assign g8t_gptr_lcb_act_dis_dc = 1'b0;
 | 
						|
      assign g6t_gptr_lcb_act_dis_dc = 1'b0;
 | 
						|
 | 
						|
      assign time_scan_in_int = time_scan_in_q;
 | 
						|
      assign repr_scan_in_int = repr_scan_in_q;
 | 
						|
      assign func_scan_in_int = func_scan_in_q;
 | 
						|
      assign bcfg_scan_in_int = bcfg_scan_in_q;
 | 
						|
      assign ccfg_scan_in_int = ccfg_scan_in_q;
 | 
						|
      assign dcfg_scan_in_int = dcfg_scan_in_q;
 | 
						|
 | 
						|
      assign time_scan_out = time_scan_out_q & tc_ac_scan_dis_dc_b;
 | 
						|
      assign gptr_scan_out = gptr_scan_out_q & tc_ac_scan_dis_dc_b;
 | 
						|
      assign repr_scan_out = repr_scan_out_q & tc_ac_scan_dis_dc_b;
 | 
						|
      assign func_scan_out = func_scan_out_q & {10{tc_ac_scan_dis_dc_b}};
 | 
						|
      assign abst_scan_out = abst_scan_out_q & {2{tc_ac_scan_dis_dc_b}};
 | 
						|
      assign bcfg_scan_out = bcfg_scan_out_q & tc_ac_scan_dis_dc_b;
 | 
						|
      assign ccfg_scan_out = ccfg_scan_out_q & tc_ac_scan_dis_dc_b;
 | 
						|
      assign dcfg_scan_out = dcfg_scan_out_q & tc_ac_scan_dis_dc_b;
 | 
						|
 | 
						|
      // LCBs for scan only staging latches
 | 
						|
      assign slat_force = pc_sg_0_int;
 | 
						|
      assign abst_slat_thold_b = (~pc_abst_sl_thold_0_int);
 | 
						|
      assign time_slat_thold_b = (~pc_time_sl_thold_0_int);
 | 
						|
      assign repr_slat_thold_b = (~pc_repr_sl_thold_0_int);
 | 
						|
      assign gptr_slat_thold_b = (~pc_gptr_sl_thold_0_int);
 | 
						|
      assign bcfg_slat_thold_b = (~pc_cfg_sl_thold_0_int);
 | 
						|
      assign ccfg_slat_thold_b = (~pc_cfg_sl_thold_0_int);
 | 
						|
      assign dcfg_slat_thold_b = (~pc_cfg_sl_thold_0_int);
 | 
						|
      assign func_slat_thold_b = (~pc_func_sl_thold_0_int[0]);
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs  perv_lcbs_abst(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[1]),
 | 
						|
         .thold_b(abst_slat_thold_b),
 | 
						|
         .dclk(abst_slat_d2clk),
 | 
						|
         .lclk(abst_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(4), .INIT(4'b0000)) perv_abst_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(abst_slat_d2clk),
 | 
						|
         .lclk(abst_slat_lclk),
 | 
						|
         .scan_in( {abst_scan_out_int, abst_scan_in} ),
 | 
						|
         .scan_out( {abst_scan_out_q, abst_scan_in_q} ),
 | 
						|
         .q( perv_abst_stg_q),
 | 
						|
         .q_b( perv_abst_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs perv_lcbs_time(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[1]),
 | 
						|
         .thold_b(time_slat_thold_b),
 | 
						|
         .dclk(time_slat_d2clk),
 | 
						|
         .lclk(time_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(2), .INIT(2'b00)) perv_time_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(time_slat_d2clk),
 | 
						|
         .lclk(time_slat_lclk),
 | 
						|
         .scan_in( {time_scan_in, time_scan_out_int} ),
 | 
						|
         .scan_out( {time_scan_in_q, time_scan_out_q} ),
 | 
						|
         .q( perv_time_stg_q),
 | 
						|
         .q_b( perv_time_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs perv_lcbs_repr(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[1]),
 | 
						|
         .thold_b(repr_slat_thold_b),
 | 
						|
         .dclk(repr_slat_d2clk),
 | 
						|
         .lclk(repr_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(2), .INIT(2'b00)) perv_repr_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(repr_slat_d2clk),
 | 
						|
         .lclk(repr_slat_lclk),
 | 
						|
         .scan_in( {repr_scan_in, repr_scan_out_int} ),
 | 
						|
         .scan_out( {repr_scan_in_q, repr_scan_out_q} ),
 | 
						|
         .q( perv_repr_stg_q),
 | 
						|
         .q_b( perv_repr_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs perv_lcbs_gptr(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(tiup),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[0]),
 | 
						|
         .thold_b(gptr_slat_thold_b),
 | 
						|
         .dclk(gptr_slat_d2clk),
 | 
						|
         .lclk(gptr_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(2), .INIT(2'b00)) perv_gptr_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(gptr_slat_d2clk),
 | 
						|
         .lclk(gptr_slat_lclk),
 | 
						|
         .scan_in( {gptr_scan_in, gptr_scan_out_int} ),
 | 
						|
         .scan_out( {gptr_scan_in_q, gptr_scan_out_q} ),
 | 
						|
         .q( perv_gptr_stg_q),
 | 
						|
         .q_b( perv_gptr_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs perv_lcbs_bcfg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[0]),
 | 
						|
         .thold_b(bcfg_slat_thold_b),
 | 
						|
         .dclk(bcfg_slat_d2clk),
 | 
						|
         .lclk(bcfg_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(2), .INIT(2'b00)) perv_bcfg_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(bcfg_slat_d2clk),
 | 
						|
         .lclk(bcfg_slat_lclk),
 | 
						|
         .scan_in( {bcfg_scan_in, bcfg_scan_out_int} ),
 | 
						|
         .scan_out( {bcfg_scan_in_q, bcfg_scan_out_q} ),
 | 
						|
         .q( perv_bcfg_stg_q),
 | 
						|
         .q_b( perv_bcfg_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs perv_lcbs_ccfg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[0]),
 | 
						|
         .thold_b(ccfg_slat_thold_b),
 | 
						|
         .dclk(ccfg_slat_d2clk),
 | 
						|
         .lclk(ccfg_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(2), .INIT(2'b00)) perv_ccfg_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(ccfg_slat_d2clk),
 | 
						|
         .lclk(ccfg_slat_lclk),
 | 
						|
         .scan_in( {ccfg_scan_in, ccfg_scan_out_int} ),
 | 
						|
         .scan_out( {ccfg_scan_in_q, ccfg_scan_out_q} ),
 | 
						|
         .q( perv_ccfg_stg_q),
 | 
						|
         .q_b( perv_ccfg_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs perv_lcbs_dcfg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[0]),
 | 
						|
         .thold_b(dcfg_slat_thold_b),
 | 
						|
         .dclk(dcfg_slat_d2clk),
 | 
						|
         .lclk(dcfg_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(2), .INIT(2'b00)) perv_dcfg_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(dcfg_slat_d2clk),
 | 
						|
         .lclk(dcfg_slat_lclk),
 | 
						|
         .scan_in( {dcfg_scan_in, dcfg_scan_out_int} ),
 | 
						|
         .scan_out( {dcfg_scan_in_q, dcfg_scan_out_q} ),
 | 
						|
         .q( perv_dcfg_stg_q),
 | 
						|
         .q_b( perv_dcfg_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbs perv_lcbs_func(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .nclk(nclk),
 | 
						|
         .force_t(slat_force[0]),
 | 
						|
         .thold_b(func_slat_thold_b),
 | 
						|
         .dclk(func_slat_d2clk),
 | 
						|
         .lclk(func_slat_lclk)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_slat_scan #(.WIDTH(20), .INIT(20'b00000000000000000000)) perv_func_stg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .dclk(func_slat_d2clk),
 | 
						|
         .lclk(func_slat_lclk),
 | 
						|
         .scan_in( {func_scan_out_int, func_scan_in} ),
 | 
						|
         .scan_out( {func_scan_out_q, func_scan_in_q} ),
 | 
						|
         .q( perv_func_stg_q),
 | 
						|
         .q_b( perv_func_stg_q_b)
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbor perv_lcbor_func_sl_0(
 | 
						|
         .clkoff_b(lcb_clkoff_dc_b_int),
 | 
						|
         .thold(pc_func_sl_thold_0_int[0]),
 | 
						|
         .sg(pc_sg_0_int[0]),
 | 
						|
         .act_dis(tidn),
 | 
						|
         .force_t(pc_func_sl_force_int[0]),
 | 
						|
         .thold_b(pc_func_sl_thold_0_b_int[0])
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbor perv_lcbor_func_sl_1(
 | 
						|
         .clkoff_b(lcb_clkoff_dc_b_int),
 | 
						|
         .thold(pc_func_sl_thold_0_int[1]),
 | 
						|
         .sg(pc_sg_0_int[1]),
 | 
						|
         .act_dis(tidn),
 | 
						|
         .force_t(pc_func_sl_force_int[1]),
 | 
						|
         .thold_b(pc_func_sl_thold_0_b_int[1])
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbor perv_lcbor_func_slp_sl_0(
 | 
						|
         .clkoff_b(lcb_clkoff_dc_b_int),
 | 
						|
         .thold(pc_func_slp_sl_thold_0_int[0]),
 | 
						|
         .sg(pc_sg_0_int[0]),
 | 
						|
         .act_dis(tidn),
 | 
						|
         .force_t(pc_func_slp_sl_force_int[0]),
 | 
						|
         .thold_b(pc_func_slp_sl_thold_0_b_int[0])
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbor perv_lcbor_func_slp_sl_1(
 | 
						|
         .clkoff_b(lcb_clkoff_dc_b_int),
 | 
						|
         .thold(pc_func_slp_sl_thold_0_int[1]),
 | 
						|
         .sg(pc_sg_0_int[1]),
 | 
						|
         .act_dis(tidn),
 | 
						|
         .force_t(pc_func_slp_sl_force_int[1]),
 | 
						|
         .thold_b(pc_func_slp_sl_thold_0_b_int[1])
 | 
						|
      );
 | 
						|
 | 
						|
 | 
						|
      tri_lcbor perv_lcbor_abst_sl(
 | 
						|
         .clkoff_b(lcb_clkoff_dc_b_int),
 | 
						|
         .thold(pc_abst_sl_thold_0_int),
 | 
						|
         .sg(pc_sg_0_int[1]),
 | 
						|
         .act_dis(tidn),
 | 
						|
         .force_t(pc_abst_sl_force),
 | 
						|
         .thold_b(pc_abst_sl_thold_0_b)
 | 
						|
      );
 | 
						|
 | 
						|
      //---------------------------------------------------------------------
 | 
						|
      // abist latches
 | 
						|
      //---------------------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
      tri_rlmreg_p #(.INIT(0), .WIDTH(42), .NEEDS_SRESET(0)) abist_reg(
 | 
						|
         .vd(vdd),
 | 
						|
         .gd(gnd),
 | 
						|
         .nclk(nclk),
 | 
						|
         .act(pc_mm_abist_ena_dc),
 | 
						|
         .thold_b(pc_abst_sl_thold_0_b),
 | 
						|
         .sg(pc_sg_0_int[1]),
 | 
						|
         .force_t(pc_abst_sl_force),
 | 
						|
         .delay_lclkr(lcb_delay_lclkr_dc_int[0]),
 | 
						|
         .mpw1_b(lcb_mpw1_dc_b_int[0]),
 | 
						|
         .mpw2_b(lcb_mpw2_dc_b_int),
 | 
						|
         .d_mode(lcb_d_mode_dc_int),
 | 
						|
         .scin(abist_siv[0:41]),
 | 
						|
         .scout(abist_sov[0:41]),
 | 
						|
         .din(   {pc_mm_abist_g8t_wenb,
 | 
						|
                  pc_mm_abist_g8t1p_renb_0,
 | 
						|
                  pc_mm_abist_di_0,
 | 
						|
                  pc_mm_abist_g8t_bw_1,
 | 
						|
                  pc_mm_abist_g8t_bw_0,
 | 
						|
                  pc_mm_abist_waddr_0,
 | 
						|
                  pc_mm_abist_raddr_0,
 | 
						|
                  pc_mm_abist_wl128_comp_ena,
 | 
						|
                  pc_mm_abist_g8t_dcomp,
 | 
						|
                  pc_mm_abist_dcomp_g6t_2r,
 | 
						|
                  pc_mm_abist_di_g6t_2r,
 | 
						|
                  pc_mm_abist_g6t_r_wb} ),
 | 
						|
         .dout(  {pc_mm_abist_g8t_wenb_q,
 | 
						|
                   pc_mm_abist_g8t1p_renb_0_q,
 | 
						|
                   pc_mm_abist_di_0_q,
 | 
						|
                   pc_mm_abist_g8t_bw_1_q,
 | 
						|
                   pc_mm_abist_g8t_bw_0_q,
 | 
						|
                   pc_mm_abist_waddr_0_q,
 | 
						|
                   pc_mm_abist_raddr_0_q,
 | 
						|
                   pc_mm_abist_wl128_comp_ena_q,
 | 
						|
                   pc_mm_abist_g8t_dcomp_q,
 | 
						|
                   pc_mm_abist_dcomp_g6t_2r_q,
 | 
						|
                   pc_mm_abist_di_g6t_2r_q,
 | 
						|
                   pc_mm_abist_g6t_r_wb_q} )
 | 
						|
      );
 | 
						|
 | 
						|
      assign abist_siv = {abist_sov[1:41], abst_scan_in_q[0]};
 | 
						|
      assign abst_scan_in_int[0] = abist_sov[0];
 | 
						|
      assign abst_scan_in_int[1] = abst_scan_in_q[1];
 | 
						|
 | 
						|
      // unused spare signal assignments
 | 
						|
      assign unused_dc[0] = pc_fce_0_int;
 | 
						|
      assign unused_dc[1] = pc_cfg_slp_sl_thold_0_int;
 | 
						|
      assign unused_dc[2] = pc_func_nsl_thold_0_int;
 | 
						|
      assign unused_dc[3] = pc_func_slp_nsl_thold_0_int;
 | 
						|
      assign unused_dc[4] = |(pc_func_sl_force_int);
 | 
						|
      assign unused_dc[5] = |(pc_func_slp_sl_force_int);
 | 
						|
 | 
						|
 | 
						|
endmodule
 |