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.

10970 lines
719 KiB
VHDL

-- © 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.
-- Description: XU Exception Handler
--
library ieee,ibm,support,work,tri,clib;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use support.power_logic_pkg.all;
use ibm.std_ulogic_support.all;
use ibm.std_ulogic_function_support.all;
use tri.tri_latches_pkg.all;
use work.xuq_pkg.all;
entity xuq_cpl is
generic(
expand_type : integer := 2;
threads : integer := 4;
eff_ifar : integer := 62;
uc_ifar : integer := 21;
regsize : integer := 64;
hvmode : integer := 1;
a2mode : integer := 1);
port(
-- Clocks
nclk : in clk_logic;
-- CHIP IO
ac_tc_debug_trigger : out std_ulogic_vector(0 to threads-1);
-- Pervasive
an_ac_scan_dis_dc_b : in std_ulogic;
pc_xu_ccflush_dc : in std_ulogic;
clkoff_dc_b : in std_ulogic;
d_mode_dc : in std_ulogic;
delay_lclkr_dc : in std_ulogic;
mpw1_dc_b : in std_ulogic;
mpw2_dc_b : in std_ulogic;
func_sl_thold_2 : in std_ulogic;
func_nsl_thold_2 : in std_ulogic;
func_slp_sl_thold_2 : in std_ulogic;
func_slp_nsl_thold_2 : in std_ulogic;
cfg_sl_thold_2 : in std_ulogic;
cfg_slp_sl_thold_2 : in std_ulogic;
sg_2 : in std_ulogic;
fce_2 : in std_ulogic;
func_scan_in : in std_ulogic_vector(50 to 53);
func_scan_out : out std_ulogic_vector(50 to 53);
bcfg_scan_in : in std_ulogic;
bcfg_scan_out : out std_ulogic;
ccfg_scan_in : in std_ulogic;
ccfg_scan_out : out std_ulogic;
dcfg_scan_in : in std_ulogic;
dcfg_scan_out : out std_ulogic;
-- Valids
dec_cpl_rf0_act : in std_ulogic;
dec_cpl_rf0_tid : in std_ulogic_vector(0 to threads-1);
dec_cpl_rf1_val : in std_ulogic_vector(0 to threads-1);
dec_cpl_rf1_issued : in std_ulogic_vector(0 to threads-1);
-- IU Inputs
dec_cpl_ex2_error : in std_ulogic_vector(0 to 2);
dec_cpl_ex2_match : in std_ulogic;
-- FU Inputs
fu_xu_rf1_act : in std_ulogic_vector(0 to threads-1);
fu_xu_ex1_ifar : in std_ulogic_vector(0 to eff_ifar*threads-1);
fu_xu_ex2_ifar_issued : in std_ulogic_vector(0 to threads-1);
fu_xu_ex2_ifar_val : in std_ulogic_vector(0 to threads-1);
fu_xu_ex2_instr_type : in std_ulogic_vector(0 to 3*threads-1);
fu_xu_ex2_instr_match : in std_ulogic_vector(0 to threads-1);
fu_xu_ex2_is_ucode : in std_ulogic_vector(0 to threads-1);
-- PC Inputs
pc_xu_step : in std_ulogic_vector(0 to threads-1);
pc_xu_stop : in std_ulogic_vector(0 to threads-1);
pc_xu_dbg_action : in std_ulogic_vector(0 to 3*threads-1);
pc_xu_force_ude : in std_ulogic_vector(0 to threads-1);
xu_pc_step_done : out std_ulogic_vector(0 to threads-1);
pc_xu_init_reset : in std_ulogic;
-- Bypass Inputs
byp_cpl_ex1_cr_bit : in std_ulogic;
-- Decode Inputs
dec_cpl_rf1_pred_taken_cnt : in std_ulogic;
dec_cpl_rf1_instr : in std_ulogic_vector(0 to 31);
dec_cpl_ex3_is_any_store : in std_ulogic;
dec_cpl_ex2_is_any_store_dac : in std_ulogic;
dec_cpl_ex2_is_any_load_dac : in std_ulogic;
dec_cpl_ex3_instr_priv : in std_ulogic;
dec_cpl_ex3_instr_hypv : in std_ulogic;
dec_cpl_ex1_epid_instr : in std_ulogic;
dec_cpl_ex3_tlb_illeg : in std_ulogic;
dec_cpl_ex3_axu_instr_type : in std_ulogic_vector(0 to 2);
dec_cpl_rf1_ucode_val : in std_ulogic_vector(0 to threads-1);
dec_cpl_ex3_mtdp_nr : in std_ulogic;
lsu_xu_ex4_mtdp_cr_status : in std_ulogic;
dec_cpl_ex3_mc_dep_chk_val : in std_ulogic_vector(0 to threads-1);
dec_cpl_ex2_illegal_op : in std_ulogic;
dec_cpl_ex3_mult_coll : in std_ulogic;
fxa_cpl_ex2_div_coll : in std_ulogic_vector(0 to threads-1);
-- Async Interrupt Req Interface
spr_cpl_ext_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_udec_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_perf_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_dec_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_fit_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_crit_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_wdog_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_dbell_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_cdbell_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_gdbell_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_gcdbell_interrupt : in std_ulogic_vector(0 to threads-1);
spr_cpl_gmcdbell_interrupt : in std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_dbell_taken : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_cdbell_taken : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_gdbell_taken : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_gcdbell_taken : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_gmcdbell_taken : out std_ulogic_vector(0 to threads-1);
-- IFAR
dec_cpl_rf1_ifar : in std_ulogic_vector(62-eff_ifar to 61);
-- Debug Compares
spr_cpl_iac1_en : in std_ulogic_vector(0 to threads-1);
spr_cpl_iac2_en : in std_ulogic_vector(0 to threads-1);
spr_cpl_iac3_en : in std_ulogic_vector(0 to threads-1);
spr_cpl_iac4_en : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac1r_cmpr_async : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac2r_cmpr_async : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac1r_cmpr : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac2r_cmpr : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac3r_cmpr : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac4r_cmpr : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac1w_cmpr : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac2w_cmpr : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac3w_cmpr : in std_ulogic_vector(0 to threads-1);
fxu_cpl_ex3_dac4w_cmpr : in std_ulogic_vector(0 to threads-1);
-- Interrupt Interface
cpl_spr_ex5_act : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_int : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_gint : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_cint : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_mcint : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_nia : out std_ulogic_vector(0 to eff_ifar*threads-1);
cpl_spr_ex5_esr : out std_ulogic_vector(0 to 17*threads-1);
cpl_spr_ex5_mcsr : out std_ulogic_vector(0 to 15*threads-1);
cpl_spr_ex5_dbsr : out std_ulogic_vector(0 to 19*threads-1);
cpl_spr_ex5_dear_save : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_dear_update_saved : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_dear_update : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_dbsr_update : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_esr_update : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_srr0_dec : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_force_gsrr : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_dbsr_ide : out std_ulogic_vector(0 to threads-1);
spr_cpl_dbsr_ide : in std_ulogic_vector(0 to threads-1);
-- ALU Inputs
alu_cpl_ex1_eff_addr : in std_ulogic_vector(62 to 63);
-- Machine Check Interrupts
mm_xu_local_snoop_reject : in std_ulogic_vector(0 to threads-1);
mm_xu_lru_par_err : in std_ulogic_vector(0 to threads-1);
mm_xu_tlb_par_err : in std_ulogic_vector(0 to threads-1);
mm_xu_tlb_multihit_err : in std_ulogic_vector(0 to threads-1);
lsu_xu_ex3_derat_par_err : in std_ulogic_vector(0 to threads-1);
lsu_xu_ex4_derat_par_err : in std_ulogic_vector(0 to threads-1);
lsu_xu_ex3_derat_multihit_err : in std_ulogic_vector(0 to threads-1);
lsu_xu_ex3_l2_uc_ecc_err : in std_ulogic_vector(0 to threads-1);
lsu_xu_ex3_ddir_par_err : in std_ulogic;
lsu_xu_ex4_n_lsu_ddmh_flush : in std_ulogic_vector(0 to 3);
lsu_xu_ex6_datc_par_err : in std_ulogic;
spr_cpl_external_mchk : in std_ulogic_vector(0 to threads-1);
-- PC Errors
xu_pc_err_attention_instr : out std_ulogic_vector(0 to threads-1);
xu_pc_err_nia_miscmpr : out std_ulogic_vector(0 to threads-1);
xu_pc_err_debug_event : out std_ulogic_vector(0 to threads-1);
-- Data Storage
lsu_xu_ex3_dsi : in std_ulogic_vector(0 to threads-1);
derat_xu_ex3_dsi : in std_ulogic_vector(0 to threads-1);
spr_cpl_ex3_ct_le : in std_ulogic_vector(0 to threads-1);
spr_cpl_ex3_ct_be : in std_ulogic_vector(0 to threads-1);
-- Alignment
lsu_xu_ex3_align : in std_ulogic_vector(0 to threads-1);
-- Program
spr_cpl_ex3_spr_illeg : in std_ulogic;
spr_cpl_ex3_spr_priv : in std_ulogic;
alu_cpl_ex3_trap_val : in std_ulogic;
-- Hypv Privledge
spr_cpl_ex3_spr_hypv : in std_logic;
-- Data TLB Miss
derat_xu_ex3_miss : in std_ulogic_vector(0 to threads-1);
-- uCode
dec_cpl_ex2_is_ucode : in std_ulogic;
-- RAM
pc_xu_ram_mode : in std_ulogic;
pc_xu_ram_thread : in std_ulogic_vector(0 to 1);
pc_xu_ram_execute : in std_ulogic;
xu_iu_ram_issue : out std_ulogic_vector(0 to threads-1);
xu_pc_ram_interrupt : out std_ulogic;
xu_pc_ram_done : out std_ulogic;
pc_xu_ram_flush_thread : in std_ulogic;
-- Run State
cpl_spr_stop : out std_ulogic_vector(0 to threads-1);
xu_pc_stop_dbg_event : out std_ulogic_vector(0 to threads-1);
cpl_spr_ex5_instr_cpl : out std_ulogic_vector(0 to threads-1);
spr_cpl_quiesce : in std_ulogic_vector(0 to threads-1);
cpl_spr_quiesce : out std_ulogic_vector(0 to threads-1);
spr_cpl_ex2_run_ctl_flush : in std_ulogic_vector(0 to threads-1);
-- MMU Flushes
mm_xu_illeg_instr : in std_ulogic_vector(0 to threads-1);
mm_xu_tlb_miss : in std_ulogic_vector(0 to threads-1);
mm_xu_pt_fault : in std_ulogic_vector(0 to threads-1);
mm_xu_tlb_inelig : in std_ulogic_vector(0 to threads-1);
mm_xu_lrat_miss : in std_ulogic_vector(0 to threads-1);
mm_xu_hv_priv : in std_ulogic_vector(0 to threads-1);
mm_xu_esr_pt : in std_ulogic_vector(0 to threads-1);
mm_xu_esr_data : in std_ulogic_vector(0 to threads-1);
mm_xu_esr_epid : in std_ulogic_vector(0 to threads-1);
mm_xu_esr_st : in std_ulogic_vector(0 to threads-1);
mm_xu_hold_req : in std_ulogic_vector(0 to threads-1);
mm_xu_hold_done : in std_ulogic_vector(0 to threads-1);
xu_mm_hold_ack : out std_ulogic_vector(0 to threads-1);
mm_xu_eratmiss_done : in std_ulogic_vector(0 to threads-1);
mm_xu_ex3_flush_req : in std_ulogic_vector(0 to threads-1);
-- LSU Flushes
lsu_xu_l2_ecc_err_flush : in std_ulogic_vector(0 to threads-1);
lsu_xu_datc_perr_recovery : in std_ulogic;
lsu_xu_ex3_dep_flush : in std_ulogic;
lsu_xu_ex3_n_flush_req : in std_ulogic;
lsu_xu_ex3_ldq_hit_flush : in std_ulogic;
lsu_xu_ex4_ldq_full_flush : in std_ulogic;
derat_xu_ex3_n_flush_req : in std_ulogic_vector(0 to threads-1);
lsu_xu_ex3_inval_align_2ucode : in std_ulogic;
lsu_xu_ex3_attr : in std_ulogic_vector(0 to 8);
lsu_xu_ex3_derat_vf : in std_ulogic;
-- AXU Flushes
fu_xu_ex3_ap_int_req : in std_ulogic_vector(0 to threads-1);
fu_xu_ex3_trap : in std_ulogic_vector(0 to threads-1);
fu_xu_ex3_n_flush : in std_ulogic_vector(0 to threads-1);
fu_xu_ex3_np1_flush : in std_ulogic_vector(0 to threads-1);
fu_xu_ex3_flush2ucode : in std_ulogic_vector(0 to threads-1);
fu_xu_ex2_async_block : in std_ulogic_vector(0 to threads-1);
-- IU Flushes
xu_iu_ex5_br_taken : out std_ulogic;
xu_iu_ex5_ifar : out std_ulogic_vector(62-eff_ifar to 61);
xu_iu_flush : out std_ulogic_vector(0 to threads-1);
xu_iu_iu0_flush_ifar : out std_ulogic_vector(0 to eff_ifar*threads-1);
xu_iu_uc_flush_ifar : out std_ulogic_vector(0 to uc_ifar*threads-1);
xu_iu_flush_2ucode : out std_ulogic_vector(0 to threads-1);
xu_iu_flush_2ucode_type : out std_ulogic_vector(0 to threads-1);
xu_iu_ucode_restart : out std_ulogic_vector(0 to threads-1);
xu_iu_ex5_ppc_cpl : out std_ulogic_vector(0 to threads-1);
-- Flushes
xu_rf0_flush : out std_ulogic_vector(0 to threads-1);
xu_rf1_flush : out std_ulogic_vector(0 to threads-1);
xu_ex1_flush : out std_ulogic_vector(0 to threads-1);
xu_ex2_flush : out std_ulogic_vector(0 to threads-1);
xu_ex3_flush : out std_ulogic_vector(0 to threads-1);
xu_ex4_flush : out std_ulogic_vector(0 to threads-1);
xu_ex5_flush : out std_ulogic_vector(0 to threads-1);
xu_n_is2_flush : out std_ulogic_vector(0 to threads-1);
xu_n_rf0_flush : out std_ulogic_vector(0 to threads-1);
xu_n_rf1_flush : out std_ulogic_vector(0 to threads-1);
xu_n_ex1_flush : out std_ulogic_vector(0 to threads-1);
xu_n_ex2_flush : out std_ulogic_vector(0 to threads-1);
xu_n_ex3_flush : out std_ulogic_vector(0 to threads-1);
xu_n_ex4_flush : out std_ulogic_vector(0 to threads-1);
xu_n_ex5_flush : out std_ulogic_vector(0 to threads-1);
xu_s_rf1_flush : out std_ulogic_vector(0 to threads-1);
xu_s_ex1_flush : out std_ulogic_vector(0 to threads-1);
xu_s_ex2_flush : out std_ulogic_vector(0 to threads-1);
xu_s_ex3_flush : out std_ulogic_vector(0 to threads-1);
xu_s_ex4_flush : out std_ulogic_vector(0 to threads-1);
xu_s_ex5_flush : out std_ulogic_vector(0 to threads-1);
xu_w_rf1_flush : out std_ulogic_vector(0 to threads-1);
xu_w_ex1_flush : out std_ulogic_vector(0 to threads-1);
xu_w_ex2_flush : out std_ulogic_vector(0 to threads-1);
xu_w_ex3_flush : out std_ulogic_vector(0 to threads-1);
xu_w_ex4_flush : out std_ulogic_vector(0 to threads-1);
xu_w_ex5_flush : out std_ulogic_vector(0 to threads-1);
xu_lsu_ex4_val : out std_ulogic_vector(0 to threads-1);
xu_lsu_ex4_flush_local : out std_ulogic_vector(0 to threads-1);
xu_mm_ex4_flush : out std_ulogic_vector(0 to threads-1);
xu_mm_ex5_flush : out std_ulogic_vector(0 to threads-1);
xu_mm_ierat_flush : out std_ulogic_vector(0 to threads-1);
xu_mm_ierat_miss : out std_ulogic_vector(0 to threads-1);
-- Barrier
xu_lsu_ex5_set_barr : out std_ulogic_vector(0 to threads-1);
cpl_fxa_ex5_set_barr : out std_ulogic_vector(0 to threads-1);
cpl_iu_set_barr_tid : out std_ulogic_vector(0 to threads-1);
-- SPR Bus
cpl_byp_ex3_spr_rt : out std_ulogic_vector(64-regsize to 63);
mux_cpl_ex4_rt : in std_ulogic_vector(64-regsize to 63);
-- SPR Bits
spr_bit_act : in std_ulogic;
cpl_spr_dbcr0_edm : out std_ulogic_vector(0 to threads-1);
spr_cpl_fp_precise : in std_ulogic_vector(0 to threads-1);
spr_xucr0_mddp : in std_ulogic;
spr_xucr0_mdcp : in std_ulogic;
spr_msr_de : in std_ulogic_vector(0 to threads-1);
spr_msr_spv : in std_ulogic_vector(0 to threads-1);
spr_msr_fp : in std_ulogic_vector(0 to threads-1);
spr_msr_pr : in std_ulogic_vector(0 to threads-1);
spr_msr_gs : in std_ulogic_vector(0 to threads-1);
spr_msr_me : in std_ulogic_vector(0 to threads-1);
spr_msr_cm : in std_ulogic_vector(0 to threads-1);
spr_msr_ucle : in std_ulogic_vector(0 to threads-1);
spr_msrp_uclep : in std_ulogic_vector(0 to threads-1);
spr_ccr2_notlb : in std_ulogic;
spr_ccr2_ucode_dis : in std_ulogic;
spr_ccr2_ap : in std_ulogic_vector(0 to threads-1);
spr_dbcr0_idm : in std_ulogic_vector(0 to threads-1);
spr_dbcr0_icmp : in std_ulogic_vector(0 to threads-1);
spr_dbcr0_brt : in std_ulogic_vector(0 to threads-1);
spr_dbcr0_trap : in std_ulogic_vector(0 to threads-1);
spr_dbcr0_ret : in std_ulogic_vector(0 to threads-1);
spr_dbcr0_irpt : in std_ulogic_vector(0 to threads-1);
spr_dbcr3_ivc : in std_ulogic_vector(0 to threads-1);
spr_epcr_dsigs : in std_ulogic_vector(0 to threads-1);
spr_epcr_isigs : in std_ulogic_vector(0 to threads-1);
spr_epcr_extgs : in std_ulogic_vector(0 to threads-1);
spr_epcr_dtlbgs : in std_ulogic_vector(0 to threads-1);
spr_epcr_itlbgs : in std_ulogic_vector(0 to threads-1);
spr_xucr4_div_barr_thres : out std_ulogic_vector(0 to 7);
spr_ccr0_we : in std_ulogic_vector(0 to threads-1);
spr_dbcr1_iac12m : in std_ulogic_vector(0 to threads-1);
spr_dbcr1_iac34m : in std_ulogic_vector(0 to threads-1);
spr_epcr_duvd : in std_ulogic_vector(0 to threads-1);
spr_xucr0_clkg_ctl : in std_ulogic_vector(2 to 2);
spr_xucr4_mmu_mchk : out std_ulogic;
cpl_msr_gs : out std_ulogic_vector(0 to threads-1);
cpl_msr_pr : out std_ulogic_vector(0 to threads-1);
cpl_msr_fp : out std_ulogic_vector(0 to threads-1);
cpl_msr_spv : out std_ulogic_vector(0 to threads-1);
cpl_ccr2_ap : out std_ulogic_vector(0 to threads-1);
-- Slow SPR Bus
mux_cpl_slowspr_flush : in std_ulogic_vector(0 to threads-1);
mux_cpl_slowspr_done : in std_ulogic_vector(0 to threads-1);
dec_cpl_ex1_is_slowspr_wr : in std_ulogic;
dec_cpl_ex3_ddmh_en : in std_ulogic;
dec_cpl_ex3_back_inv : in std_ulogic;
-- Cache invalidate
xu_lsu_ici : out std_ulogic;
xu_lsu_dci : out std_ulogic;
-- Perf
pc_xu_event_bus_enable : in std_ulogic;
cpl_perf_tx_events : out std_ulogic_vector(0 to 75);
spr_cpl_async_int : in std_ulogic_vector(0 to 3*threads-1);
xu_mm_ex5_perf_itlb : out std_ulogic_vector(0 to threads-1);
xu_mm_ex5_perf_dtlb : out std_ulogic_vector(0 to threads-1);
-- Parity
spr_cpl_ex3_sprg_ce : in std_ulogic;
spr_cpl_ex3_sprg_ue : in std_ulogic;
iu_xu_ierat_ex2_flush_req : in std_ulogic_vector(0 to threads-1);
iu_xu_ierat_ex3_par_err : in std_ulogic_vector(0 to threads-1);
iu_xu_ierat_ex4_par_err : in std_ulogic_vector(0 to threads-1);
-- Regfile Parity
fu_xu_ex3_regfile_err_det : in std_ulogic_vector(0 to threads-1);
xu_fu_regfile_seq_beg : out std_ulogic;
fu_xu_regfile_seq_end : in std_ulogic;
gpr_cpl_ex3_regfile_err_det : in std_ulogic;
cpl_gpr_regfile_seq_beg : out std_ulogic;
gpr_cpl_regfile_seq_end : in std_ulogic;
xu_pc_err_mcsr_summary : out std_ulogic_vector(0 to threads-1);
xu_pc_err_ditc_overrun : out std_ulogic;
xu_pc_err_local_snoop_reject : out std_ulogic;
xu_pc_err_tlb_lru_parity : out std_ulogic;
xu_pc_err_ext_mchk : out std_ulogic;
xu_pc_err_ierat_multihit : out std_ulogic;
xu_pc_err_derat_multihit : out std_ulogic;
xu_pc_err_tlb_multihit : out std_ulogic;
xu_pc_err_ierat_parity : out std_ulogic;
xu_pc_err_derat_parity : out std_ulogic;
xu_pc_err_tlb_parity : out std_ulogic;
xu_pc_err_mchk_disabled : out std_ulogic;
xu_pc_err_sprg_ue : out std_ulogic_vector(0 to threads-1);
-- Debug
pc_xu_instr_trace_mode : in std_ulogic;
pc_xu_trace_bus_enable : in std_ulogic;
dec_cpl_rf1_instr_trace_val : in std_ulogic;
dec_cpl_rf1_instr_trace_type : in std_ulogic_vector(0 to 1);
dec_cpl_ex3_instr_trace_val : in std_ulogic;
cpl_dec_in_ucode : out std_ulogic_vector(0 to threads-1);
cpl_debug_mux_ctrls : in std_ulogic_vector(0 to 15);
cpl_debug_data_in : in std_ulogic_vector(0 to 87);
cpl_debug_data_out : out std_ulogic_vector(0 to 87);
cpl_trigger_data_in : in std_ulogic_vector(0 to 11);
cpl_trigger_data_out : out std_ulogic_vector(0 to 11);
fxa_cpl_debug : in std_ulogic_vector(0 to 272);
-- Power
vdd : inout power_logic;
gnd : inout power_logic
);
-- synopsys translate_off
-- synopsys translate_on
end xuq_cpl;
architecture xuq_cpl of xuq_cpl is
constant ivos : integer := 26;
constant ifar_repwr : integer := (eff_ifar+2)/8;
constant MSL : integer := 1274;
constant PREVn : integer := 0; -- Exception Caused by previous instruction
constant BTAn : integer := 1; -- Branch Target Address Miscompare
constant DEPn : integer := 2; -- LSU Dependancy Flush
constant IMISSn : integer := 3; -- I-ERAT Miss
constant IMCHKn : integer := 4; -- Machine Check Interrupt
constant DBG0n : integer := 5; -- Debug Interrupt (IVC,IAC)
constant ITLBn : integer := 6; -- Instruction TLB Interrupt
constant ISTORn : integer := 7; -- Instruction Storage Interrupt
constant ILRATn : integer := 8; -- Instruction LRAT Interrupt
constant FPEn : integer := 9; -- Parity Error Flush
constant PROG0n : integer := 10; -- Program Interrupt (Illegal Op)
constant PROG1n : integer := 11; -- Program Interrupt (Privledeged Op)
constant UNAVAILn : integer := 12; -- FP, AP, or Vector Unavailable
constant PROG2n : integer := 13; -- Program Interrupt (Unimplemented Op)
constant PROG3n : integer := 14; -- Program Interrupt (FP or AP Enabled)
constant HPRIVn : integer := 15; -- Embedded Hypervisor Privilege Interrupt
constant PROG0An : integer := 16; -- Program Interrupt (tlbwe Illegal MAS settings)
constant DMCHKn : integer := 17; -- Machine Check Interrupt
constant DTLBn : integer := 18; -- Data TLB Interrupt
constant DMISSn : integer := 19; -- D-ERAT Miss
constant DSTORn : integer := 20; -- Data Storage Interrupt
constant ALIGNn : integer := 21; -- Alignment Interrupt
constant DLRATn : integer := 22; -- Data LRAT Interrupt
constant DBG1n : integer := 23; -- Debug Interrupt (DAC,RET,BRT,TRAP)
constant F2Un : integer := 24; -- N Flush to uCode
constant FwBSn : integer := 25; -- N Flush w/Barrier Set
constant Fn : integer := 26; -- N Flush
constant INSTRnp1 : integer := 27; -- RFI, SC, TRAP Instruction
constant MCHKnp1 : integer := 28; -- Machine Check Interrupt
constant GDBMCHKnp1 : integer := 29; -- Guest Processor Doorbell Machine Check Interrupt
constant DBG3np1 : integer := 30; -- Async Debug Interrupt (UDE,IDE,IRPT)
constant CRITnp1 : integer := 31; -- Critical External Input Interrupt
constant WDOGnp1 : integer := 32; -- Watchdog Interrupt
constant CDBELLnp1 : integer := 33; -- Processor Doorbell Critical Interrupt
constant GCDBELLnp1 : integer := 34; -- Guest Processor Doorbell Critical Interrupt
constant EXTnp1 : integer := 35; -- External Input Interrupt
constant FITnp1 : integer := 36; -- Fixed Interval Timer Interrupt
constant DECnp1 : integer := 37; -- Decrementer Interrupt
constant DBELLnp1 : integer := 38; -- Processor Doorbell
constant GDBELLnp1 : integer := 39; -- Guest Processor Doorbell
constant UDECnp1 : integer := 40; -- User Decrementer
constant PERFnp1 : integer := 41; -- Performance Monitor
constant Fnp1 : integer := 42; -- NP1 Flush
constant TRAP : integer := 0;
constant SC : integer := 1;
constant RFI : integer := 2;
constant FP : integer := 0;
constant AP : integer := 1;
constant VEC : integer := 2;
constant DLK : integer := 0;
constant PT : integer := 1;
constant VF : integer := 2;
constant TLBI : integer := 3;
constant RW : integer := 4;
constant UCT : integer := 5;
constant APENA : integer := 0;
constant FPENA : integer := 1;
-- Types
type TID_ARR is array (0 to ifar_repwr-1) of std_ulogic_vector(0 to threads-1);
type DAC is array (1 to 4) of std_ulogic_vector(0 to threads-1);
type DAC_A is array (1 to 2) of std_ulogic_vector(0 to threads-1);
type ARY3 is array (0 to threads-1) of std_ulogic_vector(0 to 2);
type ARY4 is array (0 to threads-1) of std_ulogic_vector(0 to 3);
type ARY5 is array (0 to threads-1) of std_ulogic_vector(0 to 4);
type ARY6 is array (0 to threads-1) of std_ulogic_vector(0 to 5);
type ARY7 is array (0 to threads-1) of std_ulogic_vector(0 to 6);
type ARY9 is array (0 to threads-1) of std_ulogic_vector(0 to 8);
type ARY64 is array (0 to threads-1) of std_ulogic_vector(0 to 63);
type ARY_FPRI is array (0 to threads-1) of std_ulogic_vector(0 to Fnp1);
type ARY_IFAR is array (0 to threads-1) of std_ulogic_vector(0 to 61);
type ARY_BLOCK is array (0 to threads-1) of std_ulogic_vector(1 to 7);
subtype IFAR is std_ulogic_vector(62-eff_ifar to 61);
subtype IFAR_UC is std_ulogic_vector(62-uc_ifar to 61);
subtype TID is std_ulogic_vector(0 to threads-1);
-- Latches
signal is2_flush_q : std_ulogic_vector(0 to threads-1); -- input=>any_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal rf0_flush_q : std_ulogic_vector(0 to threads-1); -- input=>is2_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal rf1_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf0_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal rf1_tid_q : std_ulogic_vector(0 to threads-1); -- input=>dec_cpl_rf0_tid , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex1_axu_act_q : std_ulogic_vector(0 to threads-1); -- input=>fu_xu_rf1_act , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex1_byte_rev_q, rf1_byte_rev : std_ulogic; -- input=>rf1_byte_rev , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal ex1_is_any_ldstmw_q, rf1_is_any_ldstmw : std_ulogic; -- input=>rf1_is_any_ldstmw , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_attn_q, rf1_is_attn : std_ulogic; -- input=>rf1_is_attn , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_dci_q, ex1_is_dci_d : std_ulogic; -- input=>ex1_is_dci_d , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_dlock_q, rf1_is_dlock : std_ulogic; -- input=>rf1_is_dlock , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_ehpriv_q, rf1_is_ehpriv : std_ulogic; -- input=>rf1_is_ehpriv , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_erativax_q, rf1_is_erativax : std_ulogic; -- input=>rf1_is_erativax , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_ici_q, ex1_is_ici_d : std_ulogic; -- input=>ex1_is_ici_d , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_icswx_q, rf1_is_icswx : std_ulogic; -- input=>rf1_is_icswx , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_ilock_q, rf1_is_ilock : std_ulogic; -- input=>rf1_is_ilock , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_isync_q, rf1_is_isync : std_ulogic; -- input=>rf1_is_isync , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_mfspr_q, rf1_is_mfspr : std_ulogic; -- input=>rf1_is_mfspr , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_mtmsr_q, rf1_is_mtmsr : std_ulogic; -- input=>rf1_is_mtmsr , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_mtspr_q, rf1_is_mtspr : std_ulogic; -- input=>rf1_is_mtspr , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_rfci_q, rf1_is_rfci : std_ulogic; -- input=>rf1_is_rfci , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_rfgi_q, rf1_is_rfgi : std_ulogic; -- input=>rf1_is_rfgi , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_rfi_q, rf1_is_rfi : std_ulogic; -- input=>rf1_is_rfi , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_rfmci_q, rf1_is_rfmci : std_ulogic; -- input=>rf1_is_rfmci , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_sc_q, rf1_is_sc : std_ulogic; -- input=>rf1_is_sc , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_tlbivax_q, rf1_is_tlbivax : std_ulogic; -- input=>rf1_is_tlbivax , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_wrtee_q, rf1_is_wrtee : std_ulogic; -- input=>rf1_is_wrtee , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_wrteei_q, rf1_is_wrteei : std_ulogic; -- input=>rf1_is_wrteei , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_mtxucr0_q, rf1_is_mtxucr0 : std_ulogic; -- input=>rf1_is_mtxucr0 , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_is_tlbwe_q, rf1_is_tlbwe : std_ulogic; -- input=>rf1_is_tlbwe , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_sc_lev_q, rf1_sc_lev : std_ulogic; -- input=>rf1_sc_lev , act=>exx_act(0) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_ucode_val_q : std_ulogic_vector(0 to threads-1); -- input=>rf1_ucode_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex1_xu_val_q : std_ulogic_vector(0 to threads-1); -- input=>rf1_xu_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex2_axu_act_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_axu_act_q , act=>tiup , scan=>N, sleep=>N, needs_sreset=>1
signal ex2_any_wrtee_q, ex2_any_wrtee_d : std_ulogic; -- input=>ex2_any_wrtee_d , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_br_taken_q : std_ulogic; -- input=>ex1_br_taken , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_br_update_q : std_ulogic; -- input=>ex1_br_update , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_byte_rev_q : std_ulogic; -- input=>ex1_byte_rev_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_ctr_dec_update_q : std_ulogic; -- input=>ex1_ctr_dec_update , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_epid_instr_q : std_ulogic; -- input=>dec_cpl_ex1_epid_instr , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal ex2_is_attn_q : std_ulogic; -- input=>ex1_is_attn_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_dci_q : std_ulogic; -- input=>ex1_is_dci_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_dlock_q : std_ulogic; -- input=>ex1_is_dlock_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_ehpriv_q : std_ulogic; -- input=>ex1_is_ehpriv_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_erativax_q : std_ulogic; -- input=>ex1_is_erativax_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_ici_q : std_ulogic; -- input=>ex1_is_ici_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_icswx_q : std_ulogic; -- input=>ex1_is_icswx_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_ilock_q : std_ulogic; -- input=>ex1_is_ilock_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_isync_q : std_ulogic; -- input=>ex1_is_isync_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_mtmsr_q : std_ulogic; -- input=>ex1_is_mtmsr_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_rfci_q : std_ulogic; -- input=>ex1_is_rfci_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_rfgi_q : std_ulogic; -- input=>ex1_is_rfgi_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_rfi_q : std_ulogic; -- input=>ex1_is_rfi_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_rfmci_q : std_ulogic; -- input=>ex1_is_rfmci_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_sc_q : std_ulogic; -- input=>ex1_is_sc_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_slowspr_wr_q : std_ulogic; -- input=>dec_cpl_ex1_is_slowspr_wr , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_tlbivax_q : std_ulogic; -- input=>ex1_is_tlbivax_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_is_tlbwe_q : std_ulogic; -- input=>ex1_is_tlbwe_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_lr_update_q : std_ulogic; -- input=>ex1_lr_update , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_n_align_int_q, ex2_n_align_int_d : std_ulogic; -- input=>ex2_n_align_int_d , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_sc_lev_q : std_ulogic; -- input=>ex1_sc_lev_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_taken_bclr_q : std_ulogic; -- input=>ex1_taken_bclr , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex2_ucode_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_ucode_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex2_xu_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_xu_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex2_is_mtxucr0_q : std_ulogic; -- input=>ex1_is_mtxucr0_q , act=>exx_act(1) , scan=>N, sleep=>N, needs_sreset=>0
signal ex3_async_int_block_q, ex3_async_int_block_d : std_ulogic_vector(0 to threads-1); -- input=>ex3_async_int_block_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_axu_instr_match_q : std_ulogic_vector(0 to threads-1); -- input=>fu_xu_ex2_instr_match , act=>ex2_axu_act_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_axu_instr_type_q : std_ulogic_vector(0 to 3*threads-1); -- input=>fu_xu_ex2_instr_type , act=>ex2_axu_act_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_axu_is_ucode_q : std_ulogic_vector(0 to threads-1); -- input=>fu_xu_ex2_is_ucode , act=>ex2_axu_act_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_axu_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_axu_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_br_flush_ifar_q : std_ulogic_vector(62-eff_ifar to 61); -- input=>ex2_br_flush_ifar , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_br_taken_q : std_ulogic; -- input=>ex2_br_taken_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_br_update_q : std_ulogic; -- input=>ex2_br_update_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_byte_rev_q : std_ulogic; -- input=>ex2_byte_rev_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_ctr_dec_update_q : std_ulogic; -- input=>ex2_ctr_dec_update_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_div_coll_q, ex3_div_coll_d : std_ulogic_vector(0 to threads-1); -- input=>ex3_div_coll_d , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_epid_instr_q : std_ulogic; -- input=>ex2_epid_instr_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_ierat_flush_req_q : std_ulogic_vector(0 to threads-1); -- input=>iu_xu_ierat_ex2_flush_req , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_illegal_op_q : std_ulogic; -- input=>dec_cpl_ex2_illegal_op , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_any_load_dac_q : std_ulogic; -- input=>dec_cpl_ex2_is_any_load_dac, act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_any_store_dac_q : std_ulogic; --input=>dec_cpl_ex2_is_any_store_dac, act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_attn_q : std_ulogic; -- input=>ex2_is_attn_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_dci_q : std_ulogic; -- input=>ex2_is_dci_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_dlock_q : std_ulogic; -- input=>ex2_is_dlock_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_ehpriv_q : std_ulogic; -- input=>ex2_is_ehpriv_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_ici_q : std_ulogic; -- input=>ex2_is_ici_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_icswx_q : std_ulogic; -- input=>ex2_is_icswx_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_ilock_q : std_ulogic; -- input=>ex2_is_ilock_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_isync_q : std_ulogic; -- input=>ex2_is_isync_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_mtmsr_q : std_ulogic; -- input=>ex2_is_mtmsr_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_rfci_q : std_ulogic; -- input=>ex2_is_rfci_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_rfgi_q : std_ulogic; -- input=>ex2_is_rfgi_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_rfi_q : std_ulogic; -- input=>ex2_is_rfi_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_rfmci_q : std_ulogic; -- input=>ex2_is_rfmci_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_sc_q : std_ulogic; -- input=>ex2_is_sc_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_tlbwe_q : std_ulogic; -- input=>ex2_is_tlbwe_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_is_slowspr_wr_q : std_ulogic; -- input=>ex2_is_slowspr_wr_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_iu_error_q, ex3_iu_error_d : std_ulogic_vector(1 to 7); -- input=>ex3_iu_error_d , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_lr_update_q : std_ulogic; -- input=>ex2_lr_update_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_lrat_miss_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_lrat_miss , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_mmu_esr_data_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_esr_data , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_mmu_esr_epid_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_esr_epid , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_mmu_esr_pt_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_esr_pt , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_mmu_esr_st_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_esr_st , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_mmu_hv_priv_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_hv_priv , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_mtiar_q, ex2_mtiar : std_ulogic; -- input=>ex2_mtiar , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_n_align_int_q : std_ulogic; -- input=>ex2_n_align_int_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_n_dcpe_flush_q, ex3_n_dcpe_flush_d : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dcpe_flush_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_n_l2_ecc_err_flush_q : std_ulogic_vector(0 to threads-1); -- input=>lsu_xu_l2_ecc_err_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_np1_run_ctl_flush_q : std_ulogic_vector(0 to threads-1); -- input=>spr_cpl_ex2_run_ctl_flush , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_sc_lev_q : std_ulogic; -- input=>ex2_sc_lev_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_taken_bclr_q : std_ulogic; -- input=>ex2_taken_bclr_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_tlb_inelig_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_tlb_inelig , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_tlb_local_snoop_reject_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_local_snoop_reject , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_tlb_lru_par_err_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_lru_par_err , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_tlb_illeg_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_illeg_instr , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_tlb_miss_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_tlb_miss , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_tlb_multihit_err_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_tlb_multihit_err , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_tlb_par_err_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_tlb_par_err , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_tlb_pt_fault_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_pt_fault , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_ucode_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_ucode_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_xu_instr_match_q : std_ulogic; -- input=>dec_cpl_ex2_match , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_xu_is_ucode_q : std_ulogic; -- input=>dec_cpl_ex2_is_ucode , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_xu_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_xu_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_axu_async_block_q : std_ulogic_vector(0 to threads-1); -- input=>fu_xu_ex2_async_block , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex3_is_mtxucr0_q : std_ulogic; -- input=>ex2_is_mtxucr0_q , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_np1_instr_flush_q, ex3_np1_instr_flush_d : std_ulogic; -- input=>ex3_np1_instr_flush_d , act=>exx_act(2) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_apena_prog_int_q, ex3_n_apena_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_apena_prog_int , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_axu_is_ucode_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_axu_is_ucode_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_axu_trap_q : std_ulogic_vector(0 to threads-1); -- input=>fu_xu_ex3_trap , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_axu_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_axu_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_base_int_block_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_base_int_block , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_br_flush_ifar_q : std_ulogic_vector(62-eff_ifar to 61); -- input=>ex3_br_flush_ifar_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_br_taken_q : std_ulogic; -- input=>ex3_br_taken_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_br_update_q : std_ulogic; -- input=>ex3_br_update_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_byte_rev_q : std_ulogic; -- input=>ex3_byte_rev_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_ctr_dec_update_q : std_ulogic; -- input=>ex3_ctr_dec_update_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_debug_flush_en_q, ex4_debug_flush_en_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_debug_flush_en_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_debug_int_en_q, ex3_debug_int_en : std_ulogic_vector(0 to threads-1); -- input=>ex3_debug_int_en , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_fpena_prog_int_q, ex3_n_fpena_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_fpena_prog_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_iac1_cmpr_q, ex3_iac1_cmpr : std_ulogic_vector(0 to threads-1); -- input=>ex3_iac1_cmpr , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_iac2_cmpr_q, ex3_iac2_cmpr : std_ulogic_vector(0 to threads-1); -- input=>ex3_iac2_cmpr , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_iac3_cmpr_q, ex3_iac3_cmpr : std_ulogic_vector(0 to threads-1); -- input=>ex3_iac3_cmpr , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_iac4_cmpr_q, ex3_iac4_cmpr : std_ulogic_vector(0 to threads-1); -- input=>ex3_iac4_cmpr , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_instr_cpl_q, ex4_instr_cpl_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_instr_cpl_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_is_any_load_dac_q : std_ulogic; -- input=>ex3_is_any_load_dac_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_any_store_dac_q : std_ulogic; -- input=>ex3_is_any_store_dac_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_attn_q : std_ulogic; -- input=>ex3_is_attn_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_dci_q : std_ulogic; -- input=>ex3_is_dci_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_ehpriv_q : std_ulogic; -- input=>ex3_is_ehpriv_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_ici_q : std_ulogic; -- input=>ex3_is_ici_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_isync_q : std_ulogic; -- input=>ex3_is_isync_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_mtmsr_q : std_ulogic; -- input=>ex3_is_mtmsr_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_tlbwe_q : std_ulogic; -- input=>ex3_is_tlbwe_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_is_slowspr_wr_q : std_ulogic; -- input=>ex3_is_slowspr_wr_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_lr_update_q : std_ulogic; -- input=>ex3_lr_update_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_mcsr_q, ex4_mcsr_d : std_ulogic_vector(0 to 14*threads-1); -- input=>ex4_mcsr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_mem_attr_q : std_ulogic_vector(lsu_xu_ex3_attr'range); -- input=>lsu_xu_ex3_attr , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_mmu_esr_data_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_mmu_esr_data_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_mmu_esr_epid_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_mmu_esr_epid_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_mmu_esr_pt_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_mmu_esr_pt_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_mmu_esr_st_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_mmu_esr_st_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_mmu_esr_val_q, ex4_mmu_esr_val_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_mmu_esr_val_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_mmu_hold_val_q, ex3_mmu_hold_val : std_ulogic_vector(0 to threads-1); -- input=>ex3_mmu_hold_val , act=>tiup , scan=>Y, sleep=>Y, needs_sreset=>1
signal ex4_mtdp_nr_q : std_ulogic; -- input=>dec_cpl_ex3_mtdp_nr , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_mtiar_q : std_ulogic; -- input=>ex3_mtiar_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_n_2ucode_flush_q, ex3_n_2ucode_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_2ucode_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_align_int_q, ex3_n_align_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_align_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_any_hpriv_int_q, ex4_n_any_hpriv_int_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_any_hpriv_int_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_any_unavail_int_q, ex3_n_any_unavail_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_any_unavail_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ap_unavail_int_q, ex3_n_ap_unavail_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ap_unavail_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_barr_flush_q, ex3_n_barr_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_barr_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_bclr_ta_miscmpr_flush_q,ex3_n_bclr_ta_miscmpr_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_bclr_ta_miscmpr_flush, act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_brt_dbg_cint_q, ex3_n_brt_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_brt_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dac_dbg_cint_q, ex3_n_dac_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dac_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ddmh_mchk_en_q, ex4_n_ddmh_mchk_en_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_ddmh_mchk_en_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dep_flush_q, ex3_n_dep_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dep_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_deratre_par_mchk_mcint_q,ex3_n_deratre_par_mchk_mcint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_deratre_par_mchk_mcint, act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dlk0_dstor_int_q, ex3_n_dlk0_dstor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dlk0_dstor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dlk1_dstor_int_q, ex3_n_dlk1_dstor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dlk1_dstor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dlrat_int_q, ex3_n_dlrat_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dlrat_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dmchk_mcint_q, ex3_n_dmchk_mcint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dmchk_mcint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dmiss_flush_q, ex3_n_dmiss_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dmiss_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dstor_int_q, ex3_n_dstor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dstor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_dtlb_int_q, ex3_n_dtlb_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_dtlb_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ena_prog_int_q, ex3_n_ena_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ena_prog_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_flush_q, ex3_n_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_pe_flush_q, ex3_n_pe_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_pe_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_tlb_mchk_flush_q, ex3_n_tlb_mchk_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_tlb_mchk_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_fp_unavail_int_q, ex3_n_fp_unavail_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_fp_unavail_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_fu_rfpe_flush_q, ex4_n_fu_rfpe_flush_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_fu_rfpe_flush_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_iac_dbg_cint_q, ex3_n_iac_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_iac_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ieratre_par_mchk_mcint_q,ex3_n_ieratre_par_mchk_mcint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ieratre_par_mchk_mcint, act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ilrat_int_q, ex3_n_ilrat_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ilrat_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_imchk_mcint_q, ex3_n_imchk_mcint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_imchk_mcint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_imiss_flush_q, ex3_n_imiss_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_imiss_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_instr_dbg_cint_q, ex3_n_instr_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_instr_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_istor_int_q, ex3_n_istor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_istor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_itlb_int_q, ex3_n_itlb_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_itlb_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ivc_dbg_cint_q, ex3_n_ivc_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ivc_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ivc_dbg_match_q, ex3_n_ivc_dbg_match : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ivc_dbg_match , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ldq_hit_flush_q, ex3_n_ldq_hit_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ldq_hit_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_lsu_ddmh_flush_en_q, ex4_n_lsu_ddmh_flush_en_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_lsu_ddmh_flush_en_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_lsu_flush_q, ex3_n_lsu_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_lsu_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_memattr_miscmpr_flush_q,ex3_n_memattr_miscmpr_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_memattr_miscmpr_flush, act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_mmu_hpriv_int_q, ex3_n_mmu_hpriv_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_mmu_hpriv_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_pil_prog_int_q, ex3_n_pil_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_pil_prog_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ppr_prog_int_q, ex3_n_ppr_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ppr_prog_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ptemiss_dlrat_int_q, ex3_n_ptemiss_dlrat_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ptemiss_dlrat_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_puo_prog_int_q, ex3_n_puo_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_puo_prog_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ret_dbg_cint_q, ex3_n_ret_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ret_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_thrctl_stop_flush_q, ex3_n_thrctl_stop_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_thrctl_stop_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_tlbwemiss_dlrat_int_q,ex3_n_tlbwemiss_dlrat_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_tlbwemiss_dlrat_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_tlbwe_pil_prog_int_q,ex3_n_tlbwe_pil_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_tlbwe_pil_prog_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_trap_dbg_cint_q, ex3_n_trap_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_trap_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_uct_dstor_int_q, ex3_n_uct_dstor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_uct_dstor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_vec_unavail_int_q, ex3_n_vec_unavail_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_vec_unavail_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_vf_dstor_int_q, ex3_n_vf_dstor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_vf_dstor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_xu_rfpe_flush_q, ex4_n_xu_rfpe_flush_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_xu_rfpe_flush_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_cdbell_cint_q, ex3_np1_cdbell_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_cdbell_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_crit_cint_q, ex3_np1_crit_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_crit_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_dbell_int_q, ex3_np1_dbell_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_dbell_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_dec_int_q, ex3_np1_dec_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_dec_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_ext_int_q, ex3_np1_ext_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_ext_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_ext_mchk_mcint_q, ex3_np1_ext_mchk_mcint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_ext_mchk_mcint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_fit_int_q, ex3_np1_fit_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_fit_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_flush_q, ex3_np1_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_gcdbell_cint_q, ex3_np1_gcdbell_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_gcdbell_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_gdbell_int_q, ex3_np1_gdbell_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_gdbell_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_gmcdbell_cint_q, ex3_np1_gmcdbell_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_gmcdbell_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_ide_dbg_cint_q, ex3_np1_ide_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_ide_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_instr_int_q, ex3_np1_instr_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_instr_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_perf_int_q, ex3_np1_perf_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_perf_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_ptr_prog_int_q, ex3_np1_ptr_prog_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_ptr_prog_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_rfi_q, ex3_np1_rfi : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_rfi , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_run_ctl_flush_q, ex3_np1_run_ctl_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_run_ctl_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_sc_int_q, ex3_np1_sc_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_sc_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_ude_dbg_cint_q, ex3_np1_ude_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_ude_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_ude_dbg_event_q, ex3_np1_ude_dbg_event : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_ude_dbg_event , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_udec_int_q, ex3_np1_udec_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_udec_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_wdog_cint_q, ex3_np1_wdog_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_wdog_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_np1_fu_flush_q, ex3_np1_fu_flush : std_ulogic_vector(0 to threads-1); -- input=>ex3_np1_fu_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_ieratsx_par_mchk_mcint_q,ex3_n_ieratsx_par_mchk_mcint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_ieratsx_par_mchk_mcint,act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_tlbmh_mchk_mcint_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_tlbmh_mchk_mcint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_sprg_ue_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_sprg_ue_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_rwaccess_dstor_int_q, ex3_n_rwaccess_dstor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_rwaccess_dstor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_exaccess_istor_int_q, ex3_n_exaccess_istor_int : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_exaccess_istor_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_sc_lev_q : std_ulogic; -- input=>ex3_sc_lev_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_siar_sel_q, ex4_siar_sel_d : std_ulogic_vector(0 to 1); -- input=>ex4_siar_sel_d , act=>ex4_siar_sel_act , scan=>Y, sleep=>N, needs_sreset=>0, init=>1
signal ex4_step_q, ex4_step_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_step_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_taken_bclr_q : std_ulogic; -- input=>ex3_taken_bclr_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_tlb_inelig_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_tlb_inelig_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_ucode_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_ucode_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_xu_is_ucode_q : std_ulogic; -- input=>ex3_xu_is_ucode_q , act=>exx_act(3) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_xu_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_xu_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_cia_act_q, ex3_cia_act : std_ulogic_vector(0 to threads-1); -- input=>ex3_cia_act , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_n_async_dacr_dbg_cint_q, ex3_n_async_dacr_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex3_n_async_dacr_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_dac1r_cmpr_async_q, ex4_dac1r_cmpr_async_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_dacr_cmpr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_dac2r_cmpr_async_q, ex4_dac2r_cmpr_async_d : std_ulogic_vector(0 to threads-1); -- input=>ex4_dacw_cmpr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_thread_stop_q, ex3_thread_stop : std_ulogic_vector(0 to threads-1); -- input=>ex3_thread_stop , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_icmp_event_on_int_ok_q, ex4_icmp_event_on_int_ok : std_ulogic_vector(0 to threads-1); -- input=>ex4_icmp_event_on_int_ok , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_any_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_any_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_attn_flush_q, ex4_attn_flush : std_ulogic_vector(0 to threads-1); -- input=>ex4_attn_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_axu_trap_pie_q, ex5_axu_trap_pie_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_axu_trap_pie_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_br_taken_q : std_ulogic; -- input=>ex4_br_taken_q , act=>exx_act(4) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_cdbell_taken_q, ex5_cdbell_taken_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_cdbell_taken_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_check_bclr_q, ex5_check_bclr_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_check_bclr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_cia_p1_q, ex5_cia_p1_d : std_ulogic_vector(62-eff_ifar to 61); -- input=>ex5_cia_p1_d , act=>exx_act(4) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_dbell_taken_q, ex5_dbell_taken_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_dbell_taken_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_dbsr_update_q, ex4_dbsr_update : std_ulogic_vector(0 to threads-1); -- input=>ex4_dbsr_update , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_dear_update_saved_q, ex5_dear_update_saved_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_dear_update_saved_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_deratre_par_err_q : std_ulogic_vector(0 to threads-1); -- input=>lsu_xu_ex4_derat_par_err , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_div_set_barr_q, ex5_div_set_barr_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_div_set_barr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_dsigs_q, ex5_dsigs_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_dsigs_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_dtlbgs_q, ex5_dtlbgs_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_dtlbgs_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_err_nia_miscmpr_q, ex5_err_nia_miscmpr_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_err_nia_miscmpr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_ext_dbg_err_q, ex5_ext_dbg_err_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_ext_dbg_err_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_ext_dbg_ext_q, ex5_ext_dbg_ext_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_ext_dbg_ext_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_extgs_q, ex5_extgs_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_extgs_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_force_gsrr_q, ex5_force_gsrr_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_force_gsrr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_gcdbell_taken_q, ex5_gcdbell_taken_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_gcdbell_taken_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_gdbell_taken_q, ex5_gdbell_taken_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_gdbell_taken_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_gmcdbell_taken_q, ex5_gmcdbell_taken_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_gmcdbell_taken_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_ieratre_par_err_q : std_ulogic_vector(0 to threads-1); -- input=>iu_xu_ierat_ex4_par_err , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_in_ucode_q, ex5_in_ucode_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_in_ucode_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_instr_cpl_q, ex4_instr_cpl : std_ulogic_vector(0 to threads-1); -- input=>ex4_instr_cpl , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_is_any_rfi_q, ex4_is_any_rfi : std_ulogic_vector(0 to threads-1); -- input=>ex4_is_any_rfi , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_is_attn_q, ex5_is_attn_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_is_attn_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_is_crit_int_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_is_crit_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_is_mchk_int_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_is_mchk_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_is_mtmsr_q : std_ulogic; -- input=>ex4_is_mtmsr_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_is_isync_q : std_ulogic; -- input=>ex4_is_isync_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_is_tlbwe_q : std_ulogic; -- input=>ex4_is_tlbwe_q , act=>exx_act(4) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_isigs_q, ex5_isigs_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_isigs_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_itlbgs_q, ex5_itlbgs_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_itlbgs_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_lsu_set_barr_q, ex5_lsu_set_barr_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_lsu_set_barr_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_mem_attr_val_q, ex4_mem_attr_val : std_ulogic_vector(0 to threads-1); -- input=>ex4_mem_attr_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_mmu_hold_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_mmu_hold_val_q , act=>tiup , scan=>Y, sleep=>Y, needs_sreset=>1
signal ex5_n_dmiss_flush_q, ex4_n_dmiss_flush : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_dmiss_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_n_ext_dbg_stopc_flush_q,ex5_n_ext_dbg_stopc_flush_d : std_ulogic; -- input=>ex5_n_ext_dbg_stopc_flush_d, act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_n_ext_dbg_stopt_flush_q,ex5_n_ext_dbg_stopt_flush_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_n_ext_dbg_stopt_flush_d, act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_n_imiss_flush_q, ex4_n_imiss_flush : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_imiss_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_n_ptemiss_dlrat_int_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_ptemiss_dlrat_int_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_np1_icmp_dbg_cint_q, ex5_np1_icmp_dbg_cint_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_np1_icmp_dbg_cint_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_np1_icmp_dbg_event_q, ex5_np1_icmp_dbg_event_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_np1_icmp_dbg_event_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_np1_run_ctl_flush_q, ex4_np1_run_ctl_flush : std_ulogic_vector(0 to threads-1); -- input=>ex4_np1_run_ctl_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_dbsr_ide_q, ex5_dbsr_ide_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_dbsr_ide_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_perf_dtlb_q, ex5_perf_dtlb_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_perf_dtlb_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_perf_itlb_q, ex5_perf_itlb_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_perf_itlb_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_ram_done_q, ex5_ram_done_d : std_ulogic; -- input=>ex5_ram_done_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_ram_issue_q, ex5_ram_issue_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_ram_issue_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_rt_q : std_ulogic_vector(64-regsize to 63); -- input=>mux_cpl_ex4_rt , act=>exx_act(4) , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_sel_rt_q, ex5_sel_rt_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_sel_rt_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_srr0_dec_q, ex5_srr0_dec_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_srr0_dec_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_tlb_inelig_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_tlb_inelig_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_uc_cia_val_q, ex5_uc_cia_val_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_uc_cia_val_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_xu_ifar_q, ex5_xu_ifar_d : IFAR; -- input=>ex5_xu_ifar_d , act=>exx_act(4) , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_xu_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_xu_val , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_n_flush_sprg_ue_flush_q, ex4_n_flush_sprg_ue_flush : std_ulogic_vector(0 to threads-1); -- input=>ex4_n_flush_sprg_ue_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_mcsr_act_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_mcsr_act , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_mcsr_act_q, ex6_mcsr_act_d : std_ulogic; -- input=>ex6_mcsr_act_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_late_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex5_late_flush_q(0) , act=>tiup , scan=>N, sleep=>N, needs_sreset=>1
signal ex6_mmu_hold_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex5_mmu_hold_val_q , act=>tiup , scan=>N, sleep=>Y, needs_sreset=>1
signal ex6_ram_done_q : std_ulogic; -- input=>ex5_ram_done_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_ram_interrupt_q, ex6_ram_interrupt_d : std_ulogic; -- input=>ex6_ram_interrupt_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_ram_issue_q, ex6_ram_issue_d : std_ulogic_vector(0 to threads-1); -- input=>ex6_ram_issue_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex7_ram_issue_q : std_ulogic_vector(0 to threads-1); -- input=>ex6_ram_issue_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex8_ram_issue_q : std_ulogic_vector(0 to threads-1); -- input=>ex7_ram_issue_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_set_barr_q, ex6_set_barr_d : std_ulogic_vector(0 to threads-1); -- input=>ex6_set_barr_d , act=>tiup , scan=>N, sleep=>N, needs_sreset=>1
signal ex6_step_done_q, ex5_step_done : std_ulogic_vector(0 to threads-1); -- input=>ex5_step_done , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_xu_val_q : std_ulogic_vector(0 to threads-1); -- input=>ex5_xu_val_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_is_tlbwe_q : std_ulogic; -- input=>ex5_is_tlbwe_q , act=>tiup , scan=>N, sleep=>N, needs_sreset=>0
signal ex7_is_tlbwe_q, ex7_is_tlbwe_d : std_ulogic_vector(0 to threads-1); -- input=>ex7_is_tlbwe_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex8_is_tlbwe_q : std_ulogic_vector(0 to threads-1); -- input=>ex7_is_tlbwe_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ccr2_ap_q : std_ulogic_vector(0 to threads-1); -- input=>spr_ccr2_ap , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal cpl_quiesced_q, cpl_quiesced_d : std_ulogic_vector(0 to threads-1); -- input=>cpl_quiesced_d , act=>tiup , scan=>Y, sleep=>Y, needs_sreset=>1
signal dbcr0_idm_q : std_ulogic_vector(0 to threads-1); -- input=>spr_dbcr0_idm , act=>spr_bit_act_q , scan=>Y, sleep=>N, needs_sreset=>1
signal dci_val_q, dci_val_d : std_ulogic; -- input=>dci_val_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal debug_event_en_q, debug_event_en_d : std_ulogic_vector(0 to threads-1); -- input=>debug_event_en_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal derat_hold_present_q, derat_hold_present_d : std_ulogic_vector(0 to threads-1); -- input=>derat_hold_present_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ext_dbg_act_err_q, ext_dbg_act_err_d : std_ulogic_vector(0 to threads-1); -- input=>ext_dbg_act_err_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ext_dbg_act_ext_q, ext_dbg_act_ext_d : std_ulogic_vector(0 to threads-1); -- input=>ext_dbg_act_ext_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ext_dbg_stop_core_q, ext_dbg_stop_core_d : std_ulogic_vector(0 to threads-1); -- input=>ext_dbg_stop_core_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ext_dbg_stop_n_q, ext_dbg_stop_n_d : std_ulogic_vector(0 to threads-1); -- input=>ext_dbg_stop_n_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal external_mchk_q : std_ulogic_vector(0 to threads-1); -- input=>spr_cpl_external_mchk , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal exx_instr_async_block_q, exx_instr_async_block_d : ARY_BLOCK; -- input=>exx_instr_async_block_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal exx_multi_flush_q, exx_multi_flush_d : std_ulogic_vector(0 to threads-1); -- input=>exx_multi_flush_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal force_ude_q : std_ulogic_vector(0 to threads-1); -- input=>pc_xu_force_ude , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal fu_rf_seq_end_q : std_ulogic; -- input=>fu_xu_regfile_seq_end , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal fu_rfpe_ack_q, fu_rfpe_ack_d : std_ulogic_vector(0 to 1); -- input=>fu_rfpe_ack_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal fu_rfpe_hold_present_q, fu_rfpe_hold_present_d : std_ulogic; -- input=>fu_rfpe_hold_present_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ici_hold_present_q, ici_hold_present_d : std_ulogic_vector(0 to 2); -- input=>ici_hold_present_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ici_val_q, ici_val_d : std_ulogic; -- input=>ici_val_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ierat_hold_present_q, ierat_hold_present_d : std_ulogic_vector(0 to threads-1); -- input=>ierat_hold_present_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal mmu_eratmiss_done_q : std_ulogic_vector(0 to threads-1); -- input=>mm_xu_eratmiss_done , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal mmu_hold_present_q, mmu_hold_present_d : std_ulogic_vector(0 to threads-1); -- input=>mmu_hold_present_d , act=>tiup , scan=>Y, sleep=>Y, needs_sreset=>1
signal mmu_hold_request_q, mmu_hold_request_d : std_ulogic_vector(0 to threads-1); -- input=>mmu_hold_request_d , act=>tiup , scan=>Y, sleep=>Y, needs_sreset=>1
signal msr_cm_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_cm , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msr_de_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_de , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msr_fp_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_fp , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msr_gs_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_gs , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msr_me_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_me , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msr_pr_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_pr , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msr_spv_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_spv , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msr_ucle_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msr_ucle , act=>spr_bit_w_int_act , scan=>Y, sleep=>N, needs_sreset=>1
signal msrp_uclep_q : std_ulogic_vector(0 to threads-1); -- input=>spr_msrp_uclep , act=>spr_bit_act_q , scan=>Y, sleep=>N, needs_sreset=>1
signal pc_dbg_action_q : std_ulogic_vector(0 to 3*threads-1); -- input=>pc_xu_dbg_action , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal pc_dbg_stop_q, pc_dbg_stop_d : std_ulogic_vector(0 to threads-1); -- input=>pc_dbg_stop_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal pc_dbg_stop_2_q, pc_dbg_stop : std_ulogic_vector(0 to threads-1); -- input=>pc_dbg_stop , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal pc_err_mcsr_rpt_q, pc_err_mcsr_rpt_d : std_ulogic_vector(0 to 10); -- input=>pc_err_mcsr_rpt_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal pc_err_mcsr_summary_q, pc_err_mcsr_summary_d : std_ulogic_vector(0 to threads-1); -- input=>pc_err_mcsr_summary_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal pc_init_reset_q : std_ulogic; -- input=>pc_xu_init_reset , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal quiesced_q, quiesced_d : std_ulogic; -- input=>quiesced_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ram_flush_q, ram_flush_d : std_ulogic_vector(0 to threads-1); -- input=>ram_flush_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ram_ip_q, ram_ip_d : std_ulogic_vector(0 to threads-1); -- input=>ram_ip_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ram_mode_q, ram_mode_d : std_ulogic_vector(0 to threads-1); -- input=>ram_mode_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal slowspr_flush_q : std_ulogic_vector(0 to threads-1); -- input=>mux_cpl_slowspr_flush , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal spr_cpl_async_int_q : std_ulogic_vector(0 to 3*threads-1); -- input=>spr_cpl_async_int , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ram_execute_q, ram_execute_d : std_ulogic_vector(0 to threads-1); -- input=>ram_execute_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ssprwr_ip_q, ssprwr_ip_d : std_ulogic_vector(0 to threads-1); -- input=>ssprwr_ip_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal exx_cm_hold_q : std_ulogic_vector(0 to threads-1); -- input=>exx_cm_hold , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex1_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex1_s_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex1_w_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex2_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex2_s_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex2_w_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex3_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex3_s_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex3_w_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex4_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex4_s_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex4_w_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex5_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_flush , act=>ex4_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex5_s_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_flush , act=>ex4_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_ex5_w_flush_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_flush , act=>ex4_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_is2_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>any_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_rf0_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>is2_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_rf1_n_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf0_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_rf1_s_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf0_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_rf1_w_flush_q : std_ulogic_vector(0 to threads-1); -- input=>rf0_flush , act=>exx_flush_inf_act , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_np1_irpt_dbg_cint_q, ex4_np1_irpt_dbg_cint : std_ulogic_vector(0 to threads-1); -- input=>ex4_np1_irpt_dbg_cint , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_np1_irpt_dbg_cint_q, ex6_np1_irpt_dbg_cint_d : std_ulogic_vector(0 to threads-1); -- input=>ex6_np1_irpt_dbg_cint_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_np1_irpt_dbg_event_q, ex4_np1_irpt_dbg_event : std_ulogic_vector(0 to threads-1); -- input=>ex4_np1_irpt_dbg_event , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex6_np1_irpt_dbg_event_q, ex6_np1_irpt_dbg_event_d : std_ulogic_vector(0 to threads-1); -- input=>ex6_np1_irpt_dbg_event_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal clkg_ctl_q : std_ulogic; --input=>spr_xucr0_clkg_ctl(2) , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_rf_seq_end_q : std_ulogic; -- input=>gpr_cpl_regfile_seq_end , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_rfpe_ack_q, xu_rfpe_ack_d : std_ulogic_vector(0 to 1); -- input=>xu_rfpe_ack_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal xu_rfpe_hold_present_q, xu_rfpe_hold_present_d : std_ulogic; -- input=>xu_rfpe_hold_present_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal exx_act_q, exx_act_d : std_ulogic_vector(0 to 4); -- input=>exx_act_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_mchk_int_en_q, ex3_mchk_int_en : std_ulogic_vector(0 to threads-1); -- input=>ex3_mchk_int_en , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_mchk_int_en_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_mchk_int_en_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal trace_bus_enable_q : std_ulogic; -- input=>pc_xu_trace_bus_enable , act=>tiup , scan=>Y, sleep=>Y, needs_sreset=>0
signal ex1_instr_trace_type_q : std_ulogic_vector(0 to 1); -- input=>dec_cpl_rf1_instr_trace_type,act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_instr_trace_val_q : std_ulogic; -- input=>dec_cpl_rf1_instr_trace_val, act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex1_xu_issued_q : std_ulogic_vector(0 to threads-1); -- input=>dec_cpl_rf1_issued , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal ex2_xu_issued_q : std_ulogic_vector(0 to threads-1); -- input=>ex1_xu_issued_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_xu_issued_q : std_ulogic_vector(0 to threads-1); -- input=>ex2_xu_issued_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_xu_issued_q, ex3_xu_issued : std_ulogic_vector(0 to threads-1); -- input=>ex3_xu_issued , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal ex3_axu_issued_q : std_ulogic_vector(0 to threads-1); -- input=>fu_xu_ex2_ifar_issued , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_axu_issued_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_axu_issued_q , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>0
signal ex2_instr_dbg_q : std_ulogic_vector(0 to 31); -- input=>ex1_instr , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex2_instr_trace_type_q : std_ulogic_vector(0 to 1); -- input=>ex1_instr_trace_type_q , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_instr_trace_val_q : std_ulogic; -- input=>dec_cpl_ex3_instr_trace_val, act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_axu_val_dbg_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_axu_val , act=>trace_bus_enable_q , scan=>N, sleep=>Y, needs_sreset=>0
signal ex5_instr_cpl_dbg_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_instr_cpl , act=>trace_bus_enable_q , scan=>N, sleep=>Y, needs_sreset=>0
signal ex5_instr_trace_val_q : std_ulogic; -- input=>ex4_instr_trace_val_q , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_siar_q, ex5_siar_d : std_ulogic_vector(62-eff_ifar to 61); -- input=>ex5_siar_d , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_siar_cpl_q, ex5_siar_cpl_d : std_ulogic; -- input=>ex5_siar_cpl_d , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_siar_gs_q, ex5_siar_gs_d : std_ulogic; -- input=>ex5_siar_gs_d , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_siar_issued_q, ex5_siar_issued_d : std_ulogic; -- input=>ex5_siar_issued_d , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_siar_pr_q, ex5_siar_pr_d : std_ulogic; -- input=>ex5_siar_pr_d , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_siar_tid_q, ex5_siar_tid_d : std_ulogic_vector(0 to 1); -- input=>ex5_siar_tid_d , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex5_ucode_end_dbg_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_ucode_end , act=>trace_bus_enable_q , scan=>Y, sleep=>Y, needs_sreset=>0
signal ex5_ucode_val_dbg_q : std_ulogic_vector(0 to threads-1); -- input=>ex4_ucode_val , act=>trace_bus_enable_q , scan=>Y, sleep=>Y, needs_sreset=>0
signal instr_trace_mode_q : std_ulogic; -- input=>pc_xu_instr_trace_mode , act=>trace_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal debug_data_out_q, debug_data_out_d : std_ulogic_vector(0 to 87); -- input=>debug_data_out_d , act=>trace_bus_enable_q , scan=>Y, sleep=>Y, needs_sreset=>0
signal debug_mux_ctrls_q : std_ulogic_vector(0 to 15); -- input=>cpl_debug_mux_ctrls , act=>trace_bus_enable_q , scan=>Y, sleep=>Y, needs_sreset=>0
signal debug_mux_ctrls_int_q, debug_mux_ctrls_int : std_ulogic_vector(0 to 15); -- input=>debug_mux_ctrls_int , act=>trace_bus_enable_q , scan=>Y, sleep=>Y, needs_sreset=>0
signal trigger_data_out_q, trigger_data_out_d : std_ulogic_vector(0 to 11); -- input=>trigger_data_out_d , act=>trace_bus_enable_q , scan=>Y, sleep=>Y, needs_sreset=>0
signal event_bus_enable_q : std_ulogic; -- input=>pc_xu_event_bus_enable , act=>tiup , scan=>Y, sleep=>Y, needs_sreset=>0
signal ex2_perf_event_q, ex2_perf_event_d : std_ulogic_vector(0 to 2); -- input=>ex2_perf_event_d , act=>event_bus_enable_q , scan=>N, sleep=>N, needs_sreset=>0
signal ex3_perf_event_q : std_ulogic_vector(0 to 2); -- input=>ex2_perf_event_q , act=>event_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal ex4_perf_event_q, ex4_perf_event_d : std_ulogic_vector(0 to 3); -- input=>ex4_perf_event_d , act=>event_bus_enable_q , scan=>N, sleep=>N, needs_sreset=>0
signal ex5_perf_event_q, ex5_perf_event_d : std_ulogic_vector(0 to 14*threads-1); -- input=>ex5_perf_event_d , act=>event_bus_enable_q , scan=>Y, sleep=>N, needs_sreset=>0
signal spr_bit_act_q : std_ulogic; -- input=>spr_bit_act , act=>tiup , scan=>Y, sleep=>N, ring=>func, needs_sreset=>1
signal clk_override_q : std_ulogic; -- input=>clk_override_q , act=>tidn , scan=>Y, sleep=>N, needs_sreset=>0, ring=>ccfg,
signal spare_0_q, spare_0_d : std_ulogic_vector(0 to 15); -- input=>spare_0_d, act=>tidn,
signal spare_1_q, spare_1_d : std_ulogic_vector(0 to 15); -- input=>spare_1_d, act=>tidn,
signal spare_2_q, spare_2_d : std_ulogic_vector(0 to 15); -- input=>spare_2_d, act=>tidn,
signal spare_3_q, spare_3_d : std_ulogic_vector(0 to 15); -- input=>spare_3_d, act=>tidn,
signal spare_4_q, spare_4_d : std_ulogic_vector(0 to 7); -- input=>spare_4_d, act=>tidn,
signal spare_5_q, spare_5_d : std_ulogic_vector(0 to 3); -- input=>spare_5_d, act=>tidn,
-- Per thread controls
signal ex2_ifar_b_q : std_ulogic_vector(0 to eff_ifar*threads-1);--input=>ex1_xu_ifar , act=>ex1_ifar_act(t) , scan=>N, sleep=>N, needs_sreset=>0, iterator=>(t)
signal ex3_ifar_q : std_ulogic_vector(0 to eff_ifar*threads-1);--input=>ex2_ifar , act=>ex2_ifar_act(t) , scan=>Y, sleep=>N, needs_sreset=>0, iterator=>(t)
signal ex4_ifar_q : std_ulogic_vector(0 to eff_ifar*threads-1);--input=>ex3_ifar_q , act=>ex3_ifar_act(t) , scan=>N, sleep=>N, needs_sreset=>0, iterator=>(t)
signal ex5_nia_b_q : std_ulogic_vector(0 to eff_ifar*threads-1);
signal ex4_epid_instr_q : std_ulogic_vector(0 to threads-1); -- input=>ex3_epid_instr_q , act=>ex3_esr_bit_act , scan=>N, sleep=>N, needs_sreset=>1
signal ex4_is_any_store_q : std_ulogic_vector(0 to threads-1); -- input=>dec_cpl_ex3_is_any_store , act=>ex3_esr_bit_act , scan=>N, sleep=>N, needs_sreset=>1
signal ex5_flush_2ucode_q, ex5_flush_2ucode_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_flush_2ucode_d , act=>ex4_flush_act , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_ucode_restart_q, ex5_ucode_restart_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_ucode_restart_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_mem_attr_le_q, ex5_mem_attr_le_d : std_ulogic_vector(0 to threads-1); -- input=>ex5_mem_attr_le_d , act=>ex4_flush_act , scan=>Y, sleep=>N, needs_sreset=>1
signal ex4_dacr_cmpr_q, ex4_dacr_cmpr_d : DAC; -- input=>ex4_dacr_cmpr_d , act=>exx_act(3) , scan=>N, sleep=>N, needs_sreset=>0
signal ex4_dacw_cmpr_q, ex4_dacw_cmpr_d : DAC; -- input=>ex4_dacw_cmpr_d , act=>exx_act(3) , scan=>N, sleep=>N, needs_sreset=>0
signal ex5_late_flush_q, ex5_late_flush_d : TID_ARR; -- input=>ex5_late_flush_d , act=>tiup , scan=>Y, sleep=>N, needs_sreset=>1
signal ex5_esr_q, ex5_esr_d : std_ulogic_vector(0 to 17*threads-1); -- input=>ex5_esr_d , act=>ex4_esr_act(t) , scan=>Y, sleep=>N, needs_sreset=>1, iterator=>(t)
signal ex5_dbsr_q, ex5_dbsr_d : std_ulogic_vector(0 to 19*threads-1); -- input=>ex5_dbsr_d , act=>ex4_dbsr_act(t) , scan=>Y, sleep=>N, needs_sreset=>1, iterator=>(t)
signal ex5_mcsr_q, ex5_mcsr_d : std_ulogic_vector(0 to 15*threads-1); -- input=>ex5_mcsr_d , act=>ex4_mcsr_act(t) , scan=>Y, sleep=>N, needs_sreset=>1, iterator=>(t)
signal dbg_flushcond_q, dbg_flushcond_d : ARY64; -- input=>dbg_flushcond_d , act=>trace_bus_enable_q , scan=>N, sleep=>Y, needs_sreset=>0
-- Scanchains
constant is2_flush_offset : integer := 0;
constant rf0_flush_offset : integer := is2_flush_offset + is2_flush_q'length;
constant rf1_flush_offset : integer := rf0_flush_offset + rf0_flush_q'length;
constant rf1_tid_offset : integer := rf1_flush_offset + rf1_flush_q'length;
constant ex1_axu_act_offset : integer := rf1_tid_offset + rf1_tid_q'length;
constant ex1_byte_rev_offset : integer := ex1_axu_act_offset + ex1_axu_act_q'length;
constant ex1_flush_offset : integer := ex1_byte_rev_offset + 1;
constant ex1_is_any_ldstmw_offset : integer := ex1_flush_offset + ex1_flush_q'length;
constant ex1_is_attn_offset : integer := ex1_is_any_ldstmw_offset + 1;
constant ex1_is_dci_offset : integer := ex1_is_attn_offset + 1;
constant ex1_is_dlock_offset : integer := ex1_is_dci_offset + 1;
constant ex1_is_ehpriv_offset : integer := ex1_is_dlock_offset + 1;
constant ex1_is_erativax_offset : integer := ex1_is_ehpriv_offset + 1;
constant ex1_is_ici_offset : integer := ex1_is_erativax_offset + 1;
constant ex1_is_icswx_offset : integer := ex1_is_ici_offset + 1;
constant ex1_is_ilock_offset : integer := ex1_is_icswx_offset + 1;
constant ex1_is_isync_offset : integer := ex1_is_ilock_offset + 1;
constant ex1_is_mfspr_offset : integer := ex1_is_isync_offset + 1;
constant ex1_is_mtmsr_offset : integer := ex1_is_mfspr_offset + 1;
constant ex1_is_mtspr_offset : integer := ex1_is_mtmsr_offset + 1;
constant ex1_is_rfci_offset : integer := ex1_is_mtspr_offset + 1;
constant ex1_is_rfgi_offset : integer := ex1_is_rfci_offset + 1;
constant ex1_is_rfi_offset : integer := ex1_is_rfgi_offset + 1;
constant ex1_is_rfmci_offset : integer := ex1_is_rfi_offset + 1;
constant ex1_is_sc_offset : integer := ex1_is_rfmci_offset + 1;
constant ex1_is_tlbivax_offset : integer := ex1_is_sc_offset + 1;
constant ex1_is_wrtee_offset : integer := ex1_is_tlbivax_offset + 1;
constant ex1_is_wrteei_offset : integer := ex1_is_wrtee_offset + 1;
constant ex1_is_mtxucr0_offset : integer := ex1_is_wrteei_offset + 1;
constant ex1_is_tlbwe_offset : integer := ex1_is_mtxucr0_offset + 1;
constant ex1_sc_lev_offset : integer := ex1_is_tlbwe_offset + 1;
constant ex1_ucode_val_offset : integer := ex1_sc_lev_offset + 1;
constant ex1_xu_val_offset : integer := ex1_ucode_val_offset + ex1_ucode_val_q'length;
constant ex2_flush_offset : integer := ex1_xu_val_offset + ex1_xu_val_q'length;
constant ex2_ucode_val_offset : integer := ex2_flush_offset + ex2_flush_q'length;
constant ex2_xu_val_offset : integer := ex2_ucode_val_offset + ex2_ucode_val_q'length;
constant ex3_async_int_block_offset : integer := ex2_xu_val_offset + ex2_xu_val_q'length;
constant ex3_axu_instr_match_offset : integer := ex3_async_int_block_offset + ex3_async_int_block_q'length;
constant ex3_axu_instr_type_offset : integer := ex3_axu_instr_match_offset + ex3_axu_instr_match_q'length;
constant ex3_axu_is_ucode_offset : integer := ex3_axu_instr_type_offset + ex3_axu_instr_type_q'length;
constant ex3_axu_val_offset : integer := ex3_axu_is_ucode_offset + ex3_axu_is_ucode_q'length;
constant ex3_br_flush_ifar_offset : integer := ex3_axu_val_offset + ex3_axu_val_q'length;
constant ex3_br_taken_offset : integer := ex3_br_flush_ifar_offset + ex3_br_flush_ifar_q'length;
constant ex3_br_update_offset : integer := ex3_br_taken_offset + 1;
constant ex3_byte_rev_offset : integer := ex3_br_update_offset + 1;
constant ex3_ctr_dec_update_offset : integer := ex3_byte_rev_offset + 1;
constant ex3_div_coll_offset : integer := ex3_ctr_dec_update_offset + 1;
constant ex3_epid_instr_offset : integer := ex3_div_coll_offset + ex3_div_coll_q'length;
constant ex3_flush_offset : integer := ex3_epid_instr_offset + 1;
constant ex3_ierat_flush_req_offset : integer := ex3_flush_offset + ex3_flush_q'length;
constant ex3_illegal_op_offset : integer := ex3_ierat_flush_req_offset + ex3_ierat_flush_req_q'length;
constant ex3_is_any_load_dac_offset : integer := ex3_illegal_op_offset + 1;
constant ex3_is_any_store_dac_offset : integer := ex3_is_any_load_dac_offset + 1;
constant ex3_is_attn_offset : integer := ex3_is_any_store_dac_offset + 1;
constant ex3_is_dci_offset : integer := ex3_is_attn_offset + 1;
constant ex3_is_dlock_offset : integer := ex3_is_dci_offset + 1;
constant ex3_is_ehpriv_offset : integer := ex3_is_dlock_offset + 1;
constant ex3_is_ici_offset : integer := ex3_is_ehpriv_offset + 1;
constant ex3_is_icswx_offset : integer := ex3_is_ici_offset + 1;
constant ex3_is_ilock_offset : integer := ex3_is_icswx_offset + 1;
constant ex3_is_isync_offset : integer := ex3_is_ilock_offset + 1;
constant ex3_is_mtmsr_offset : integer := ex3_is_isync_offset + 1;
constant ex3_is_rfci_offset : integer := ex3_is_mtmsr_offset + 1;
constant ex3_is_rfgi_offset : integer := ex3_is_rfci_offset + 1;
constant ex3_is_rfi_offset : integer := ex3_is_rfgi_offset + 1;
constant ex3_is_rfmci_offset : integer := ex3_is_rfi_offset + 1;
constant ex3_is_sc_offset : integer := ex3_is_rfmci_offset + 1;
constant ex3_is_tlbwe_offset : integer := ex3_is_sc_offset + 1;
constant ex3_is_slowspr_wr_offset : integer := ex3_is_tlbwe_offset + 1;
constant ex3_iu_error_offset : integer := ex3_is_slowspr_wr_offset + 1;
constant ex3_lr_update_offset : integer := ex3_iu_error_offset + ex3_iu_error_q'length;
constant ex3_lrat_miss_offset : integer := ex3_lr_update_offset + 1;
constant ex3_mmu_esr_data_offset : integer := ex3_lrat_miss_offset + ex3_lrat_miss_q'length;
constant ex3_mmu_esr_epid_offset : integer := ex3_mmu_esr_data_offset + ex3_mmu_esr_data_q'length;
constant ex3_mmu_esr_pt_offset : integer := ex3_mmu_esr_epid_offset + ex3_mmu_esr_epid_q'length;
constant ex3_mmu_esr_st_offset : integer := ex3_mmu_esr_pt_offset + ex3_mmu_esr_pt_q'length;
constant ex3_mmu_hv_priv_offset : integer := ex3_mmu_esr_st_offset + ex3_mmu_esr_st_q'length;
constant ex3_mtiar_offset : integer := ex3_mmu_hv_priv_offset + ex3_mmu_hv_priv_q'length;
constant ex3_n_align_int_offset : integer := ex3_mtiar_offset + 1;
constant ex3_n_dcpe_flush_offset : integer := ex3_n_align_int_offset + 1;
constant ex3_n_l2_ecc_err_flush_offset : integer := ex3_n_dcpe_flush_offset + ex3_n_dcpe_flush_q'length;
constant ex3_np1_run_ctl_flush_offset : integer := ex3_n_l2_ecc_err_flush_offset + ex3_n_l2_ecc_err_flush_q'length;
constant ex3_sc_lev_offset : integer := ex3_np1_run_ctl_flush_offset + ex3_np1_run_ctl_flush_q'length;
constant ex3_taken_bclr_offset : integer := ex3_sc_lev_offset + 1;
constant ex3_tlb_inelig_offset : integer := ex3_taken_bclr_offset + 1;
constant ex3_tlb_local_snoop_reject_offset : integer := ex3_tlb_inelig_offset + ex3_tlb_inelig_q'length;
constant ex3_tlb_lru_par_err_offset : integer := ex3_tlb_local_snoop_reject_offset + ex3_tlb_local_snoop_reject_q'length;
constant ex3_tlb_illeg_offset : integer := ex3_tlb_lru_par_err_offset + ex3_tlb_lru_par_err_q'length;
constant ex3_tlb_miss_offset : integer := ex3_tlb_illeg_offset + ex3_tlb_illeg_q'length;
constant ex3_tlb_multihit_err_offset : integer := ex3_tlb_miss_offset + ex3_tlb_miss_q'length;
constant ex3_tlb_par_err_offset : integer := ex3_tlb_multihit_err_offset + ex3_tlb_multihit_err_q'length;
constant ex3_tlb_pt_fault_offset : integer := ex3_tlb_par_err_offset + ex3_tlb_par_err_q'length;
constant ex3_ucode_val_offset : integer := ex3_tlb_pt_fault_offset + ex3_tlb_pt_fault_q'length;
constant ex3_xu_instr_match_offset : integer := ex3_ucode_val_offset + ex3_ucode_val_q'length;
constant ex3_xu_is_ucode_offset : integer := ex3_xu_instr_match_offset + 1;
constant ex3_xu_val_offset : integer := ex3_xu_is_ucode_offset + 1;
constant ex3_axu_async_block_offset : integer := ex3_xu_val_offset + ex3_xu_val_q'length;
constant ex3_is_mtxucr0_offset : integer := ex3_axu_async_block_offset + ex3_axu_async_block_q'length;
constant ex3_np1_instr_flush_offset : integer := ex3_is_mtxucr0_offset + 1;
constant ex4_apena_prog_int_offset : integer := ex3_np1_instr_flush_offset + 1;
constant ex4_axu_is_ucode_offset : integer := ex4_apena_prog_int_offset + ex4_apena_prog_int_q'length;
constant ex4_axu_trap_offset : integer := ex4_axu_is_ucode_offset + ex4_axu_is_ucode_q'length;
constant ex4_axu_val_offset : integer := ex4_axu_trap_offset + ex4_axu_trap_q'length;
constant ex4_base_int_block_offset : integer := ex4_axu_val_offset + ex4_axu_val_q'length;
constant ex4_br_flush_ifar_offset : integer := ex4_base_int_block_offset + ex4_base_int_block_q'length;
constant ex4_br_taken_offset : integer := ex4_br_flush_ifar_offset + ex4_br_flush_ifar_q'length;
constant ex4_br_update_offset : integer := ex4_br_taken_offset + 1;
constant ex4_byte_rev_offset : integer := ex4_br_update_offset + 1;
constant ex4_ctr_dec_update_offset : integer := ex4_byte_rev_offset + 1;
constant ex4_debug_flush_en_offset : integer := ex4_ctr_dec_update_offset + 1;
constant ex4_debug_int_en_offset : integer := ex4_debug_flush_en_offset + ex4_debug_flush_en_q'length;
constant ex4_flush_offset : integer := ex4_debug_int_en_offset + ex4_debug_int_en_q'length;
constant ex4_fpena_prog_int_offset : integer := ex4_flush_offset + ex4_flush_q'length;
constant ex4_iac1_cmpr_offset : integer := ex4_fpena_prog_int_offset + ex4_fpena_prog_int_q'length;
constant ex4_iac2_cmpr_offset : integer := ex4_iac1_cmpr_offset + ex4_iac1_cmpr_q'length;
constant ex4_iac3_cmpr_offset : integer := ex4_iac2_cmpr_offset + ex4_iac2_cmpr_q'length;
constant ex4_iac4_cmpr_offset : integer := ex4_iac3_cmpr_offset + ex4_iac3_cmpr_q'length;
constant ex4_instr_cpl_offset : integer := ex4_iac4_cmpr_offset + ex4_iac4_cmpr_q'length;
constant ex4_is_any_load_dac_offset : integer := ex4_instr_cpl_offset + ex4_instr_cpl_q'length;
constant ex4_is_any_store_dac_offset : integer := ex4_is_any_load_dac_offset + 1;
constant ex4_is_attn_offset : integer := ex4_is_any_store_dac_offset + 1;
constant ex4_is_dci_offset : integer := ex4_is_attn_offset + 1;
constant ex4_is_ehpriv_offset : integer := ex4_is_dci_offset + 1;
constant ex4_is_ici_offset : integer := ex4_is_ehpriv_offset + 1;
constant ex4_is_isync_offset : integer := ex4_is_ici_offset + 1;
constant ex4_is_mtmsr_offset : integer := ex4_is_isync_offset + 1;
constant ex4_is_tlbwe_offset : integer := ex4_is_mtmsr_offset + 1;
constant ex4_is_slowspr_wr_offset : integer := ex4_is_tlbwe_offset + 1;
constant ex4_lr_update_offset : integer := ex4_is_slowspr_wr_offset + 1;
constant ex4_mcsr_offset : integer := ex4_lr_update_offset + 1;
constant ex4_mem_attr_offset : integer := ex4_mcsr_offset + ex4_mcsr_q'length;
constant ex4_mmu_esr_data_offset : integer := ex4_mem_attr_offset + ex4_mem_attr_q'length;
constant ex4_mmu_esr_epid_offset : integer := ex4_mmu_esr_data_offset + ex4_mmu_esr_data_q'length;
constant ex4_mmu_esr_pt_offset : integer := ex4_mmu_esr_epid_offset + ex4_mmu_esr_epid_q'length;
constant ex4_mmu_esr_st_offset : integer := ex4_mmu_esr_pt_offset + ex4_mmu_esr_pt_q'length;
constant ex4_mmu_esr_val_offset : integer := ex4_mmu_esr_st_offset + ex4_mmu_esr_st_q'length;
constant ex4_mmu_hold_val_offset : integer := ex4_mmu_esr_val_offset + ex4_mmu_esr_val_q'length;
constant ex4_mtdp_nr_offset : integer := ex4_mmu_hold_val_offset + ex4_mmu_hold_val_q'length;
constant ex4_mtiar_offset : integer := ex4_mtdp_nr_offset + 1;
constant ex4_n_2ucode_flush_offset : integer := ex4_mtiar_offset + 1;
constant ex4_n_align_int_offset : integer := ex4_n_2ucode_flush_offset + ex4_n_2ucode_flush_q'length;
constant ex4_n_any_hpriv_int_offset : integer := ex4_n_align_int_offset + ex4_n_align_int_q'length;
constant ex4_n_any_unavail_int_offset : integer := ex4_n_any_hpriv_int_offset + ex4_n_any_hpriv_int_q'length;
constant ex4_n_ap_unavail_int_offset : integer := ex4_n_any_unavail_int_offset + ex4_n_any_unavail_int_q'length;
constant ex4_n_barr_flush_offset : integer := ex4_n_ap_unavail_int_offset + ex4_n_ap_unavail_int_q'length;
constant ex4_n_bclr_ta_miscmpr_flush_offset : integer := ex4_n_barr_flush_offset + ex4_n_barr_flush_q'length;
constant ex4_n_brt_dbg_cint_offset : integer := ex4_n_bclr_ta_miscmpr_flush_offset + ex4_n_bclr_ta_miscmpr_flush_q'length;
constant ex4_n_dac_dbg_cint_offset : integer := ex4_n_brt_dbg_cint_offset + ex4_n_brt_dbg_cint_q'length;
constant ex4_n_ddmh_mchk_en_offset : integer := ex4_n_dac_dbg_cint_offset + ex4_n_dac_dbg_cint_q'length;
constant ex4_n_dep_flush_offset : integer := ex4_n_ddmh_mchk_en_offset + ex4_n_ddmh_mchk_en_q'length;
constant ex4_n_deratre_par_mchk_mcint_offset : integer := ex4_n_dep_flush_offset + ex4_n_dep_flush_q'length;
constant ex4_n_dlk0_dstor_int_offset : integer := ex4_n_deratre_par_mchk_mcint_offset + ex4_n_deratre_par_mchk_mcint_q'length;
constant ex4_n_dlk1_dstor_int_offset : integer := ex4_n_dlk0_dstor_int_offset + ex4_n_dlk0_dstor_int_q'length;
constant ex4_n_dlrat_int_offset : integer := ex4_n_dlk1_dstor_int_offset + ex4_n_dlk1_dstor_int_q'length;
constant ex4_n_dmchk_mcint_offset : integer := ex4_n_dlrat_int_offset + ex4_n_dlrat_int_q'length;
constant ex4_n_dmiss_flush_offset : integer := ex4_n_dmchk_mcint_offset + ex4_n_dmchk_mcint_q'length;
constant ex4_n_dstor_int_offset : integer := ex4_n_dmiss_flush_offset + ex4_n_dmiss_flush_q'length;
constant ex4_n_dtlb_int_offset : integer := ex4_n_dstor_int_offset + ex4_n_dstor_int_q'length;
constant ex4_n_ena_prog_int_offset : integer := ex4_n_dtlb_int_offset + ex4_n_dtlb_int_q'length;
constant ex4_n_flush_offset : integer := ex4_n_ena_prog_int_offset + ex4_n_ena_prog_int_q'length;
constant ex4_n_pe_flush_offset : integer := ex4_n_flush_offset + ex4_n_flush_q'length;
constant ex4_n_tlb_mchk_flush_offset : integer := ex4_n_pe_flush_offset + ex4_n_pe_flush_q'length;
constant ex4_n_fp_unavail_int_offset : integer := ex4_n_tlb_mchk_flush_offset + ex4_n_tlb_mchk_flush_q'length;
constant ex4_n_fu_rfpe_flush_offset : integer := ex4_n_fp_unavail_int_offset + ex4_n_fp_unavail_int_q'length;
constant ex4_n_iac_dbg_cint_offset : integer := ex4_n_fu_rfpe_flush_offset + ex4_n_fu_rfpe_flush_q'length;
constant ex4_n_ieratre_par_mchk_mcint_offset : integer := ex4_n_iac_dbg_cint_offset + ex4_n_iac_dbg_cint_q'length;
constant ex4_n_ilrat_int_offset : integer := ex4_n_ieratre_par_mchk_mcint_offset + ex4_n_ieratre_par_mchk_mcint_q'length;
constant ex4_n_imchk_mcint_offset : integer := ex4_n_ilrat_int_offset + ex4_n_ilrat_int_q'length;
constant ex4_n_imiss_flush_offset : integer := ex4_n_imchk_mcint_offset + ex4_n_imchk_mcint_q'length;
constant ex4_n_instr_dbg_cint_offset : integer := ex4_n_imiss_flush_offset + ex4_n_imiss_flush_q'length;
constant ex4_n_istor_int_offset : integer := ex4_n_instr_dbg_cint_offset + ex4_n_instr_dbg_cint_q'length;
constant ex4_n_itlb_int_offset : integer := ex4_n_istor_int_offset + ex4_n_istor_int_q'length;
constant ex4_n_ivc_dbg_cint_offset : integer := ex4_n_itlb_int_offset + ex4_n_itlb_int_q'length;
constant ex4_n_ivc_dbg_match_offset : integer := ex4_n_ivc_dbg_cint_offset + ex4_n_ivc_dbg_cint_q'length;
constant ex4_n_ldq_hit_flush_offset : integer := ex4_n_ivc_dbg_match_offset + ex4_n_ivc_dbg_match_q'length;
constant ex4_n_lsu_ddmh_flush_en_offset : integer := ex4_n_ldq_hit_flush_offset + ex4_n_ldq_hit_flush_q'length;
constant ex4_n_lsu_flush_offset : integer := ex4_n_lsu_ddmh_flush_en_offset + ex4_n_lsu_ddmh_flush_en_q'length;
constant ex4_n_memattr_miscmpr_flush_offset : integer := ex4_n_lsu_flush_offset + ex4_n_lsu_flush_q'length;
constant ex4_n_mmu_hpriv_int_offset : integer := ex4_n_memattr_miscmpr_flush_offset + ex4_n_memattr_miscmpr_flush_q'length;
constant ex4_n_pil_prog_int_offset : integer := ex4_n_mmu_hpriv_int_offset + ex4_n_mmu_hpriv_int_q'length;
constant ex4_n_ppr_prog_int_offset : integer := ex4_n_pil_prog_int_offset + ex4_n_pil_prog_int_q'length;
constant ex4_n_ptemiss_dlrat_int_offset : integer := ex4_n_ppr_prog_int_offset + ex4_n_ppr_prog_int_q'length;
constant ex4_n_puo_prog_int_offset : integer := ex4_n_ptemiss_dlrat_int_offset + ex4_n_ptemiss_dlrat_int_q'length;
constant ex4_n_ret_dbg_cint_offset : integer := ex4_n_puo_prog_int_offset + ex4_n_puo_prog_int_q'length;
constant ex4_n_thrctl_stop_flush_offset : integer := ex4_n_ret_dbg_cint_offset + ex4_n_ret_dbg_cint_q'length;
constant ex4_n_tlbwemiss_dlrat_int_offset : integer := ex4_n_thrctl_stop_flush_offset + ex4_n_thrctl_stop_flush_q'length;
constant ex4_n_tlbwe_pil_prog_int_offset : integer := ex4_n_tlbwemiss_dlrat_int_offset + ex4_n_tlbwemiss_dlrat_int_q'length;
constant ex4_n_trap_dbg_cint_offset : integer := ex4_n_tlbwe_pil_prog_int_offset + ex4_n_tlbwe_pil_prog_int_q'length;
constant ex4_n_uct_dstor_int_offset : integer := ex4_n_trap_dbg_cint_offset + ex4_n_trap_dbg_cint_q'length;
constant ex4_n_vec_unavail_int_offset : integer := ex4_n_uct_dstor_int_offset + ex4_n_uct_dstor_int_q'length;
constant ex4_n_vf_dstor_int_offset : integer := ex4_n_vec_unavail_int_offset + ex4_n_vec_unavail_int_q'length;
constant ex4_n_xu_rfpe_flush_offset : integer := ex4_n_vf_dstor_int_offset + ex4_n_vf_dstor_int_q'length;
constant ex4_np1_cdbell_cint_offset : integer := ex4_n_xu_rfpe_flush_offset + ex4_n_xu_rfpe_flush_q'length;
constant ex4_np1_crit_cint_offset : integer := ex4_np1_cdbell_cint_offset + ex4_np1_cdbell_cint_q'length;
constant ex4_np1_dbell_int_offset : integer := ex4_np1_crit_cint_offset + ex4_np1_crit_cint_q'length;
constant ex4_np1_dec_int_offset : integer := ex4_np1_dbell_int_offset + ex4_np1_dbell_int_q'length;
constant ex4_np1_ext_int_offset : integer := ex4_np1_dec_int_offset + ex4_np1_dec_int_q'length;
constant ex4_np1_ext_mchk_mcint_offset : integer := ex4_np1_ext_int_offset + ex4_np1_ext_int_q'length;
constant ex4_np1_fit_int_offset : integer := ex4_np1_ext_mchk_mcint_offset + ex4_np1_ext_mchk_mcint_q'length;
constant ex4_np1_flush_offset : integer := ex4_np1_fit_int_offset + ex4_np1_fit_int_q'length;
constant ex4_np1_gcdbell_cint_offset : integer := ex4_np1_flush_offset + ex4_np1_flush_q'length;
constant ex4_np1_gdbell_int_offset : integer := ex4_np1_gcdbell_cint_offset + ex4_np1_gcdbell_cint_q'length;
constant ex4_np1_gmcdbell_cint_offset : integer := ex4_np1_gdbell_int_offset + ex4_np1_gdbell_int_q'length;
constant ex4_np1_ide_dbg_cint_offset : integer := ex4_np1_gmcdbell_cint_offset + ex4_np1_gmcdbell_cint_q'length;
constant ex4_np1_instr_int_offset : integer := ex4_np1_ide_dbg_cint_offset + ex4_np1_ide_dbg_cint_q'length;
constant ex4_np1_perf_int_offset : integer := ex4_np1_instr_int_offset + ex4_np1_instr_int_q'length;
constant ex4_np1_ptr_prog_int_offset : integer := ex4_np1_perf_int_offset + ex4_np1_perf_int_q'length;
constant ex4_np1_rfi_offset : integer := ex4_np1_ptr_prog_int_offset + ex4_np1_ptr_prog_int_q'length;
constant ex4_np1_run_ctl_flush_offset : integer := ex4_np1_rfi_offset + ex4_np1_rfi_q'length;
constant ex4_np1_sc_int_offset : integer := ex4_np1_run_ctl_flush_offset + ex4_np1_run_ctl_flush_q'length;
constant ex4_np1_ude_dbg_cint_offset : integer := ex4_np1_sc_int_offset + ex4_np1_sc_int_q'length;
constant ex4_np1_ude_dbg_event_offset : integer := ex4_np1_ude_dbg_cint_offset + ex4_np1_ude_dbg_cint_q'length;
constant ex4_np1_udec_int_offset : integer := ex4_np1_ude_dbg_event_offset + ex4_np1_ude_dbg_event_q'length;
constant ex4_np1_wdog_cint_offset : integer := ex4_np1_udec_int_offset + ex4_np1_udec_int_q'length;
constant ex4_np1_fu_flush_offset : integer := ex4_np1_wdog_cint_offset + ex4_np1_wdog_cint_q'length;
constant ex4_n_ieratsx_par_mchk_mcint_offset : integer := ex4_np1_fu_flush_offset + ex4_np1_fu_flush_q'length;
constant ex4_n_tlbmh_mchk_mcint_offset : integer := ex4_n_ieratsx_par_mchk_mcint_offset + ex4_n_ieratsx_par_mchk_mcint_q'length;
constant ex4_n_sprg_ue_flush_offset : integer := ex4_n_tlbmh_mchk_mcint_offset + ex4_n_tlbmh_mchk_mcint_q'length;
constant ex4_n_rwaccess_dstor_int_offset : integer := ex4_n_sprg_ue_flush_offset + ex4_n_sprg_ue_flush_q'length;
constant ex4_n_exaccess_istor_int_offset : integer := ex4_n_rwaccess_dstor_int_offset + ex4_n_rwaccess_dstor_int_q'length;
constant ex4_sc_lev_offset : integer := ex4_n_exaccess_istor_int_offset + ex4_n_exaccess_istor_int_q'length;
constant ex4_siar_sel_offset : integer := ex4_sc_lev_offset + 1;
constant ex4_step_offset : integer := ex4_siar_sel_offset + ex4_siar_sel_q'length;
constant ex4_taken_bclr_offset : integer := ex4_step_offset + ex4_step_q'length;
constant ex4_tlb_inelig_offset : integer := ex4_taken_bclr_offset + 1;
constant ex4_ucode_val_offset : integer := ex4_tlb_inelig_offset + ex4_tlb_inelig_q'length;
constant ex4_xu_is_ucode_offset : integer := ex4_ucode_val_offset + ex4_ucode_val_q'length;
constant ex4_xu_val_offset : integer := ex4_xu_is_ucode_offset + 1;
constant ex4_cia_act_offset : integer := ex4_xu_val_offset + ex4_xu_val_q'length;
constant ex4_n_async_dacr_dbg_cint_offset : integer := ex4_cia_act_offset + ex4_cia_act_q'length;
constant ex4_dac1r_cmpr_async_offset : integer := ex4_n_async_dacr_dbg_cint_offset + ex4_n_async_dacr_dbg_cint_q'length;
constant ex4_dac2r_cmpr_async_offset : integer := ex4_dac1r_cmpr_async_offset + ex4_dac1r_cmpr_async_q'length;
constant ex4_thread_stop_offset : integer := ex4_dac2r_cmpr_async_offset + ex4_dac2r_cmpr_async_q'length;
constant ex5_icmp_event_on_int_ok_offset : integer := ex4_thread_stop_offset + ex4_thread_stop_q'length;
constant ex5_any_val_offset : integer := ex5_icmp_event_on_int_ok_offset + ex5_icmp_event_on_int_ok_q'length;
constant ex5_attn_flush_offset : integer := ex5_any_val_offset + ex5_any_val_q'length;
constant ex5_axu_trap_pie_offset : integer := ex5_attn_flush_offset + ex5_attn_flush_q'length;
constant ex5_br_taken_offset : integer := ex5_axu_trap_pie_offset + ex5_axu_trap_pie_q'length;
constant ex5_cdbell_taken_offset : integer := ex5_br_taken_offset + 1;
constant ex5_check_bclr_offset : integer := ex5_cdbell_taken_offset + ex5_cdbell_taken_q'length;
constant ex5_cia_p1_offset : integer := ex5_check_bclr_offset + ex5_check_bclr_q'length;
constant ex5_dbell_taken_offset : integer := ex5_cia_p1_offset + ex5_cia_p1_q'length;
constant ex5_dbsr_update_offset : integer := ex5_dbell_taken_offset + ex5_dbell_taken_q'length;
constant ex5_dear_update_saved_offset : integer := ex5_dbsr_update_offset + ex5_dbsr_update_q'length;
constant ex5_deratre_par_err_offset : integer := ex5_dear_update_saved_offset + ex5_dear_update_saved_q'length;
constant ex5_div_set_barr_offset : integer := ex5_deratre_par_err_offset + ex5_deratre_par_err_q'length;
constant ex5_dsigs_offset : integer := ex5_div_set_barr_offset + ex5_div_set_barr_q'length;
constant ex5_dtlbgs_offset : integer := ex5_dsigs_offset + ex5_dsigs_q'length;
constant ex5_err_nia_miscmpr_offset : integer := ex5_dtlbgs_offset + ex5_dtlbgs_q'length;
constant ex5_ext_dbg_err_offset : integer := ex5_err_nia_miscmpr_offset + ex5_err_nia_miscmpr_q'length;
constant ex5_ext_dbg_ext_offset : integer := ex5_ext_dbg_err_offset + ex5_ext_dbg_err_q'length;
constant ex5_extgs_offset : integer := ex5_ext_dbg_ext_offset + ex5_ext_dbg_ext_q'length;
constant ex5_flush_offset : integer := ex5_extgs_offset + ex5_extgs_q'length;
constant ex5_force_gsrr_offset : integer := ex5_flush_offset + ex5_flush_q'length;
constant ex5_gcdbell_taken_offset : integer := ex5_force_gsrr_offset + ex5_force_gsrr_q'length;
constant ex5_gdbell_taken_offset : integer := ex5_gcdbell_taken_offset + ex5_gcdbell_taken_q'length;
constant ex5_gmcdbell_taken_offset : integer := ex5_gdbell_taken_offset + ex5_gdbell_taken_q'length;
constant ex5_ieratre_par_err_offset : integer := ex5_gmcdbell_taken_offset + ex5_gmcdbell_taken_q'length;
constant ex5_in_ucode_offset : integer := ex5_ieratre_par_err_offset + ex5_ieratre_par_err_q'length;
constant ex5_instr_cpl_offset : integer := ex5_in_ucode_offset + ex5_in_ucode_q'length;
constant ex5_is_any_rfi_offset : integer := ex5_instr_cpl_offset + ex5_instr_cpl_q'length;
constant ex5_is_attn_offset : integer := ex5_is_any_rfi_offset + ex5_is_any_rfi_q'length;
constant ex5_is_crit_int_offset : integer := ex5_is_attn_offset + ex5_is_attn_q'length;
constant ex5_is_mchk_int_offset : integer := ex5_is_crit_int_offset + ex5_is_crit_int_q'length;
constant ex5_is_mtmsr_offset : integer := ex5_is_mchk_int_offset + ex5_is_mchk_int_q'length;
constant ex5_is_isync_offset : integer := ex5_is_mtmsr_offset + 1;
constant ex5_is_tlbwe_offset : integer := ex5_is_isync_offset + 1;
constant ex5_isigs_offset : integer := ex5_is_tlbwe_offset + 1;
constant ex5_itlbgs_offset : integer := ex5_isigs_offset + ex5_isigs_q'length;
constant ex5_lsu_set_barr_offset : integer := ex5_itlbgs_offset + ex5_itlbgs_q'length;
constant ex5_mem_attr_val_offset : integer := ex5_lsu_set_barr_offset + ex5_lsu_set_barr_q'length;
constant ex5_mmu_hold_val_offset : integer := ex5_mem_attr_val_offset + ex5_mem_attr_val_q'length;
constant ex5_n_dmiss_flush_offset : integer := ex5_mmu_hold_val_offset + ex5_mmu_hold_val_q'length;
constant ex5_n_ext_dbg_stopc_flush_offset : integer := ex5_n_dmiss_flush_offset + ex5_n_dmiss_flush_q'length;
constant ex5_n_ext_dbg_stopt_flush_offset : integer := ex5_n_ext_dbg_stopc_flush_offset + 1;
constant ex5_n_imiss_flush_offset : integer := ex5_n_ext_dbg_stopt_flush_offset + ex5_n_ext_dbg_stopt_flush_q'length;
constant ex5_n_ptemiss_dlrat_int_offset : integer := ex5_n_imiss_flush_offset + ex5_n_imiss_flush_q'length;
constant ex5_np1_icmp_dbg_cint_offset : integer := ex5_n_ptemiss_dlrat_int_offset + ex5_n_ptemiss_dlrat_int_q'length;
constant ex5_np1_icmp_dbg_event_offset : integer := ex5_np1_icmp_dbg_cint_offset + ex5_np1_icmp_dbg_cint_q'length;
constant ex5_np1_run_ctl_flush_offset : integer := ex5_np1_icmp_dbg_event_offset + ex5_np1_icmp_dbg_event_q'length;
constant ex5_dbsr_ide_offset : integer := ex5_np1_run_ctl_flush_offset + ex5_np1_run_ctl_flush_q'length;
constant ex5_perf_dtlb_offset : integer := ex5_dbsr_ide_offset + ex5_dbsr_ide_q'length;
constant ex5_perf_itlb_offset : integer := ex5_perf_dtlb_offset + ex5_perf_dtlb_q'length;
constant ex5_ram_done_offset : integer := ex5_perf_itlb_offset + ex5_perf_itlb_q'length;
constant ex5_ram_issue_offset : integer := ex5_ram_done_offset + 1;
constant ex5_rt_offset : integer := ex5_ram_issue_offset + ex5_ram_issue_q'length;
constant ex5_sel_rt_offset : integer := ex5_rt_offset + ex5_rt_q'length;
constant ex5_srr0_dec_offset : integer := ex5_sel_rt_offset + ex5_sel_rt_q'length;
constant ex5_tlb_inelig_offset : integer := ex5_srr0_dec_offset + ex5_srr0_dec_q'length;
constant ex5_uc_cia_val_offset : integer := ex5_tlb_inelig_offset + ex5_tlb_inelig_q'length;
constant ex5_xu_ifar_offset : integer := ex5_uc_cia_val_offset + ex5_uc_cia_val_q'length;
constant ex5_xu_val_offset : integer := ex5_xu_ifar_offset + ex5_xu_ifar_q'length;
constant ex5_n_flush_sprg_ue_flush_offset : integer := ex5_xu_val_offset + ex5_xu_val_q'length;
constant ex5_mcsr_act_offset : integer := ex5_n_flush_sprg_ue_flush_offset + ex5_n_flush_sprg_ue_flush_q'length;
constant ex6_mcsr_act_offset : integer := ex5_mcsr_act_offset + ex5_mcsr_act_q'length;
constant ex6_ram_done_offset : integer := ex6_mcsr_act_offset + 1;
constant ex6_ram_interrupt_offset : integer := ex6_ram_done_offset + 1;
constant ex6_ram_issue_offset : integer := ex6_ram_interrupt_offset + 1;
constant ex7_ram_issue_offset : integer := ex6_ram_issue_offset + ex6_ram_issue_q'length;
constant ex8_ram_issue_offset : integer := ex7_ram_issue_offset + ex7_ram_issue_q'length;
constant ex6_step_done_offset : integer := ex8_ram_issue_offset + ex8_ram_issue_q'length;
constant ex6_xu_val_offset : integer := ex6_step_done_offset + ex6_step_done_q'length;
constant ex7_is_tlbwe_offset : integer := ex6_xu_val_offset + ex6_xu_val_q'length;
constant ex8_is_tlbwe_offset : integer := ex7_is_tlbwe_offset + ex7_is_tlbwe_q'length;
constant ccr2_ap_offset : integer := ex8_is_tlbwe_offset + ex8_is_tlbwe_q'length;
constant cpl_quiesced_offset : integer := ccr2_ap_offset + ccr2_ap_q'length;
constant dbcr0_idm_offset : integer := cpl_quiesced_offset + cpl_quiesced_q'length;
constant dci_val_offset : integer := dbcr0_idm_offset + dbcr0_idm_q'length;
constant debug_event_en_offset : integer := dci_val_offset + 1;
constant derat_hold_present_offset : integer := debug_event_en_offset + debug_event_en_q'length;
constant ext_dbg_act_err_offset : integer := derat_hold_present_offset + derat_hold_present_q'length;
constant ext_dbg_act_ext_offset : integer := ext_dbg_act_err_offset + ext_dbg_act_err_q'length;
constant ext_dbg_stop_core_offset : integer := ext_dbg_act_ext_offset + ext_dbg_act_ext_q'length;
constant ext_dbg_stop_n_offset : integer := ext_dbg_stop_core_offset + ext_dbg_stop_core_q'length;
constant external_mchk_offset : integer := ext_dbg_stop_n_offset + ext_dbg_stop_n_q'length;
constant exx_multi_flush_offset : integer := external_mchk_offset + external_mchk_q'length;
constant force_ude_offset : integer := exx_multi_flush_offset + exx_multi_flush_q'length;
constant fu_rf_seq_end_offset : integer := force_ude_offset + force_ude_q'length;
constant fu_rfpe_ack_offset : integer := fu_rf_seq_end_offset + 1;
constant fu_rfpe_hold_present_offset : integer := fu_rfpe_ack_offset + fu_rfpe_ack_q'length;
constant ici_hold_present_offset : integer := fu_rfpe_hold_present_offset + 1;
constant ici_val_offset : integer := ici_hold_present_offset + ici_hold_present_q'length;
constant ierat_hold_present_offset : integer := ici_val_offset + 1;
constant mmu_eratmiss_done_offset : integer := ierat_hold_present_offset + ierat_hold_present_q'length;
constant mmu_hold_present_offset : integer := mmu_eratmiss_done_offset + mmu_eratmiss_done_q'length;
constant mmu_hold_request_offset : integer := mmu_hold_present_offset + mmu_hold_present_q'length;
constant msr_cm_offset : integer := mmu_hold_request_offset + mmu_hold_request_q'length;
constant msr_de_offset : integer := msr_cm_offset + msr_cm_q'length;
constant msr_fp_offset : integer := msr_de_offset + msr_de_q'length;
constant msr_gs_offset : integer := msr_fp_offset + msr_fp_q'length;
constant msr_me_offset : integer := msr_gs_offset + msr_gs_q'length;
constant msr_pr_offset : integer := msr_me_offset + msr_me_q'length;
constant msr_spv_offset : integer := msr_pr_offset + msr_pr_q'length;
constant msr_ucle_offset : integer := msr_spv_offset + msr_spv_q'length;
constant msrp_uclep_offset : integer := msr_ucle_offset + msr_ucle_q'length;
constant pc_dbg_action_offset : integer := msrp_uclep_offset + msrp_uclep_q'length;
constant pc_dbg_stop_offset : integer := pc_dbg_action_offset + pc_dbg_action_q'length;
constant pc_dbg_stop_2_offset : integer := pc_dbg_stop_offset + pc_dbg_stop_q'length;
constant pc_err_mcsr_rpt_offset : integer := pc_dbg_stop_2_offset + pc_dbg_stop_2_q'length;
constant pc_err_mcsr_summary_offset : integer := pc_err_mcsr_rpt_offset + pc_err_mcsr_rpt_q'length;
constant pc_init_reset_offset : integer := pc_err_mcsr_summary_offset + pc_err_mcsr_summary_q'length;
constant quiesced_offset : integer := pc_init_reset_offset + 1;
constant ram_flush_offset : integer := quiesced_offset + 1;
constant ram_ip_offset : integer := ram_flush_offset + ram_flush_q'length;
constant ram_mode_offset : integer := ram_ip_offset + ram_ip_q'length;
constant slowspr_flush_offset : integer := ram_mode_offset + ram_mode_q'length;
constant spr_cpl_async_int_offset : integer := slowspr_flush_offset + slowspr_flush_q'length;
constant ram_execute_offset : integer := spr_cpl_async_int_offset + spr_cpl_async_int_q'length;
constant ssprwr_ip_offset : integer := ram_execute_offset + ram_execute_q'length;
constant exx_cm_hold_offset : integer := ssprwr_ip_offset + ssprwr_ip_q'length;
constant xu_ex1_n_flush_offset : integer := exx_cm_hold_offset + exx_cm_hold_q'length;
constant xu_ex1_s_flush_offset : integer := xu_ex1_n_flush_offset + xu_ex1_n_flush_q'length;
constant xu_ex1_w_flush_offset : integer := xu_ex1_s_flush_offset + xu_ex1_s_flush_q'length;
constant xu_ex2_n_flush_offset : integer := xu_ex1_w_flush_offset + xu_ex1_w_flush_q'length;
constant xu_ex2_s_flush_offset : integer := xu_ex2_n_flush_offset + xu_ex2_n_flush_q'length;
constant xu_ex2_w_flush_offset : integer := xu_ex2_s_flush_offset + xu_ex2_s_flush_q'length;
constant xu_ex3_n_flush_offset : integer := xu_ex2_w_flush_offset + xu_ex2_w_flush_q'length;
constant xu_ex3_s_flush_offset : integer := xu_ex3_n_flush_offset + xu_ex3_n_flush_q'length;
constant xu_ex3_w_flush_offset : integer := xu_ex3_s_flush_offset + xu_ex3_s_flush_q'length;
constant xu_ex4_n_flush_offset : integer := xu_ex3_w_flush_offset + xu_ex3_w_flush_q'length;
constant xu_ex4_s_flush_offset : integer := xu_ex4_n_flush_offset + xu_ex4_n_flush_q'length;
constant xu_ex4_w_flush_offset : integer := xu_ex4_s_flush_offset + xu_ex4_s_flush_q'length;
constant xu_ex5_n_flush_offset : integer := xu_ex4_w_flush_offset + xu_ex4_w_flush_q'length;
constant xu_ex5_s_flush_offset : integer := xu_ex5_n_flush_offset + xu_ex5_n_flush_q'length;
constant xu_ex5_w_flush_offset : integer := xu_ex5_s_flush_offset + xu_ex5_s_flush_q'length;
constant xu_is2_n_flush_offset : integer := xu_ex5_w_flush_offset + xu_ex5_w_flush_q'length;
constant xu_rf0_n_flush_offset : integer := xu_is2_n_flush_offset + xu_is2_n_flush_q'length;
constant xu_rf1_n_flush_offset : integer := xu_rf0_n_flush_offset + xu_rf0_n_flush_q'length;
constant xu_rf1_s_flush_offset : integer := xu_rf1_n_flush_offset + xu_rf1_n_flush_q'length;
constant xu_rf1_w_flush_offset : integer := xu_rf1_s_flush_offset + xu_rf1_s_flush_q'length;
constant ex5_np1_irpt_dbg_cint_offset : integer := xu_rf1_w_flush_offset + xu_rf1_w_flush_q'length;
constant ex6_np1_irpt_dbg_cint_offset : integer := ex5_np1_irpt_dbg_cint_offset + ex5_np1_irpt_dbg_cint_q'length;
constant ex5_np1_irpt_dbg_event_offset : integer := ex6_np1_irpt_dbg_cint_offset + ex6_np1_irpt_dbg_cint_q'length;
constant ex6_np1_irpt_dbg_event_offset : integer := ex5_np1_irpt_dbg_event_offset + ex5_np1_irpt_dbg_event_q'length;
constant clkg_ctl_offset : integer := ex6_np1_irpt_dbg_event_offset + ex6_np1_irpt_dbg_event_q'length;
constant xu_rf_seq_end_offset : integer := clkg_ctl_offset + 1;
constant xu_rfpe_ack_offset : integer := xu_rf_seq_end_offset + 1;
constant xu_rfpe_hold_present_offset : integer := xu_rfpe_ack_offset + xu_rfpe_ack_q'length;
constant exx_act_offset : integer := xu_rfpe_hold_present_offset + 1;
constant ex4_mchk_int_en_offset : integer := exx_act_offset + exx_act_q'length;
constant ex5_mchk_int_en_offset : integer := ex4_mchk_int_en_offset + ex4_mchk_int_en_q'length;
constant trace_bus_enable_offset : integer := ex5_mchk_int_en_offset + ex5_mchk_int_en_q'length;
constant ex1_instr_trace_type_offset : integer := trace_bus_enable_offset + 1;
constant ex1_instr_trace_val_offset : integer := ex1_instr_trace_type_offset + ex1_instr_trace_type_q'length;
constant ex1_xu_issued_offset : integer := ex1_instr_trace_val_offset + 1;
constant ex2_xu_issued_offset : integer := ex1_xu_issued_offset + ex1_xu_issued_q'length;
constant ex3_xu_issued_offset : integer := ex2_xu_issued_offset + ex2_xu_issued_q'length;
constant ex4_xu_issued_offset : integer := ex3_xu_issued_offset + ex3_xu_issued_q'length;
constant ex3_axu_issued_offset : integer := ex4_xu_issued_offset + ex4_xu_issued_q'length;
constant ex4_axu_issued_offset : integer := ex3_axu_issued_offset + ex3_axu_issued_q'length;
constant ex2_instr_dbg_offset : integer := ex4_axu_issued_offset + ex4_axu_issued_q'length;
constant ex2_instr_trace_type_offset : integer := ex2_instr_dbg_offset + ex2_instr_dbg_q'length;
constant ex4_instr_trace_val_offset : integer := ex2_instr_trace_type_offset + ex2_instr_trace_type_q'length;
constant ex5_instr_trace_val_offset : integer := ex4_instr_trace_val_offset + 1;
constant ex5_siar_offset : integer := ex5_instr_trace_val_offset + 1;
constant ex5_siar_cpl_offset : integer := ex5_siar_offset + ex5_siar_q'length;
constant ex5_siar_gs_offset : integer := ex5_siar_cpl_offset + 1;
constant ex5_siar_issued_offset : integer := ex5_siar_gs_offset + 1;
constant ex5_siar_pr_offset : integer := ex5_siar_issued_offset + 1;
constant ex5_siar_tid_offset : integer := ex5_siar_pr_offset + 1;
constant ex5_ucode_end_dbg_offset : integer := ex5_siar_tid_offset + ex5_siar_tid_q'length;
constant ex5_ucode_val_dbg_offset : integer := ex5_ucode_end_dbg_offset + ex5_ucode_end_dbg_q'length;
constant instr_trace_mode_offset : integer := ex5_ucode_val_dbg_offset + ex5_ucode_val_dbg_q'length;
constant debug_data_out_offset : integer := instr_trace_mode_offset + 1;
constant debug_mux_ctrls_offset : integer := debug_data_out_offset + debug_data_out_q'length;
constant debug_mux_ctrls_int_offset : integer := debug_mux_ctrls_offset + debug_mux_ctrls_q'length;
constant trigger_data_out_offset : integer := debug_mux_ctrls_int_offset + debug_mux_ctrls_int_q'length;
constant event_bus_enable_offset : integer := trigger_data_out_offset + trigger_data_out_q'length;
constant ex3_perf_event_offset : integer := event_bus_enable_offset + 1;
constant ex5_perf_event_offset : integer := ex3_perf_event_offset + ex3_perf_event_q'length;
constant spr_bit_act_offset : integer := ex5_perf_event_offset + ex5_perf_event_q'length;
constant spare_0_offset : integer := spr_bit_act_offset + 1;
constant spare_1_offset : integer := spare_0_offset + spare_0_q'length;
constant spare_2_offset : integer := spare_1_offset + spare_1_q'length;
constant spare_3_offset : integer := spare_2_offset + spare_2_q'length;
constant spare_4_offset : integer := spare_3_offset + spare_3_q'length;
constant spare_5_offset : integer := spare_4_offset + spare_4_q'length;
constant exx_instr_async_block_offset : integer := spare_5_offset + spare_5_q'length;
constant ex5_late_flush_offset : integer := exx_instr_async_block_offset + exx_instr_async_block_q(0)'length*threads;
constant ex5_esr_offset : integer := ex5_late_flush_offset + ifar_repwr*threads;
constant ex5_dbsr_offset : integer := ex5_esr_offset + ex5_esr_q'length;
constant ex5_mcsr_offset : integer := ex5_dbsr_offset + ex5_dbsr_q'length;
constant ex4_uc_cia_offset : integer := ex5_mcsr_offset + ex5_mcsr_q'length;
constant ex4_axu_instr_type_offset : integer := ex4_uc_cia_offset + IFAR_UC'length*threads;
constant ex5_mem_attr_offset : integer := ex4_axu_instr_type_offset + 3*threads;
constant ex5_ivo_sel_offset : integer := ex5_mem_attr_offset + ex4_mem_attr_q'length*threads;
constant ex5_nia_b_offset : integer := ex5_ivo_sel_offset + ivos*threads;
constant ex2_ifar_b_offset : integer := ex5_nia_b_offset + eff_ifar*threads;
constant ex3_ifar_offset : integer := ex2_ifar_b_offset + eff_ifar*threads;
constant ex4_ifar_offset : integer := ex3_ifar_offset + eff_ifar*threads;
constant ex4_epid_instr_offset : integer := ex4_ifar_offset + eff_ifar*threads;
constant ex4_is_any_store_offset : integer := ex4_epid_instr_offset + ex4_epid_instr_q'length;
constant ex5_flush_2ucode_offset : integer := ex4_is_any_store_offset + ex4_is_any_store_q'length;
constant ex5_ucode_restart_offset : integer := ex5_flush_2ucode_offset + ex5_flush_2ucode_q'length;
constant ex5_mem_attr_le_offset : integer := ex5_ucode_restart_offset + ex5_ucode_restart_q'length;
constant ex5_cm_hold_cond_offset : integer := ex5_mem_attr_le_offset + ex5_mem_attr_le_q'length;
constant ex3_async_int_block_cond_offset : integer := ex5_cm_hold_cond_offset + 1;
constant ex3_base_int_block_offset : integer := ex3_async_int_block_cond_offset+ 1;
constant ex3_mchk_int_block_offset : integer := ex3_base_int_block_offset + 1;
constant exx_thread_stop_mcflush_offset : integer := ex3_mchk_int_block_offset + 1;
constant exx_lateflush_mcflush_offset : integer := exx_thread_stop_mcflush_offset + 1;
constant exx_csi_mcflush_offset : integer := exx_lateflush_mcflush_offset + 1;
constant exx_hold0_mcflush_offset : integer := exx_csi_mcflush_offset + 1;
constant exx_hold1_mcflush_offset : integer := exx_hold0_mcflush_offset + 1;
constant exx_barr_mcflush_offset : integer := exx_hold1_mcflush_offset + 1;
constant rfpe_quiesce_offset : integer := exx_barr_mcflush_offset + 1;
constant scan_right : integer := rfpe_quiesce_offset + 1;
signal siv : std_ulogic_vector(0 to scan_right-1);
signal sov : std_ulogic_vector(0 to scan_right-1);
signal siv_3 : std_ulogic_vector(0 to 1);
signal sov_3 : std_ulogic_vector(0 to 1);
constant dd1_clk_override_offset_ccfg : integer := 0;
constant scan_right_ccfg : integer := dd1_clk_override_offset_ccfg + 1;
signal siv_ccfg : std_ulogic_vector(0 to scan_right_ccfg-1);
signal sov_ccfg : std_ulogic_vector(0 to scan_right_ccfg-1);
constant ex4_cia_b_offset_bcfg : integer := 0;
constant mcsr_rpt_offset_bcfg : integer := ex4_cia_b_offset_bcfg + IFAR'length*threads;
constant mcsr_rpt2_offset_bcfg : integer := mcsr_rpt_offset_bcfg + pc_err_mcsr_rpt_q'length*threads;
constant scan_right_bcfg : integer := mcsr_rpt2_offset_bcfg + pc_err_mcsr_rpt_q'length*threads;
signal siv_bcfg : std_ulogic_vector(0 to scan_right_bcfg-1);
signal sov_bcfg : std_ulogic_vector(0 to scan_right_bcfg-1);
constant scan_right_dcfg : integer := 1;
signal siv_dcfg : std_ulogic_vector(0 to scan_right_dcfg-1);
signal sov_dcfg : std_ulogic_vector(0 to scan_right_dcfg-1);
-- Signals
signal tiup, tidn : std_ulogic;
-- Valids
signal rf1_xu_val : std_ulogic_vector(0 to threads-1);
signal ex1_xu_val : std_ulogic_vector(0 to threads-1);
signal ex2_xu_val : std_ulogic_vector(0 to threads-1);
signal ex3_xu_val : std_ulogic_vector(0 to threads-1);
signal ex4_xu_val : std_ulogic_vector(0 to threads-1);
signal ex2_axu_val : std_ulogic_vector(0 to threads-1);
signal ex3_axu_val : std_ulogic_vector(0 to threads-1);
signal ex4_axu_val : std_ulogic_vector(0 to threads-1);
signal ex3_any_val : std_ulogic_vector(0 to threads-1);
signal ex4_any_val : std_ulogic_vector(0 to threads-1);
signal ex3_anyuc_val : std_ulogic_vector(0 to threads-1);
signal ex4_anyuc_val : std_ulogic_vector(0 to threads-1);
signal ex3_anyuc_val_q : std_ulogic_vector(0 to threads-1);
signal ex4_anyuc_val_q : std_ulogic_vector(0 to threads-1);
signal rf1_ucode_val : std_ulogic_vector(0 to threads-1);
signal ex1_ucode_val : std_ulogic_vector(0 to threads-1);
signal ex2_ucode_val : std_ulogic_vector(0 to threads-1);
signal ex3_ucode_val : std_ulogic_vector(0 to threads-1);
signal ex4_ucode_val : std_ulogic_vector(0 to threads-1);
signal ex3_xuuc_val_q : std_ulogic_vector(0 to threads-1);
signal ex4_xuuc_val_q : std_ulogic_vector(0 to threads-1);
signal ex3_xuuc_val : std_ulogic_vector(0 to threads-1);
signal ex4_xuuc_val : std_ulogic_vector(0 to threads-1);
signal ex3_dep_val : std_ulogic_vector(0 to threads-1);
-- Flushes
signal iu_flush : std_ulogic_vector(0 to threads-1);
signal any_flush : std_ulogic_vector(0 to threads-1);
signal is2_flush : std_ulogic_vector(0 to threads-1);
signal rf0_flush : std_ulogic_vector(0 to threads-1);
signal rf1_flush : std_ulogic_vector(0 to threads-1);
signal ex1_flush : std_ulogic_vector(0 to threads-1);
signal ex2_flush : std_ulogic_vector(0 to threads-1);
signal ex3_flush : std_ulogic_vector(0 to threads-1);
signal ex4_flush : std_ulogic_vector(0 to threads-1);
-- Other Stuff
signal spare_0_lclk : clk_logic;
signal spare_1_lclk : clk_logic;
signal spare_2_lclk : clk_logic;
signal spare_3_lclk : clk_logic;
signal spare_4_lclk : clk_logic;
signal spare_5_lclk : clk_logic;
signal spare_0_d1clk, spare_0_d2clk : std_ulogic;
signal spare_1_d1clk, spare_1_d2clk : std_ulogic;
signal spare_2_d1clk, spare_2_d2clk : std_ulogic;
signal spare_3_d1clk, spare_3_d2clk : std_ulogic;
signal spare_4_d1clk, spare_4_d2clk : std_ulogic;
signal spare_5_d1clk, spare_5_d2clk : std_ulogic;
signal func_scan_rpwr2_in : std_ulogic_vector(3 to 3);
signal func_scan_rpwr_in, func_scan_rpwr_out : std_ulogic_vector(0 to 3);
signal func_scan_out_gate : std_ulogic_vector(50 to 53);
signal ccfg_scan_rpwr_in, ccfg_scan_rpwr_out : std_ulogic_vector(0 to 0);
signal ccfg_scan_out_gate : std_ulogic_vector(0 to 0);
signal bcfg_scan_rpwr_in, bcfg_scan_rpwr_out : std_ulogic_vector(0 to 0);
signal bcfg_scan_out_gate : std_ulogic_vector(0 to 0);
signal dcfg_scan_rpwr_in, dcfg_scan_rpwr_out : std_ulogic_vector(0 to 0);
signal dcfg_scan_out_gate : std_ulogic_vector(0 to 0);
signal mcsr_bcfg_slp_sl_d1clk : std_ulogic;
signal mcsr_bcfg_slp_sl_d2clk : std_ulogic;
signal mcsr_bcfg_slp_sl_lclk : clk_logic;
signal bcfg_so_d2clk : std_ulogic;
signal bcfg_so_lclk : clk_logic;
signal func_slp_sl_thold_1 : std_ulogic;
signal func_slp_nsl_thold_1 : std_ulogic;
signal func_sl_thold_1 : std_ulogic;
signal func_nsl_thold_1 : std_ulogic;
signal cfg_sl_thold_1 : std_ulogic;
signal cfg_slp_sl_thold_1 : std_ulogic;
signal fce_1 : std_ulogic;
signal sg_1 : std_ulogic;
signal func_slp_sl_thold_0 : std_ulogic;
signal func_slp_nsl_thold_0 : std_ulogic;
signal func_sl_thold_0 : std_ulogic;
signal func_nsl_thold_0 : std_ulogic;
signal cfg_sl_thold_0 : std_ulogic;
signal cfg_slp_sl_thold_0 : std_ulogic;
signal fce_0 : std_ulogic;
signal sg_0 : std_ulogic;
signal cfg_sl_force : std_ulogic;
signal cfg_sl_thold_0_b : std_ulogic;
signal bcfg_sl_force : std_ulogic;
signal bcfg_sl_thold_0_b : std_ulogic;
signal dcfg_sl_force : std_ulogic;
signal dcfg_sl_thold_0_b : std_ulogic;
signal cfg_slp_sl_force : std_ulogic;
signal cfg_slp_sl_thold_0_b : std_ulogic;
signal bcfg_slp_sl_force : std_ulogic;
signal bcfg_slp_sl_thold_0_b : std_ulogic;
signal func_sl_force : std_ulogic;
signal func_sl_thold_0_b : std_ulogic;
signal func_nsl_force : std_ulogic;
signal func_nsl_thold_0_b : std_ulogic;
signal func_slp_sl_force : std_ulogic;
signal func_slp_sl_thold_0_b : std_ulogic;
signal func_slp_nsl_force : std_ulogic;
signal func_slp_nsl_thold_0_b : std_ulogic;
signal so_force : std_ulogic;
signal ccfg_so_thold_0_b : std_ulogic;
signal bcfg_so_thold_0_b : std_ulogic;
signal dcfg_so_thold_0_b : std_ulogic;
signal func_so_thold_0_b : std_ulogic;
signal rf1_is_ldbrx, rf1_is_lwbrx, rf1_is_lhbrx : std_ulogic;
signal rf1_is_stdbrx, rf1_is_stwbrx, rf1_is_sthbrx : std_ulogic;
signal rf1_is_icblc, rf1_is_icbtls : std_ulogic;
signal rf1_is_dcblc, rf1_is_dcbtls, rf1_is_dcbtstls : std_ulogic;
signal rf1_is_wait, rf1_is_eratre : std_ulogic;
signal ex4_np1_mtiar_flush, ex3_np1_mtiar_flush : std_ulogic_vector(0 to threads-1);
signal ex1_instr : std_ulogic_vector(0 to 31);
signal ex1_branch,ex1_br_mispred,ex1_br_taken : std_ulogic;
signal ex1_br_update, ex1_is_bclr : std_ulogic;
signal ex1_lr_update, ex1_ctr_dec_update : std_ulogic;
signal ex1_taken_bclr : std_ulogic;
signal ex1_xu_ifar : IFAR;
signal ex1_ifar_sel, ex1_ifar_sel_b : std_ulogic_vector(ex2_ifar_b_q'range);
signal ex2_br_flush : std_ulogic_vector(0 to threads-1);
signal ex2_br_flush_ifar : IFAR;
signal ex2_ifar : std_ulogic_vector(ex2_ifar_b_q'range);
signal ex4_cia_cmpr : std_ulogic_vector(0 to threads-1);
signal ex3_lr_cmprh, ex3_lr_cmprl : std_ulogic_vector(0 to threads-1);
signal ex3_cia_cmprh, ex3_cia_cmprl : std_ulogic_vector(0 to threads-1);
signal ex4_cia_cmprh, ex4_cia_cmprl : std_ulogic_vector(0 to threads-1);
signal ex3_bclr_cmpr_b : std_ulogic_vector(0 to threads-1);
signal ex4_taken_bclr, ex5_check_bclr : std_ulogic_vector(0 to threads-1);
signal ex4_ucode_end : std_ulogic_vector(0 to threads-1);
signal ex3_async_int_block : std_ulogic_vector(0 to threads-1);
signal ex3_async_int_block_noaxu : std_ulogic_vector(0 to threads-1);
signal ex3_base_int_block : std_ulogic_vector(0 to threads-1);
signal ex3_mchk_int_block : std_ulogic_vector(0 to threads-1);
signal ex3_esr_bit_act : std_ulogic_vector(0 to threads-1);
signal ex4_n_flush : std_ulogic_vector(0 to threads-1);
signal ex4_np1_flush : std_ulogic_vector(0 to threads-1);
signal ex4_cia_p1_out : std_ulogic_vector(0 to eff_ifar*threads-1);
signal ex5_ram_interrupt : std_ulogic_vector(0 to threads-1);
signal ex4_check_cia : std_ulogic_vector(0 to threads-1);
signal ex3_ct : std_ulogic_vector(0 to threads-1);
signal ex4_is_base_int,ex4_is_crit_int,ex4_is_mchk_int: std_ulogic_vector(0 to threads-1);
signal ex5_is_base_hint,ex5_is_base_gint : std_ulogic_vector(0 to threads-1);
signal ex3_np1_step_flush : std_ulogic_vector(0 to threads-1);
signal ex4_clear_bclr_chk : std_ulogic_vector(0 to threads-1);
signal ex5_is_any_int,ex5_is_any_gint,ex5_is_any_hint : std_ulogic_vector(0 to threads-1);
signal ex3_lr_cmpr, ex3_cia_cmpr : std_ulogic_vector(0 to threads-1);
signal ex3_mem_attr_chk : std_ulogic_vector(0 to threads-1);
signal ex3_mem_attr_cmpr : std_ulogic_vector(0 to threads-1);
signal ex4_mem_attr_act : std_ulogic_vector(0 to threads-1);
signal ex4_is_any_store : std_ulogic_vector(0 to threads-1);
signal ex4_epid_instr : std_ulogic_vector(0 to threads-1);
signal ex4_flush_act : std_ulogic_vector(0 to threads-1);
signal ex4_ucode_restart : std_ulogic_vector(0 to threads-1);
signal ex4_uc_cia_val : std_ulogic_vector(0 to threads-1);
signal ex5_flush_update : std_ulogic_vector(0 to threads-1);
signal ex4_cm : std_ulogic_vector(0 to threads-1);
signal exx_multi_flush : std_ulogic_vector(0 to threads-1);
signal hold_state_0, hold_state_1 : std_ulogic_vector(0 to threads-1);
signal spr_givpr : std_ulogic_vector(62-eff_ifar to 51);
signal spr_ivpr : std_ulogic_vector(62-eff_ifar to 51);
signal spr_ctr : std_ulogic_vector(0 to (regsize)*threads-1);
signal spr_lr : std_ulogic_vector(0 to (regsize)*threads-1);
signal spr_iar : std_ulogic_vector(0 to (eff_ifar)*threads-1);
signal spr_xucr3_cm_hold_dly : std_ulogic_vector(0 to 3);
signal spr_xucr3_stop_dly : std_ulogic_vector(0 to 3);
signal spr_xucr3_hold0_dly : std_ulogic_vector(0 to 3);
signal spr_xucr3_hold1_dly : std_ulogic_vector(0 to 3);
signal spr_xucr3_csi_dly : std_ulogic_vector(0 to 3);
signal spr_xucr3_int_dly : std_ulogic_vector(0 to 3);
signal spr_xucr3_asyncblk_dly : std_ulogic_vector(0 to 3);
signal spr_xucr3_flush_dly : std_ulogic_vector(0 to 3);
signal spr_xucr4_barr_dly : std_ulogic_vector(0 to 3);
signal spr_xucr4_lsu_bar_dis : std_ulogic;
signal spr_xucr4_div_bar_dis : std_ulogic;
signal spr_xucr4_mddmh : std_ulogic;
signal spr_xucr4_mmu_mchk_int : std_ulogic;
signal ex3_np1_mtxucr0_flush : std_ulogic_vector(0 to threads-1);
signal ex4_n_lsu_flush : std_ulogic_vector(0 to threads-1);
signal ex4_n_lsu_ddmh_flush : std_ulogic_vector(0 to threads-1);
signal ex3_div_coll : std_ulogic_vector(0 to threads-1);
signal ex3_non_uc_val : std_ulogic_vector(0 to threads-1);
signal ex3_n_ieratmiss_itlb_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbmiss_itlb_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_iemh_mchk_mcint_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_iepe_mchk_mcint_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_il2ecc_mchk_mcint_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_dpovr_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_demh_mchk_mcint_xu : std_ulogic_vector(0 to threads-1);
signal ex3_n_depe_mchk_mcint_xu : std_ulogic_vector(0 to threads-1);
signal ex3_n_dl2ecc_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_ddpe_mchk_mcint_xu : std_ulogic_vector(0 to threads-1);
signal ex3_n_dcpe_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbmh_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbpe_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlblru_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbsrej_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_i1w1lock_dstor_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbi_dstor_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_pt_dstor_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbi_istor_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_pt_istor_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_ldstmw_align_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_ldst_align_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_sprpil_prog_int_xu : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbpil_prog_int_xu : std_ulogic_vector(0 to threads-1);
signal ex3_n_mmupil_prog_int_xu : std_ulogic_vector(0 to threads-1);
signal ex3_n_iupil_prog_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_xupil_prog_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_ppr_prog_int_en : std_ulogic_vector(0 to threads-1);
signal ex3_n_sprppr_prog_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_instrppr_prog_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_fu_fp_unavail_int_axu : std_ulogic_vector(0 to threads-1);
signal ex3_n_xu_fp_unavail_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_fu_ap_unavail_int_axu : std_ulogic_vector(0 to threads-1);
signal ex3_n_xu_ap_unavail_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_fu_vec_unavail_int_axu : std_ulogic_vector(0 to threads-1);
signal ex3_n_xu_vec_unavail_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_deratmiss_dtlb_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbmiss_dtlb_int : std_ulogic_vector(0 to threads-1);
signal ex3_n_dacr_dbg_cint_xu : std_ulogic_vector(0 to threads-1);
signal ex3_n_dacw_dbg_cint_xu : std_ulogic_vector(0 to threads-1);
signal msr_guest_priv : std_ulogic_vector(0 to threads-1);
signal ex3_n_spr_hpriv_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_instr_hpriv_int_xuuc : std_ulogic_vector(0 to threads-1);
signal ex3_n_ehpriv_hpriv_int : std_ulogic_vector(0 to threads-1);
signal ex3_np1_dbg_cint_en : std_ulogic_vector(0 to threads-1);
signal ex3_np1_instr_flush : std_ulogic_vector(0 to threads-1);
signal ex3_np1_init_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_ram_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_mmuhold_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_ici_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_dci_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_mmu_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_multcoll_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_lsu_dcpe_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_fu_rfpe_flush, ex3_n_fu_rfpe_det : std_ulogic_vector(0 to threads-1);
signal ex3_n_xu_rfpe_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_sprg_ue_flush : std_ulogic_vector(0 to threads-1);
signal ex3_np1_sprg_ce_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_fu_dep_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_lsualign_2ucode_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_fu_2ucode_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_derat_dep_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_lsu_dep_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_lsu_ddpe_flush : std_ulogic_vector(0 to threads-1);
signal ex4_n_ldq_full_flush : std_ulogic_vector(0 to threads-1);
signal ex4_n_ieratre_par_mcint : std_ulogic_vector(0 to threads-1);
signal ex4_n_deratre_par_mcint : std_ulogic_vector(0 to threads-1);
signal ex4_n_tlbwemiss_dlrat_int : std_ulogic_vector(0 to threads-1);
signal ex4_n_tlbwe_pil_prog_int : std_ulogic_vector(0 to threads-1);
signal ex4_n_tlbmh_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex4_n_tlbpar_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex4_n_mmu_hpriv_int : std_ulogic_vector(0 to threads-1);
signal ex4_ena_prog_int : std_ulogic_vector(0 to threads-1);
signal ex4_barrier_flush : std_ulogic_vector(0 to threads-1);
signal ex4_lsu_barr_flush : std_ulogic_vector(0 to threads-1);
signal ex4_div_barr_flush : std_ulogic_vector(0 to threads-1);
signal ex3_hold_block : std_ulogic_vector(0 to threads-1);
signal ex5_csi : std_ulogic_vector(0 to threads-1);
signal exx_thread_stop_mcflush : std_ulogic_vector(0 to threads-1);
signal exx_lateflush_mcflush : std_ulogic_vector(0 to threads-1);
signal exx_csi_mcflush : std_ulogic_vector(0 to threads-1);
signal exx_hold0_mcflush : std_ulogic_vector(0 to threads-1);
signal exx_hold1_mcflush : std_ulogic_vector(0 to threads-1);
signal exx_barr_mcflush : std_ulogic_vector(0 to threads-1);
signal ex4_late_flush : std_ulogic_vector(0 to threads-1);
signal ex4_n_ddmh_mchk_mcint : std_ulogic_vector(0 to threads-1);
signal ex3_n_ierat_flush : std_ulogic_vector(0 to threads-1);
signal ex3_async_int_block_cond : std_ulogic_vector(0 to threads-1);
signal ex3_base_int_block_cond : std_ulogic_vector(0 to threads-1);
signal ex3_mchk_int_block_cond : std_ulogic_vector(0 to threads-1);
signal ex5_cm_hold_cond : std_ulogic_vector(0 to threads-1);
signal exx_cm_hold : std_ulogic_vector(0 to threads-1);
signal ex5_cia_p1 : IFAR;
signal ex5_msr_cm : std_ulogic;
signal ex2_msr_updater : std_ulogic;
signal ex4_async_block : std_ulogic_vector(0 to threads-1);
signal any_ext_perf_ints : std_ulogic_vector(0 to threads-1);
signal any_ext_perf_int : std_ulogic;
signal ext_int_asserted, crit_int_asserted : std_ulogic_vector(0 to threads-1);
signal perf_int_asserted : std_ulogic_vector(0 to threads-1);
signal rf1_is_dci : std_ulogic;
signal rf1_is_ici : std_ulogic;
signal rf1_th_fld_val : std_ulogic;
signal rf1_opcode_is_31 : boolean;
signal rf1_opcode_is_0 : boolean;
signal rf1_opcode_is_19 : boolean;
signal ex3_dlk_dstor_cond0, ex3_dlk_dstor_cond1 : std_ulogic_vector(0 to threads-1);
signal ex3_dlk_dstor_cond2, ex3_dlk_dstor_cond : std_ulogic_vector(0 to threads-1);
signal ex4_n_fu_rfpe_flush : std_ulogic_vector(0 to threads-1);
signal ex4_n_xu_rfpe_flush : std_ulogic_vector(0 to threads-1);
signal ex4_n_flush_pri_ehpriv : std_ulogic_vector(0 to threads-1);
signal ici_hold_present : std_ulogic;
signal ex4_n_fu_rfpe_set, ex4_n_xu_rfpe_set : std_ulogic;
signal pc_err_mcsr, pc_err_mcsr_rpt : std_ulogic_vector(0 to 11*threads-1);
signal dbg_group0, dbg_group1, dbg_group2, dbg_group3,
dbg_group4, dbg_group5, dbg_group6, dbg_group7,
dbg_group8, dbg_group9, dbg_group10,dbg_group11,
dbg_group12,dbg_group13,dbg_group14,dbg_group15,
dbg_group16,dbg_group17,dbg_group18,dbg_group19,
dbg_group20,dbg_group21,dbg_group22,dbg_group23,
dbg_group24,dbg_group25,dbg_group26,dbg_group27,
dbg_group28,dbg_group29,dbg_group30,dbg_group31: std_ulogic_vector(0 to 87);
signal trg_group0 ,trg_group1 ,trg_group2 ,trg_group3 : std_ulogic_vector(0 to 11);
signal cpl_debug_data_in_int : std_ulogic_vector(0 to 87);
signal dbg_match : ARY3;
signal dbg_misc : ARY4;
signal dbg_valids, dbg_valids_opc, dbg_msr, dbg_int_types : ARY5;
signal dbg_async_block : ARY7;
signal dbg_iuflush : ARY9;
signal ex5_flush_pri_enc_dbg,dbg_hold : ARY6;
signal ex4_cia_out : ARY_IFAR;
signal ex5_axu_ucode_val_opc : std_ulogic_vector(0 to threads-1);
signal ex5_axu_val_dbg_opc, ex5_xu_val_dbg_opc : std_ulogic_vector(0 to threads-1);
signal br_debug : std_ulogic_vector(0 to 11);
signal ex4_xu_siar_val, ex4_axu_siar_val : std_ulogic;
signal ex4_siar_cpl : std_ulogic_vector(0 to threads-1);
signal ex4_siar_sel_act : std_ulogic;
signal ex4_siar_axu_sel : std_ulogic;
signal ex4_siar_tid, ex4_siar_sel, siar_cm : std_ulogic_vector(0 to 3);
signal ex5_xu_ppc_cpl, ex5_axu_ppc_cpl : std_ulogic_vector(0 to threads-1);
signal ex5_xu_trace_val, ex5_axu_trace_val : std_ulogic;
signal exx_act : std_ulogic_vector(0 to 4);
signal ex1_ifar_act, ex2_ifar_act, ex3_ifar_act : std_ulogic_vector(0 to threads-1);
signal ex4_nia_act : std_ulogic_vector(0 to threads-1);
signal ex2_axu_act : std_ulogic;
signal ex4_dbsr_act, ex4_mcsr_act, ex4_esr_act : std_ulogic_vector(0 to threads-1);
signal ex5_mcsr_act : std_ulogic;
signal ex3_uc_cia_act : std_ulogic_vector(0 to threads-1);
signal exx_flush_inf_act, ex4_flush_inf_act : std_ulogic;
signal spr_bit_w_int_act : std_ulogic;
signal exx_np1_icmp_dbg_cint : std_ulogic_vector(0 to threads-1);
signal exx_np1_icmp_dbg_event : std_ulogic_vector(0 to threads-1);
signal ex4_np1_icmp_dbg_en : std_ulogic_vector(0 to threads-1);
signal ex4_n_flush_pri_icmp : std_ulogic_vector(0 to threads-1);
signal ex4_n_flush_pri_irpt : std_ulogic_vector(0 to threads-1);
signal ex4_np1_icmp_dbg_event : std_ulogic_vector(0 to threads-1);
signal ex4_np1_icmp_dbg_cint : std_ulogic_vector(0 to threads-1);
signal ex4_icmp_async_block : std_ulogic_vector(0 to threads-1);
signal exx_np1_irpt_dbg_cint : std_ulogic_vector(0 to threads-1);
signal exx_np1_irpt_dbg_event : std_ulogic_vector(0 to threads-1);
signal ex4_n_flush_pri_dacr_async : std_ulogic_vector(0 to threads-1);
signal ex4_ram_cpl : std_ulogic_vector(0 to threads-1);
signal ex4_siar_cm_mask : IFAR;
signal ex3_n_tlb_mchk_flush_en : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbmh_mchk_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_tlbpe_mchk_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_dexx_mchk_flush_en : std_ulogic_vector(0 to threads-1);
signal ex3_n_demh_mchk_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_depe_mchk_flush : std_ulogic_vector(0 to threads-1);
signal ex3_n_mmu_mchk_flush_only : std_ulogic;
signal ex3_is_any_ldst : std_ulogic;
signal ex5_ram_issue_gated : std_ulogic_vector(0 to threads-1);
signal rfpe_quiesced : std_ulogic;
signal rfpe_quiesce_cond_b, rfpe_quiesced_ctr_zero_b : std_ulogic;
signal ex4_axu_trap_pie : std_ulogic_vector(0 to threads-1);
signal rf1_is_tlbre : std_ulogic;
signal rf1_is_tlbsx, rf1_is_tlbsrx : std_ulogic;
signal tlbsx_async_block_set : std_ulogic_vector(0 to threads-1);
signal tlbsx_async_block_clr : std_ulogic_vector(0 to threads-1);
begin
tiup <= '1';
tidn <= '0';
exx_act_d <= (clk_override_q or clkg_ctl_q or dec_cpl_rf0_act) & exx_act(0 to 3);
exx_act(0) <= exx_act_q(0);
exx_act(1) <= exx_act_q(1);
exx_act(2) <= exx_act_q(2);
exx_act(3) <= exx_act_q(3) or or_reduce(ex3_axu_val_q);
exx_act(4) <= exx_act_q(4);
ex2_axu_act <= or_reduce(ex2_axu_act_q) or clk_override_q;
ex1_ifar_act <= ex1_xu_val_q or ex1_xu_issued_q or ex1_ucode_val_q or ex1_axu_act_q or (0 to threads-1=>clk_override_q);
ex2_ifar_act <= ex2_xu_val_q or ex2_xu_issued_q or ex2_ucode_val_q or ex2_axu_act_q or (0 to threads-1=>clk_override_q);
ex3_ifar_act <= ex3_xu_val_q or ex3_xu_issued_q or ex3_ucode_val_q or ex3_axu_val_q or (0 to threads-1=>clk_override_q) or ex3_axu_issued_q;
spr_bit_w_int_act <= spr_bit_act_q or clkg_ctl_q;
-- Deocode
rf1_opcode_is_31 <= dec_cpl_rf1_instr(0 to 5) = "011111";
rf1_opcode_is_0 <= dec_cpl_rf1_instr(0 to 5) = "000000";
rf1_opcode_is_19 <= dec_cpl_rf1_instr(0 to 5) = "010011";
rf1_is_tlbsx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1110010010" else '0'; -- 31/914
rf1_is_tlbsrx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1101010010" else '0'; -- 31/850
rf1_is_tlbre <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1110110010" else '0'; -- 31/946
rf1_is_tlbwe <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1111010010" else '0'; -- 31/978
rf1_is_eratre <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0010110011" else '0'; -- 31/179
rf1_is_wait <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0000111110" else '0';
rf1_is_icblc <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0011100110" else '0';
rf1_is_icbtls <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0111100110" else '0';
rf1_is_dcblc <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0110000110" else '0';
rf1_is_dcbtls <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0010100110" else '0';
rf1_is_dcbtstls <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0010000110" else '0';
rf1_is_rfi <= '1' when rf1_opcode_is_19 and dec_cpl_rf1_instr(21 to 30) = "0000110010" else '0'; -- 19/50
rf1_is_rfci <= '1' when rf1_opcode_is_19 and dec_cpl_rf1_instr(21 to 30) = "0000110011" else '0'; -- 19/51
rf1_is_rfgi <= '1' when rf1_opcode_is_19 and dec_cpl_rf1_instr(21 to 30) = "0001100110" else '0'; -- 19/102
rf1_is_rfmci <= '1' when rf1_opcode_is_19 and dec_cpl_rf1_instr(21 to 30) = "0000100110" else '0'; -- 19/38
rf1_is_mfspr <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0101010011" else '0'; -- 31/339
rf1_is_mtspr <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0111010011" else '0'; -- 31/467
rf1_is_mtmsr <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0010010010" else '0'; -- 31/146
rf1_is_wrtee <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0010000011" else '0'; -- 31/131
rf1_is_wrteei <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0010100011" else '0'; -- 31/163
rf1_is_erativax <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1100110011" else '0'; -- 31/819
rf1_is_isync <= '1' when rf1_opcode_is_19 and dec_cpl_rf1_instr(21 to 30) = "0010010110" else '0'; -- 19/150
rf1_is_sc <= '1' when dec_cpl_rf1_instr( 0 to 5) = "010001" else '0'; -- 17
rf1_is_dci <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0111000110" else '0'; -- 31/454
rf1_is_ici <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1111000110" else '0'; -- 31/966
rf1_is_tlbivax <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1100010010" else '0'; -- 31/786
rf1_is_ehpriv <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "0100001110" else '0'; -- 31/270
rf1_is_attn <= '1' when rf1_opcode_is_0 and dec_cpl_rf1_instr(21 to 30) = "0100000000" else '0'; -- 0/256
rf1_is_icswx <= '1' when rf1_opcode_is_31 and (dec_cpl_rf1_instr(21 to 30) = "0110010110" or -- 31/406
dec_cpl_rf1_instr(21 to 30) = "1110110110") else '0'; -- 31/950
rf1_is_any_ldstmw <= '1' when dec_cpl_rf1_instr(0 to 4) = "10111" else '0'; -- 46/47
rf1_sc_lev <= dec_cpl_rf1_instr(26);
rf1_is_ldbrx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1000010100" else '0';
rf1_is_lwbrx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1000010110" else '0';
rf1_is_lhbrx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1100010110" else '0';
rf1_is_stdbrx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1010010100" else '0';
rf1_is_stwbrx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1010010110" else '0';
rf1_is_sthbrx <= '1' when rf1_opcode_is_31 and dec_cpl_rf1_instr(21 to 30) = "1110010110" else '0';
rf1_byte_rev <= rf1_is_lhbrx or rf1_is_lwbrx or rf1_is_ldbrx or rf1_is_sthbrx or rf1_is_stwbrx or rf1_is_stdbrx;
rf1_is_dlock <= rf1_is_dcblc or rf1_is_dcbtls or rf1_is_dcbtstls;
rf1_is_ilock <= rf1_is_icblc or rf1_is_icbtls;
rf1_is_mtxucr0 <= rf1_is_mtspr and (dec_cpl_rf1_instr(11 to 20) = "1011011111"); -- 1014
rf1_th_fld_val <= (dec_cpl_rf1_instr(7 to 10) = "0000") or (dec_cpl_rf1_instr(7 to 10) = "0010");
ex1_is_dci_d <= rf1_is_dci and rf1_th_fld_val;
ex1_is_ici_d <= rf1_is_ici and rf1_th_fld_val;
ex3_np1_instr_flush_d <= (ex2_is_mtmsr_q or
ex2_is_isync_q or
ex2_is_tlbivax_q or
ex2_is_erativax_q or
ex2_is_attn_q or
ex2_is_dci_q or
ex2_is_ici_q);
spare_4_d(0) <= not (rf1_is_tlbsx or rf1_is_tlbsrx);
spare_4_d(1 to 3) <= not spare_4_q(0 to 2);
spare_4_d(4 to 7) <= not (tlbsx_async_block_set or (spare_4_q(4 to 7) and not tlbsx_async_block_clr));
tlbsx_async_block_set <= gate(ex4_instr_cpl_q,spare_4_q(3));
tlbsx_async_block_clr <= ex4_anyuc_val_q or ex5_is_any_int or ex4_thread_stop_q;
xuq_cpl_slice : for t in 0 to threads-1 generate
signal ex4_cia_b_q, ex4_cia_b_d : IFAR;
signal ex4_uc_cia_q, ex4_uc_cia_d : IFAR_UC;
signal ex4_axu_instr_type_q, ex4_axu_instr_type_d : std_ulogic_vector(0 to 2);
signal ex5_mem_attr_q : std_ulogic_vector(lsu_xu_ex3_attr'range);
signal ex5_ivo_sel_q, ex4_ivo_sel : std_ulogic_vector(0 to ivos-1);
signal ex5_flush_pri_dbg_q : std_ulogic_vector(0 to Fnp1); -- input=>ex4_flush_pri, act=>trace_bus_enable_q, sleep=>Y, needs_sreset=>0, scan=>N
signal ex4_cia_flush, flush_ifar : IFAR;
signal ex4_axu_instr_type : std_ulogic_vector(0 to 2);
signal ex3_ifar, ex4_ifar, ex3_spr_lr : IFAR;
signal ex5_flush_ifar : IFAR;
signal ex4_n_flush_cond, ex4_n_flush_pri : std_ulogic_vector(0 to Fn);
signal ex4_np1_flush_cond, ex4_np1_flush_pri : std_ulogic_vector(Fn+1 to Fnp1);
signal ex4_np1_flush_pri_nongated : std_ulogic_vector(Fn+1 to Fnp1);
signal ex4_np1_flush_pri_instr : std_ulogic_vector(0 to RFI);
signal ex4_flush_pri : std_ulogic_vector(0 to Fnp1);
signal ex4_n_flush_pri_unavail : std_ulogic_vector(0 to VEC);
signal ex4_n_flush_pri_ena : std_ulogic_vector(0 to 1);
signal ex5_ivo_mask_guest : std_ulogic_vector(0 to ivos-1);
signal ex5_ivo_guest_sel, ex5_ivo_hypv_sel : std_ulogic_vector(0 to ivos-1);
signal ex5_ivo : std_ulogic_vector(52 to 59);
signal ex4_nia : IFAR;
signal ex4_nia_instr, ex4_nia_cpl : IFAR;
signal ex4_cia : IFAR;
signal ex4_cia_p1 : IFAR;
signal ex4_cia_sel, ex4_nia_sel : IFAR;
signal ex4_uc_nia : IFAR_UC;
signal ex4_esr_mask : std_ulogic_vector(0 to cpl_spr_ex5_esr'length/threads-1);
signal ex4_cm_mask : IFAR;
signal ex4_dbsr_cond : std_ulogic_vector(0 to 1);
signal ex4_dbsr_en_cond : std_ulogic_vector(0 to 1);
signal ex4_esr_cond, ex4_esr_pri : std_ulogic_vector(0 to UCT);
begin
--=============================================================================
--=============================================================================
--
-- Interrupt Conditions
--
--=============================================================================
--=============================================================================
-------------------------------------------------------------------------------
-- Critical External Input Interrupt
-------------------------------------------------------------------------------
ex3_np1_crit_cint(t) <= spr_cpl_crit_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Machine Check Interrupt
-------------------------------------------------------------------------------
-- Enable
ex3_mchk_int_en(t) <= (msr_me_q(t) or msr_gs_q(t)) and not ex3_mchk_int_block(t);
-------------------------------------------------------------------------------
-- N Flushes [tlb parity error flush]
-------------------------------------------------------------------------------
ex3_n_tlbmh_mchk_flush(t) <= ex3_n_tlb_mchk_flush_en(t) and ex3_tlb_multihit_err_q(t);
ex3_n_tlbpe_mchk_flush(t) <= ex3_n_tlb_mchk_flush_en(t) and ex3_tlb_par_err_q(t);
ex3_n_tlb_mchk_flush(t) <= ex3_n_tlbmh_mchk_flush(t) or
ex3_n_tlbpe_mchk_flush(t);
-------------------------------------------------------------------------------
-- Instr Machine Check Interrupt
-------------------------------------------------------------------------------
ex3_n_tlb_mchk_flush_en(t) <= ex3_n_mmu_mchk_flush_only and mmu_eratmiss_done_q(t);
ex3_n_ieratsx_par_mchk_mcint(t) <= ex3_xu_val(t) and iu_xu_ierat_ex3_par_err(t);
-- Conditions
ex3_n_iemh_mchk_mcint_xuuc(t) <= ex3_iu_error_q(6);
ex3_n_iepe_mchk_mcint_xuuc(t) <= ex3_iu_error_q(5);
ex3_n_il2ecc_mchk_mcint_xuuc(t) <= ex3_iu_error_q(2);
ex3_n_tlbmh_mchk_mcint(t) <= not ex3_n_tlb_mchk_flush_en(t) and ex3_tlb_multihit_err_q(t);
ex3_n_tlbpe_mchk_mcint(t) <= not ex3_n_tlb_mchk_flush_en(t) and ex3_tlb_par_err_q(t);
ex3_n_tlblru_mchk_mcint(t) <= ex3_tlb_lru_par_err_q(t);
ex3_n_tlbsrej_mchk_mcint(t) <= ex3_tlb_local_snoop_reject_q(t);
ex3_n_ieratre_par_mchk_mcint(t) <= ex5_xu_val_q(t) and ex5_ieratre_par_err_q(t);
spare_5_d(t) <= not(ex3_n_tlbpe_mchk_mcint(t) or ex3_n_tlblru_mchk_mcint(t));
-- Summary
ex3_n_imchk_mcint(t) <=(ex3_xuuc_val(t) and (ex3_n_iemh_mchk_mcint_xuuc(t) or
ex3_n_iepe_mchk_mcint_xuuc(t) or
ex3_n_il2ecc_mchk_mcint_xuuc(t)))
or
ex3_n_tlbmh_mchk_mcint(t) or
ex3_n_tlbpe_mchk_mcint(t) or
ex3_n_tlblru_mchk_mcint(t) or
ex3_n_tlbsrej_mchk_mcint(t) or
ex3_n_ieratre_par_mchk_mcint(t);
-------------------------------------------------------------------------------
-- Data Machine Check Interrupt
-------------------------------------------------------------------------------
ex3_n_dexx_mchk_flush_en(t) <= ex3_n_mmu_mchk_flush_only and ex3_is_any_ldst;
-- Conditions
ex3_n_demh_mchk_mcint_xu(t) <= not ex3_n_dexx_mchk_flush_en(t) and lsu_xu_ex3_derat_multihit_err(t);
ex3_n_depe_mchk_mcint_xu(t) <= not ex3_n_dexx_mchk_flush_en(t) and lsu_xu_ex3_derat_par_err(t);
ex3_n_dl2ecc_mchk_mcint(t) <= lsu_xu_ex3_l2_uc_ecc_err(t);
ex3_n_ddpe_mchk_mcint_xu(t) <= lsu_xu_ex3_ddir_par_err and spr_xucr0_mddp;
ex3_n_deratre_par_mchk_mcint(t) <= ex5_xu_val_q(t) and ex5_deratre_par_err_q(t);
ex3_n_dpovr_mchk_mcint(t) <= ex4_xu_val(t) and ex4_mtdp_nr_q and not lsu_xu_ex4_mtdp_cr_status;
ex3_n_dcpe_mchk_mcint(t) <= ex6_xu_val_q(t) and lsu_xu_ex6_datc_par_err and spr_xucr0_mdcp;
-- Summary
ex3_n_dmchk_mcint(t) <=(ex3_xu_val(t) and (ex3_n_demh_mchk_mcint_xu(t) or
ex3_n_depe_mchk_mcint_xu(t) or
ex3_n_ddpe_mchk_mcint_xu(t)))
or
ex3_n_dl2ecc_mchk_mcint(t) or
ex3_n_dpovr_mchk_mcint(t) or
ex3_n_dcpe_mchk_mcint(t) or
ex3_n_deratre_par_mchk_mcint(t);
ex4_n_ddmh_mchk_en_d(t) <= ex3_xu_val(t) and dec_cpl_ex3_ddmh_en and spr_xucr4_mddmh;
ex4_n_ddmh_mchk_mcint(t) <= ex4_n_ddmh_mchk_en_q(t) and lsu_xu_ex4_n_lsu_ddmh_flush(t);
-------------------------------------------------------------------------------
-- Async Machine Check Interrupt
-------------------------------------------------------------------------------
ex3_np1_ext_mchk_mcint(t) <= external_mchk_q(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Data Storage Interrupt
-------------------------------------------------------------------------------
ex3_ct(t) <=(spr_cpl_ex3_ct_le(t) and lsu_xu_ex3_attr(8)) or
(spr_cpl_ex3_ct_be(t) and not lsu_xu_ex3_attr(8));
ex3_dlk_dstor_cond0(t) <= msrp_uclep_q(t) and msr_gs_q(t);
ex3_dlk_dstor_cond1(t) <= not msr_ucle_q(t) and not msrp_uclep_q(t);
ex3_dlk_dstor_cond2(t) <= not msr_ucle_q(t) and not msr_gs_q(t);
ex3_dlk_dstor_cond(t) <= ex3_dlk_dstor_cond0(t) or
ex3_dlk_dstor_cond1(t) or
ex3_dlk_dstor_cond2(t);
-- Conditions
ex3_n_rwaccess_dstor_int(t) <= ex3_xuuc_val(t) and derat_xu_ex3_dsi(t);
ex3_n_i1w1lock_dstor_int(t) <= ex3_xu_val(t) and lsu_xu_ex3_dsi(t);
ex3_n_uct_dstor_int(t) <= ex3_xu_val(t) and ex3_is_icswx_q and not ex3_ct(t);
ex3_n_dlk0_dstor_int(t) <= ex3_xu_val(t) and msr_pr_q(t) and ex3_dlk_dstor_cond(t) and ex3_is_dlock_q;
ex3_n_dlk1_dstor_int(t) <= ex3_xu_val(t) and msr_pr_q(t) and ex3_dlk_dstor_cond(t) and ex3_is_ilock_q;
ex3_n_tlbi_dstor_int(t) <= ex3_tlb_inelig_q(t) and ex3_mmu_esr_data_q(t); -- PTE Realod when all ways are IPROT=1
ex3_n_pt_dstor_int(t) <= ex3_tlb_pt_fault_q(t) and ex3_mmu_esr_data_q(t); -- HTW attempted to install invalid entry in TLB
ex3_n_vf_dstor_int(t) <= ex3_xuuc_val(t) and lsu_xu_ex3_derat_vf and ex3_is_any_ldst;
-- Summary
ex3_n_dstor_int(t) <= ex3_n_rwaccess_dstor_int(t) or
ex3_n_i1w1lock_dstor_int(t) or
ex3_n_uct_dstor_int(t) or
ex3_n_dlk0_dstor_int(t) or
ex3_n_dlk1_dstor_int(t) or
ex3_n_tlbi_dstor_int(t) or
ex3_n_pt_dstor_int(t) or
ex3_n_vf_dstor_int(t);
-------------------------------------------------------------------------------
-- Instruction Storage Interrupt
-------------------------------------------------------------------------------
-- Conditions
ex3_n_exaccess_istor_int(t) <= ex3_xuuc_val(t) and ex3_iu_error_q(4);
ex3_n_tlbi_istor_int(t) <= ex3_tlb_inelig_q(t) and not ex3_mmu_esr_data_q(t); -- PTE Realod when all ways are IPROT=1
ex3_n_pt_istor_int(t) <= ex3_tlb_pt_fault_q(t) and not ex3_mmu_esr_data_q(t); -- HTW attempted to install invalid entry in TLB
-- Summary
ex3_n_istor_int(t) <= ex3_n_exaccess_istor_int(t) or
ex3_n_tlbi_istor_int(t) or
ex3_n_pt_istor_int(t);
-------------------------------------------------------------------------------
-- External Input Interrupt
-------------------------------------------------------------------------------
ex3_np1_ext_int(t) <= spr_cpl_ext_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Alignment Interrupt
-------------------------------------------------------------------------------
-- Conditions
ex3_n_ldstmw_align_int(t) <= ex3_ucode_val(t) and ex3_n_align_int_q;
ex3_n_ldst_align_int(t) <= ex3_xu_val(t) and lsu_xu_ex3_align(t);
-- Summary
ex3_n_align_int(t) <= ex3_n_ldstmw_align_int(t) or
ex3_n_ldst_align_int(t);
-------------------------------------------------------------------------------
-- Program Interrupt [illegal]
-------------------------------------------------------------------------------
-- Conditions
-- Priv SPR accessed in problem state needs to get Priv-Prog Int even if it's an illegal SPR.
ex3_n_sprpil_prog_int_xu(t) <= spr_cpl_ex3_spr_illeg and not (spr_cpl_ex3_spr_priv and msr_pr_q(t));
ex3_n_tlbpil_prog_int_xu(t) <= dec_cpl_ex3_tlb_illeg;
ex3_n_mmupil_prog_int_xu(t) <= mm_xu_illeg_instr(t) and not ex7_is_tlbwe_q(t);
ex3_n_xupil_prog_int_xuuc(t) <= ex3_illegal_op_q;
ex3_n_iupil_prog_int_xuuc(t) <= ex3_iu_error_q(1);
-- Summary
ex3_n_pil_prog_int(t) <=(ex3_xuuc_val(t) and (ex3_n_iupil_prog_int_xuuc(t) or
ex3_n_xupil_prog_int_xuuc(t)))
or
(ex3_xu_val(t) and (ex3_n_sprpil_prog_int_xu(t) or
ex3_n_tlbpil_prog_int_xu(t) or
ex3_n_mmupil_prog_int_xu(t)));
-------------------------------------------------------------------------------
-- Program Interrupt [illegal MAS settings]
-------------------------------------------------------------------------------
ex3_n_tlbwe_pil_prog_int(t) <= ex3_tlb_illeg_q(t) and ex8_is_tlbwe_q(t);
-------------------------------------------------------------------------------
-- Program Interrupt [privileged]
-------------------------------------------------------------------------------
-- Enable
ex3_n_ppr_prog_int_en(t) <= msr_pr_q(t) and not (ex3_n_dlk0_dstor_int(t) or
ex3_n_dlk1_dstor_int(t));
-- Conditions
ex3_n_sprppr_prog_int_xuuc(t) <= spr_cpl_ex3_spr_priv;
ex3_n_instrppr_prog_int_xuuc(t) <= dec_cpl_ex3_instr_priv and not ex3_is_ehpriv_q;
-- Summary
ex3_n_ppr_prog_int(t) <= ex3_n_ppr_prog_int_en(t) and
ex3_xuuc_val(t) and (ex3_n_sprppr_prog_int_xuuc(t) or
ex3_n_instrppr_prog_int_xuuc(t));
-------------------------------------------------------------------------------
-- Program Interrupt [unimplemented]
-------------------------------------------------------------------------------
-- Add the 2ucode flush.. otherwise could run into priority problems.
ex3_n_puo_prog_int(t) <= (ex3_ucode_val(t) or ex3_n_2ucode_flush(t)) and spr_ccr2_ucode_dis;
-------------------------------------------------------------------------------
-- Program Interrupt [trap]
-------------------------------------------------------------------------------
ex3_np1_ptr_prog_int(t) <= ex3_xu_val(t) and alu_cpl_ex3_trap_val and not (spr_dbcr0_trap(t) and msr_de_q(t) and dbcr0_idm_q(t) and debug_event_en_q(t));
-------------------------------------------------------------------------------
-- Program Interrupt [enabled]
-------------------------------------------------------------------------------
-- Enable
-- Need to block while base interrupts are in progress, until (FE0|FE1)==0. This will keep this from occuring twice.
ex3_n_fpena_prog_int(t) <= fu_xu_ex3_trap(t) and spr_cpl_fp_precise(t) and not ex3_async_int_block_noaxu(t);
ex3_n_apena_prog_int(t) <= ex3_any_val(t) and fu_xu_ex3_ap_int_req(t);
-- Summary
ex3_n_ena_prog_int(t) <=
ex3_n_fpena_prog_int(t) or
ex3_n_apena_prog_int(t);
-------------------------------------------------------------------------------
-- XX Unavailable Interrupt
-------------------------------------------------------------------------------
-- Conditions
ex3_n_fu_fp_unavail_int_axu(t) <= ex3_axu_instr_type_q(2+3*t) and not msr_fp_q(t);
ex3_n_xu_fp_unavail_int_xuuc(t) <= dec_cpl_ex3_axu_instr_type(2) and not msr_fp_q(t);
ex3_n_fu_ap_unavail_int_axu(t) <= ex3_axu_instr_type_q(3*t) and not ccr2_ap_q(t);
ex3_n_xu_ap_unavail_int_xuuc(t) <= dec_cpl_ex3_axu_instr_type(0) and not ccr2_ap_q(t);
ex3_n_fu_vec_unavail_int_axu(t) <= ex3_axu_instr_type_q(1+3*t) and not msr_spv_q(t);
ex3_n_xu_vec_unavail_int_xuuc(t) <= dec_cpl_ex3_axu_instr_type(1) and not msr_spv_q(t);
-- Summary
ex3_n_fp_unavail_int(t) <=(ex3_axu_val(t) and ex3_n_fu_fp_unavail_int_axu(t)) or
(ex3_xuuc_val(t) and ex3_n_xu_fp_unavail_int_xuuc(t));
ex3_n_ap_unavail_int(t) <=(ex3_axu_val(t) and ex3_n_fu_ap_unavail_int_axu(t)) or
(ex3_xuuc_val(t) and ex3_n_xu_ap_unavail_int_xuuc(t));
ex3_n_vec_unavail_int(t) <=(ex3_axu_val(t) and ex3_n_fu_vec_unavail_int_axu(t)) or
(ex3_xuuc_val(t) and ex3_n_xu_vec_unavail_int_xuuc(t));
ex3_n_any_unavail_int(t) <=(ex3_axu_val(t) and (ex3_n_fu_fp_unavail_int_axu(t) or
ex3_n_fu_ap_unavail_int_axu(t) or
ex3_n_fu_vec_unavail_int_axu(t)))
or
(ex3_xuuc_val(t) and (ex3_n_xu_fp_unavail_int_xuuc(t) or
ex3_n_xu_ap_unavail_int_xuuc(t) or
ex3_n_xu_vec_unavail_int_xuuc(t)));
-------------------------------------------------------------------------------
-- Instruction Based Interrupts [rfi,sc,trap]
-------------------------------------------------------------------------------
-- Conditions
ex3_np1_sc_int(t) <= ex3_xu_val(t) and ex3_is_sc_q;
ex3_np1_rfi(t) <= ex3_xu_val(t) and (ex3_is_rfmci_q or ex3_is_rfci_q or ex3_is_rfi_q or ex3_is_rfgi_q);
-- Summary
ex3_np1_instr_int(t) <= ex3_np1_ptr_prog_int(t) or
ex3_np1_sc_int(t) or
ex3_np1_rfi(t);
-------------------------------------------------------------------------------
-- Decrementer Interrupt
-------------------------------------------------------------------------------
ex3_np1_dec_int(t) <= spr_cpl_dec_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Fixed Interval Timer Interrupt
-------------------------------------------------------------------------------
ex3_np1_fit_int(t) <= spr_cpl_fit_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Watchdog Interrupt
-------------------------------------------------------------------------------
ex3_np1_wdog_cint(t) <= spr_cpl_wdog_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Data TLB Interrupt
-------------------------------------------------------------------------------
-- Conditions
ex3_n_deratmiss_dtlb_int(t) <= ex3_xuuc_val(t) and derat_xu_ex3_miss(t) and spr_ccr2_notlb;
ex3_n_tlbmiss_dtlb_int(t) <= ex3_tlb_miss_q(t) and ex3_mmu_esr_data_q(t) and not spr_ccr2_notlb;
-- Summary
ex3_n_dtlb_int(t) <= ex3_n_deratmiss_dtlb_int(t) or
ex3_n_tlbmiss_dtlb_int(t);
-------------------------------------------------------------------------------
-- Instruction TLB Interrupt
-------------------------------------------------------------------------------
-- Conditions
ex3_n_ieratmiss_itlb_int(t) <= ex3_xuuc_val(t) and ex3_iu_error_q(7) and spr_ccr2_notlb;
ex3_n_tlbmiss_itlb_int(t) <= ex3_tlb_miss_q(t) and not ex3_mmu_esr_data_q(t) and not spr_ccr2_notlb;
-- Summary
ex3_n_itlb_int(t) <= ex3_n_ieratmiss_itlb_int(t) or
ex3_n_tlbmiss_itlb_int(t);
-------------------------------------------------------------------------------
-- Debug Interrupts [synchronous]
-------------------------------------------------------------------------------
-- Enabled
debug_event_en_d(t) <= not (spr_epcr_duvd(t) and not spr_msr_gs(t) and not spr_msr_pr(t));
-- Conditions
-- Note: BRT & ICMP don't record in the DBSR if MSR[DE]=0
ex3_n_brt_dbg_cint(t) <= ex3_xu_val(t) and ex3_br_update_q and spr_dbcr0_brt(t) and msr_de_q(t) and debug_event_en_q(t);
ex3_n_trap_dbg_cint(t) <= ex3_xu_val(t) and alu_cpl_ex3_trap_val and spr_dbcr0_trap(t) and debug_event_en_q(t);
ex3_n_ret_dbg_cint(t) <= ex3_xu_val(t) and (ex3_is_rfi_q or ex3_is_rfgi_q) and spr_dbcr0_ret(t) and debug_event_en_q(t);
ex3_n_iac_dbg_cint(t) <= not ram_mode_q(t) and not ex5_in_ucode_q(t) and
((ex3_xuuc_val(t) and not ex3_xu_is_ucode_q) or
(ex3_axu_val(t) and not ex3_axu_is_ucode_q(t))) and
(ex3_iac1_cmpr(t) or
ex3_iac2_cmpr(t) or
ex3_iac3_cmpr(t) or
ex3_iac4_cmpr(t)) and debug_event_en_q(t);
ex3_n_async_dacr_dbg_cint(t) <= not ex3_async_int_block(t) and
(fxu_cpl_ex3_dac1r_cmpr_async(t) or
fxu_cpl_ex3_dac2r_cmpr_async(t));
ex3_n_dacr_dbg_cint_xu(t) <= fxu_cpl_ex3_dac1r_cmpr(t) or
fxu_cpl_ex3_dac2r_cmpr(t) or
fxu_cpl_ex3_dac3r_cmpr(t) or
fxu_cpl_ex3_dac4r_cmpr(t);
ex3_n_dacw_dbg_cint_xu(t) <= fxu_cpl_ex3_dac1w_cmpr(t) or
fxu_cpl_ex3_dac2w_cmpr(t) or
fxu_cpl_ex3_dac3w_cmpr(t) or
fxu_cpl_ex3_dac4w_cmpr(t);
ex3_n_dac_dbg_cint(t) <=(ex3_xu_val(t) and ( ex3_n_dacr_dbg_cint_xu(t) or
ex3_n_dacw_dbg_cint_xu(t))) and debug_event_en_q(t);
ex3_n_ivc_dbg_match(t) <= not ex5_in_ucode_q(t) and (
(ex3_xuuc_val(t) and ex3_xu_instr_match_q and not ex3_xu_is_ucode_q) or
(ex3_axu_val(t) and ex3_axu_instr_match_q(t) and not ex3_axu_is_ucode_q(t)));
ex3_n_ivc_dbg_cint(t) <= spr_dbcr3_ivc(t) and ex3_n_ivc_dbg_match(t) and debug_event_en_q(t);
ex3_n_instr_dbg_cint(t) <= ex4_debug_flush_en_d(t) and (ex3_n_ivc_dbg_cint(t) or ex3_n_iac_dbg_cint(t));
-------------------------------------------------------------------------------
-- Debug Interrupts [asynchronous]
-------------------------------------------------------------------------------
-- Enable
ex3_np1_dbg_cint_en(t) <= not ex3_async_int_block(t);
ex3_np1_ide_dbg_cint(t) <= ex3_np1_dbg_cint_en(t) and debug_event_en_q(t) and
spr_cpl_dbsr_ide(t) and dbcr0_idm_q(t) and msr_de_q(t);
ex3_np1_ude_dbg_cint(t) <= ex3_np1_dbg_cint_en(t) and
force_ude_q(t) and debug_event_en_q(t);
ex3_np1_ude_dbg_event(t) <= force_ude_q(t) and debug_event_en_q(t);
-------------------------------------------------------------------------------
-- Doorbell Interrupt
-------------------------------------------------------------------------------
ex3_np1_dbell_int(t) <= spr_cpl_dbell_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Critical Doorbell Interrupt
-------------------------------------------------------------------------------
ex3_np1_cdbell_cint(t) <= spr_cpl_cdbell_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Guest Doorbell Interrupt
-------------------------------------------------------------------------------
ex3_np1_gdbell_int(t) <= spr_cpl_gdbell_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Guest Critical Doorbell Interrupt
-------------------------------------------------------------------------------
ex3_np1_gcdbell_cint(t) <= spr_cpl_gcdbell_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Guest Machine Check Doorbell Interrupt
-------------------------------------------------------------------------------
ex3_np1_gmcdbell_cint(t) <= spr_cpl_gmcdbell_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Hypervisor Privilege Interrupt
-------------------------------------------------------------------------------
-- Enable
msr_guest_priv(t) <= not msr_pr_q(t) and msr_gs_q(t);
-- Conditions
ex3_n_spr_hpriv_int_xuuc(t) <= msr_guest_priv(t) and spr_cpl_ex3_spr_hypv;
ex3_n_instr_hpriv_int_xuuc(t) <= msr_guest_priv(t) and dec_cpl_ex3_instr_hypv;
ex3_n_ehpriv_hpriv_int(t) <= ex3_xu_val(t) and ex3_is_ehpriv_q;
-- tlbwe when all ways are IPROT=1 or attempted to install invalid entry in LRAT
ex3_n_mmu_hpriv_int(t) <= msr_guest_priv(t) and ex3_mmu_hv_priv_q(t);
-- Summary
ex4_n_any_hpriv_int_d(t) <=(ex3_xuuc_val(t) and (ex3_n_spr_hpriv_int_xuuc(t) or
ex3_n_instr_hpriv_int_xuuc(t)))
or
ex3_n_ehpriv_hpriv_int(t) or
ex3_n_mmu_hpriv_int(t);
-------------------------------------------------------------------------------
-- Instruction LRAT Interrupt
-------------------------------------------------------------------------------
ex3_n_ilrat_int(t) <= ex3_lrat_miss_q(t) and ex3_mmu_esr_pt_q(t) and not ex3_mmu_esr_data_q(t); -- PTE Reload missed in the LRAT
-------------------------------------------------------------------------------
-- Data LRAT Interrupt
-------------------------------------------------------------------------------
-- Conditions
ex3_n_ptemiss_dlrat_int(t) <= ex3_lrat_miss_q(t) and ex3_mmu_esr_pt_q(t) and ex3_mmu_esr_data_q(t); -- PTE Reload missed in the LRAT
ex3_n_tlbwemiss_dlrat_int(t) <= ex3_lrat_miss_q(t) and not ex3_mmu_esr_pt_q(t); -- tlbwe missed in the LRAT
-- Summary
ex3_n_dlrat_int(t) <= ex3_n_ptemiss_dlrat_int(t) or
ex3_n_tlbwemiss_dlrat_int(t);
-------------------------------------------------------------------------------
-- User Decrementer Interrupt
-------------------------------------------------------------------------------
ex3_np1_udec_int(t) <= spr_cpl_udec_interrupt(t) and not ex3_async_int_block(t);
-------------------------------------------------------------------------------
-- Performance Monitor Interrupt
-------------------------------------------------------------------------------
ex3_np1_perf_int(t) <= spr_cpl_perf_interrupt(t) and not ex3_async_int_block(t);
--=============================================================================
--=============================================================================
--
-- Flush Conditions
--
--=============================================================================
--=============================================================================
-------------------------------------------------------------------------------
-- NP1 Flushes
-------------------------------------------------------------------------------
-- Conditions
ex3_np1_instr_flush(t) <= ex3_xu_val(t) and ex3_np1_instr_flush_q;
ex3_np1_sprg_ce_flush(t) <= or_reduce(ex3_xu_val) and spr_cpl_ex3_sprg_ce;
ex3_np1_fu_flush(t) <= not ex3_flush(t) and
not fu_xu_ex3_flush2ucode(t) and
fu_xu_ex3_np1_flush(t);
ex3_np1_run_ctl_flush(t) <= or_reduce(ex3_xu_val) and ex3_np1_run_ctl_flush_q(t);
ex3_non_uc_val(t) <=(ex3_xu_val(t) and not ex3_xu_is_ucode_q) or
(ex3_axu_val(t) and not ex3_axu_is_ucode_q(t));
ex3_np1_step_flush(t) <= ex4_step_q(t) and ex3_non_uc_val(t);
ex3_np1_init_flush(t) <= pc_init_reset_q;
ex3_np1_mtxucr0_flush(t) <= or_reduce(ex3_xu_val) and ex3_is_mtxucr0_q;
-- Summary
ex3_np1_flush(t) <= ex3_np1_instr_flush(t) or
ex3_np1_mtiar_flush(t) or
ex3_np1_run_ctl_flush(t) or
ex3_np1_step_flush(t) or
ex3_np1_init_flush(t) or
ex3_np1_sprg_ce_flush(t) or
ex3_np1_mtxucr0_flush(t) or
slowspr_flush_q(t);
-------------------------------------------------------------------------------
-- N Flush [I-ERAT Miss]
-------------------------------------------------------------------------------
ex3_n_imiss_flush(t) <= ex3_xuuc_val(t) and ex3_iu_error_q(7) and not spr_ccr2_notlb;
ex4_n_imiss_flush(t) <= ex4_n_flush_pri(IMISSn);
-------------------------------------------------------------------------------
-- N Flush [D-ERAT Miss]
-------------------------------------------------------------------------------
ex3_n_dmiss_flush(t) <= ex3_xuuc_val(t) and derat_xu_ex3_miss(t) and not spr_ccr2_notlb;
ex4_n_dmiss_flush(t) <= ex4_n_flush_pri(DMISSn);
-------------------------------------------------------------------------------
-- N Flush [Dependant]
-------------------------------------------------------------------------------
-- tlb structural hazard due to tlb reload
ex3_n_derat_dep_flush(t) <= ex3_xuuc_val(t) and derat_xu_ex3_n_flush_req(t);
-- dependant op following load miss
ex3_n_lsu_dep_flush(t) <= (ex3_xuuc_val(t) or ex3_dep_val(t)) and lsu_xu_ex3_dep_flush;
-- dependant op following load miss (FU version)
ex3_n_fu_dep_flush(t) <= not ex3_flush(t) and
not fu_xu_ex3_flush2ucode(t) and
fu_xu_ex3_n_flush(t);
ex3_n_dep_flush(t) <= ex3_n_lsu_dep_flush(t) or
ex3_n_derat_dep_flush(t) or
ex3_n_fu_dep_flush(t);
-------------------------------------------------------------------------------
-- N Flush [Load Queue Hit]
-------------------------------------------------------------------------------
ex3_n_ldq_hit_flush(t) <= lsu_xu_ex3_ldq_hit_flush;
-------------------------------------------------------------------------------
-- N Flush [Load Queue Full]
-------------------------------------------------------------------------------
-- ex3_n_ldq_full_flush(t) <= lsu_xu_ex4_ldq_full_flush;
ex4_n_ldq_full_flush(t) <= ex4_xu_val_q(t) and lsu_xu_ex4_ldq_full_flush;
-------------------------------------------------------------------------------
-- N Flushes
-------------------------------------------------------------------------------
-- Conditions
ex3_n_ram_flush(t) <= ram_flush_q(t);
ex3_n_mmuhold_flush(t) <= ex3_mmu_hold_val(t);
ex3_n_ici_flush(t) <= or_reduce(ex3_xu_val) and not ex3_xu_val(t) and ex3_is_ici_q; -- N Flushes other threads
ex3_n_dci_flush(t) <= or_reduce(ex3_xu_val) and not ex3_xu_val(t) and ex3_is_dci_q; -- N Flushes other threads
ex3_n_mmu_flush(t) <= mm_xu_ex3_flush_req(t);
ex3_n_thrctl_stop_flush(t) <= (pc_dbg_stop_q(t) and not pc_dbg_stop_2_q(t)) and not (ex5_in_ucode_q(t) or ex4_ucode_val(t));
ex3_n_multcoll_flush(t) <= ex3_xu_val(t) and dec_cpl_ex3_mult_coll;
ex3_n_ierat_flush(t) <= ex3_anyuc_val(t) and ex3_ierat_flush_req_q(t);
-- Summary
ex3_n_flush(t) <= ex3_n_ram_flush(t) or
ex3_n_mmuhold_flush(t) or
ex3_n_ici_flush(t) or
ex3_n_dci_flush(t) or
ex3_n_mmu_flush(t) or
ex3_n_ierat_flush(t) or
ex5_n_ext_dbg_stopc_flush_q or
ex3_n_thrctl_stop_flush(t) or
ex3_n_multcoll_flush(t);
ex4_n_lsu_ddmh_flush_en_d(t) <= (or_reduce(ex3_xu_val) and dec_cpl_ex3_ddmh_en) or dec_cpl_ex3_back_inv;
ex4_n_lsu_ddmh_flush(t) <= ex4_n_lsu_ddmh_flush_en_q(t) and lsu_xu_ex4_n_lsu_ddmh_flush(t); -- N Flushes all threads
ex3_n_lsu_flush(t) <= lsu_xu_ex3_n_flush_req;
ex4_n_lsu_flush(t) <= ex4_xu_val_q(t) and ex4_n_lsu_flush_q(t);
-------------------------------------------------------------------------------
-- N Flushes [parity errors]
-------------------------------------------------------------------------------
ex3_n_demh_mchk_flush(t) <= ex3_n_dexx_mchk_flush_en(t) and ex3_xu_val(t) and lsu_xu_ex3_derat_multihit_err(t);
ex3_n_depe_mchk_flush(t) <= ex3_n_dexx_mchk_flush_en(t) and ex3_xu_val(t) and lsu_xu_ex3_derat_par_err(t);
ex3_n_lsu_dcpe_flush(t) <= or_reduce(ex6_xu_val_q) and lsu_xu_ex6_datc_par_err;
ex3_n_lsu_ddpe_flush(t) <= or_reduce(ex3_xu_val) and lsu_xu_ex3_ddir_par_err; -- N Flushes all threads
ex3_n_fu_rfpe_flush(t) <= or_reduce(ex3_n_fu_rfpe_det); -- N Flushes all threads
ex3_n_xu_rfpe_flush(t) <= or_reduce(ex3_xuuc_val or ex3_dep_val) and gpr_cpl_ex3_regfile_err_det; -- N Flushes all threads
ex3_n_sprg_ue_flush(t) <= ex3_xu_val(t) and spr_cpl_ex3_sprg_ue;
-- Summary
ex3_n_pe_flush(t) <= ex3_n_l2_ecc_err_flush_q(t) or
ex3_n_dcpe_flush_q(t) or
ex3_n_lsu_dcpe_flush(t) or
ex3_n_lsu_ddpe_flush(t) or
ex3_n_fu_rfpe_flush(t) or
ex3_n_xu_rfpe_flush(t) or
ex3_n_sprg_ue_flush(t) or
ex3_n_demh_mchk_flush(t) or
ex3_n_depe_mchk_flush(t);
-------------------------------------------------------------------------------
-- N Flushes [to uCode]
-------------------------------------------------------------------------------
-- Conditions
ex3_n_lsualign_2ucode_flush(t) <= ex3_xu_val(t) and lsu_xu_ex3_inval_align_2ucode;
ex3_n_fu_2ucode_flush(t) <= not ex3_flush(t) and
fu_xu_ex3_flush2ucode(t) and
fu_xu_ex3_n_flush(t);
-- Summary
ex3_n_2ucode_flush(t) <= ex3_n_lsualign_2ucode_flush(t) or
ex3_n_fu_2ucode_flush(t);
-------------------------------------------------------------------------------
-- N Flushes [Barrier Set]
-------------------------------------------------------------------------------
-- TID of the collision indicates which thread the original divide is running on
-- if that gets flushed, do not set the barrier.
ex3_div_coll_d(t) <= fxa_cpl_ex2_div_coll(t) and not any_flush(t);
ex3_div_coll(t) <= ex3_div_coll_q(t) and not any_flush(t);
ex3_n_barr_flush(t) <= ex3_xu_val(t) and or_reduce(ex3_div_coll);
--=============================================================================
--=============================================================================
--
-- Multi Cycle Flush Generation
--
--=============================================================================
--=============================================================================
ex5_step_done(t) <= ex4_step_q(t) and (ex5_instr_cpl_q(t) or ex5_is_any_int(t) or ex5_n_ext_dbg_stopc_flush_q or ex5_n_ext_dbg_stopt_flush_q(t));
ex4_np1_run_ctl_flush(t) <= or_reduce(ex4_xu_val) and ex4_np1_run_ctl_flush_q(t);
ex4_attn_flush(t) <= ex4_xu_val(t) and ex4_is_attn_q;
ex3_thread_stop(t) <= ex5_step_done(t) or
ex5_np1_run_ctl_flush_q(t) or
ex4_n_thrctl_stop_flush_q(t) or
ex5_attn_flush_q(t);
ex5_csi(t) <=(ex5_xu_val_q(t) and (ex5_is_mtmsr_q or ex5_is_isync_q)) or
ex5_is_any_int(t) or
ex5_is_any_rfi_q(t);
-- Hold the xu_iu_flush interface, during multi cycle flushes
ex4_flush_act(t) <= ex4_n_flush(t) or ex4_np1_flush(t);
-------------------------------------------------------------------------------
-- Hold Reqests - per thread
-------------------------------------------------------------------------------
hold_state_0(t) <= mmu_hold_present_q(t) or
derat_hold_present_q(t) or
ierat_hold_present_q(t) or
ex5_np1_irpt_dbg_cint_q(t);
-- MMU Hold req:
-- either a local generated local or global tlbivax holds the source thead..
-- or an incoming from bus global tlbivax that holds all threads
-- or a load/store that misses in derat holds source thread until miss is resolved from tlb
mmu_hold_request_d(t) <= mm_xu_hold_req(t) or (mmu_hold_request_q(t) and or_reduce(ex3_hold_block));
ex3_mmu_hold_val(t) <= mmu_hold_request_q(t) and not or_reduce(ex3_hold_block);
xu_mm_hold_ack(t) <= ex6_mmu_hold_val_q(t); -- Stage out a few cycles for safety.
mmu_hold_present_d(t) <= ex3_mmu_hold_val(t) or (mmu_hold_present_q(t) and not mm_xu_hold_done(t));
ierat_hold_present_d(t) <= ex4_n_imiss_flush(t) or (ierat_hold_present_q(t) and not mmu_eratmiss_done_q(t));
derat_hold_present_d(t) <= ex4_n_dmiss_flush(t) or (derat_hold_present_q(t) and not mmu_eratmiss_done_q(t));
-- Hold present needs to stay on long enough for any MMU sourced interrupts to cccur
-------------------------------------------------------------------------------
-- Flush/Interrupt Condition Generation
-------------------------------------------------------------------------------
-- External Debug Actions
ext_dbg_stop_n_d(t) <=((pc_dbg_action_q(3*t to 3*t+2) = "010") or
(pc_dbg_action_q(3*t to 3*t+2) = "110"));
ext_dbg_stop_core_d(t) <=((pc_dbg_action_q(3*t to 3*t+2) = "011") or
(pc_dbg_action_q(3*t to 3*t+2) = "111"));
ext_dbg_act_err_d(t) <= pc_dbg_action_q(3*t to 3*t+2) = "100";
ext_dbg_act_ext_d(t) <=((pc_dbg_action_q(3*t to 3*t+2) = "101") or
(pc_dbg_action_q(3*t to 3*t+2) = "110") or
(pc_dbg_action_q(3*t to 3*t+2) = "111"));
cpl_spr_dbcr0_edm(t) <= or_reduce(pc_dbg_action_q(3*t to 3*t+2));
pc_dbg_stop_d(t) <= pc_xu_stop(t) and not ex5_in_ucode_q(t);
ex5_ext_dbg_err_d(t) <= ext_dbg_act_err_q(t) and ex4_dbsr_update(t);
ex5_ext_dbg_ext_d(t) <= ext_dbg_act_ext_q(t) and ex4_dbsr_update(t);
ex4_step_d(t) <= pc_xu_step(t);
ex3_ifar <= ex3_ifar_q(eff_ifar*t to eff_ifar*(t+1)-1);
ex4_ifar <= ex4_ifar_q(eff_ifar*t to eff_ifar*(t+1)-1);
ex3_spr_lr <= spr_lr(regsize*t to regsize*(t+1)-3);
ex3_lr_cmprl(t) <= '1' when ex3_ifar(32 to 61) = ex3_spr_lr(32 to 61) else '0';
ex3_cia_cmprl(t) <= '1' when ex3_ifar(32 to 61) = ex4_cia(32 to 61) else '0';
ex4_cia_cmprl(t) <= '1' when ex4_ifar(32 to 61) = ex4_cia(32 to 61) else '0';
xuq_cpl_cmprh_gen0 : if IFAR'left < 32 generate
ex3_lr_cmprh(t) <= '1' when ex3_ifar(IFAR'left to 31) = ex3_spr_lr(IFAR'left to 31) else '0';
ex3_cia_cmprh(t) <= '1' when ex3_ifar(IFAR'left to 31) = ex4_cia(IFAR'left to 31) else '0';
ex4_cia_cmprh(t) <= '1' when ex4_ifar(IFAR'left to 31) = ex4_cia(IFAR'left to 31) else '0';
end generate;
xuq_cpl_cmprh_gen1 : if IFAR'left >= 32 generate
ex3_lr_cmprh(t) <= '1';
ex3_cia_cmprh(t) <= '1';
ex4_cia_cmprh(t) <= '1';
end generate;
-- Don't care the upperhalf of the compare in 32b mode
ex3_lr_cmpr(t) <= ex3_anyuc_val_q(t) and ex3_lr_cmprl(t) and (ex3_lr_cmprh(t) or not msr_cm_q(t));
ex3_cia_cmpr(t) <= ex3_anyuc_val_q(t) and ex3_cia_cmprl(t) and (ex3_cia_cmprh(t) or not msr_cm_q(t));
ex4_cia_cmpr(t) <= ex4_anyuc_val_q(t) and ex4_cia_cmprl(t) and (ex4_cia_cmprh(t) or not msr_cm_q(t));
-- BLR Checking
-- Clear the bit on a valid instruction or a flush. If the XU redirects via flush,
-- the fetch will be guaranteed correct next time and there is no need for the check.
ex4_clear_bclr_chk(t) <= (ex4_anyuc_val_q(t) and not ram_mode_q(t)) or ex5_late_flush_q(0)(t);
ex4_taken_bclr(t) <= (ex4_taken_bclr_q and ex4_xu_val(t));
ex5_check_bclr_d(t) <= (ex5_check_bclr_q(t) and not ex4_clear_bclr_chk(t)) or -- Clear on next valid instr or flush
ex4_taken_bclr(t); -- Set after bclr
ex5_check_bclr(t) <= ex5_check_bclr_q(t) and not ex4_clear_bclr_chk(t);
ex3_bclr_cmpr_b(t) <= (not ex3_lr_cmpr(t) and ex4_taken_bclr(t)) or -- bclr with instr BTB, ex4_cia not updated yet
(not ex3_cia_cmpr(t) and ex5_check_bclr(t)); -- use ex4_cia here, LR could have updated due bclrl
ex3_n_bclr_ta_miscmpr_flush(t) <= not ram_mode_q(t) and ex3_anyuc_val(t) and ex3_bclr_cmpr_b(t);
-- IFAR Checking
ex4_check_cia(t) <=((ex4_xu_val_q(t) or ex4_axu_val_q(t)) and not ex5_in_ucode_q(t)) or -- Don't check the end of a ucode op...
ex4_ucode_val_q(t); -- Check uCode issue
ex5_err_nia_miscmpr_d(t) <= ex4_instr_cpl(t) and ex4_check_cia(t) and not ex4_cia_cmpr(t) and not (ex4_taken_bclr(t) or ex5_check_bclr_q(t));
-- Page Crossing detection
ex4_mem_attr_act(t) <= ex4_ucode_val(t);
ex4_mem_attr_val(t) <=(ex4_ucode_val(t) and (ex4_is_any_store_dac_q or ex4_is_any_load_dac_q)) or
(ex5_mem_attr_val_q(t) and ex5_in_ucode_q(t));
ex3_mem_attr_cmpr(t) <= '1' when lsu_xu_ex3_attr = ex5_mem_attr_q else '0';
ex3_mem_attr_chk(t) <= ex5_in_ucode_q(t) and ex5_mem_attr_val_q(t) and -- uCode attributes valid
(ex3_xu_val(t) and (ex3_is_any_store_dac_q or -- Valid store
ex3_is_any_load_dac_q)); -- Valid load
ex3_n_memattr_miscmpr_flush(t) <= ex3_mem_attr_chk(t) and not ex3_mem_attr_cmpr(t);
ex5_mem_attr_le_d(t) <= ex4_mem_attr_q(8) xor ex4_byte_rev_q;
-- uCode
ex4_ucode_end(t) <= ex5_in_ucode_q(t) and ((ex4_xu_val_q(t) and not ex4_xu_is_ucode_q) or
(ex4_axu_val_q(t) and not ex4_axu_is_ucode_q(t)) or
ex5_is_any_int(t));
ex5_in_ucode_d(t) <= ex4_ucode_val(t) or (ex5_in_ucode_q(t) and not (((ex4_np1_flush(t) or ex4_n_flush(t)) and ex4_ucode_restart(t)) or ex5_is_any_int(t)));
-- Interrupt blocking
ssprwr_ip_d(t) <=(ex4_xu_val(t) and ex4_is_slowspr_wr_q) or
(ssprwr_ip_q(t) and not mux_cpl_slowspr_done(t));
exx_instr_async_block_d(t)(1) <= rf1_xu_val(t) and (rf1_is_wait or rf1_is_eratre or rf1_is_tlbwe or rf1_is_tlbre or rf1_is_tlbsx or rf1_is_tlbsrx);
exx_instr_async_block_d(t)(2 to 7) <= exx_instr_async_block_q(t)(1 to 6);
-- In RAM Mode
-- In uCode
-- XU uCode Start
--AXU uCode Start
-- Wait instruction in pipe
-- If MSR is updated here a potential interrupt will not get
-- the updated value... blocking is easiest for timing.
ex3_async_int_block_cond(t) <= (ex2_xu_val_q(t) and (ex2_msr_updater or ex2_mtiar or ex2_is_slowspr_wr_q)) or
or_reduce(exx_instr_async_block_q(t)) or
ex4_n_flush_cond(IMISSn) or ex4_n_flush_cond(DMISSn);
-- MMU Hold present not needed, exx_hold0_mcflush will be on in time
ex3_base_int_block_cond(t) <= ex4_is_mchk_int(t) or ex4_is_crit_int(t) or ex4_is_base_int(t);
ex3_mchk_int_block_cond(t) <= ex4_is_mchk_int(t);
ex3_hold_block(t) <= ssprwr_ip_q(t) or
ex5_in_ucode_q(t);
ex3_async_int_block_noaxu(t) <=
ssprwr_ip_q(t) or
ram_mode_q(t) or
ex5_in_ucode_q(t) or
ex3_async_int_block_q(t) or
exx_hold0_mcflush(t) or
exx_hold1_mcflush(t) or
ex4_async_block(t) or
ex4_base_int_block_q(t) or
spare_4_q(4+t);
-- Don't block FPenabled ints due to ICMP. FPenabled has higher priority.
ex3_async_int_block(t) <= ex3_async_int_block_noaxu(t) or ex3_axu_async_block_q(t) or ex4_icmp_async_block(t);
-- Timing Note: base_int_block is causing timing problems. Replacing it with a latched version + ex4_async_block
-- to cover the first cycle after. Can also remove IMISS/DMISS, as they are also included.
ex3_debug_int_en(t) <= msr_de_q(t) and dbcr0_idm_q(t) and not (ex4_is_crit_int(t) or ex4_is_mchk_int(t) or ext_dbg_stop_n_q(t) or ext_dbg_stop_core_q(t));
ex4_debug_flush_en_d(t) <= ex3_debug_int_en(t) or ext_dbg_stop_n_q(t) or ext_dbg_stop_core_q(t);
-- This signal will clock gate ESR[FP,AP,SPV,ST,EPID]
-- so they are saved during uCode, flush-to-uCode, and HW table walk
-- Update for non-ucode instructions or on uCode pre-issue.
-- Need to also catch the last cycle of ucode.
-- Use in_ucode for this, we flush after so there's cycles to account for this to clear.
ex3_esr_bit_act(t) <= not (ex3_flush(t) and not ex4_n_flush_pri(F2Un)) and
(ex3_ucode_val_q(t) or
(ex3_xu_val_q(t) and not (ex5_in_ucode_q(t) or ex3_xu_is_ucode_q )) or
(ex3_axu_val_q(t) and not (ex5_in_ucode_q(t) or ex3_axu_is_ucode_q(t))));
-------------------------------------------------------------------------------
-- IFAR Mux
-------------------------------------------------------------------------------
ex5_sel_rt_d(t) <= ex4_np1_mtiar_flush(t) or ex4_is_any_rfi(t);
with s3'(ex5_is_any_hint(t) & ex5_is_any_gint(t) & ex5_sel_rt_q(t)) select
ex5_flush_ifar <= spr_ivpr(62-eff_ifar to 51) & ex5_ivo & "00" when "100",
spr_givpr(62-eff_ifar to 51) & ex5_ivo & "00" when "010",
ex5_rt_q(62-eff_ifar to 61) when others;
flush_ifar_repwr : for r in 1 to ifar_repwr-1 generate
with (ex5_late_flush_q(r)(t)) select
flush_ifar(64-8*(r+1) to 63-8*r) <= not ex4_cia_b_q(64-8*(r+1) to 63-8*r) when '1',
ex2_br_flush_ifar(64-8*(r+1) to 63-8*r) when others;
end generate;
with (ex5_late_flush_q(0)(t)) select
flush_ifar(56 to 61) <= not ex4_cia_b_q(56 to 61) when '1',
ex2_br_flush_ifar(56 to 61) when others;
-------------------------------------------------------------------------------
-- Next instruction address
-------------------------------------------------------------------------------
ex4_instr_cpl_d(t) <=((ex3_xu_val(t) and not ex3_xu_is_ucode_q) or
(ex3_axu_val(t) and not ex3_axu_is_ucode_q(t)));
ex4_instr_cpl(t) <= not ram_mode_q(t) and ex4_instr_cpl_q(t) and not ex4_flush(t);
ex4_ram_cpl(t) <= ex4_instr_cpl_q(t) and not ex4_flush(t);
ex5_flush_update(t) <= ex5_is_any_int(t) or ex5_is_any_rfi_q(t) or ex5_sel_rt_q(t);
-- Update NIA on a taken branch
with (ex4_xu_val_q(t) and ex4_br_update_q) select
ex4_nia_instr <= ex4_br_flush_ifar_q when '1', -- Branch IFAR
ex4_cia_p1 when others; -- Current IFAR + 1
-- Update CIA due to flushes
with ex5_flush_update(t) select
ex4_cia_flush <= ex5_flush_ifar when '1',
ex4_cia when others;
-- Update NIA when a new instr completes
with (ex4_instr_cpl(t)) select
ex4_nia_cpl <= (ex4_nia_instr and ex4_cm_mask) when '1', -- Next Instr
(ex4_cia_flush and ex4_cm_mask) when others; -- Current/No Instr (or Flushed IAR)
ex4_nia <= ex4_nia_cpl;
ex4_cia <= not ex4_cia_b_q;
ex4_cia_b_d <= not ex4_nia;
ex4_cia_p1 <= std_ulogic_vector(unsigned(ex4_cia) + 1);
-- Preserve the upper 32bits of the ifar until msr_cm_q is stable.
ex5_cm_hold_cond(t) <= (ex5_xu_val_q(t) and ex5_is_mtmsr_q) or ex5_is_any_int(t) or ex5_is_any_rfi_q(t);
ex4_cm(t) <= msr_cm_q(t) or exx_cm_hold(t);
ex4_cm_mask(32 to 61) <= (others=>'1');
xuq_cpl_cm_mask_gen : if IFAR'left < 32 generate
ex4_cm_mask(IFAR'left to 31) <= (others=>ex4_cm(t));
end generate;
ex3_cia_act(t) <= ex4_instr_cpl_q(t) or ex5_flush_update(t) or exx_cm_hold(t) or exx_cm_hold_q(t) or spr_xucr0_clkg_ctl(2);
ex4_nia_act(t) <= ex4_cia_act_q(t) or ex3_cia_act(t) or ex4_n_flush(t) or ex4_np1_flush(t);
-------------------------------------------------------------------------------
-- uCode "Next instruction address"
-------------------------------------------------------------------------------
ex5_uc_cia_val_d(t) <= ex5_in_ucode_q(t) and ex4_uc_cia_val(t);
ex4_uc_cia_val(t) <= ex5_in_ucode_q(t) and (ex5_uc_cia_val_q(t) or ex4_any_val(t));
ex3_uc_cia_act(t) <= clkg_ctl_q or (ex5_in_ucode_q(t) and (ex4_xu_val_q(t) or ex4_axu_val_q(t)));
-- Capture NIA when a new instr completes
-- The IU needs the IFAR of the op being flushed (if there is one there)
with (ex4_xu_val_q(t) or ex4_axu_val_q(t)) select
ex4_uc_nia <= ex4_ifar(IFAR_UC'range) when '1',
ex4_uc_cia_q when others;
-- Don't capture ops that were flushed into the capture latch (See note above)
with ex4_n_flush(t) select
ex4_uc_cia_d <= ex4_uc_cia_q when '1',
ex4_uc_nia when others;
xu_iu_uc_flush_ifar(uc_ifar*t to uc_ifar*(t+1)-1) <= ex4_uc_cia_q;
-------------------------------------------------------------------------------
-- Exception Priority
-------------------------------------------------------------------------------
ex4_dbsr_cond(0) <= ex4_n_ivc_dbg_cint_q(t) or
ex4_n_iac_dbg_cint_q(t);
ex4_dbsr_cond(1) <= ex4_n_dac_dbg_cint_q(t) or
ex4_n_ret_dbg_cint_q(t) or
ex4_n_brt_dbg_cint_q(t) or
ex4_n_trap_dbg_cint_q(t);
-- Only allow the DBSR to be set, if:
-- the interrupt occured
-- the instruction completed
ex4_dbsr_en_cond(0) <= ex4_anyuc_val(t) or ex4_n_flush_pri(DBG0n);
ex4_dbsr_en_cond(1) <= ex4_anyuc_val(t) or ex4_n_flush_pri(DBG1n);
ex4_n_flush_cond(PREVn) <= exx_np1_irpt_dbg_cint(t) or exx_np1_icmp_dbg_cint(t) or (ex4_debug_flush_en_q(t) and ex4_n_async_dacr_dbg_cint_q(t));
ex4_n_flush_cond(BTAn) <= ex4_n_bclr_ta_miscmpr_flush_q(t);
ex4_n_flush_cond(DEPn) <= ex4_n_dep_flush_q(t) or ex4_n_tlb_mchk_flush_q(t);
ex4_n_flush_cond(IMISSn) <= ex4_n_imiss_flush_q(t);
ex4_n_flush_cond(IMCHKn) <= ex4_n_imchk_mcint_q(t) or ex4_n_ieratsx_par_mchk_mcint_q(t);
ex4_n_flush_cond(DBG0n) <= ex4_n_instr_dbg_cint_q(t);
ex4_n_flush_cond(ITLBn) <= ex4_n_itlb_int_q(t);
ex4_n_flush_cond(ISTORn) <= ex4_n_istor_int_q(t);
ex4_n_flush_cond(ILRATn) <= ex4_n_ilrat_int_q(t);
ex4_n_flush_cond(FPEn) <= ex4_n_pe_flush_q(t) or ex4_n_lsu_ddmh_flush(t);
ex4_n_flush_cond(PROG0n) <= ex4_n_pil_prog_int_q(t);
ex4_n_flush_cond(UNAVAILn) <= ex4_n_any_unavail_int_q(t);
ex4_n_flush_cond(PROG1n) <= ex4_n_ppr_prog_int_q(t);
ex4_n_flush_cond(PROG2n) <= ex4_n_puo_prog_int_q(t);
ex4_n_flush_cond(PROG3n) <= ex4_n_ena_prog_int_q(t);
ex4_n_flush_cond(HPRIVn) <= ex4_n_any_hpriv_int_q(t);
ex4_n_flush_cond(PROG0An) <= ex4_n_tlbwe_pil_prog_int_q(t);
ex4_n_flush_cond(DMCHKn) <= ex4_n_dmchk_mcint_q(t) or ex4_n_ddmh_mchk_mcint(t);
ex4_n_flush_cond(DTLBn) <= ex4_n_dtlb_int_q(t);
ex4_n_flush_cond(DMISSn) <= ex4_n_dmiss_flush_q(t);
ex4_n_flush_cond(DSTORn) <= ex4_n_dstor_int_q(t);
ex4_n_flush_cond(ALIGNn) <= ex4_n_align_int_q(t) or ex4_n_memattr_miscmpr_flush_q(t);
ex4_n_flush_cond(DLRATn) <= ex4_n_dlrat_int_q(t);
ex4_n_flush_cond(DBG1n) <= ex4_debug_flush_en_q(t) and ex4_dbsr_cond(1);
ex4_n_flush_cond(F2Un) <= ex4_n_2ucode_flush_q(t);
ex4_n_flush_cond(FwBSn) <= ex4_n_barr_flush_q(t) or (ex4_xu_val_q(t) and ex4_n_ldq_hit_flush_q(t));
ex4_n_flush_cond(Fn) <= ex4_n_flush_q(t) or ex4_n_ldq_full_flush(t) or ex4_n_lsu_flush(t) or ex4_thread_stop_q(t);
ex4_np1_flush_cond(INSTRnp1) <= ex4_np1_instr_int_q(t);
ex4_np1_flush_cond(MCHKnp1) <= ex4_np1_ext_mchk_mcint_q(t);
ex4_np1_flush_cond(GDBMCHKnp1) <= ex4_np1_gmcdbell_cint_q(t);
ex4_np1_flush_cond(DBG3np1) <= ex4_debug_flush_en_q(t) and (ex4_np1_ide_dbg_cint_q(t) or ex4_np1_ude_dbg_cint_q(t));
ex4_np1_flush_cond(CRITnp1) <= ex4_np1_crit_cint_q(t);
ex4_np1_flush_cond(WDOGnp1) <= ex4_np1_wdog_cint_q(t);
ex4_np1_flush_cond(CDBELLnp1) <= ex4_np1_cdbell_cint_q(t);
ex4_np1_flush_cond(GCDBELLnp1) <= ex4_np1_gcdbell_cint_q(t);
ex4_np1_flush_cond(EXTnp1) <= ex4_np1_ext_int_q(t);
ex4_np1_flush_cond(FITnp1) <= ex4_np1_fit_int_q(t);
ex4_np1_flush_cond(DECnp1) <= ex4_np1_dec_int_q(t);
ex4_np1_flush_cond(DBELLnp1) <= ex4_np1_dbell_int_q(t);
ex4_np1_flush_cond(GDBELLnp1) <= ex4_np1_gdbell_int_q(t);
ex4_np1_flush_cond(UDECnp1) <= ex4_np1_udec_int_q(t);
ex4_np1_flush_cond(PERFnp1) <= ex4_np1_perf_int_q(t);
ex4_np1_flush_cond(Fnp1) <= ex4_np1_flush_q(t) or ex4_ucode_end(t) or ex4_np1_fu_flush_q(t);
xu_cpl_n_pri : entity work.xuq_cpl_pri(xuq_cpl_pri)
generic map (size => ex4_n_flush_cond'length)
port map(
cond => ex4_n_flush_cond,
pri => ex4_n_flush_pri,
or_cond => ex4_n_flush(t));
xu_cpl_np1_pri : entity work.xuq_cpl_pri(xuq_cpl_pri)
generic map (size => ex4_np1_flush_cond'length)
port map(
cond => ex4_np1_flush_cond,
pri => ex4_np1_flush_pri_nongated,
or_cond => ex4_np1_flush(t));
ex4_np1_flush_pri <= gate(ex4_np1_flush_pri_nongated,(not ex4_n_flush(t)));
ex4_flush_pri <= ex4_n_flush_pri & ex4_np1_flush_pri;
ex4_async_block(t) <= ex4_n_flush(t) or ex4_np1_flush(t);
xu_lsu_ex4_val(t) <= ex4_xu_val_q(t);
xu_lsu_ex4_flush_local(t) <= or_reduce(ex4_n_flush_cond(PREVn to ISTORn)) or
ex4_n_flush_cond(PROG0n) or
ex4_n_flush_cond(PROG1n) or
ex4_n_flush_cond(UNAVAILn) or
ex4_n_flush_cond(PROG3n) or
ex4_n_dmchk_mcint_q(t) or -- DMCHKn
or_reduce(ex4_n_flush_cond(DTLBn to ALIGNn)) or
(ex4_debug_flush_en_q(t) and ex4_n_dac_dbg_cint_q(t)) or -- DBG1n
ex4_n_flush_cond(F2Un) or
ex4_n_flush_cond(FPEn) or -- FPEn
(ex4_xu_val_q(t) and ex4_n_ldq_hit_flush_q(t)) or -- Fn
ex4_n_flush_q(t) or ex4_n_lsu_flush(t) or -- Fn
ex4_thread_stop_q(t) or -- Fn
ex4_flush_q(t);
ex5_flush_pri_enc_dbg(t) <= gate("000001",ex5_flush_pri_dbg_q(0)) or
gate("000010",ex5_flush_pri_dbg_q(1)) or
gate("000011",ex5_flush_pri_dbg_q(2)) or
gate("000100",ex5_flush_pri_dbg_q(3)) or
gate("000101",ex5_flush_pri_dbg_q(4)) or
gate("000110",ex5_flush_pri_dbg_q(5)) or
gate("000111",ex5_flush_pri_dbg_q(6)) or
gate("001000",ex5_flush_pri_dbg_q(7)) or
gate("001001",ex5_flush_pri_dbg_q(8)) or
gate("001010",ex5_flush_pri_dbg_q(9)) or
gate("001011",ex5_flush_pri_dbg_q(10)) or
gate("001100",ex5_flush_pri_dbg_q(11)) or
gate("001101",ex5_flush_pri_dbg_q(12)) or
gate("001110",ex5_flush_pri_dbg_q(13)) or
gate("001111",ex5_flush_pri_dbg_q(14)) or
gate("010000",ex5_flush_pri_dbg_q(15)) or
gate("010001",ex5_flush_pri_dbg_q(16)) or
gate("010010",ex5_flush_pri_dbg_q(17)) or
gate("010011",ex5_flush_pri_dbg_q(18)) or
gate("010100",ex5_flush_pri_dbg_q(19)) or
gate("010101",ex5_flush_pri_dbg_q(20)) or
gate("010110",ex5_flush_pri_dbg_q(21)) or
gate("010111",ex5_flush_pri_dbg_q(22)) or
gate("011000",ex5_flush_pri_dbg_q(23)) or
gate("011001",ex5_flush_pri_dbg_q(24)) or
gate("011010",ex5_flush_pri_dbg_q(25)) or
gate("011011",ex5_flush_pri_dbg_q(26)) or
gate("011100",ex5_flush_pri_dbg_q(27)) or
gate("011101",ex5_flush_pri_dbg_q(28)) or
gate("011110",ex5_flush_pri_dbg_q(29)) or
gate("011111",ex5_flush_pri_dbg_q(30)) or
gate("100000",ex5_flush_pri_dbg_q(31)) or
gate("100001",ex5_flush_pri_dbg_q(32)) or
gate("100010",ex5_flush_pri_dbg_q(33)) or
gate("100011",ex5_flush_pri_dbg_q(34)) or
gate("100100",ex5_flush_pri_dbg_q(35)) or
gate("100101",ex5_flush_pri_dbg_q(36)) or
gate("100110",ex5_flush_pri_dbg_q(37)) or
gate("100111",ex5_flush_pri_dbg_q(38)) or
gate("101000",ex5_flush_pri_dbg_q(39)) or
gate("101001",ex5_flush_pri_dbg_q(40)) or
gate("101010",ex5_flush_pri_dbg_q(41)) or
gate("101011",ex5_flush_pri_dbg_q(42));
ex4_n_flush_pri_dacr_async(t) <= ex4_n_flush_cond(PREVn) and ex4_n_async_dacr_dbg_cint_q(t);
ex4_np1_flush_pri_instr(TRAP) <= not ex4_n_flush(t) and ex4_np1_ptr_prog_int_q(t);
ex4_np1_flush_pri_instr(SC) <= not ex4_n_flush(t) and ex4_np1_sc_int_q(t);
ex4_np1_flush_pri_instr(RFI) <= not ex4_n_flush(t) and ex4_np1_rfi_q(t);
ex4_n_flush_pri_unavail(FP) <= ex4_n_flush_pri(UNAVAILn) and ex4_n_fp_unavail_int_q(t);
ex4_n_flush_pri_unavail(AP) <= ex4_n_flush_pri(UNAVAILn) and ex4_n_ap_unavail_int_q(t);
ex4_n_flush_pri_unavail(VEC) <= ex4_n_flush_pri(UNAVAILn) and ex4_n_vec_unavail_int_q(t);
ex4_n_flush_pri_ena(APENA) <= ex4_n_flush_pri(PROG3n) and ex4_apena_prog_int_q(t);
ex4_n_flush_pri_ena(FPENA) <= ex4_n_flush_pri(PROG3n) and ex4_fpena_prog_int_q(t);
ex4_n_flush_pri_ehpriv(t) <= ex4_n_flush_pri(HPRIVn) and ex4_is_ehpriv_q;
ex4_n_flush_sprg_ue_flush(t) <= ex4_n_flush_pri(FPEn) and ex4_n_sprg_ue_flush_q(t);
-- Delay ICMP until just before the next instruction. This strategy should account for barrier ops
ex4_icmp_event_on_int_ok(t) <= ex4_n_flush_pri_ehpriv(t) or ex4_np1_flush_pri_instr(SC) or ex4_np1_flush_pri_instr(TRAP);
-- ehpriv/sc/trap causes a flushes, but still needs to set the DBSR.
-- ICMP can only occur or record when DE=1
ex4_np1_icmp_dbg_en(t) <= spr_dbcr0_icmp(t) and msr_de_q(t) and debug_event_en_q(t);
ex4_np1_icmp_dbg_event(t) <= ex4_np1_icmp_dbg_en(t) and (ex4_instr_cpl(t) or ex4_icmp_event_on_int_ok(t));
ex4_np1_icmp_dbg_cint(t) <= ex4_np1_icmp_dbg_en(t) and ex4_instr_cpl(t) and ex4_debug_flush_en_q(t);
ex4_icmp_async_block(t) <=(ex4_np1_icmp_dbg_en(t) and (ex3_anyuc_val_q(t) or ex4_instr_cpl_q(t))) or ex5_np1_icmp_dbg_cint_q(t);
ex5_np1_icmp_dbg_event_d(t) <=(ex4_np1_icmp_dbg_event(t) and not ((ex5_is_any_int(t) and not ex5_icmp_event_on_int_ok_q(t)) or ex4_thread_stop_q(t))) or
(ex5_np1_icmp_dbg_event_q(t) and not (ex4_anyuc_val_q(t) or (ex5_is_any_int(t) or ex4_thread_stop_q(t))));
ex5_np1_icmp_dbg_cint_d(t) <=(ex4_np1_icmp_dbg_cint(t) and not (ex5_is_any_int(t) or ex4_thread_stop_q(t))) or
(ex5_np1_icmp_dbg_cint_q(t) and not (ex4_anyuc_val_q(t) or ex5_is_any_int(t) or ex4_thread_stop_q(t)));
-- Actually take the ICMP just before the next instruction.
exx_np1_icmp_dbg_cint(t) <= ex5_np1_icmp_dbg_cint_q(t) and (ex4_anyuc_val_q(t) or ex4_thread_stop_q(t));
exx_np1_icmp_dbg_event(t) <= ex5_np1_icmp_dbg_event_q(t) and (ex4_anyuc_val_q(t) or ex4_thread_stop_q(t) or (ex5_is_any_int(t) and ex5_icmp_event_on_int_ok_q(t)));
ex4_n_flush_pri_icmp(t) <= ex4_n_flush_pri(PREVn) and exx_np1_icmp_dbg_cint(t);
-- Do the same business with IRPT...
ex4_np1_irpt_dbg_cint(t) <= ex4_is_base_int(t) and debug_event_en_q(t) and spr_dbcr0_irpt(t) and ex4_debug_flush_en_q(t);
ex4_np1_irpt_dbg_event(t) <= ex4_is_base_int(t) and debug_event_en_q(t) and spr_dbcr0_irpt(t);
ex6_np1_irpt_dbg_cint_d(t) <= ex5_np1_irpt_dbg_cint_q(t) or
(ex6_np1_irpt_dbg_cint_q(t) and ex4_base_int_block_q(t));
exx_np1_irpt_dbg_cint(t) <= ex6_np1_irpt_dbg_cint_q(t) and not ex4_base_int_block_q(t);
ex6_np1_irpt_dbg_event_d(t) <= ex5_np1_irpt_dbg_event_q(t) or
(ex6_np1_irpt_dbg_event_q(t) and ex4_base_int_block_q(t));
exx_np1_irpt_dbg_event(t) <= ex6_np1_irpt_dbg_event_q(t) and not ex4_base_int_block_q(t);
ex4_n_flush_pri_irpt(t) <= ex4_n_flush_pri(PREVn) and exx_np1_irpt_dbg_cint(t);
ex4_ivo_sel(0) <= ex4_np1_flush_pri(CRITnp1);
ex4_ivo_sel(1) <= ex4_mchk_int_en_q(t) and (ex4_n_flush_pri(IMCHKn) or ex4_n_flush_pri(DMCHKn) or ex4_np1_flush_pri(MCHKnp1));
ex4_ivo_sel(2) <= ex4_n_flush_pri(DSTORn);
ex4_ivo_sel(3) <= ex4_n_flush_pri(ISTORn);
ex4_ivo_sel(4) <= ex4_np1_flush_pri(EXTnp1);
ex4_ivo_sel(5) <= ex4_n_flush_pri(ALIGNn);
ex4_ivo_sel(6) <= ex4_n_flush_pri(PROG0n) or ex4_n_flush_pri(PROG0An) or ex4_n_flush_pri(PROG1n) or ex4_n_flush_pri(PROG2n) or ex4_n_flush_pri(PROG3n) or ex4_np1_flush_pri_instr(TRAP);
ex4_ivo_sel(7) <= ex4_n_flush_pri_unavail(FP);
ex4_ivo_sel(8) <= ex4_np1_flush_pri_instr(SC) and not ex4_sc_lev_q;
ex4_ivo_sel(9) <= ex4_n_flush_pri_unavail(AP);
ex4_ivo_sel(10) <= ex4_np1_flush_pri(DECnp1);
ex4_ivo_sel(11) <= ex4_np1_flush_pri(FITnp1);
ex4_ivo_sel(12) <= ex4_np1_flush_pri(WDOGnp1);
ex4_ivo_sel(13) <= ex4_n_flush_pri(DTLBn);
ex4_ivo_sel(14) <= ex4_n_flush_pri(ITLBn);
ex4_ivo_sel(15) <= (ex4_debug_int_en_q(t) and (ex4_n_flush_pri(DBG0n) or ex4_n_flush_pri(DBG1n) or ex4_np1_flush_pri(DBG3np1) or ex4_n_flush_pri_dacr_async(t) or ex4_n_flush_pri_icmp(t) or ex4_n_flush_pri_irpt(t)));
ex4_ivo_sel(16) <= ex4_n_flush_pri_unavail(VEC);
ex4_ivo_sel(17) <= ex4_np1_flush_pri(DBELLnp1);
ex4_ivo_sel(18) <= ex4_np1_flush_pri(CDBELLnp1);
ex4_ivo_sel(19) <= ex4_np1_flush_pri(GDBELLnp1);
ex4_ivo_sel(20) <= ex4_np1_flush_pri(GCDBELLnp1) or ex4_np1_flush_pri(GDBMCHKnp1);
ex4_ivo_sel(21) <= ex4_np1_flush_pri_instr(SC) and ex4_sc_lev_q;
ex4_ivo_sel(22) <= ex4_n_flush_pri(HPRIVn);
ex4_ivo_sel(23) <= ex4_n_flush_pri(ILRATn) or ex4_n_flush_pri(DLRATn);
ex4_ivo_sel(24) <= ex4_np1_flush_pri(UDECnp1);
ex4_ivo_sel(25) <= ex4_np1_flush_pri(PERFnp1);
ex5_dsigs_d(t) <= msr_gs_q(t) and spr_epcr_dsigs(t) and not ex4_esr_pri(VF);
ex5_isigs_d(t) <= msr_gs_q(t) and spr_epcr_isigs(t);
ex5_extgs_d(t) <= msr_gs_q(t) and spr_epcr_extgs(t);
ex5_dtlbgs_d(t) <= msr_gs_q(t) and spr_epcr_dtlbgs(t);
ex5_itlbgs_d(t) <= msr_gs_q(t) and spr_epcr_itlbgs(t);
ex5_ivo_mask_guest(0) <= '0';
ex5_ivo_mask_guest(1) <= '0';
ex5_ivo_mask_guest(2) <= ex5_dsigs_q(t) and not ex5_tlb_inelig_q(t);
ex5_ivo_mask_guest(3) <= ex5_isigs_q(t) and not ex5_tlb_inelig_q(t);
ex5_ivo_mask_guest(4) <= ex5_extgs_q(t);
ex5_ivo_mask_guest(5) <= '0';
ex5_ivo_mask_guest(6) <= '0';
ex5_ivo_mask_guest(7) <= '0';
ex5_ivo_mask_guest(8) <= msr_gs_q(t);
ex5_ivo_mask_guest(9) <= '0';
ex5_ivo_mask_guest(10) <= '0';
ex5_ivo_mask_guest(11) <= '0';
ex5_ivo_mask_guest(12) <= '0';
ex5_ivo_mask_guest(13) <= ex5_dtlbgs_q(t);
ex5_ivo_mask_guest(14) <= ex5_itlbgs_q(t);
ex5_ivo_mask_guest(15) <= '0';
ex5_ivo_mask_guest(16) <= '0';
ex5_ivo_mask_guest(17) <= '0';
ex5_ivo_mask_guest(18) <= '0';
ex5_ivo_mask_guest(19) <= '0';
ex5_ivo_mask_guest(20) <= '0';
ex5_ivo_mask_guest(21) <= '0';
ex5_ivo_mask_guest(22) <= '0';
ex5_ivo_mask_guest(23) <= '0';
ex5_ivo_mask_guest(24) <= '0';
ex5_ivo_mask_guest(25) <= '0';
ex5_ivo_guest_sel <= ex5_ivo_sel_q and ex5_ivo_mask_guest;
ex5_ivo_hypv_sel <= ex5_ivo_sel_q and not ex5_ivo_mask_guest;
ex5_is_any_gint(t) <= or_reduce(ex5_ivo_guest_sel);
ex5_is_any_hint(t) <= or_reduce(ex5_ivo_hypv_sel);
ex5_is_any_int(t) <= or_reduce(ex5_ivo_sel_q);
ex4_is_any_rfi(t) <= ex4_np1_flush_pri_instr(RFI);
ex5_is_base_hint(t) <= or_reduce(ex5_ivo_hypv_sel(2 to 11)) or or_reduce(ex5_ivo_hypv_sel(13 to 14)) or or_reduce(ex5_ivo_hypv_sel(16 to 17)) or ex5_ivo_hypv_sel(19) or or_reduce(ex5_ivo_hypv_sel(21 to 25));
ex5_is_base_gint(t) <= or_reduce(ex5_ivo_guest_sel(2 to 11)) or or_reduce(ex5_ivo_guest_sel(13 to 14)) or or_reduce(ex5_ivo_guest_sel(16 to 17)) or ex5_ivo_guest_sel(19) or or_reduce(ex5_ivo_guest_sel(21 to 25));
ex4_is_base_int(t) <= or_reduce(ex4_ivo_sel(2 to 11)) or or_reduce(ex4_ivo_sel(13 to 14)) or or_reduce(ex4_ivo_sel(16 to 17)) or ex4_ivo_sel(19) or or_reduce(ex4_ivo_sel(21 to 25));
ex4_is_crit_int(t) <= ex4_ivo_sel(0) or ex4_ivo_sel(12) or ex4_ivo_sel(15) or ex4_ivo_sel(18) or ex4_ivo_sel(20);
ex4_is_mchk_int(t) <= ex4_ivo_sel(1);
ex5_ivo <= gate(x"02",ex5_ivo_sel_q( 0)) or -- IVOR0 Critical Input
gate(x"00",ex5_ivo_sel_q( 1)) or -- IVOR1 Machine Check
gate(x"06",ex5_ivo_sel_q( 2)) or -- IVOR2 Data Storage
gate(x"08",ex5_ivo_sel_q( 3)) or -- IVOR3 Instr Storage
gate(x"0A",ex5_ivo_sel_q( 4)) or -- IVOR4 External Input
gate(x"0C",ex5_ivo_sel_q( 5)) or -- IVOR5 Alignment
gate(x"0E",ex5_ivo_sel_q( 6)) or -- IVOR6 Program
gate(x"10",ex5_ivo_sel_q( 7)) or -- IVOR7 FP Unavailable
gate(x"12",ex5_ivo_sel_q( 8)) or -- IVOR8 System Call
gate(x"14",ex5_ivo_sel_q( 9)) or -- IVOR9 AP Unavailable
gate(x"16",ex5_ivo_sel_q(10)) or -- IVOR10 Decrementer
gate(x"18",ex5_ivo_sel_q(11)) or -- IVOR11 Fixed Interval Timer
gate(x"1A",ex5_ivo_sel_q(12)) or -- IVOR12 Watchdog
gate(x"1C",ex5_ivo_sel_q(13)) or -- IVOR13 Data TLB Error
gate(x"1E",ex5_ivo_sel_q(14)) or -- IVOR14 Instr TLB Error
gate(x"04",ex5_ivo_sel_q(15)) or -- IVOR15 Debug
gate(x"20",ex5_ivo_sel_q(16)) or -- IVOR32 Vector Unavailable
gate(x"28",ex5_ivo_sel_q(17)) or -- IVOR36 Doorbell
gate(x"2A",ex5_ivo_sel_q(18)) or -- IVOR37 Doorbell Critical
gate(x"2C",ex5_ivo_sel_q(19)) or -- IVOR38 Guest Doorbell
gate(x"2E",ex5_ivo_sel_q(20)) or -- IVOR39 Guest Doorbell Critical / Guest Doorbell Machine Check
gate(x"30",ex5_ivo_sel_q(21)) or -- IVOR40 Embedded Hypervisor System Call
gate(x"32",ex5_ivo_sel_q(22)) or -- IVOR41 Embedded Hypervisor Privilege
gate(x"34",ex5_ivo_sel_q(23)) or -- IVOR42 LRAT Error
gate(x"80",ex5_ivo_sel_q(24)) or -- IVORXX User Decrementer
gate(x"82",ex5_ivo_sel_q(25)); -- IVORXX Performance Monitor
-- Guest Doorbell is an oddball. It's directed to hypervisor, but it updates GSRR0/GSRR1
ex5_force_gsrr_d(t) <= ex4_np1_flush_pri(GDBELLnp1);
-------------------------------------------------------------------------------
-- IO assignments
-------------------------------------------------------------------------------
-- This signal will decrement the SRR0 by 1, since the AXU's trap comes on past completion, but the
-- architecture specifies that SRR0 be the address of the instruction that caused the trap.
-- This should only be set if the trap was unmasked. If it was unmasked by an rfi/mtmsr it
-- should get the address of the next instruction.
-- **NOTE** repurposing for other interrupts as well...
ex4_ena_prog_int(t) <= ex4_n_flush_pri_ena(FPENA) and not ex5_axu_trap_pie_q(t);
ex4_n_ieratre_par_mcint(t) <= ex4_n_flush_pri(IMCHKn) and ex4_n_ieratre_par_mchk_mcint_q(t);
ex4_n_deratre_par_mcint(t) <= ex4_n_flush_pri(DMCHKn) and ex4_n_deratre_par_mchk_mcint_q(t);
ex4_n_mmu_hpriv_int(t) <= ex4_n_flush_pri(HPRIVn) and ex4_n_mmu_hpriv_int_q(t);
ex4_n_tlbwemiss_dlrat_int(t) <= ex4_n_flush_pri(DLRATn) and ex4_n_tlbwemiss_dlrat_int_q(t);
ex4_n_tlbwe_pil_prog_int(t) <= ex4_n_flush_pri(PROG0An);
ex4_n_tlbmh_mchk_mcint(t) <= ex4_n_flush_pri(IMCHKn) and ex4_n_tlbmh_mchk_mcint_q(t) and not mmu_eratmiss_done_q(t);
ex4_n_tlbpar_mchk_mcint(t) <= ex4_n_flush_pri(IMCHKn) and spare_5_q(t) and not mmu_eratmiss_done_q(t);
ex5_srr0_dec_d(t) <= ex4_ena_prog_int(t) or
ex4_n_ieratre_par_mcint(t) or ex4_n_deratre_par_mcint(t) or
ex4_n_mmu_hpriv_int(t) or
ex4_n_tlbwemiss_dlrat_int(t) or
ex4_n_tlbwe_pil_prog_int(t) or
ex4_n_tlbmh_mchk_mcint(t) or
ex4_n_tlbpar_mchk_mcint(t);
-- If any instruction completes after the trap signal has gone high, signal an imprecise interrupt
-- FP uCode complete comes after the trap signal has gone high, use ex5_in_ucode_q to block this.
-- Need to account for cycles between ex4 & ex7...
-- EX4 EX5 EX6 EX7
ex4_axu_trap_pie(t) <= not(spare_1_d(t)) or spare_1_q(t) or spare_1_q(4+t) or spare_1_q(8+t);
ex5_axu_trap_pie_d(t) <= ex4_axu_trap_q(t) and (ex4_axu_trap_pie(t) or ex5_axu_trap_pie_q(t));
-- Save a side copy of the dear on D-ERAT misses
-- Use that copy to update the dear for D-ERAT misses which resulted in an interrupt during HTW.
ex5_dear_update_saved_d(t) <= derat_hold_present_q(t);
cpl_spr_ex5_dear_update_saved(t) <= ex5_dear_update_saved_q(t);
cpl_spr_ex5_dear_save(t) <= ex5_n_dmiss_flush_q(t);
-- Select which INTs will update which regs ... These lists go by IVOR#
cpl_spr_ex5_dear_update(t) <= ex5_ivo_sel_q(2) or ex5_ivo_sel_q(5) or ex5_ivo_sel_q(13) or (ex5_ivo_sel_q(23) and ex5_n_ptemiss_dlrat_int_q(t));
cpl_spr_ex5_esr_update(t) <= ex5_ivo_sel_q(2) or ex5_ivo_sel_q(5) or ex5_ivo_sel_q(13) or ex5_ivo_sel_q(6) or ex5_ivo_sel_q(3) or ex5_ivo_sel_q(16) or ex5_ivo_sel_q(23);
-- Don't allow lower priority DBSR events to be set if a higher priority event exists
-- Use the IVC/IAC signals that are not gated with MSR[DE] and DBCR[IDM]
ex4_dbsr_update(t) <= or_reduce(ex4_dbsr_cond and ex4_dbsr_en_cond) or exx_np1_icmp_dbg_event(t) or exx_np1_irpt_dbg_event(t) or ex4_n_flush_pri_dacr_async(t) or ex4_np1_ude_dbg_event_q(t);
ex4_dbsr_act(t) <= clkg_ctl_q or or_reduce(ex4_dbsr_cond) or exx_np1_icmp_dbg_event(t) or exx_np1_irpt_dbg_event(t) or ex4_n_flush_pri_dacr_async(t) or ex4_np1_ude_dbg_event_q(t);
ex4_esr_act(t) <= clkg_ctl_q or ex4_n_flush_pri(PROG0n) or ex4_n_flush_pri(PROG1n) or ex4_n_flush_pri(PROG2n) or ex4_n_flush_pri(PROG3n) or ex4_n_flush_pri(PROG0An) or
ex4_n_flush_pri(ALIGNn) or ex4_n_flush_pri(UNAVAILn) or ex4_np1_ptr_prog_int_q(t) or
ex4_n_flush_pri(DSTORn) or ex4_n_flush_pri(DLRATn) or ex4_n_flush_pri(DTLBn) or
ex4_n_flush_pri(ISTORn) or ex4_n_flush_pri(ILRATn);
ex4_mcsr_act(t) <= clkg_ctl_q or ex4_n_flush_cond(IMCHKn) or ex4_n_flush_cond(DMCHKn) or ex4_np1_flush_cond(MCHKnp1);
ex4_mcsr_d(0+14*t) <= ex3_n_dpovr_mchk_mcint(t); -- DPOVR: Data Port Overrun
ex4_mcsr_d(1+14*t) <= ex3_n_tlbsrej_mchk_mcint(t); -- TLBIVAXSR:TLBivax Snoop Reject
ex4_mcsr_d(2+14*t) <= ex3_n_tlblru_mchk_mcint(t); -- TLBLRUPE: TLB LRU Parity Error
ex4_mcsr_d(3+14*t) <= ex3_xuuc_val_q(t) and ex3_n_il2ecc_mchk_mcint_xuuc(t); -- IL2ECC: I$ L2 UC ECC Error
ex4_mcsr_d(4+14*t) <= ex3_n_dl2ecc_mchk_mcint(t); -- DL2ECC: D$ L2 UC ECC Error
ex4_mcsr_d(5+14*t) <= ex3_xu_val_q(t) and ex3_n_ddpe_mchk_mcint_xu(t); -- DDPE: D$ Dir Parity Error
ex4_mcsr_d(6+14*t) <= ex3_np1_ext_mchk_mcint(t); -- EXT: External Machine Check
ex4_mcsr_d(7+14*t) <= ex3_n_dcpe_mchk_mcint(t); -- DCPE: D$ Data Parity Error
ex4_mcsr_d(8+14*t) <= ex3_xuuc_val_q(t) and ex3_n_iemh_mchk_mcint_xuuc(t); -- IEMH: I-ERAT Multi-Hit
ex4_mcsr_d(9+14*t) <= ex3_xu_val_q(t) and lsu_xu_ex3_derat_multihit_err(t); -- DEMH: D-ERAT Multi-Hit
ex4_mcsr_d(10+14*t) <= ex3_tlb_multihit_err_q(t); -- TLBMH: TLB Multi-Hit
ex4_mcsr_d(11+14*t) <=(ex3_xuuc_val_q(t) and ex3_n_iepe_mchk_mcint_xuuc(t)) or -- IEPE: I-ERAT Parity Error
ex3_n_ieratre_par_mchk_mcint(t);
ex4_mcsr_d(12+14*t) <=(ex3_xu_val_q(t) and lsu_xu_ex3_derat_par_err(t)) or -- DEPE: D-ERAT Parity Error
( ex3_n_deratre_par_mchk_mcint(t));
ex4_mcsr_d(13+14*t) <= ex3_tlb_par_err_q(t); -- TLBPE: TLB Parity Error
ex5_mcsr_d(0+15*t) <= ex4_n_flush_pri(DMCHKn) and ex4_mcsr_q(0+14*t); -- DPOVR: Data Port Overrun
ex5_mcsr_d(1+15*t) <= ex4_n_flush_pri(DMCHKn) and ex4_n_ddmh_mchk_mcint(t); -- DDMH: Data Cache Directory MultiHit
ex5_mcsr_d(2+15*t) <= ex4_n_flush_pri(IMCHKn) and ex4_mcsr_q(1+14*t); -- TLBIVAXSR:TLBivax Snoop Reject
ex5_mcsr_d(3+15*t) <= ex4_n_flush_pri(IMCHKn) and ex4_mcsr_q(2+14*t); -- TLBLRUPE: TLB LRU Parity Error
ex5_mcsr_d(4+15*t) <= ex4_n_flush_pri(IMCHKn) and ex4_mcsr_q(3+14*t); -- IL2ECC: I$ L2 UC ECC Error
ex5_mcsr_d(5+15*t) <= ex4_n_flush_pri(DMCHKn) and ex4_mcsr_q(4+14*t); -- DL2ECC: D$ L2 UC ECC Error
ex5_mcsr_d(6+15*t) <= ex4_n_flush_pri(DMCHKn) and ex4_mcsr_q(5+14*t); -- DDPE: D$ Dir Parity Error
ex5_mcsr_d(7+15*t) <= ex4_np1_flush_pri(MCHKnp1) and ex4_mcsr_q(6+14*t); -- EXT: External Machine Check
ex5_mcsr_d(8+15*t) <= ex4_n_flush_pri(DMCHKn) and ex4_mcsr_q(7+14*t); -- DCPE: D$ Data Parity Error
ex5_mcsr_d(9+15*t) <= ex4_n_flush_pri(IMCHKn) and ex4_mcsr_q(8+14*t); -- IEMH: I-ERAT Multi-Hit
ex5_mcsr_d(10+15*t) <= ex4_n_flush_pri(DMCHKn) and ex4_mcsr_q(9+14*t); -- DEMH: D-ERAT Multi-Hit
ex5_mcsr_d(11+15*t) <= ex4_n_flush_pri(IMCHKn) and ex4_mcsr_q(10+14*t); -- TLBMH: TLB Multi-Hit
ex5_mcsr_d(12+15*t) <= ex4_n_flush_pri(IMCHKn) and(ex4_mcsr_q(11+14*t) or
ex4_n_ieratsx_par_mchk_mcint_q(t)); -- IEPE: I-ERAT Parity Error
ex5_mcsr_d(13+15*t) <= ex4_n_flush_pri(DMCHKn) and ex4_mcsr_q(12+14*t); -- DEPE: D-ERAT Parity Error
ex5_mcsr_d(14+15*t) <= ex4_n_flush_pri(IMCHKn) and ex4_mcsr_q(13+14*t); -- TLBPE: TLB Parity Error
pc_err_mcsr(0+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(0+15*t); -- DPOVR: Data Port Overrun
pc_err_mcsr(1+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(2+15*t); -- TLBIVAXSR:TLBivax Snoop Reject
pc_err_mcsr(2+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(3+15*t); -- TLBLRUPE: TLB LRU Parity Error
pc_err_mcsr(3+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(7+15*t); -- EXT: External Machine Check
pc_err_mcsr(4+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(9+15*t); -- IEMH: I-ERAT Multi-Hit
pc_err_mcsr(5+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(10+15*t); -- DEMH: D-ERAT Multi-Hit
pc_err_mcsr(6+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(11+15*t); -- TLBMH: TLB Multi-Hit
pc_err_mcsr(7+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(12+15*t); -- IEPE: I-ERAT Parity Error
pc_err_mcsr(8+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(13+15*t); -- DEPE: D-ERAT Parity Error
pc_err_mcsr(9+11*t) <= ex5_mcsr_act_q(t) and ex5_mcsr_q(14+15*t); -- TLBPE: TLB Parity Error
pc_err_mcsr(10+11*t) <= not ex5_mchk_int_en_q(t) and or_reduce(pc_err_mcsr(11*t to 11*t+9)); -- MCHK when machine checks are disabled.
pc_err_mcsr_summary_d(t) <= or_reduce(pc_err_mcsr_rpt(11*t to 11*t+9));
ex4_esr_mask(0) <= ex4_n_flush_pri(PROG0n) or ex4_n_flush_pri(PROG0An);
ex4_esr_mask(1) <= ex4_n_flush_pri(PROG1n);
ex4_esr_mask(2) <= ex4_np1_flush_pri_instr(TRAP);
ex4_esr_mask(3) <= ex4_n_flush_pri(ALIGNn) or ex4_n_flush_pri(DSTORn) or ex4_n_flush_pri(DTLBn) or ex4_n_flush_pri(DLRATn) or
ex4_n_flush_pri(PROG0n) or ex4_n_flush_pri(PROG1n) or ex4_n_flush_pri(PROG2n) or ex4_n_flush_pri(PROG3n);
ex4_esr_mask(4) <= ex4_n_flush_pri(ALIGNn) or ex4_n_flush_pri(DSTORn) or ex4_n_flush_pri(DTLBn) or ex4_n_flush_pri(DLRATn);
ex4_esr_mask(5) <= ex4_n_flush_pri(DSTORn);
ex4_esr_mask(6) <= ex4_n_flush_pri(DSTORn);
ex4_esr_mask(7) <= ex4_esr_mask(3);
ex4_esr_mask(8) <= ex4_n_flush_pri(PROG2n);
ex4_esr_mask(9) <= '0';
ex4_esr_mask(10) <= ex4_n_flush_pri_ena(FPENA);
ex4_esr_mask(11) <= ex4_n_flush_pri(DSTORn);
ex4_esr_mask(12) <= ex4_n_flush_pri(DLRATn);
ex4_esr_mask(13) <= ex4_n_flush_pri(ISTORn) or ex4_n_flush_pri(DSTORn);
ex4_esr_mask(14) <= ex4_n_flush_pri(ISTORn) or ex4_n_flush_pri(DSTORn) or ex4_n_flush_pri(ILRATn) or ex4_n_flush_pri(DLRATn);
ex4_esr_mask(15) <= ex4_esr_mask(3) or ex4_n_flush_pri_unavail(VEC);
ex4_esr_mask(16) <= ex4_esr_mask(4);
ex4_mmu_esr_val_d(t) <= ex3_tlb_inelig_q(t) or ex3_tlb_pt_fault_q(t) or ex3_tlb_miss_q(t);
-- Force Instruction Type for AP/FP Enabled Interrupts
with ex4_n_flush_pri_ena select
ex4_axu_instr_type <= "001" when "01",
"100" when "10",
ex4_axu_instr_type_q when others;
with ex4_mmu_esr_val_q(t) select
ex4_is_any_store(t) <= ex4_mmu_esr_st_q(t) when '1',
ex4_is_any_store_q(t) when others;
with ex4_mmu_esr_val_q(t) select
ex4_epid_instr(t) <= ex4_mmu_esr_epid_q(t) when '1',
ex4_epid_instr_q(t) when others;
ex4_esr_cond(DLK) <= ex4_n_flush_pri(DSTORn) and (ex4_n_dlk0_dstor_int_q(t) or ex4_n_dlk1_dstor_int_q(t));
ex4_esr_cond(PT) <= ex4_mmu_esr_pt_q(t);
ex4_esr_cond(VF) <= ex4_n_flush_pri(DSTORn) and ex4_n_vf_dstor_int_q(t);
ex4_esr_cond(TLBI) <= ex4_tlb_inelig_q(t);
ex4_esr_cond(RW) <=(ex4_n_flush_pri(DSTORn) and ex4_n_rwaccess_dstor_int_q(t)) or
(ex4_n_flush_pri(ISTORn) and ex4_n_exaccess_istor_int_q(t));
ex4_esr_cond(UCT) <= ex4_n_flush_pri(DSTORn) and ex4_n_uct_dstor_int_q(t);
xu_cpl_esr_pri : entity work.xuq_cpl_pri(xuq_cpl_pri)
generic map (size => ex4_esr_cond'length)
port map(
cond => ex4_esr_cond,
pri => ex4_esr_pri);
ex5_esr_d(0+17*t) <= ex4_esr_mask(0); -- PIL: Illegal
ex5_esr_d(1+17*t) <= ex4_esr_mask(1); -- PPR: Privledged
ex5_esr_d(2+17*t) <= ex4_esr_mask(2) and ex4_np1_ptr_prog_int_q(t); -- PTR: Trap
ex5_esr_d(3+17*t) <= ex4_esr_mask(3) and ex4_axu_instr_type(2); -- FP: Floating Point
ex5_esr_d(4+17*t) <= ex4_esr_mask(4) and ex4_is_any_store(t) and not ex4_esr_pri(UCT); -- ST: Store
ex5_esr_d(5+17*t) <= ex4_esr_mask(5) and ex4_esr_pri(DLK) and ex4_n_dlk0_dstor_int_q(t); -- DLK0:
ex5_esr_d(6+17*t) <= ex4_esr_mask(6) and ex4_esr_pri(DLK) and ex4_n_dlk1_dstor_int_q(t); -- DLK1:
ex5_esr_d(7+17*t) <= ex4_esr_mask(7) and ex4_axu_instr_type(0); -- AP: Auxillary
ex5_esr_d(8+17*t) <= ex4_esr_mask(8); -- PUO: Unimplemented
ex5_esr_d(9+17*t) <= ex4_esr_mask(9); -- BO: Byte Ordering
ex5_esr_d(10+17*t) <= ex4_esr_mask(10) and ex5_axu_trap_pie_q(t); -- PIE: Imprecise
ex5_esr_d(11+17*t) <= ex4_esr_mask(11) and ex4_esr_pri(UCT); -- UCT: Unvailable Coprocessor Type
ex5_esr_d(12+17*t) <= ex4_esr_mask(12) and ex4_mmu_esr_data_q(t); -- DATA: Data Access
ex5_esr_d(13+17*t) <= ex4_esr_mask(13) and ex4_esr_pri(TLBI); -- TLBI: TLB Ineligible
ex5_esr_d(14+17*t) <= ex4_esr_mask(14) and ex4_esr_pri(PT); -- PT: Page Table
ex5_esr_d(15+17*t) <= ex4_esr_mask(15) and ex4_axu_instr_type(1); -- SPV: Vector
ex5_esr_d(16+17*t) <= ex4_esr_mask(16) and ex4_epid_instr(t); -- EPID: External PID
ex5_dbsr_d(0+19*t) <= ex4_np1_ude_dbg_event_q(t); -- UDE: Unconditional Debug Event
ex5_dbsr_d(1+19*t) <= exx_np1_icmp_dbg_event(t); -- ICMP: Instr Complete (Must have MSR[DE]=1)
ex5_dbsr_d(2+19*t) <= ex4_dbsr_en_cond(1) and ex4_n_brt_dbg_cint_q(t); -- BRT: Branch Taken (Must have MSR[DE]=1)
ex5_dbsr_d(3+19*t) <= exx_np1_irpt_dbg_event(t); -- IRPT: Interrupt Taken
ex5_dbsr_d(4+19*t) <= ex4_dbsr_en_cond(1) and ex4_n_trap_dbg_cint_q(t); -- TRAP: Trap Taken
ex5_dbsr_d(5+19*t) <= ex4_dbsr_en_cond(0) and ex4_iac1_cmpr_q(t) and ex4_anyuc_val_q(t); -- IAC1: Instruction Address Compare
ex5_dbsr_d(6+19*t) <= ex4_dbsr_en_cond(0) and ex4_iac2_cmpr_q(t) and ex4_anyuc_val_q(t); -- IAC2: Instruction Address Compare
ex5_dbsr_d(7+19*t) <= ex4_dbsr_en_cond(0) and ex4_iac3_cmpr_q(t) and ex4_anyuc_val_q(t); -- IAC3: Instruction Address Compare
ex5_dbsr_d(8+19*t) <= ex4_dbsr_en_cond(0) and ex4_iac4_cmpr_q(t) and ex4_anyuc_val_q(t); -- IAC4: Instruction Address Compare
ex5_dbsr_d(9+19*t) <=(ex4_dbsr_en_cond(1) and ex4_dacr_cmpr_q(1)(t) and ex4_anyuc_val_q(t)) or -- DAC1R Read Data Address Compare
ex4_dac1r_cmpr_async_q(t);
ex5_dbsr_d(10+19*t) <= ex4_dbsr_en_cond(1) and ex4_dacw_cmpr_q(1)(t) and ex4_anyuc_val_q(t); -- DAC1W Write Data Address Compare
ex5_dbsr_d(11+19*t) <=(ex4_dbsr_en_cond(1) and ex4_dacr_cmpr_q(2)(t) and ex4_anyuc_val_q(t)) or -- DAC2R Read Data Address Compare
ex4_dac2r_cmpr_async_q(t);
ex5_dbsr_d(12+19*t) <= ex4_dbsr_en_cond(1) and ex4_dacw_cmpr_q(2)(t) and ex4_anyuc_val_q(t); -- DAC2W Write Data Address Compare
ex5_dbsr_d(13+19*t) <= ex4_dbsr_en_cond(1) and ex4_n_ret_dbg_cint_q(t); -- RET Return Debug Event
ex5_dbsr_d(14+19*t) <= ex4_dbsr_en_cond(1) and ex4_dacr_cmpr_q(3)(t) and ex4_anyuc_val_q(t); -- DAC3R Read Data Address Compare
ex5_dbsr_d(15+19*t) <= ex4_dbsr_en_cond(1) and ex4_dacw_cmpr_q(3)(t) and ex4_anyuc_val_q(t); -- DAC3W Write Data Address Compare
ex5_dbsr_d(16+19*t) <= ex4_dbsr_en_cond(1) and ex4_dacr_cmpr_q(4)(t) and ex4_anyuc_val_q(t); -- DAC4R Read Data Address Compare
ex5_dbsr_d(17+19*t) <= ex4_dbsr_en_cond(1) and ex4_dacw_cmpr_q(4)(t) and ex4_anyuc_val_q(t); -- DAC4W Write Data Address Compare
ex5_dbsr_d(18+19*t) <= ex4_dbsr_en_cond(0) and ex4_n_ivc_dbg_cint_q(t); -- IVC: Instruction Value Compare
ex5_dbsr_ide_d(t) <=(ex4_dac1r_cmpr_async_q(t) or ex4_dac2r_cmpr_async_q(t)) and not ex5_in_ucode_q(t);
cpl_spr_ex5_dbsr_ide(t) <= ex5_dbsr_ide_q(t);
-- restart = flush to IU0
-- Restart must default to be on in all cases except when in ucode
-- Restart when an interrupt occurs in all cases
-- Restart @ ucode end
-- Restart if a flush to ucode while in ucode occurs (unaligned ld update forms)
ex4_ucode_restart(t) <= not ex4_uc_cia_val(t) or
(ex4_np1_flush_pri(Fnp1) and ex4_ucode_end(t)) or
ex4_n_flush_pri(F2Un) or
ex5_is_any_int(t);
with ex4_flush_act(t) select
ex5_ucode_restart_d(t) <= ex4_ucode_restart(t) when '1',
(ex5_ucode_restart_q(t) or ex5_is_any_int(t)) when others;
ex5_flush_2ucode_d(t) <= ex4_n_flush_pri(F2Un);
ex5_ram_interrupt(t) <= ram_ip_q(t) and ex5_is_any_int(t);
ex5_ram_issue_d(t) <= ram_ip_q(t) and ex5_late_flush_q(0)(t);
-- Mux correct instruction type for ESR
with s2'((ex3_xu_val_q(t) or ex3_ucode_val_q(t)) & ex3_axu_val_q(t)) select
ex4_axu_instr_type_d <= dec_cpl_ex3_axu_instr_type when "10",
ex3_axu_instr_type_q(3*t to 3*t+2) when "01",
"000" when others;
-- Special Handling for Trap Events
-- with ex4_np1_flush_pri_instr(TRAP) select
-- ex4_nia_muxed <= ex4_cia when '1',
-- ex4_nia when others;
ex4_cia_sel <= fanout((not ex4_n_flush(t) and ex4_np1_ptr_prog_int_q(t)),eff_ifar);
ex4_nia_sel <= fanout(( ex4_n_flush(t) or not ex4_np1_ptr_prog_int_q(t)),eff_ifar);
ex5_dbell_taken_d(t) <= ex4_np1_flush_pri(DBELLnp1);
ex5_cdbell_taken_d(t) <= ex4_np1_flush_pri(CDBELLnp1);
ex5_gdbell_taken_d(t) <= ex4_np1_flush_pri(GDBELLnp1);
ex5_gcdbell_taken_d(t) <= ex4_np1_flush_pri(GCDBELLnp1);
ex5_gmcdbell_taken_d(t) <= ex4_np1_flush_pri(GDBMCHKnp1);
xu_iu_iu0_flush_ifar(eff_ifar*t to eff_ifar*(t+1)-1) <= flush_ifar;
ex4_cia_p1_out(eff_ifar*t to eff_ifar*(t+1)-1) <= ex4_cia_p1;
cpl_spr_ex5_nia(eff_ifar*t to eff_ifar*(t+1)-1) <= not ex5_nia_b_q(eff_ifar*t to eff_ifar*(t+1)-1);
spr_iar(eff_ifar*t to eff_ifar*(t+1)-1) <= ex4_cia when ram_mode_q(t)='1' else ex4_cia_p1;
ex3_n_fu_rfpe_det(t) <= not (ex3_flush_q(t) or ex3_flush(t)) and fu_xu_ex3_regfile_err_det(t);
ex4_n_fu_rfpe_flush_d(t) <= ex3_n_fu_rfpe_det(t);
ex4_n_xu_rfpe_flush_d(t) <= (ex3_xuuc_val(t) or ex3_dep_val(t)) and gpr_cpl_ex3_regfile_err_det;
ex4_n_fu_rfpe_flush(t) <= ex4_n_flush_pri(FPEn) and ex4_n_fu_rfpe_flush_q(t);
ex4_n_xu_rfpe_flush(t) <= ex4_n_flush_pri(FPEn) and ex4_n_xu_rfpe_flush_q(t);
ex4_barrier_flush(t) <= ex4_n_flush_pri(FwBSn);
cia_out_gen_32 : if eff_ifar /= 62 generate
ex4_cia_out(t) <= (0 to 62-eff_ifar=>'0') & ex4_cia;
end generate;
cia_out_gen_64 : if eff_ifar = 62 generate
ex4_cia_out(t) <= ex4_cia;
end generate;
-------------------------------------------------------------------------------
-- Replicated Latches
-------------------------------------------------------------------------------
ex4_cia_b_latch : tri_rlmreg_p
generic map(width => ex4_cia_b_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map(nclk => nclk,
vd => vdd,
gd => gnd,
act => ex3_cia_act(t),
forcee => bcfg_sl_force,
d_mode => d_mode_dc,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
thold_b => bcfg_sl_thold_0_b,
sg => sg_0,
scin => siv_bcfg(ex4_cia_b_offset_bcfg + ex4_cia_b_q'length*t to ex4_cia_b_offset_bcfg + ex4_cia_b_q'length*(t+1)-1),
scout => sov_bcfg(ex4_cia_b_offset_bcfg + ex4_cia_b_q'length*t to ex4_cia_b_offset_bcfg + ex4_cia_b_q'length*(t+1)-1),
din => ex4_cia_b_d,
dout => ex4_cia_b_q);
ex4_uc_cia_latch : tri_rlmreg_p
generic map (width => ex4_uc_cia_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk,
vd => vdd,
gd => gnd,
act => ex3_uc_cia_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_uc_cia_offset + ex4_uc_cia_q'length*t to ex4_uc_cia_offset + ex4_uc_cia_q'length*(t+1)-1),
scout => sov(ex4_uc_cia_offset + ex4_uc_cia_q'length*t to ex4_uc_cia_offset + ex4_uc_cia_q'length*(t+1)-1),
din => ex4_uc_cia_d,
dout => ex4_uc_cia_q);
ex4_axu_instr_type_latch : tri_rlmreg_p
generic map (width => ex4_axu_instr_type_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex3_esr_bit_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_axu_instr_type_offset + ex4_axu_instr_type_q'length*t to ex4_axu_instr_type_offset + ex4_axu_instr_type_q'length*(t+1)-1),
scout => sov(ex4_axu_instr_type_offset + ex4_axu_instr_type_q'length*t to ex4_axu_instr_type_offset + ex4_axu_instr_type_q'length*(t+1)-1),
din => ex4_axu_instr_type_d,
dout => ex4_axu_instr_type_q);
ex4_is_any_store_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex3_esr_bit_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_any_store_offset+t),
scout => sov(ex4_is_any_store_offset+t),
din => dec_cpl_ex3_is_any_store,
dout => ex4_is_any_store_q(t));
ex4_epid_instr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex3_esr_bit_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_epid_instr_offset+t),
scout => sov(ex4_epid_instr_offset+t),
din => ex3_epid_instr_q,
dout => ex4_epid_instr_q(t));
ex5_mem_attr_latch : tri_rlmreg_p
generic map (width => ex5_mem_attr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk,
vd => vdd,
gd => gnd,
act => ex4_mem_attr_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_mem_attr_offset + ex5_mem_attr_q'length*t to ex5_mem_attr_offset + ex5_mem_attr_q'length*(t+1)-1),
scout => sov(ex5_mem_attr_offset + ex5_mem_attr_q'length*t to ex5_mem_attr_offset + ex5_mem_attr_q'length*(t+1)-1),
din => ex4_mem_attr_q,
dout => ex5_mem_attr_q);
ex5_flush_2ucode_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_flush_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_flush_2ucode_offset+t),
scout => sov(ex5_flush_2ucode_offset+t),
din => ex5_flush_2ucode_d(t),
dout => ex5_flush_2ucode_q(t));
ex5_ucode_restart_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ucode_restart_offset+t),
scout => sov(ex5_ucode_restart_offset+t),
din => ex5_ucode_restart_d(t),
dout => ex5_ucode_restart_q(t));
ex5_mem_attr_le_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_flush_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_mem_attr_le_offset+t),
scout => sov(ex5_mem_attr_le_offset+t),
din => ex5_mem_attr_le_d(t),
dout => ex5_mem_attr_le_q(t));
ex5_ivo_sel_latch : tri_rlmreg_p
generic map (width => ex5_ivo_sel_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ivo_sel_offset + ex5_ivo_sel_q'length*t to ex5_ivo_sel_offset + ex5_ivo_sel_q'length*(t+1)-1),
scout => sov(ex5_ivo_sel_offset + ex5_ivo_sel_q'length*t to ex5_ivo_sel_offset + ex5_ivo_sel_q'length*(t+1)-1),
din => ex4_ivo_sel,
dout => ex5_ivo_sel_q);
ex5_nia_b_latch : entity tri.tri_aoi22_nlats_wlcb(tri_aoi22_nlats_wlcb)
generic map (width => eff_ifar, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_nia_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_nia_b_offset + eff_ifar*t to ex5_nia_b_offset + eff_ifar*(t+1)-1),
scout => sov(ex5_nia_b_offset + eff_ifar*t to ex5_nia_b_offset + eff_ifar*(t+1)-1),
A1 => ex4_cia,
A2 => ex4_cia_sel,
B1 => ex4_nia,
B2 => ex4_nia_sel,
QB => ex5_nia_b_q(eff_ifar*t to eff_ifar*(t+1)-1));
ex5_flush_pri_dbg_latch : tri_regk
generic map (width => ex5_flush_pri_dbg_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q,
forcee => func_slp_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_nsl_thold_0_b,
din => ex4_flush_pri,
dout => ex5_flush_pri_dbg_q);
exx_instr_async_block_latch : tri_rlmreg_p
generic map (width => exx_instr_async_block_q(t)'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_instr_async_block_offset+exx_instr_async_block_q(t)'length*t to exx_instr_async_block_offset + exx_instr_async_block_q(t)'length*(t+1)-1),
scout => sov(exx_instr_async_block_offset+exx_instr_async_block_q(t)'length*t to exx_instr_async_block_offset + exx_instr_async_block_q(t)'length*(t+1)-1),
din => exx_instr_async_block_d(t),
dout => exx_instr_async_block_q(t));
ex5_esr_latch : tri_rlmreg_p
generic map (width => ex5_esr_q'length/threads, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_esr_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_esr_offset+(ex5_esr_q'length*t)/threads to ex5_esr_offset+((ex5_esr_q'length*(t+1))/threads)-1),
scout => sov(ex5_esr_offset+(ex5_esr_q'length*t)/threads to ex5_esr_offset+((ex5_esr_q'length*(t+1))/threads)-1),
din => ex5_esr_d((ex5_esr_q'length*t)/threads to ((ex5_esr_q'length*(t+1))/threads)-1),
dout => ex5_esr_q((ex5_esr_q'length*t)/threads to ((ex5_esr_q'length*(t+1))/threads)-1));
ex5_dbsr_latch : tri_rlmreg_p
generic map (width => ex5_dbsr_q'length/threads, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_dbsr_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_dbsr_offset+(ex5_dbsr_q'length*t)/threads to ex5_dbsr_offset+((ex5_dbsr_q'length*(t+1))/threads)-1),
scout => sov(ex5_dbsr_offset+(ex5_dbsr_q'length*t)/threads to ex5_dbsr_offset+((ex5_dbsr_q'length*(t+1))/threads)-1),
din => ex5_dbsr_d((ex5_dbsr_q'length*t)/threads to ((ex5_dbsr_q'length*(t+1))/threads)-1),
dout => ex5_dbsr_q((ex5_dbsr_q'length*t)/threads to ((ex5_dbsr_q'length*(t+1))/threads)-1));
ex5_mcsr_latch : tri_rlmreg_p
generic map (width => ex5_mcsr_q'length/threads, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_mcsr_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_mcsr_offset+(ex5_mcsr_q'length*t)/threads to ex5_mcsr_offset+((ex5_mcsr_q'length*(t+1))/threads)-1),
scout => sov(ex5_mcsr_offset+(ex5_mcsr_q'length*t)/threads to ex5_mcsr_offset+((ex5_mcsr_q'length*(t+1))/threads)-1),
din => ex5_mcsr_d((ex5_mcsr_q'length*t)/threads to ((ex5_mcsr_q'length*(t+1))/threads)-1),
dout => ex5_mcsr_q((ex5_mcsr_q'length*t)/threads to ((ex5_mcsr_q'length*(t+1))/threads)-1));
dbg_flushcond_latch : tri_regk
generic map (width => dbg_flushcond_q(t)'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q,
forcee => func_slp_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_nsl_thold_0_b,
din => dbg_flushcond_d(t),
dout => dbg_flushcond_q(t));
ex5_np1_icmp_dbg_cint_latch : tri_rlmreg_p
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_np1_icmp_dbg_cint_offset+t to ex5_np1_icmp_dbg_cint_offset+t),
scout => sov(ex5_np1_icmp_dbg_cint_offset+t to ex5_np1_icmp_dbg_cint_offset+t),
din(0) => ex5_np1_icmp_dbg_cint_d(t),
dout(0) => ex5_np1_icmp_dbg_cint_q(t));
ex5_np1_icmp_dbg_event_latch : tri_rlmreg_p
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_np1_icmp_dbg_event_offset+t to ex5_np1_icmp_dbg_event_offset+t),
scout => sov(ex5_np1_icmp_dbg_event_offset+t to ex5_np1_icmp_dbg_event_offset+t),
din(0) => ex5_np1_icmp_dbg_event_d(t),
dout(0) => ex5_np1_icmp_dbg_event_q(t));
-------------------------------------------------------------------------------
-- Performance Monitor
-------------------------------------------------------------------------------
ex5_perf_itlb_d(t) <= ex4_n_flush_pri(ITLBn);
ex5_perf_dtlb_d(t) <= ex4_n_flush_pri(DTLBn);
xu_mm_ex5_perf_itlb(t) <= ex5_perf_itlb_q(t);
xu_mm_ex5_perf_dtlb(t) <= ex5_perf_dtlb_q(t);
ex5_perf_event_d(00+14*t) <= ex4_instr_cpl(t); -- PPE Commit
ex5_perf_event_d(01+14*t) <= ex4_xuuc_val(t); -- Integer Commit
ex5_perf_event_d(02+14*t) <= ex4_np1_flush_pri(Fnp1) and ex4_ucode_end(t); -- uCode Commit
ex5_perf_event_d(03+14*t) <= ex2_br_flush(t) or ex4_n_flush(t) or ex4_np1_flush(t); -- Any Flush
ex5_perf_event_d(04+14*t) <= ex4_xu_val(t) and ex4_perf_event_q(0); -- Branch Commit
ex5_perf_event_d(05+14*t) <= ex4_anyuc_val(t) and ex4_perf_event_q(1); -- Branch Mispredict Commit
ex5_perf_event_d(06+14*t) <= ex4_anyuc_val(t) and ex4_perf_event_q(2); -- Branch Taken Commit
ex5_perf_event_d(07+14*t) <= ex4_n_flush_pri(BTAn); -- Branch TA Mispredict Commit
ex5_perf_event_d(08+14*t) <= ex4_anyuc_val(t) and ex4_perf_event_q(3); -- Mult/Div collision
ex5_perf_event_d(09+14*t) <= (ext_int_asserted(t) or ex5_perf_event_q(09+14*t)) and not ex5_ivo_sel_q(4); -- External Interrupt Pending
ex5_perf_event_d(10+14*t) <= (crit_int_asserted(t) or ex5_perf_event_q(10+14*t)) and not ex5_ivo_sel_q(0); -- Critical External Interrupt Pending
ex5_perf_event_d(11+14*t) <= (perf_int_asserted(t) or ex5_perf_event_q(11+14*t)) and not ex5_ivo_sel_q(25);-- Performance Mon Interrupt Pending
ex5_perf_event_d(12+14*t) <= ex4_anyuc_val(t) and ex4_n_ivc_dbg_match_q(t); -- Opcode Match
ex5_perf_event_d(13+14*t) <= ex4_instr_cpl(t) and not or_reduce(spr_ccr0_we); -- Concurrent Run Instructions
cpl_perf_tx_events(00+19*t)<= ex5_perf_event_q(00+14*t); -- PPE Commit
cpl_perf_tx_events(01+19*t)<= ex5_perf_event_q(01+14*t); -- Integer Commit
cpl_perf_tx_events(02+19*t)<= ex5_perf_event_q(02+14*t); -- uCode Commit
cpl_perf_tx_events(03+19*t)<= ex5_perf_event_q(03+14*t); -- Any Flush
cpl_perf_tx_events(04+19*t)<= ex5_perf_event_q(04+14*t); -- Branch Commit
cpl_perf_tx_events(05+19*t)<= ex5_perf_event_q(05+14*t); -- Branch Mispredict Commit
cpl_perf_tx_events(06+19*t)<= ex5_perf_event_q(06+14*t); -- Branch Taken Commit
cpl_perf_tx_events(07+19*t)<= ex5_perf_event_q(07+14*t); -- Branch TA Mispredict Commit
cpl_perf_tx_events(08+19*t)<= ex5_perf_event_q(08+14*t); -- Mult/Div collision
cpl_perf_tx_events(09+19*t)<= ex5_perf_event_q(09+14*t); -- External Interrupt Pending
cpl_perf_tx_events(10+19*t)<= ex5_perf_event_q(10+14*t); -- Critical External Interrupt Pending
cpl_perf_tx_events(11+19*t)<= ex5_perf_event_q(11+14*t); -- Performance Mon Interrupt Pending
cpl_perf_tx_events(12+19*t)<= ex5_perf_event_q(12+14*t); -- Opcode Match
cpl_perf_tx_events(13+19*t)<= ex5_perf_event_q(13+14*t); -- Concurrent Run Instructions
cpl_perf_tx_events(14+19*t)<= any_ext_perf_int; -- External, Critical, Perf Interrupts Taken (any thread)
cpl_perf_tx_events(15+19*t)<= ex5_ivo_sel_q(4); -- External Interrupt Taken
cpl_perf_tx_events(16+19*t)<= ex5_ivo_sel_q(0); -- Critical External Interrupt Taken
cpl_perf_tx_events(17+19*t)<= ex5_ivo_sel_q(25); -- Performance Mon Interrupt Taken
cpl_perf_tx_events(18+19*t)<= ex5_ivo_sel_q(17) or ex5_ivo_sel_q(18); -- Processor Doorbell or Critical Doorbell Taken
any_ext_perf_ints(t) <= ex5_ivo_sel_q(4) or ex5_ivo_sel_q(0) or ex5_ivo_sel_q(25);
ext_int_asserted(t) <= spr_cpl_async_int(0+3*t) and not spr_cpl_async_int_q(0+3*t);
crit_int_asserted(t) <= spr_cpl_async_int(1+3*t) and not spr_cpl_async_int_q(1+3*t);
perf_int_asserted(t) <= spr_cpl_async_int(2+3*t) and not spr_cpl_async_int_q(2+3*t);
mark_unused(ex4_esr_pri(VF));
mark_unused(ex4_esr_pri(RW));
-- Ucode Completing Type is FP Not LD/ST
ex5_axu_ucode_val_opc(t) <= ex5_ucode_end_dbg_q(t) and ex4_axu_instr_type_q(2) and not ex5_mem_attr_val_q(t);
ex5_axu_val_dbg_opc(t) <= ex5_axu_val_dbg_q(t) or ex5_axu_ucode_val_opc(t);
ex5_xu_val_dbg_opc(t) <= ex5_xu_val_q(t) and not ex5_axu_ucode_val_opc(t);
end generate;
any_ext_perf_int <= or_reduce(any_ext_perf_ints);
-------------------------------------------------------------------------------
-- Branch Sub-Unit
-------------------------------------------------------------------------------
xu_cpl_br : entity work.xuq_cpl_br(xuq_cpl_br)
generic map(
expand_type => expand_type,
threads => threads,
eff_ifar => eff_ifar,
uc_ifar => uc_ifar,
regsize => regsize)
port map(
nclk => nclk,
d_mode_dc => d_mode_dc,
delay_lclkr_dc => delay_lclkr_dc,
mpw1_dc_b => mpw1_dc_b,
mpw2_dc_b => mpw2_dc_b,
func_sl_thold_0_b => func_sl_thold_0_b,
func_sl_force => func_sl_force,
sg_0 => sg_0,
scan_in => siv_3(0),
scan_out => sov_3(0),
rf1_act => exx_act(0),
ex1_act => exx_act(1),
rf1_tid => rf1_tid_q,
ex1_tid => ex1_xu_val_q,
ex1_xu_val => ex1_xu_val,
dec_cpl_rf1_ifar => dec_cpl_rf1_ifar,
ex1_xu_ifar => ex1_xu_ifar,
dec_cpl_rf1_pred_taken_cnt => dec_cpl_rf1_pred_taken_cnt,
dec_cpl_rf1_instr => dec_cpl_rf1_instr,
byp_cpl_ex1_cr_bit => byp_cpl_ex1_cr_bit,
spr_lr => spr_lr,
spr_ctr => spr_ctr,
ex2_br_flush => ex2_br_flush,
ex2_br_flush_ifar => ex2_br_flush_ifar,
ex1_branch => ex1_branch,
ex1_br_mispred => ex1_br_mispred,
ex1_br_taken => ex1_br_taken,
ex1_br_update => ex1_br_update,
ex1_is_bcctr => open,
ex1_is_bclr => ex1_is_bclr,
ex1_lr_update => ex1_lr_update,
ex1_ctr_dec_update => ex1_ctr_dec_update,
ex1_instr => ex1_instr,
spr_msr_cm => msr_cm_q,
br_debug => br_debug,
vdd => vdd,
gnd => gnd
);
-------------------------------------------------------------------------------
-- SPR Sub-Unit
-------------------------------------------------------------------------------
xu_cpl_spr : entity work.xuq_cpl_spr(xuq_cpl_spr)
generic map(
hvmode => hvmode,
a2mode => a2mode,
expand_type => expand_type,
threads => threads,
regsize => regsize,
eff_ifar => eff_ifar)
port map(
nclk => nclk,
d_mode_dc => d_mode_dc,
delay_lclkr_dc => delay_lclkr_dc,
mpw1_dc_b => mpw1_dc_b,
mpw2_dc_b => mpw2_dc_b,
dcfg_sl_force => dcfg_sl_force,
dcfg_sl_thold_0_b => dcfg_sl_thold_0_b,
func_sl_force => func_sl_force,
func_sl_thold_0_b => func_sl_thold_0_b,
func_nsl_force => func_nsl_force,
func_nsl_thold_0_b => func_nsl_thold_0_b,
sg_0 => sg_0,
scan_in => siv_3(1),
scan_out => sov_3(1),
dcfg_scan_in => siv_dcfg(0),
dcfg_scan_out => sov_dcfg(0),
spr_bit_act => spr_bit_act_q,
exx_act => exx_act(1 to 4),
ex1_instr => ex1_instr(11 to 20),
ex2_tid => ex2_xu_val_q,
ex2_ifar => ex2_ifar,
ex1_is_mfspr => ex1_is_mfspr_q,
ex1_is_mtspr => ex1_is_mtspr_q,
ex4_lr_update => ex4_lr_update_q,
ex4_ctr_dec_update => ex4_ctr_dec_update_q,
ex5_val => ex5_xu_val_q,
ex5_spr_wd => ex5_rt_q,
ex5_cia_p1 => ex5_cia_p1,
ex2_mtiar => ex2_mtiar,
cpl_byp_ex3_spr_rt => cpl_byp_ex3_spr_rt,
ex3_iac1_cmpr => ex3_iac1_cmpr,
ex3_iac2_cmpr => ex3_iac2_cmpr,
ex3_iac3_cmpr => ex3_iac3_cmpr,
ex3_iac4_cmpr => ex3_iac4_cmpr,
spr_cpl_iac1_en => spr_cpl_iac1_en,
spr_cpl_iac2_en => spr_cpl_iac2_en,
spr_cpl_iac3_en => spr_cpl_iac3_en,
spr_cpl_iac4_en => spr_cpl_iac4_en,
spr_dbcr1_iac12m => spr_dbcr1_iac12m,
spr_dbcr1_iac34m => spr_dbcr1_iac34m,
spr_iar => spr_iar,
spr_msr_cm => msr_cm_q,
spr_givpr => spr_givpr,
spr_ivpr => spr_ivpr,
spr_ctr => spr_ctr,
spr_lr => spr_lr,
spr_xucr3_cm_hold_dly => spr_xucr3_cm_hold_dly,
spr_xucr3_stop_dly => spr_xucr3_stop_dly,
spr_xucr3_hold0_dly => spr_xucr3_hold0_dly,
spr_xucr3_hold1_dly => spr_xucr3_hold1_dly,
spr_xucr3_csi_dly => spr_xucr3_csi_dly,
spr_xucr3_int_dly => spr_xucr3_int_dly,
spr_xucr3_asyncblk_dly => spr_xucr3_asyncblk_dly,
spr_xucr3_flush_dly => spr_xucr3_flush_dly,
spr_xucr4_div_bar_dis => spr_xucr4_div_bar_dis,
spr_xucr4_lsu_bar_dis => spr_xucr4_lsu_bar_dis,
spr_xucr4_barr_dly => spr_xucr4_barr_dly,
spr_xucr4_div_barr_thres => spr_xucr4_div_barr_thres,
spr_xucr4_mddmh => spr_xucr4_mddmh,
spr_xucr4_mmu_mchk => spr_xucr4_mmu_mchk_int,
vdd => vdd,
gnd => gnd
);
-------------------------------------------------------------------------------
-- Error Macros
-------------------------------------------------------------------------------
xu_cpl_sprg_ue_err_rpt : entity tri.tri_direct_err_rpt(tri_direct_err_rpt)
generic map(width => threads, expand_type => expand_type)
port map ( vd => vdd, gd => gnd,
err_in => ex5_n_flush_sprg_ue_flush_q,
err_out => xu_pc_err_sprg_ue);
xu_cpl_err_debug_rpt : entity tri.tri_direct_err_rpt(tri_direct_err_rpt)
generic map (width => threads, expand_type => expand_type)
port map (vd => vdd, gd => gnd,
err_in => ex5_ext_dbg_err_q,
err_out => xu_pc_err_debug_event);
xu_cpl_err_attn_rpt : entity tri.tri_direct_err_rpt(tri_direct_err_rpt)
generic map (width => threads, expand_type => expand_type)
port map (vd => vdd, gd => gnd,
err_in => ex5_is_attn_q,
err_out => xu_pc_err_attention_instr);
xu_cpl_err_nia_rpt : entity tri.tri_direct_err_rpt(tri_direct_err_rpt)
generic map (width => threads, expand_type => expand_type)
port map (vd => vdd, gd => gnd,
err_in => ex5_err_nia_miscmpr_q,
err_out => xu_pc_err_nia_miscmpr);
ex6_mcsr_act_d <= or_reduce(ex5_mcsr_act_q);
ex5_mcsr_act <= ex6_mcsr_act_d or ex6_mcsr_act_q;
bcfg_lcbnd: entity tri.tri_lcbnd
generic map (expand_type => expand_type )
port map(act => ex5_mcsr_act,
vd => vdd,
gd => gnd,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
nclk => nclk,
forcee => bcfg_slp_sl_force,
sg => sg_0,
thold_b => bcfg_slp_sl_thold_0_b,
d1clk => mcsr_bcfg_slp_sl_d1clk,
d2clk => mcsr_bcfg_slp_sl_d2clk,
lclk => mcsr_bcfg_slp_sl_lclk);
bcfg_lcbs: tri_lcbs
generic map (expand_type => expand_type )
port map(vd => vdd,
gd => gnd,
delay_lclkr => delay_lclkr_dc,
nclk => nclk,
forcee => so_force,
thold_b => bcfg_so_thold_0_b,
dclk => bcfg_so_d2clk,
lclk => bcfg_so_lclk);
xu_cpl_err_mcsr_rpt : entity tri.tri_err_rpt
generic map (width => pc_err_mcsr'length, mask_reset_value => (pc_err_mcsr'range=>'0'), inline => false, expand_type => expand_type)
port map (vd => vdd, gd => gnd,
err_d1clk => mcsr_bcfg_slp_sl_d1clk,
err_d2clk => mcsr_bcfg_slp_sl_d2clk,
err_lclk => mcsr_bcfg_slp_sl_lclk,
err_scan_in => siv_bcfg(mcsr_rpt_offset_bcfg to mcsr_rpt_offset_bcfg + pc_err_mcsr'length-1),
err_scan_out => sov_bcfg(mcsr_rpt_offset_bcfg to mcsr_rpt_offset_bcfg + pc_err_mcsr'length-1),
mode_dclk => bcfg_so_d2clk,
mode_lclk => bcfg_so_lclk,
mode_scan_in => siv_bcfg(mcsr_rpt2_offset_bcfg to mcsr_rpt2_offset_bcfg + pc_err_mcsr'length-1),
mode_scan_out => sov_bcfg(mcsr_rpt2_offset_bcfg to mcsr_rpt2_offset_bcfg + pc_err_mcsr'length-1),
err_in => pc_err_mcsr,
err_out => pc_err_mcsr_rpt);
pc_err_mcsr_rpt_d <= or_reduce_t(pc_err_mcsr_rpt,threads);
xu_pc_err_mcsr_summary <= pc_err_mcsr_summary_q;
xu_pc_err_ditc_overrun <= pc_err_mcsr_rpt_q(0);
xu_pc_err_local_snoop_reject <= pc_err_mcsr_rpt_q(1);
xu_pc_err_tlb_lru_parity <= pc_err_mcsr_rpt_q(2);
xu_pc_err_ext_mchk <= pc_err_mcsr_rpt_q(3);
xu_pc_err_ierat_multihit <= pc_err_mcsr_rpt_q(4);
xu_pc_err_derat_multihit <= pc_err_mcsr_rpt_q(5);
xu_pc_err_tlb_multihit <= pc_err_mcsr_rpt_q(6);
xu_pc_err_ierat_parity <= pc_err_mcsr_rpt_q(7);
xu_pc_err_derat_parity <= pc_err_mcsr_rpt_q(8);
xu_pc_err_tlb_parity <= pc_err_mcsr_rpt_q(9);
xu_pc_err_mchk_disabled <= pc_err_mcsr_rpt_q(10);
ex5_cm_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1, clockgate => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_cm_hold_cond_offset),
scout => sov(ex5_cm_hold_cond_offset),
delay => spr_xucr3_cm_hold_dly,
din => ex5_cm_hold_cond,
dout => exx_cm_hold);
-------------------------------------------------------------------------------
-- Block Conditions
-------------------------------------------------------------------------------
ex3_async_int_block_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_async_int_block_cond_offset),
scout => sov(ex3_async_int_block_cond_offset),
delay => spr_xucr3_asyncblk_dly,
din => ex3_async_int_block_cond,
dout => ex3_async_int_block_d);
ex3_base_int_block_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1, clockgate => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_base_int_block_offset),
scout => sov(ex3_base_int_block_offset),
delay => spr_xucr3_int_dly,
din => ex3_base_int_block_cond,
dout => ex3_base_int_block);
ex3_mchk_int_block_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1, clockgate => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_mchk_int_block_offset),
scout => sov(ex3_mchk_int_block_offset),
delay => spr_xucr3_int_dly,
din => ex3_mchk_int_block_cond,
dout => ex3_mchk_int_block);
-------------------------------------------------------------------------------
-- Multi-Cycle Flushes
-------------------------------------------------------------------------------
exx_thread_stop_mcflush_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_thread_stop_mcflush_offset),
scout => sov(exx_thread_stop_mcflush_offset),
delay => spr_xucr3_stop_dly,
din => ex4_thread_stop_q,
dout => exx_thread_stop_mcflush);
exx_csi_mcflush_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_csi_mcflush_offset),
scout => sov(exx_csi_mcflush_offset),
delay => spr_xucr3_csi_dly,
din => ex5_csi,
dout => exx_csi_mcflush);
exx_lateflush_mcflush_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_lateflush_mcflush_offset),
scout => sov(exx_lateflush_mcflush_offset),
delay => spr_xucr3_flush_dly,
din => ex4_late_flush,
dout => exx_lateflush_mcflush);
exx_hold0_mcflush_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_hold0_mcflush_offset),
scout => sov(exx_hold0_mcflush_offset),
delay => spr_xucr3_hold0_dly,
din => hold_state_0,
dout => exx_hold0_mcflush);
exx_hold1_mcflush_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_hold1_mcflush_offset),
scout => sov(exx_hold1_mcflush_offset),
delay => spr_xucr3_hold1_dly,
din => hold_state_1,
dout => exx_hold1_mcflush);
exx_barr_mcflush_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => threads, expand_type => expand_type, passthru => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_barr_mcflush_offset),
scout => sov(exx_barr_mcflush_offset),
delay => spr_xucr4_barr_dly,
din => ex4_barrier_flush,
dout => exx_barr_mcflush);
exx_multi_flush_d <= exx_thread_stop_mcflush or
exx_hold0_mcflush or
exx_hold1_mcflush or
exx_barr_mcflush or
exx_csi_mcflush;
exx_multi_flush <= exx_lateflush_mcflush or
exx_multi_flush_q;
-------------------------------------------------------------------------------
-- Flush Pipe
-------------------------------------------------------------------------------
xu_iu_ex5_ppc_cpl <= ex5_instr_cpl_q;
iu_flush <= ex2_br_flush or ex5_late_flush_q(0);
xu_iu_flush <= iu_flush;
ex4_late_flush <= ex4_np1_flush or ex4_n_flush;
ex5_late_flush_repwr : for r in 0 to ifar_repwr-1 generate
ex5_late_flush_d(r) <= ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
end generate;
exx_flush_inf_act <= clkg_ctl_q or or_reduce(any_flush or is2_flush_q);
ex4_flush_inf_act <= clkg_ctl_q or or_reduce(ex4_flush or ex5_flush_q);
any_flush <= ex2_br_flush or ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
is2_flush <= ex2_br_flush or ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
rf0_flush <= ex2_br_flush or ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
rf1_flush <= ex2_br_flush or ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
ex1_flush <= ex2_br_flush or ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
ex2_flush <= ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
ex3_flush <= ex4_np1_flush or ex4_n_flush or exx_multi_flush or hold_state_1;
ex4_flush <= ex4_n_flush or exx_multi_flush_q or hold_state_1;
xu_rf0_flush <= rf0_flush_q;
xu_rf1_flush <= rf1_flush_q;
xu_ex1_flush <= ex1_flush_q;
xu_ex2_flush <= ex2_flush_q;
xu_ex3_flush <= ex3_flush_q;
xu_ex4_flush <= ex4_flush_q;
xu_ex5_flush <= ex5_flush_q;
xu_n_is2_flush <= xu_is2_n_flush_q;
xu_n_rf0_flush <= xu_rf0_n_flush_q;
xu_n_rf1_flush <= xu_rf1_n_flush_q;
xu_n_ex1_flush <= xu_ex1_n_flush_q;
xu_n_ex2_flush <= xu_ex2_n_flush_q;
xu_n_ex3_flush <= xu_ex3_n_flush_q;
xu_n_ex4_flush <= xu_ex4_n_flush_q;
xu_n_ex5_flush <= xu_ex5_n_flush_q;
xu_s_rf1_flush <= xu_rf1_s_flush_q;
xu_s_ex1_flush <= xu_ex1_s_flush_q;
xu_s_ex2_flush <= xu_ex2_s_flush_q;
xu_s_ex3_flush <= xu_ex3_s_flush_q;
xu_s_ex4_flush <= xu_ex4_s_flush_q;
xu_s_ex5_flush <= xu_ex5_s_flush_q;
xu_w_rf1_flush <= xu_rf1_w_flush_q;
xu_w_ex1_flush <= xu_ex1_w_flush_q;
xu_w_ex2_flush <= xu_ex2_w_flush_q;
xu_w_ex3_flush <= xu_ex3_w_flush_q;
xu_w_ex4_flush <= xu_ex4_w_flush_q;
xu_w_ex5_flush <= xu_ex5_w_flush_q;
-- MMU needs special flushes to avoid flushing a I/D-ERAT miss inside the MMU.
-- However, the I/D-ERAT miss still needs to get flushed out of the XU.
xu_mm_ex4_flush <= ex4_flush_q;
xu_mm_ex5_flush <= ex5_flush_q and not ex5_n_dmiss_flush_q;
xu_mm_ierat_flush <= is2_flush_q and not ierat_hold_present_q; -- Gets set by ex5
xu_mm_ierat_miss <= ex5_n_imiss_flush_q;
-------------------------------------------------------------------------------
-- Valid Shadow Pipes
-------------------------------------------------------------------------------
rf1_xu_val <= dec_cpl_rf1_val and not rf1_flush_q;
ex1_xu_val <= ex1_xu_val_q and not ex1_flush_q and not ex1_flush; -- Branch resolve needs fast flush
ex2_xu_val <= ex2_xu_val_q and not ex2_flush;
ex3_xu_val <= ex3_xu_val_q and not ex3_flush;
ex4_xu_val <= ex4_xu_val_q and not ex4_flush;
ex2_axu_val <= fu_xu_ex2_ifar_val and not ex2_flush_q and not ex2_flush;
ex3_axu_val <= ex3_axu_val_q and not ex3_flush;
ex4_axu_val <= ex4_axu_val_q and not ex4_flush;
rf1_ucode_val <= dec_cpl_rf1_ucode_val and not rf1_flush_q and not rf1_flush;
ex1_ucode_val <= ex1_ucode_val_q and not ex1_flush;
ex2_ucode_val <= ex2_ucode_val_q and not ex2_flush;
ex3_ucode_val <= ex3_ucode_val_q and not ex3_flush;
ex4_ucode_val <= ex4_ucode_val_q and not ex4_flush;
ex3_any_val <= (ex3_xu_val_q or ex3_axu_val_q) and not ex3_flush;
ex4_any_val <= (ex4_xu_val_q or ex4_axu_val_q) and not ex4_flush;
ex3_anyuc_val <= ex3_anyuc_val_q and not ex3_flush;
ex4_anyuc_val <= ex4_anyuc_val_q and not ex4_flush;
ex3_anyuc_val_q<= (ex3_xu_val_q or ex3_axu_val_q or
ex3_ucode_val_q);
ex4_anyuc_val_q<= (ex4_xu_val_q or ex4_axu_val_q or
ex4_ucode_val_q);
ex3_xuuc_val_q <= (ex3_xu_val_q or ex3_ucode_val_q);
ex4_xuuc_val_q <= (ex4_xu_val_q or ex4_ucode_val_q);
ex3_xuuc_val <= ex3_xuuc_val_q and not ex3_flush;
ex4_xuuc_val <= ex4_xuuc_val_q and not ex4_flush;
ex3_dep_val <= dec_cpl_ex3_mc_dep_chk_val and not ex3_flush;
-------------------------------------------------------------------------------
-- Misc Logic
-------------------------------------------------------------------------------
ex3_n_mmu_mchk_flush_only <= not spr_ccr2_notlb and not spr_xucr4_mmu_mchk_int;
ex3_is_any_ldst <= ex3_is_any_load_dac_q or ex3_is_any_store_dac_q or ex3_is_icswx_q;
ex2_msr_updater <= ex2_is_mtmsr_q or ex2_any_wrtee_q or
ex2_is_rfi_q or ex2_is_rfgi_q or
ex2_is_rfci_q or ex2_is_rfmci_q;
ex5_cia_p1_d <= mux_t(ex4_cia_p1_out,ex4_xu_val_q);
ex5_msr_cm <= or_reduce(ex5_xu_val_q and msr_cm_q);
ex5_cia_p1(32 to 61) <= ex5_cia_p1_q(32 to 61);
ex5_cia_p1_gen : if IFAR'left < 32 generate
ex5_cia_p1(IFAR'left to 31) <= gate(ex5_cia_p1_q(IFAR'left to 31),ex5_msr_cm);
end generate;
ex2_n_align_int_d <= ex1_is_any_ldstmw_q and or_reduce(alu_cpl_ex1_eff_addr(62 to 63));
ex1_taken_bclr <= ex1_is_bclr and ex1_br_taken;
ex5_n_ext_dbg_stopc_flush_d <= or_reduce(ex4_dbsr_update and ext_dbg_stop_core_q);
ex5_n_ext_dbg_stopt_flush_d <= ex4_dbsr_update and ext_dbg_stop_n_q;
ex3_n_dcpe_flush_d <= (0 to threads-1=>lsu_xu_datc_perr_recovery);
ex2_ifar <= not ex2_ifar_b_q;
ex3_np1_mtiar_flush <= gate(ex3_xu_val,ex3_mtiar_q);
ex4_np1_mtiar_flush <= gate(ex4_xu_val,ex4_mtiar_q);
ex2_any_wrtee_d <= ex1_is_wrtee_q or ex1_is_wrteei_q;
ex7_is_tlbwe_d <= gate(ex6_xu_val_q,ex6_is_tlbwe_q);
with s3'(pc_xu_ram_mode & pc_xu_ram_thread) select
ram_mode_d <= "1000" when "100",
"0100" when "101",
"0010" when "110",
"0001" when "111",
"0000" when others;
with s3'(pc_xu_ram_execute & pc_xu_ram_thread) select
ram_execute_d <= "1000" when "100",
"0100" when "101",
"0010" when "110",
"0001" when "111",
"0000" when others;
with s3'(pc_xu_ram_flush_thread & pc_xu_ram_thread) select
ram_flush_d <= "1000" when "100",
"0100" when "101",
"0010" when "110",
"0001" when "111",
"0000" when others;
ram_ip_d <= ram_mode_q and (ram_execute_q or -- Set on Execute
(ram_ip_q and not (ex4_ram_cpl or ex5_is_any_int))); -- Cleared on completion or interrupt
-- ex5_ram_issue_q comes on when a ram instruction gets flushed.
-- However, if it gets flushed within two cycles of getting issued,
-- the iu does not flush it. accounting for this here.
ex5_ram_issue_gated <= ex5_ram_issue_q and not (ex7_ram_issue_q or ex8_ram_issue_q);
ex5_ram_done_d <= or_reduce(ram_ip_q and ram_mode_q and gate(ex4_xu_val,not(ex4_xu_is_ucode_q)));
ex6_ram_issue_d <= ram_mode_q and (ram_execute_q or ex5_ram_issue_gated) and not ex5_ram_interrupt;
ex6_ram_interrupt_d <= or_reduce(ex5_ram_interrupt);
xu_iu_ram_issue <= ex6_ram_issue_q;
xu_pc_ram_interrupt <= ex6_ram_interrupt_q;
xu_pc_ram_done <= ex6_ram_done_q;
xu_pc_step_done <= ex6_step_done_q;
with dec_cpl_ex2_error select
ex3_iu_error_d <= "1000000" when "001",
"0100000" when "010",
"0010000" when "011",
"0001000" when "100",
"0000100" when "101",
"0000010" when "110",
"0000001" when "111",
"0000000" when others;
ex4_dac1r_cmpr_async_d <= fxu_cpl_ex3_dac1r_cmpr_async;
ex4_dac2r_cmpr_async_d <= fxu_cpl_ex3_dac2r_cmpr_async;
ex4_dacr_cmpr_d(1) <= fxu_cpl_ex3_dac1r_cmpr;
ex4_dacr_cmpr_d(2) <= fxu_cpl_ex3_dac2r_cmpr;
ex4_dacr_cmpr_d(3) <= fxu_cpl_ex3_dac3r_cmpr;
ex4_dacr_cmpr_d(4) <= fxu_cpl_ex3_dac4r_cmpr;
ex4_dacw_cmpr_d(1) <= fxu_cpl_ex3_dac1w_cmpr;
ex4_dacw_cmpr_d(2) <= fxu_cpl_ex3_dac2w_cmpr;
ex4_dacw_cmpr_d(3) <= fxu_cpl_ex3_dac3w_cmpr;
ex4_dacw_cmpr_d(4) <= fxu_cpl_ex3_dac4w_cmpr;
ex5_is_attn_d <= gate(ex4_xu_val,ex4_is_attn_q);
ex5_xu_ifar_d <= mux_t(ex4_ifar_q,ex4_xu_val_q);
-------------------------------------------------------------------------------
-- Barrier Set
-------------------------------------------------------------------------------
-- These two should be mutually exclusive
ex4_lsu_barr_flush <= ex4_barrier_flush and ex4_n_ldq_hit_flush_q;
ex4_div_barr_flush <= ex4_barrier_flush and ex4_n_barr_flush_q;
ex5_lsu_set_barr_d <= gate(ex4_lsu_barr_flush,not(spr_xucr4_lsu_bar_dis));
ex5_div_set_barr_d <= gate(ex4_div_barr_flush,not(spr_xucr4_div_bar_dis));
xu_lsu_ex5_set_barr <= ex5_lsu_set_barr_q;
cpl_fxa_ex5_set_barr <= ex5_div_set_barr_q;
ex6_set_barr_d <= ex5_lsu_set_barr_q;
cpl_iu_set_barr_tid <= ex6_set_barr_q;
-------------------------------------------------------------------------------
-- Quiesce State
-------------------------------------------------------------------------------
cpl_quiesced_d <= not(
ssprwr_ip_q or
ex5_in_ucode_q or
ex3_async_int_block_q or
hold_state_0 or
hold_state_1);
cpl_spr_quiesce <= cpl_quiesced_q;
quiesced_d <= and_reduce(spr_cpl_quiesce);
-------------------------------------------------------------------------------
-- Hold Generation - per core
-------------------------------------------------------------------------------
hold_state_1 <=(others=>
(ici_hold_present or
fu_rfpe_hold_present_q or
xu_rfpe_hold_present_q));
dci_val_d <= or_reduce(ex4_xu_val) and ex4_is_dci_q;
ici_val_d <= or_reduce(ex4_xu_val) and ex4_is_ici_q;
ici_hold_present_d(0 to 2) <= ici_val_d & ici_hold_present_q(0 to 1);
ici_hold_present <= or_reduce(ici_hold_present_q);
ex4_n_fu_rfpe_set <= or_reduce(ex4_n_fu_rfpe_flush);
ex4_n_xu_rfpe_set <= or_reduce(ex4_n_xu_rfpe_flush);
-- Put the set in the equation to force wait at least 192 cycles for a divide/slowspr to clear out
rfpe_quiesce_cond_b <= ex4_n_fu_rfpe_set or ex4_n_xu_rfpe_set or not quiesced_q;
rfpe_quiesced <= not rfpe_quiesce_cond_b and not rfpe_quiesced_ctr_zero_b;
rfpe_quiesce_fctr : entity work.xuq_cpl_fctr(xuq_cpl_fctr)
generic map (threads => 1, expand_type => expand_type, passthru => 0, clockgate => 0, delay_width => 8)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(rfpe_quiesce_offset),
scout => sov(rfpe_quiesce_offset),
delay => "11000000",
din(0) => rfpe_quiesce_cond_b,
dout(0) => rfpe_quiesced_ctr_zero_b);
fu_rfpe_hold_present_d <= (ex4_n_fu_rfpe_set or fu_rfpe_hold_present_q) and not (rfpe_quiesced and fu_rf_seq_end_q);
xu_rfpe_hold_present_d <= (ex4_n_xu_rfpe_set or xu_rfpe_hold_present_q) and not (rfpe_quiesced and xu_rf_seq_end_q);
fu_rfpe_ack_d(0) <= fu_rfpe_hold_present_q and rfpe_quiesced;
fu_rfpe_ack_d(1) <= fu_rfpe_ack_d(0) and not fu_rfpe_ack_q(0);
xu_fu_regfile_seq_beg <= fu_rfpe_ack_q(1);
xu_rfpe_ack_d(0) <= xu_rfpe_hold_present_q and rfpe_quiesced;
xu_rfpe_ack_d(1) <= xu_rfpe_ack_d(0) and not xu_rfpe_ack_q(0);
cpl_gpr_regfile_seq_beg <= xu_rfpe_ack_q(1);
-------------------------------------------------------------------------------
-- IO assignments
-------------------------------------------------------------------------------
pc_dbg_stop <= pc_dbg_stop_q and not (ex5_in_ucode_q or ex4_ucode_val);
cpl_spr_stop <= pc_dbg_stop_2_q;
xu_lsu_dci <= dci_val_q;
xu_lsu_ici <= ici_val_q;
xu_pc_stop_dbg_event <= (0 to threads-1=>ex5_n_ext_dbg_stopc_flush_q) or ex5_n_ext_dbg_stopt_flush_q;
ac_tc_debug_trigger <= ex5_ext_dbg_ext_q;
xu_iu_ex5_ifar <= ex5_xu_ifar_q;
xu_iu_ex5_br_taken <= or_reduce(ex5_xu_val_q) and ex5_br_taken_q;
cpl_spr_ex5_instr_cpl <= ex5_any_val_q;
spr_xucr4_mmu_mchk <= spr_xucr4_mmu_mchk_int;
xu_iu_flush_2ucode <= ex5_flush_2ucode_q;
xu_iu_ucode_restart <= ex5_ucode_restart_q;
xu_iu_flush_2ucode_type <= ex5_mem_attr_le_q;
cpl_spr_ex5_act <= ex5_late_flush_q(0) or ex6_late_flush_q;
cpl_spr_ex5_int <= ex5_is_base_hint;
cpl_spr_ex5_gint <= ex5_is_base_gint;
cpl_spr_ex5_cint <= ex5_is_crit_int_q;
cpl_spr_ex5_mcint <= ex5_is_mchk_int_q;
cpl_spr_ex5_srr0_dec <= ex5_srr0_dec_q;
cpl_spr_ex5_force_gsrr <= ex5_force_gsrr_q;
cpl_spr_ex5_dbsr_update <= ex5_dbsr_update_q;
cpl_spr_ex5_esr <= ex5_esr_q;
cpl_spr_ex5_mcsr <= ex5_mcsr_q;
cpl_spr_ex5_dbsr <= ex5_dbsr_q;
cpl_spr_ex5_dbell_taken <= ex5_dbell_taken_q;
cpl_spr_ex5_cdbell_taken <= ex5_cdbell_taken_q;
cpl_spr_ex5_gdbell_taken <= ex5_gdbell_taken_q;
cpl_spr_ex5_gcdbell_taken <= ex5_gcdbell_taken_q;
cpl_spr_ex5_gmcdbell_taken <= ex5_gmcdbell_taken_q;
cpl_dec_in_ucode <= ex5_in_ucode_q;
cpl_msr_gs <= msr_gs_q;
cpl_msr_pr <= msr_pr_q;
cpl_msr_fp <= msr_fp_q;
cpl_msr_spv <= msr_spv_q;
cpl_ccr2_ap <= ccr2_ap_q;
-------------------------------------------------------------------------------
-- Performance Counters
-------------------------------------------------------------------------------
ex2_perf_event_d(0) <= ex1_branch;
ex2_perf_event_d(1) <= ex1_br_mispred;
ex2_perf_event_d(2) <= ex1_br_taken;
ex4_perf_event_d(0) <= ex3_perf_event_q(0);
ex4_perf_event_d(1) <= ex3_perf_event_q(1);
ex4_perf_event_d(2) <= ex3_perf_event_q(2);
ex4_perf_event_d(3) <= or_reduce(ex3_n_multcoll_flush);
-------------------------------------------------------------------------------
-- SIAR
-------------------------------------------------------------------------------
ex4_xu_siar_val <= or_reduce(ex4_xuuc_val and not ex5_in_ucode_q);
ex4_axu_siar_val <= or_reduce(ex4_axu_val and not ex5_in_ucode_q);
ex4_siar_cpl <= (ex4_instr_cpl and not ex5_in_ucode_q) or ex4_ucode_val;
-- Kill the issued bit if the IU issued an Error. The IFAR is invalid in this case.
ex3_xu_issued <= gate(ex3_xu_issued_q,not(or_reduce(ex3_iu_error_q)));
ex4_siar_sel_act <= ex4_xu_siar_val and ex4_axu_siar_val and trace_bus_enable_q;
ex4_siar_sel_d(0 to 1) <= ex4_siar_sel_q(1) & ex4_siar_sel_q(0);
with ex4_siar_sel_act select
ex4_siar_axu_sel <= ex4_siar_sel_q(1) when '1', -- Tiebreaker
ex4_axu_siar_val when others;
with (ex4_siar_axu_sel and not ex4_instr_trace_val_q) select
ex4_siar_tid <= ex4_axu_issued_q when '1',
ex4_xu_issued_q when others;
with (ex4_siar_axu_sel and not ex4_instr_trace_val_q) select
ex4_siar_sel <= (ex4_axu_val_q and not ex5_in_ucode_q) when '1',
(ex4_xuuc_val_q and not ex5_in_ucode_q) when others;
ex4_siar_cm_mask(32 to 61) <= (others=>'1');
xuq_cpl_siar_cm_mask_gen : if IFAR'left < 32 generate
ex4_siar_cm_mask(IFAR'left to 31) <= (others=>or_reduce(msr_cm_q and ex4_siar_sel));
end generate;
ex5_siar_d <= ex4_siar_cm_mask and mux_t(ex4_ifar_q,ex4_siar_sel);
ex5_siar_gs_d <= or_reduce(msr_gs_q and ex4_siar_sel);
ex5_siar_pr_d <= or_reduce(msr_pr_q and ex4_siar_sel);
ex5_siar_cpl_d <= or_reduce(ex4_siar_cpl and ex4_siar_sel);
ex5_siar_issued_d <= or_reduce(ex4_siar_tid);
with s4'(ex4_siar_cpl and ex4_siar_sel) select
ex5_siar_tid_d <= "00" when "1000",
"01" when "0100",
"10" when "0010",
"11" when others;
mark_unused(ex5_siar_issued_q);
-------------------------------------------------------------------------------
-- Debug
-------------------------------------------------------------------------------
-- NOTE: The following bits can be muxed onto the perf event bus:
-- 0:15, 22:36, 44:59, 66:81
-- Rotates on 0:21, 22:43, 44:65, 66:87
dbg_subgroup_gen : for t in 0 to threads-1 generate
dbg_valids_opc(t)(0 to 4) <= ex5_xu_val_dbg_opc(t) & ex5_axu_val_dbg_opc(t) & ex5_instr_cpl_dbg_q(t) & ex5_ucode_val_dbg_q(t) & ex5_ucode_end_dbg_q(t);
dbg_valids(t)(0 to 4) <= ex5_xu_val_q(t) & ex5_axu_val_dbg_q(t) & ex5_instr_cpl_dbg_q(t) & ex5_ucode_val_dbg_q(t) & ex5_ucode_end_dbg_q(t);
dbg_iuflush(t)(0 to 8) <= ex2_br_flush(t) & iu_flush(t) & ex5_is_any_hint(t) & ex5_is_any_gint(t) & ex5_ucode_restart_q(t) & ex5_flush_2ucode_q(t) & ex5_mem_attr_le_q(t) & hold_state_0(t) & hold_state_1(t);
dbg_msr(t)(0 to 4) <= msr_de_q(t) & msr_cm_q(t) & msr_gs_q(t) & msr_me_q(t) & msr_pr_q(t);
dbg_match(t)(0) <= ex5_dbsr_q(18+19*t);
dbg_match(t)(1) <= ex5_dbsr_q(5+19*t) or ex5_dbsr_q(6+19*t) or ex5_dbsr_q(7+19*t) or ex5_dbsr_q(8+19*t);
dbg_match(t)(2) <= ex5_dbsr_q(9+19*t) or ex5_dbsr_q(10+19*t) or ex5_dbsr_q(11+19*t) or ex5_dbsr_q(12+19*t) or
ex5_dbsr_q(14+19*t) or ex5_dbsr_q(15+19*t) or ex5_dbsr_q(16+19*t) or ex5_dbsr_q(17+19*t);
dbg_flushcond_d(t)(00) <= ex3_n_lsu_ddpe_flush(t);
dbg_flushcond_d(t)(01) <= ex3_n_barr_flush(t);
dbg_flushcond_d(t)(02) <= ex3_n_l2_ecc_err_flush_q(t);
dbg_flushcond_d(t)(03) <= ex3_n_dcpe_flush_q(t);
dbg_flushcond_d(t)(04) <= ex3_n_dlk0_dstor_int(t);
dbg_flushcond_d(t)(05) <= ex3_n_dlk1_dstor_int(t);
dbg_flushcond_d(t)(06) <= ex3_n_ieratre_par_mchk_mcint(t);
dbg_flushcond_d(t)(07) <= ex3_np1_sprg_ce_flush(t);
dbg_flushcond_d(t)(08) <= ex3_n_2ucode_flush(t);
dbg_flushcond_d(t)(09) <= ex3_n_lsualign_2ucode_flush(t);
dbg_flushcond_d(t)(10) <= ex3_n_fu_2ucode_flush(t);
dbg_flushcond_d(t)(11) <= ex3_n_mmuhold_flush(t);
dbg_flushcond_d(t)(12) <= ex3_n_lsu_dcpe_flush(t);
dbg_flushcond_d(t)(13) <= ex5_n_ext_dbg_stopc_flush_q;
dbg_flushcond_d(t)(14) <= ex5_n_ext_dbg_stopt_flush_q(t);
dbg_flushcond_d(t)(15) <= ex3_n_dci_flush(t);
dbg_flushcond_d(t)(16) <= ex3_n_ici_flush(t);
dbg_flushcond_d(t)(17) <= ex3_n_multcoll_flush(t);
dbg_flushcond_d(t)(18) <= ex3_n_ram_flush(t);
dbg_flushcond_d(t)(19) <= ex3_n_derat_dep_flush(t);
dbg_flushcond_d(t)(20) <= ex3_n_lsu_dep_flush(t);
dbg_flushcond_d(t)(21) <= ex3_n_dep_flush(t);
dbg_flushcond_d(t)(22) <= ex3_n_thrctl_stop_flush(t);
dbg_flushcond_d(t)(23) <= ex3_n_bclr_ta_miscmpr_flush(t);
dbg_flushcond_d(t)(24) <= ex3_n_memattr_miscmpr_flush(t);
dbg_flushcond_d(t)(25) <= ex3_np1_instr_flush(t);
dbg_flushcond_d(t)(26) <= ex3_n_ldq_hit_flush(t);
dbg_flushcond_d(t)(27) <= ex3_np1_fu_flush(t);
dbg_flushcond_d(t)(28) <= ex3_n_fu_dep_flush(t);
dbg_flushcond_d(t)(29) <= ex3_n_mmu_flush(t);
dbg_flushcond_d(t)(30) <= ex3_n_tlbmiss_dtlb_int(t);
dbg_flushcond_d(t)(31) <= ex3_n_deratmiss_dtlb_int(t);
dbg_flushcond_d(t)(32) <= ex3_n_tlbmiss_itlb_int(t);
dbg_flushcond_d(t)(33) <= ex3_n_ieratmiss_itlb_int(t);
dbg_flushcond_d(t)(34) <= ex3_n_apena_prog_int(t);
dbg_flushcond_d(t)(35) <= ex3_n_fpena_prog_int(t);
dbg_flushcond_d(t)(36) <= ex3_n_tlbpil_prog_int_xu(t) and ex3_xu_val(t);
dbg_flushcond_d(t)(37) <= ex3_n_sprpil_prog_int_xu(t) and ex3_xu_val(t);
dbg_flushcond_d(t)(38) <= ex3_n_iupil_prog_int_xuuc(t) and ex3_xuuc_val(t);
dbg_flushcond_d(t)(39) <= ex3_n_mmupil_prog_int_xu(t) and ex3_xu_val(t);
dbg_flushcond_d(t)(40) <= ex3_n_xupil_prog_int_xuuc(t) and ex3_xuuc_val(t);
dbg_flushcond_d(t)(41) <= ex3_n_puo_prog_int(t);
dbg_flushcond_d(t)(42) <= ex3_n_sprppr_prog_int_xuuc(t) and ex3_xuuc_val(t);
dbg_flushcond_d(t)(43) <= ex3_n_instrppr_prog_int_xuuc(t) and ex3_xuuc_val(t);
dbg_flushcond_d(t)(44) <= ex3_np1_ptr_prog_int(t);
dbg_flushcond_d(t)(45) <= ex3_n_any_unavail_int(t);
dbg_flushcond_d(t)(46) <= ex3_n_ldst_align_int(t);
dbg_flushcond_d(t)(47) <= ex3_n_ldstmw_align_int(t);
dbg_flushcond_d(t)(48) <= ex3_n_vf_dstor_int(t);
dbg_flushcond_d(t)(49) <= ex3_n_tlbi_dstor_int(t);
dbg_flushcond_d(t)(50) <= ex3_n_i1w1lock_dstor_int(t);
dbg_flushcond_d(t)(51) <= ex3_n_rwaccess_dstor_int(t);
dbg_flushcond_d(t)(52) <= ex3_n_uct_dstor_int(t);
dbg_flushcond_d(t)(53) <= ex3_n_pt_dstor_int(t);
dbg_flushcond_d(t)(54) <= ex3_n_tlbi_istor_int(t);
dbg_flushcond_d(t)(55) <= ex3_n_exaccess_istor_int(t);
dbg_flushcond_d(t)(56) <= ex3_n_pt_istor_int(t);
dbg_flushcond_d(t)(57) <= ex3_np1_instr_int(t);
dbg_flushcond_d(t)(58) <= ex3_n_ptemiss_dlrat_int(t);
dbg_flushcond_d(t)(59) <= ex3_n_tlbwemiss_dlrat_int(t);
dbg_flushcond_d(t)(60) <= ex3_n_spr_hpriv_int_xuuc(t) and ex3_xuuc_val(t);
dbg_flushcond_d(t)(61) <= ex3_n_instr_hpriv_int_xuuc(t) and ex3_xuuc_val(t);
dbg_flushcond_d(t)(62) <= ex3_n_mmu_hpriv_int(t);
dbg_flushcond_d(t)(63) <= ex3_n_ehpriv_hpriv_int(t);
dbg_hold(t)(0 to 5) <= mmu_hold_present_q(t) & derat_hold_present_q(t) & ierat_hold_present_q(t) & ici_hold_present & fu_rfpe_hold_present_q & xu_rfpe_hold_present_q;
dbg_async_block(t)(0 to 6) <= ssprwr_ip_q(t) & ex5_in_ucode_q(t) & ram_mode_q(t) & ex3_async_int_block_q(t) & ex4_icmp_async_block(t) & exx_hold0_mcflush(t) & exx_hold1_mcflush(t);
dbg_int_types(t)(0 to 4) <= ex4_is_mchk_int(t) & ex4_is_crit_int(t) & ex5_is_any_hint(t) & ex5_is_any_gint(t) & ex5_is_any_rfi_q(t);
dbg_misc(t)(0 to 3) <= ex5_tlb_inelig_q(t) & ex5_dear_update_saved_q(t) & exx_cm_hold(t) & ex3_esr_bit_act(t);
end generate;
ex5_xu_ppc_cpl <= (ex5_xu_val_q and not (ex5_in_ucode_q or ex5_ucode_end_dbg_q)) or ex5_ucode_val_dbg_q;
ex5_axu_ppc_cpl <= (ex5_axu_val_dbg_q and not (ex5_in_ucode_q or ex5_ucode_end_dbg_q));
ex5_axu_trace_val <= instr_trace_mode_q and or_reduce(ex5_axu_ppc_cpl);
ex5_xu_trace_val <= ex5_instr_trace_val_q and or_reduce(ex5_xu_ppc_cpl);
siar_cm(0) <= msr_cm_q(0) and not ex5_instr_trace_val_q;
siar_cm(1 to 2) <= msr_cm_q(1 to 2);
siar_cm(3) <=(msr_cm_q(3) and not ex5_instr_trace_val_q) or ex5_xu_trace_val;
-- 0:4 5 6:11 12:73 74:82 83:87
dbg_group0 <= dbg_valids(0) & ex5_in_ucode_q(0) & ex5_flush_pri_enc_dbg(0) & ex4_cia_out(0) & dbg_iuflush(0) & dbg_msr(0);
dbg_group1 <= dbg_valids(1) & ex5_in_ucode_q(1) & ex5_flush_pri_enc_dbg(1) & ex4_cia_out(1) & dbg_iuflush(1) & dbg_msr(1);
dbg_group2 <= dbg_valids(2) & ex5_in_ucode_q(2) & ex5_flush_pri_enc_dbg(2) & ex4_cia_out(2) & dbg_iuflush(2) & dbg_msr(2);
dbg_group3 <= dbg_valids(3) & ex5_in_ucode_q(3) & ex5_flush_pri_enc_dbg(3) & ex4_cia_out(3) & dbg_iuflush(3) & dbg_msr(3);
-- 0:4 5:9 10:14 15:19 20:23 24:30 31:41 42:55 56:63 64:71 72:79 80:87
dbg_group4 <= dbg_valids_opc(0) & dbg_valids_opc(1) & dbg_valids_opc(2) & dbg_valids_opc(3) & ex5_in_ucode_q & ex1_instr(0 to 6) & ex1_instr(21 to 31) & ex1_instr(7 to 20) & ex4_cia_out(0)(54 to 61) & ex4_cia_out(1)(54 to 61) & ex4_cia_out(2)(54 to 61) & ex4_cia_out(3)(54 to 61);
-- 0:4 5 6:11 12:75 76:82 83:87
dbg_group5 <= dbg_valids(0) & ex5_in_ucode_q(0) & ex5_flush_pri_enc_dbg(0) & dbg_flushcond_q(0)(0 to 63) & dbg_iuflush(0)(0 to 6) & dbg_msr(0);
dbg_group6 <= dbg_valids(1) & ex5_in_ucode_q(1) & ex5_flush_pri_enc_dbg(1) & dbg_flushcond_q(1)(0 to 63) & dbg_iuflush(1)(0 to 6) & dbg_msr(1);
dbg_group7 <= dbg_valids(2) & ex5_in_ucode_q(2) & ex5_flush_pri_enc_dbg(2) & dbg_flushcond_q(2)(0 to 63) & dbg_iuflush(2)(0 to 6) & dbg_msr(2);
dbg_group8 <= dbg_valids(3) & ex5_in_ucode_q(3) & ex5_flush_pri_enc_dbg(3) & dbg_flushcond_q(3)(0 to 63) & dbg_iuflush(3)(0 to 6) & dbg_msr(3);
-- 0:4 5 6:11 12:20 21:52
dbg_group9 <= dbg_valids(0) & ex5_in_ucode_q(0) & ex5_flush_pri_enc_dbg(0) & dbg_iuflush(0) & ex1_instr(0 to 31) &
dbg_hold(0)(0 to 5) & dbg_async_block(0)(0 to 6) & dbg_int_types(0)(0 to 4) & dbg_misc(0)(0 to 3) & -- 53:75
br_debug & '0'; -- 76:87
dbg_group10 <= dbg_valids(1) & ex5_in_ucode_q(1) & ex5_flush_pri_enc_dbg(1) & dbg_iuflush(1) & ex1_instr(0 to 31) &
dbg_hold(1)(0 to 5) & dbg_async_block(1)(0 to 6) & dbg_int_types(1)(0 to 4) & dbg_misc(1)(0 to 3) & -- 53:75
br_debug & '0'; -- 76:87
dbg_group11 <= dbg_valids(2) & ex5_in_ucode_q(2) & ex5_flush_pri_enc_dbg(2) & dbg_iuflush(2) & ex1_instr(0 to 31) &
dbg_hold(2)(0 to 5) & dbg_async_block(2)(0 to 6) & dbg_int_types(2)(0 to 4) & dbg_misc(2)(0 to 3) & -- 53:75
br_debug & '0'; -- 76:87
dbg_group12 <= dbg_valids(3) & ex5_in_ucode_q(3) & ex5_flush_pri_enc_dbg(3) & dbg_iuflush(3) & ex1_instr(0 to 31) &
dbg_hold(3)(0 to 5) & dbg_async_block(3)(0 to 6) & dbg_int_types(3)(0 to 4) & dbg_misc(3)(0 to 3) & -- 53:75
br_debug & '0'; -- 76:87
-- 0:61 62 63 64:67 68 69 70:71 72:75 76:79 80:83 84:87
dbg_group13 <= ex5_siar_q & ex5_siar_gs_q & ex5_siar_pr_q & siar_cm & ex5_siar_cpl_q & ex5_siar_cpl_q & ex5_siar_tid_q & ex4_xu_issued_q & ex4_axu_issued_q & ex5_instr_cpl_q & ex5_ucode_val_dbg_q;
-- 0:31 32:55 56 57:58 59:63 64 65:66 67
dbg_group14 <= ex2_instr_dbg_q & x"0ABCDE" & '1' & ex2_instr_trace_type_q & (59 to 63=>'0') & '1' & ex2_instr_trace_type_q & '1' & (68 to 87=>'0');
-- 0:31 32:36 37 38:43 44 45
dbg_group15 <= ex1_instr(0 to 31) & dbg_valids(0) & ex5_in_ucode_q(0) & ex5_flush_pri_enc_dbg(0) & iu_flush(0) & ex5_ucode_restart_q(0) &
dbg_valids(1) & ex5_in_ucode_q(1) & ex5_flush_pri_enc_dbg(1) & iu_flush(1) & ex5_ucode_restart_q(1) &
dbg_valids(2) & ex5_in_ucode_q(2) & ex5_flush_pri_enc_dbg(2) & iu_flush(2) & ex5_ucode_restart_q(2) &
dbg_valids(3) & ex5_in_ucode_q(3) & ex5_flush_pri_enc_dbg(3) & iu_flush(3) & ex5_ucode_restart_q(3);
dbg_group16 <= (others=>'0');
dbg_group17 <= (others=>'0');
dbg_group18 <= (others=>'0');
dbg_group19 <= (others=>'0');
dbg_group20 <= (others=>'0');
dbg_group21 <= (others=>'0');
dbg_group22 <= (others=>'0');
dbg_group23 <= (others=>'0');
dbg_group24 <= (others=>'0');
dbg_group25 <= (others=>'0');
dbg_group26 <= (others=>'0');
dbg_group27 <= (others=>'0');
dbg_group28 <= fxa_cpl_debug(0 to 87);
dbg_group29 <= fxa_cpl_debug(88 to 175);
dbg_group30 <= fxa_cpl_debug(207 to 272) & fxa_cpl_debug(176 to 197);
dbg_group31 <= fxa_cpl_debug(198 to 272) & ex5_xu_ifar_q(49 to 61);
trg_group0 <= dbg_valids(0)(0 to 4) & dbg_iuflush(0)(0 to 3) & dbg_match(0)(0 to 2);
trg_group1 <= dbg_valids(1)(0 to 4) & dbg_iuflush(1)(0 to 3) & dbg_match(1)(0 to 2);
trg_group2 <= dbg_valids(2)(0 to 4) & dbg_iuflush(2)(0 to 3) & dbg_match(2)(0 to 2);
trg_group3 <= dbg_valids(3)(0 to 4) & dbg_iuflush(3)(0 to 3) & dbg_match(3)(0 to 2);
-- fxa_group0( 0:87) (88) Instruction / Mult/Div
-- fxa_group1(88:175) (88) Issue Interface
-- fxa_group2(176:197) (22) GPR Parity Error
-- fxa_group3(198:263) (66) Reload Write Data
-- fxa_group4(264:272) (09) Reload Write Addr/Valid
with s2'(ex1_instr_trace_val_q & ex4_instr_trace_val_q) select
debug_mux_ctrls_int <= x"71E0" when "10", -- Group 14
x"69E0" when "01", -- Group 13
debug_mux_ctrls_q when others;
cpl_debug_data_in_int(0 to 55) <= cpl_debug_data_in(0 to 55);
cpl_debug_data_in_int(56) <= cpl_debug_data_in(56) or ex5_axu_trace_val;
cpl_debug_data_in_int(57 to 63) <= cpl_debug_data_in(57 to 63);
cpl_debug_data_in_int(64) <= cpl_debug_data_in(64) or ex5_axu_trace_val;
cpl_debug_data_in_int(65 to 66) <= cpl_debug_data_in(65 to 66);
cpl_debug_data_in_int(67) <= cpl_debug_data_in(67) or ex5_axu_trace_val;
cpl_debug_data_in_int(68 to 87) <= cpl_debug_data_in(68 to 87);
xu_debug_mux : entity clib.c_debug_mux32(c_debug_mux32)
port map(
vd => vdd,
gd => gnd,
select_bits => debug_mux_ctrls_int_q,
trace_data_in => cpl_debug_data_in_int,
trigger_data_in => cpl_trigger_data_in,
dbg_group0 => dbg_group0,
dbg_group1 => dbg_group1,
dbg_group2 => dbg_group2,
dbg_group3 => dbg_group3,
dbg_group4 => dbg_group4,
dbg_group5 => dbg_group5,
dbg_group6 => dbg_group6,
dbg_group7 => dbg_group7,
dbg_group8 => dbg_group8,
dbg_group9 => dbg_group9,
dbg_group10 => dbg_group10,
dbg_group11 => dbg_group11,
dbg_group12 => dbg_group12,
dbg_group13 => dbg_group13,
dbg_group14 => dbg_group14,
dbg_group15 => dbg_group15,
dbg_group16 => dbg_group16,
dbg_group17 => dbg_group17,
dbg_group18 => dbg_group18,
dbg_group19 => dbg_group19,
dbg_group20 => dbg_group20,
dbg_group21 => dbg_group21,
dbg_group22 => dbg_group22,
dbg_group23 => dbg_group23,
dbg_group24 => dbg_group24,
dbg_group25 => dbg_group25,
dbg_group26 => dbg_group26,
dbg_group27 => dbg_group27,
dbg_group28 => dbg_group28,
dbg_group29 => dbg_group29,
dbg_group30 => dbg_group30,
dbg_group31 => dbg_group31,
trg_group0 => trg_group0,
trg_group1 => trg_group1,
trg_group2 => trg_group2,
trg_group3 => trg_group3,
trigger_data_out => trigger_data_out_d,
trace_data_out => debug_data_out_d);
cpl_trigger_data_out <= trigger_data_out_q;
cpl_debug_data_out <= debug_data_out_q;
-- Unused Signals
mark_unused(ex3_iu_error_q(3));
mark_unused(spare_0_q);
mark_unused(spare_1_q);
mark_unused(spare_2_q);
mark_unused(spare_3_q);
mark_unused(spare_4_q);
-------------------------------------------------------------------------------
-- Latches
-------------------------------------------------------------------------------
is2_flush_latch : tri_rlmreg_p
generic map (width => is2_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(is2_flush_offset to is2_flush_offset + is2_flush_q'length-1),
scout => sov(is2_flush_offset to is2_flush_offset + is2_flush_q'length-1),
din => any_flush ,
dout => is2_flush_q);
rf0_flush_latch : tri_rlmreg_p
generic map (width => rf0_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(rf0_flush_offset to rf0_flush_offset + rf0_flush_q'length-1),
scout => sov(rf0_flush_offset to rf0_flush_offset + rf0_flush_q'length-1),
din => is2_flush ,
dout => rf0_flush_q);
rf1_flush_latch : tri_rlmreg_p
generic map (width => rf1_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(rf1_flush_offset to rf1_flush_offset + rf1_flush_q'length-1),
scout => sov(rf1_flush_offset to rf1_flush_offset + rf1_flush_q'length-1),
din => rf0_flush ,
dout => rf1_flush_q);
rf1_tid_latch : tri_rlmreg_p
generic map (width => rf1_tid_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(rf1_tid_offset to rf1_tid_offset + rf1_tid_q'length-1),
scout => sov(rf1_tid_offset to rf1_tid_offset + rf1_tid_q'length-1),
din => dec_cpl_rf0_tid ,
dout => rf1_tid_q);
ex1_axu_act_latch : tri_rlmreg_p
generic map (width => ex1_axu_act_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_axu_act_offset to ex1_axu_act_offset + ex1_axu_act_q'length-1),
scout => sov(ex1_axu_act_offset to ex1_axu_act_offset + ex1_axu_act_q'length-1),
din => fu_xu_rf1_act ,
dout => ex1_axu_act_q);
ex1_byte_rev_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_byte_rev_offset),
scout => sov(ex1_byte_rev_offset),
din => rf1_byte_rev,
dout => ex1_byte_rev_q);
ex1_flush_latch : tri_rlmreg_p
generic map (width => ex1_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_flush_offset to ex1_flush_offset + ex1_flush_q'length-1),
scout => sov(ex1_flush_offset to ex1_flush_offset + ex1_flush_q'length-1),
din => rf1_flush ,
dout => ex1_flush_q);
ex1_is_any_ldstmw_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_any_ldstmw_offset),
scout => sov(ex1_is_any_ldstmw_offset),
din => rf1_is_any_ldstmw,
dout => ex1_is_any_ldstmw_q);
ex1_is_attn_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_attn_offset),
scout => sov(ex1_is_attn_offset),
din => rf1_is_attn,
dout => ex1_is_attn_q);
ex1_is_dci_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_dci_offset),
scout => sov(ex1_is_dci_offset),
din => ex1_is_dci_d,
dout => ex1_is_dci_q);
ex1_is_dlock_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_dlock_offset),
scout => sov(ex1_is_dlock_offset),
din => rf1_is_dlock,
dout => ex1_is_dlock_q);
ex1_is_ehpriv_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_ehpriv_offset),
scout => sov(ex1_is_ehpriv_offset),
din => rf1_is_ehpriv,
dout => ex1_is_ehpriv_q);
ex1_is_erativax_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_erativax_offset),
scout => sov(ex1_is_erativax_offset),
din => rf1_is_erativax,
dout => ex1_is_erativax_q);
ex1_is_ici_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_ici_offset),
scout => sov(ex1_is_ici_offset),
din => ex1_is_ici_d,
dout => ex1_is_ici_q);
ex1_is_icswx_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_icswx_offset),
scout => sov(ex1_is_icswx_offset),
din => rf1_is_icswx,
dout => ex1_is_icswx_q);
ex1_is_ilock_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_ilock_offset),
scout => sov(ex1_is_ilock_offset),
din => rf1_is_ilock,
dout => ex1_is_ilock_q);
ex1_is_isync_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_isync_offset),
scout => sov(ex1_is_isync_offset),
din => rf1_is_isync,
dout => ex1_is_isync_q);
ex1_is_mfspr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_mfspr_offset),
scout => sov(ex1_is_mfspr_offset),
din => rf1_is_mfspr,
dout => ex1_is_mfspr_q);
ex1_is_mtmsr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_mtmsr_offset),
scout => sov(ex1_is_mtmsr_offset),
din => rf1_is_mtmsr,
dout => ex1_is_mtmsr_q);
ex1_is_mtspr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_mtspr_offset),
scout => sov(ex1_is_mtspr_offset),
din => rf1_is_mtspr,
dout => ex1_is_mtspr_q);
ex1_is_rfci_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_rfci_offset),
scout => sov(ex1_is_rfci_offset),
din => rf1_is_rfci,
dout => ex1_is_rfci_q);
ex1_is_rfgi_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_rfgi_offset),
scout => sov(ex1_is_rfgi_offset),
din => rf1_is_rfgi,
dout => ex1_is_rfgi_q);
ex1_is_rfi_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_rfi_offset),
scout => sov(ex1_is_rfi_offset),
din => rf1_is_rfi,
dout => ex1_is_rfi_q);
ex1_is_rfmci_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_rfmci_offset),
scout => sov(ex1_is_rfmci_offset),
din => rf1_is_rfmci,
dout => ex1_is_rfmci_q);
ex1_is_sc_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_sc_offset),
scout => sov(ex1_is_sc_offset),
din => rf1_is_sc,
dout => ex1_is_sc_q);
ex1_is_tlbivax_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_tlbivax_offset),
scout => sov(ex1_is_tlbivax_offset),
din => rf1_is_tlbivax,
dout => ex1_is_tlbivax_q);
ex1_is_wrtee_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_wrtee_offset),
scout => sov(ex1_is_wrtee_offset),
din => rf1_is_wrtee,
dout => ex1_is_wrtee_q);
ex1_is_wrteei_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_wrteei_offset),
scout => sov(ex1_is_wrteei_offset),
din => rf1_is_wrteei,
dout => ex1_is_wrteei_q);
ex1_is_mtxucr0_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_mtxucr0_offset),
scout => sov(ex1_is_mtxucr0_offset),
din => rf1_is_mtxucr0,
dout => ex1_is_mtxucr0_q);
ex1_is_tlbwe_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_is_tlbwe_offset),
scout => sov(ex1_is_tlbwe_offset),
din => rf1_is_tlbwe,
dout => ex1_is_tlbwe_q);
ex1_sc_lev_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(0) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_sc_lev_offset),
scout => sov(ex1_sc_lev_offset),
din => rf1_sc_lev,
dout => ex1_sc_lev_q);
ex1_ucode_val_latch : tri_rlmreg_p
generic map (width => ex1_ucode_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_ucode_val_offset to ex1_ucode_val_offset + ex1_ucode_val_q'length-1),
scout => sov(ex1_ucode_val_offset to ex1_ucode_val_offset + ex1_ucode_val_q'length-1),
din => rf1_ucode_val ,
dout => ex1_ucode_val_q);
ex1_xu_val_latch : tri_rlmreg_p
generic map (width => ex1_xu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_xu_val_offset to ex1_xu_val_offset + ex1_xu_val_q'length-1),
scout => sov(ex1_xu_val_offset to ex1_xu_val_offset + ex1_xu_val_q'length-1),
din => rf1_xu_val ,
dout => ex1_xu_val_q);
ex2_axu_act_latch : tri_regk
generic map (width => ex2_axu_act_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din => ex1_axu_act_q ,
dout => ex2_axu_act_q);
ex2_any_wrtee_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex2_any_wrtee_d,
dout(0) => ex2_any_wrtee_q);
ex2_br_taken_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_br_taken ,
dout(0) => ex2_br_taken_q);
ex2_br_update_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_br_update ,
dout(0) => ex2_br_update_q);
ex2_byte_rev_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_byte_rev_q ,
dout(0) => ex2_byte_rev_q);
ex2_ctr_dec_update_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_ctr_dec_update ,
dout(0) => ex2_ctr_dec_update_q);
ex2_epid_instr_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => dec_cpl_ex1_epid_instr ,
dout(0) => ex2_epid_instr_q);
ex2_flush_latch : tri_rlmreg_p
generic map (width => ex2_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex2_flush_offset to ex2_flush_offset + ex2_flush_q'length-1),
scout => sov(ex2_flush_offset to ex2_flush_offset + ex2_flush_q'length-1),
din => ex1_flush ,
dout => ex2_flush_q);
ex2_is_attn_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_attn_q ,
dout(0) => ex2_is_attn_q);
ex2_is_dci_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_dci_q ,
dout(0) => ex2_is_dci_q);
ex2_is_dlock_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_dlock_q ,
dout(0) => ex2_is_dlock_q);
ex2_is_ehpriv_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_ehpriv_q ,
dout(0) => ex2_is_ehpriv_q);
ex2_is_erativax_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_erativax_q ,
dout(0) => ex2_is_erativax_q);
ex2_is_ici_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_ici_q ,
dout(0) => ex2_is_ici_q);
ex2_is_icswx_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_icswx_q ,
dout(0) => ex2_is_icswx_q);
ex2_is_ilock_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_ilock_q ,
dout(0) => ex2_is_ilock_q);
ex2_is_isync_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_isync_q ,
dout(0) => ex2_is_isync_q);
ex2_is_mtmsr_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_mtmsr_q ,
dout(0) => ex2_is_mtmsr_q);
ex2_is_rfci_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_rfci_q ,
dout(0) => ex2_is_rfci_q);
ex2_is_rfgi_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_rfgi_q ,
dout(0) => ex2_is_rfgi_q);
ex2_is_rfi_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_rfi_q ,
dout(0) => ex2_is_rfi_q);
ex2_is_rfmci_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_rfmci_q ,
dout(0) => ex2_is_rfmci_q);
ex2_is_sc_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_sc_q ,
dout(0) => ex2_is_sc_q);
ex2_is_slowspr_wr_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => dec_cpl_ex1_is_slowspr_wr ,
dout(0) => ex2_is_slowspr_wr_q);
ex2_is_tlbivax_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_tlbivax_q ,
dout(0) => ex2_is_tlbivax_q);
ex2_is_tlbwe_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_tlbwe_q ,
dout(0) => ex2_is_tlbwe_q);
ex2_lr_update_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_lr_update ,
dout(0) => ex2_lr_update_q);
ex2_n_align_int_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex2_n_align_int_d,
dout(0) => ex2_n_align_int_q);
ex2_sc_lev_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_sc_lev_q ,
dout(0) => ex2_sc_lev_q);
ex2_taken_bclr_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_taken_bclr ,
dout(0) => ex2_taken_bclr_q);
ex2_ucode_val_latch : tri_rlmreg_p
generic map (width => ex2_ucode_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex2_ucode_val_offset to ex2_ucode_val_offset + ex2_ucode_val_q'length-1),
scout => sov(ex2_ucode_val_offset to ex2_ucode_val_offset + ex2_ucode_val_q'length-1),
din => ex1_ucode_val ,
dout => ex2_ucode_val_q);
ex2_xu_val_latch : tri_rlmreg_p
generic map (width => ex2_xu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex2_xu_val_offset to ex2_xu_val_offset + ex2_xu_val_q'length-1),
scout => sov(ex2_xu_val_offset to ex2_xu_val_offset + ex2_xu_val_q'length-1),
din => ex1_xu_val ,
dout => ex2_xu_val_q);
ex2_is_mtxucr0_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(1) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex1_is_mtxucr0_q ,
dout(0) => ex2_is_mtxucr0_q);
ex3_async_int_block_latch : tri_rlmreg_p
generic map (width => ex3_async_int_block_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_async_int_block_offset to ex3_async_int_block_offset + ex3_async_int_block_q'length-1),
scout => sov(ex3_async_int_block_offset to ex3_async_int_block_offset + ex3_async_int_block_q'length-1),
din => ex3_async_int_block_d,
dout => ex3_async_int_block_q);
ex3_axu_instr_match_latch : tri_rlmreg_p
generic map (width => ex3_axu_instr_match_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex2_axu_act,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_axu_instr_match_offset to ex3_axu_instr_match_offset + ex3_axu_instr_match_q'length-1),
scout => sov(ex3_axu_instr_match_offset to ex3_axu_instr_match_offset + ex3_axu_instr_match_q'length-1),
din => fu_xu_ex2_instr_match ,
dout => ex3_axu_instr_match_q);
ex3_axu_instr_type_latch : tri_rlmreg_p
generic map (width => ex3_axu_instr_type_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex2_axu_act,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_axu_instr_type_offset to ex3_axu_instr_type_offset + ex3_axu_instr_type_q'length-1),
scout => sov(ex3_axu_instr_type_offset to ex3_axu_instr_type_offset + ex3_axu_instr_type_q'length-1),
din => fu_xu_ex2_instr_type ,
dout => ex3_axu_instr_type_q);
ex3_axu_is_ucode_latch : tri_rlmreg_p
generic map (width => ex3_axu_is_ucode_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex2_axu_act,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_axu_is_ucode_offset to ex3_axu_is_ucode_offset + ex3_axu_is_ucode_q'length-1),
scout => sov(ex3_axu_is_ucode_offset to ex3_axu_is_ucode_offset + ex3_axu_is_ucode_q'length-1),
din => fu_xu_ex2_is_ucode ,
dout => ex3_axu_is_ucode_q);
ex3_axu_val_latch : tri_rlmreg_p
generic map (width => ex3_axu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_axu_val_offset to ex3_axu_val_offset + ex3_axu_val_q'length-1),
scout => sov(ex3_axu_val_offset to ex3_axu_val_offset + ex3_axu_val_q'length-1),
din => ex2_axu_val ,
dout => ex3_axu_val_q);
ex3_br_flush_ifar_latch : tri_rlmreg_p
generic map (width => ex3_br_flush_ifar_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_br_flush_ifar_offset to ex3_br_flush_ifar_offset + ex3_br_flush_ifar_q'length-1),
scout => sov(ex3_br_flush_ifar_offset to ex3_br_flush_ifar_offset + ex3_br_flush_ifar_q'length-1),
din => ex2_br_flush_ifar ,
dout => ex3_br_flush_ifar_q);
ex3_br_taken_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_br_taken_offset),
scout => sov(ex3_br_taken_offset),
din => ex2_br_taken_q ,
dout => ex3_br_taken_q);
ex3_br_update_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_br_update_offset),
scout => sov(ex3_br_update_offset),
din => ex2_br_update_q ,
dout => ex3_br_update_q);
ex3_byte_rev_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_byte_rev_offset),
scout => sov(ex3_byte_rev_offset),
din => ex2_byte_rev_q ,
dout => ex3_byte_rev_q);
ex3_ctr_dec_update_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_ctr_dec_update_offset),
scout => sov(ex3_ctr_dec_update_offset),
din => ex2_ctr_dec_update_q ,
dout => ex3_ctr_dec_update_q);
ex3_div_coll_latch : tri_rlmreg_p
generic map (width => ex3_div_coll_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_div_coll_offset to ex3_div_coll_offset + ex3_div_coll_q'length-1),
scout => sov(ex3_div_coll_offset to ex3_div_coll_offset + ex3_div_coll_q'length-1),
din => ex3_div_coll_d,
dout => ex3_div_coll_q);
ex3_epid_instr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_epid_instr_offset),
scout => sov(ex3_epid_instr_offset),
din => ex2_epid_instr_q ,
dout => ex3_epid_instr_q);
ex3_flush_latch : tri_rlmreg_p
generic map (width => ex3_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_flush_offset to ex3_flush_offset + ex3_flush_q'length-1),
scout => sov(ex3_flush_offset to ex3_flush_offset + ex3_flush_q'length-1),
din => ex2_flush ,
dout => ex3_flush_q);
ex3_ierat_flush_req_latch : tri_rlmreg_p
generic map (width => ex3_ierat_flush_req_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_ierat_flush_req_offset to ex3_ierat_flush_req_offset + ex3_ierat_flush_req_q'length-1),
scout => sov(ex3_ierat_flush_req_offset to ex3_ierat_flush_req_offset + ex3_ierat_flush_req_q'length-1),
din => iu_xu_ierat_ex2_flush_req ,
dout => ex3_ierat_flush_req_q);
ex3_illegal_op_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_illegal_op_offset),
scout => sov(ex3_illegal_op_offset),
din => dec_cpl_ex2_illegal_op ,
dout => ex3_illegal_op_q);
ex3_is_any_load_dac_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_any_load_dac_offset),
scout => sov(ex3_is_any_load_dac_offset),
din => dec_cpl_ex2_is_any_load_dac,
dout => ex3_is_any_load_dac_q);
ex3_is_any_store_dac_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_any_store_dac_offset),
scout => sov(ex3_is_any_store_dac_offset),
din => dec_cpl_ex2_is_any_store_dac,
dout => ex3_is_any_store_dac_q);
ex3_is_attn_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_attn_offset),
scout => sov(ex3_is_attn_offset),
din => ex2_is_attn_q ,
dout => ex3_is_attn_q);
ex3_is_dci_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_dci_offset),
scout => sov(ex3_is_dci_offset),
din => ex2_is_dci_q ,
dout => ex3_is_dci_q);
ex3_is_dlock_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_dlock_offset),
scout => sov(ex3_is_dlock_offset),
din => ex2_is_dlock_q ,
dout => ex3_is_dlock_q);
ex3_is_ehpriv_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_ehpriv_offset),
scout => sov(ex3_is_ehpriv_offset),
din => ex2_is_ehpriv_q ,
dout => ex3_is_ehpriv_q);
ex3_is_ici_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_ici_offset),
scout => sov(ex3_is_ici_offset),
din => ex2_is_ici_q ,
dout => ex3_is_ici_q);
ex3_is_icswx_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_icswx_offset),
scout => sov(ex3_is_icswx_offset),
din => ex2_is_icswx_q ,
dout => ex3_is_icswx_q);
ex3_is_ilock_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_ilock_offset),
scout => sov(ex3_is_ilock_offset),
din => ex2_is_ilock_q ,
dout => ex3_is_ilock_q);
ex3_is_isync_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_isync_offset),
scout => sov(ex3_is_isync_offset),
din => ex2_is_isync_q ,
dout => ex3_is_isync_q);
ex3_is_mtmsr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_mtmsr_offset),
scout => sov(ex3_is_mtmsr_offset),
din => ex2_is_mtmsr_q ,
dout => ex3_is_mtmsr_q);
ex3_is_rfci_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_rfci_offset),
scout => sov(ex3_is_rfci_offset),
din => ex2_is_rfci_q ,
dout => ex3_is_rfci_q);
ex3_is_rfgi_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_rfgi_offset),
scout => sov(ex3_is_rfgi_offset),
din => ex2_is_rfgi_q ,
dout => ex3_is_rfgi_q);
ex3_is_rfi_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_rfi_offset),
scout => sov(ex3_is_rfi_offset),
din => ex2_is_rfi_q ,
dout => ex3_is_rfi_q);
ex3_is_rfmci_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_rfmci_offset),
scout => sov(ex3_is_rfmci_offset),
din => ex2_is_rfmci_q ,
dout => ex3_is_rfmci_q);
ex3_is_sc_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_sc_offset),
scout => sov(ex3_is_sc_offset),
din => ex2_is_sc_q ,
dout => ex3_is_sc_q);
ex3_is_tlbwe_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_tlbwe_offset),
scout => sov(ex3_is_tlbwe_offset),
din => ex2_is_tlbwe_q ,
dout => ex3_is_tlbwe_q);
ex3_is_slowspr_wr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_slowspr_wr_offset),
scout => sov(ex3_is_slowspr_wr_offset),
din => ex2_is_slowspr_wr_q ,
dout => ex3_is_slowspr_wr_q);
ex3_iu_error_latch : tri_rlmreg_p
generic map (width => ex3_iu_error_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_iu_error_offset to ex3_iu_error_offset + ex3_iu_error_q'length-1),
scout => sov(ex3_iu_error_offset to ex3_iu_error_offset + ex3_iu_error_q'length-1),
din => ex3_iu_error_d,
dout => ex3_iu_error_q);
ex3_lr_update_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_lr_update_offset),
scout => sov(ex3_lr_update_offset),
din => ex2_lr_update_q ,
dout => ex3_lr_update_q);
ex3_lrat_miss_latch : tri_rlmreg_p
generic map (width => ex3_lrat_miss_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_lrat_miss_offset to ex3_lrat_miss_offset + ex3_lrat_miss_q'length-1),
scout => sov(ex3_lrat_miss_offset to ex3_lrat_miss_offset + ex3_lrat_miss_q'length-1),
din => mm_xu_lrat_miss ,
dout => ex3_lrat_miss_q);
ex3_mmu_esr_data_latch : tri_rlmreg_p
generic map (width => ex3_mmu_esr_data_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_mmu_esr_data_offset to ex3_mmu_esr_data_offset + ex3_mmu_esr_data_q'length-1),
scout => sov(ex3_mmu_esr_data_offset to ex3_mmu_esr_data_offset + ex3_mmu_esr_data_q'length-1),
din => mm_xu_esr_data ,
dout => ex3_mmu_esr_data_q);
ex3_mmu_esr_epid_latch : tri_rlmreg_p
generic map (width => ex3_mmu_esr_epid_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_mmu_esr_epid_offset to ex3_mmu_esr_epid_offset + ex3_mmu_esr_epid_q'length-1),
scout => sov(ex3_mmu_esr_epid_offset to ex3_mmu_esr_epid_offset + ex3_mmu_esr_epid_q'length-1),
din => mm_xu_esr_epid ,
dout => ex3_mmu_esr_epid_q);
ex3_mmu_esr_pt_latch : tri_rlmreg_p
generic map (width => ex3_mmu_esr_pt_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_mmu_esr_pt_offset to ex3_mmu_esr_pt_offset + ex3_mmu_esr_pt_q'length-1),
scout => sov(ex3_mmu_esr_pt_offset to ex3_mmu_esr_pt_offset + ex3_mmu_esr_pt_q'length-1),
din => mm_xu_esr_pt ,
dout => ex3_mmu_esr_pt_q);
ex3_mmu_esr_st_latch : tri_rlmreg_p
generic map (width => ex3_mmu_esr_st_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_mmu_esr_st_offset to ex3_mmu_esr_st_offset + ex3_mmu_esr_st_q'length-1),
scout => sov(ex3_mmu_esr_st_offset to ex3_mmu_esr_st_offset + ex3_mmu_esr_st_q'length-1),
din => mm_xu_esr_st ,
dout => ex3_mmu_esr_st_q);
ex3_mmu_hv_priv_latch : tri_rlmreg_p
generic map (width => ex3_mmu_hv_priv_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_mmu_hv_priv_offset to ex3_mmu_hv_priv_offset + ex3_mmu_hv_priv_q'length-1),
scout => sov(ex3_mmu_hv_priv_offset to ex3_mmu_hv_priv_offset + ex3_mmu_hv_priv_q'length-1),
din => mm_xu_hv_priv ,
dout => ex3_mmu_hv_priv_q);
ex3_mtiar_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_mtiar_offset),
scout => sov(ex3_mtiar_offset),
din => ex2_mtiar,
dout => ex3_mtiar_q);
ex3_n_align_int_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_n_align_int_offset),
scout => sov(ex3_n_align_int_offset),
din => ex2_n_align_int_q ,
dout => ex3_n_align_int_q);
ex3_n_dcpe_flush_latch : tri_rlmreg_p
generic map (width => ex3_n_dcpe_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_n_dcpe_flush_offset to ex3_n_dcpe_flush_offset + ex3_n_dcpe_flush_q'length-1),
scout => sov(ex3_n_dcpe_flush_offset to ex3_n_dcpe_flush_offset + ex3_n_dcpe_flush_q'length-1),
din => ex3_n_dcpe_flush_d,
dout => ex3_n_dcpe_flush_q);
ex3_n_l2_ecc_err_flush_latch : tri_rlmreg_p
generic map (width => ex3_n_l2_ecc_err_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_n_l2_ecc_err_flush_offset to ex3_n_l2_ecc_err_flush_offset + ex3_n_l2_ecc_err_flush_q'length-1),
scout => sov(ex3_n_l2_ecc_err_flush_offset to ex3_n_l2_ecc_err_flush_offset + ex3_n_l2_ecc_err_flush_q'length-1),
din => lsu_xu_l2_ecc_err_flush ,
dout => ex3_n_l2_ecc_err_flush_q);
ex3_np1_run_ctl_flush_latch : tri_rlmreg_p
generic map (width => ex3_np1_run_ctl_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_np1_run_ctl_flush_offset to ex3_np1_run_ctl_flush_offset + ex3_np1_run_ctl_flush_q'length-1),
scout => sov(ex3_np1_run_ctl_flush_offset to ex3_np1_run_ctl_flush_offset + ex3_np1_run_ctl_flush_q'length-1),
din => spr_cpl_ex2_run_ctl_flush ,
dout => ex3_np1_run_ctl_flush_q);
ex3_sc_lev_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_sc_lev_offset),
scout => sov(ex3_sc_lev_offset),
din => ex2_sc_lev_q ,
dout => ex3_sc_lev_q);
ex3_taken_bclr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_taken_bclr_offset),
scout => sov(ex3_taken_bclr_offset),
din => ex2_taken_bclr_q ,
dout => ex3_taken_bclr_q);
ex3_tlb_inelig_latch : tri_rlmreg_p
generic map (width => ex3_tlb_inelig_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_inelig_offset to ex3_tlb_inelig_offset + ex3_tlb_inelig_q'length-1),
scout => sov(ex3_tlb_inelig_offset to ex3_tlb_inelig_offset + ex3_tlb_inelig_q'length-1),
din => mm_xu_tlb_inelig ,
dout => ex3_tlb_inelig_q);
ex3_tlb_local_snoop_reject_latch : tri_rlmreg_p
generic map (width => ex3_tlb_local_snoop_reject_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_local_snoop_reject_offset to ex3_tlb_local_snoop_reject_offset + ex3_tlb_local_snoop_reject_q'length-1),
scout => sov(ex3_tlb_local_snoop_reject_offset to ex3_tlb_local_snoop_reject_offset + ex3_tlb_local_snoop_reject_q'length-1),
din => mm_xu_local_snoop_reject ,
dout => ex3_tlb_local_snoop_reject_q);
ex3_tlb_lru_par_err_latch : tri_rlmreg_p
generic map (width => ex3_tlb_lru_par_err_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_lru_par_err_offset to ex3_tlb_lru_par_err_offset + ex3_tlb_lru_par_err_q'length-1),
scout => sov(ex3_tlb_lru_par_err_offset to ex3_tlb_lru_par_err_offset + ex3_tlb_lru_par_err_q'length-1),
din => mm_xu_lru_par_err ,
dout => ex3_tlb_lru_par_err_q);
ex3_tlb_illeg_latch : tri_rlmreg_p
generic map (width => ex3_tlb_illeg_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_illeg_offset to ex3_tlb_illeg_offset + ex3_tlb_illeg_q'length-1),
scout => sov(ex3_tlb_illeg_offset to ex3_tlb_illeg_offset + ex3_tlb_illeg_q'length-1),
din => mm_xu_illeg_instr ,
dout => ex3_tlb_illeg_q);
ex3_tlb_miss_latch : tri_rlmreg_p
generic map (width => ex3_tlb_miss_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_miss_offset to ex3_tlb_miss_offset + ex3_tlb_miss_q'length-1),
scout => sov(ex3_tlb_miss_offset to ex3_tlb_miss_offset + ex3_tlb_miss_q'length-1),
din => mm_xu_tlb_miss ,
dout => ex3_tlb_miss_q);
ex3_tlb_multihit_err_latch : tri_rlmreg_p
generic map (width => ex3_tlb_multihit_err_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_multihit_err_offset to ex3_tlb_multihit_err_offset + ex3_tlb_multihit_err_q'length-1),
scout => sov(ex3_tlb_multihit_err_offset to ex3_tlb_multihit_err_offset + ex3_tlb_multihit_err_q'length-1),
din => mm_xu_tlb_multihit_err ,
dout => ex3_tlb_multihit_err_q);
ex3_tlb_par_err_latch : tri_rlmreg_p
generic map (width => ex3_tlb_par_err_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_par_err_offset to ex3_tlb_par_err_offset + ex3_tlb_par_err_q'length-1),
scout => sov(ex3_tlb_par_err_offset to ex3_tlb_par_err_offset + ex3_tlb_par_err_q'length-1),
din => mm_xu_tlb_par_err ,
dout => ex3_tlb_par_err_q);
ex3_tlb_pt_fault_latch : tri_rlmreg_p
generic map (width => ex3_tlb_pt_fault_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_tlb_pt_fault_offset to ex3_tlb_pt_fault_offset + ex3_tlb_pt_fault_q'length-1),
scout => sov(ex3_tlb_pt_fault_offset to ex3_tlb_pt_fault_offset + ex3_tlb_pt_fault_q'length-1),
din => mm_xu_pt_fault ,
dout => ex3_tlb_pt_fault_q);
ex3_ucode_val_latch : tri_rlmreg_p
generic map (width => ex3_ucode_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_ucode_val_offset to ex3_ucode_val_offset + ex3_ucode_val_q'length-1),
scout => sov(ex3_ucode_val_offset to ex3_ucode_val_offset + ex3_ucode_val_q'length-1),
din => ex2_ucode_val ,
dout => ex3_ucode_val_q);
ex3_xu_instr_match_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_xu_instr_match_offset),
scout => sov(ex3_xu_instr_match_offset),
din => dec_cpl_ex2_match ,
dout => ex3_xu_instr_match_q);
ex3_xu_is_ucode_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_xu_is_ucode_offset),
scout => sov(ex3_xu_is_ucode_offset),
din => dec_cpl_ex2_is_ucode ,
dout => ex3_xu_is_ucode_q);
ex3_xu_val_latch : tri_rlmreg_p
generic map (width => ex3_xu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_xu_val_offset to ex3_xu_val_offset + ex3_xu_val_q'length-1),
scout => sov(ex3_xu_val_offset to ex3_xu_val_offset + ex3_xu_val_q'length-1),
din => ex2_xu_val ,
dout => ex3_xu_val_q);
ex3_axu_async_block_latch : tri_rlmreg_p
generic map (width => ex3_axu_async_block_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_axu_async_block_offset to ex3_axu_async_block_offset + ex3_axu_async_block_q'length-1),
scout => sov(ex3_axu_async_block_offset to ex3_axu_async_block_offset + ex3_axu_async_block_q'length-1),
din => fu_xu_ex2_async_block ,
dout => ex3_axu_async_block_q);
ex3_is_mtxucr0_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_is_mtxucr0_offset),
scout => sov(ex3_is_mtxucr0_offset),
din => ex2_is_mtxucr0_q ,
dout => ex3_is_mtxucr0_q);
ex3_np1_instr_flush_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(2) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_np1_instr_flush_offset),
scout => sov(ex3_np1_instr_flush_offset),
din => ex3_np1_instr_flush_d,
dout => ex3_np1_instr_flush_q);
ex4_apena_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_apena_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_apena_prog_int_offset to ex4_apena_prog_int_offset + ex4_apena_prog_int_q'length-1),
scout => sov(ex4_apena_prog_int_offset to ex4_apena_prog_int_offset + ex4_apena_prog_int_q'length-1),
din => ex3_n_apena_prog_int,
dout => ex4_apena_prog_int_q);
ex4_axu_is_ucode_latch : tri_rlmreg_p
generic map (width => ex4_axu_is_ucode_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_axu_is_ucode_offset to ex4_axu_is_ucode_offset + ex4_axu_is_ucode_q'length-1),
scout => sov(ex4_axu_is_ucode_offset to ex4_axu_is_ucode_offset + ex4_axu_is_ucode_q'length-1),
din => ex3_axu_is_ucode_q ,
dout => ex4_axu_is_ucode_q);
ex4_axu_trap_latch : tri_rlmreg_p
generic map (width => ex4_axu_trap_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_axu_trap_offset to ex4_axu_trap_offset + ex4_axu_trap_q'length-1),
scout => sov(ex4_axu_trap_offset to ex4_axu_trap_offset + ex4_axu_trap_q'length-1),
din => fu_xu_ex3_trap ,
dout => ex4_axu_trap_q);
ex4_axu_val_latch : tri_rlmreg_p
generic map (width => ex4_axu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_axu_val_offset to ex4_axu_val_offset + ex4_axu_val_q'length-1),
scout => sov(ex4_axu_val_offset to ex4_axu_val_offset + ex4_axu_val_q'length-1),
din => ex3_axu_val ,
dout => ex4_axu_val_q);
ex4_base_int_block_latch : tri_rlmreg_p
generic map (width => ex4_base_int_block_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_base_int_block_offset to ex4_base_int_block_offset + ex4_base_int_block_q'length-1),
scout => sov(ex4_base_int_block_offset to ex4_base_int_block_offset + ex4_base_int_block_q'length-1),
din => ex3_base_int_block ,
dout => ex4_base_int_block_q);
ex4_br_flush_ifar_latch : tri_rlmreg_p
generic map (width => ex4_br_flush_ifar_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_br_flush_ifar_offset to ex4_br_flush_ifar_offset + ex4_br_flush_ifar_q'length-1),
scout => sov(ex4_br_flush_ifar_offset to ex4_br_flush_ifar_offset + ex4_br_flush_ifar_q'length-1),
din => ex3_br_flush_ifar_q ,
dout => ex4_br_flush_ifar_q);
ex4_br_taken_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_br_taken_offset),
scout => sov(ex4_br_taken_offset),
din => ex3_br_taken_q ,
dout => ex4_br_taken_q);
ex4_br_update_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_br_update_offset),
scout => sov(ex4_br_update_offset),
din => ex3_br_update_q ,
dout => ex4_br_update_q);
ex4_byte_rev_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_byte_rev_offset),
scout => sov(ex4_byte_rev_offset),
din => ex3_byte_rev_q ,
dout => ex4_byte_rev_q);
ex4_ctr_dec_update_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_ctr_dec_update_offset),
scout => sov(ex4_ctr_dec_update_offset),
din => ex3_ctr_dec_update_q ,
dout => ex4_ctr_dec_update_q);
ex4_debug_flush_en_latch : tri_rlmreg_p
generic map (width => ex4_debug_flush_en_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_debug_flush_en_offset to ex4_debug_flush_en_offset + ex4_debug_flush_en_q'length-1),
scout => sov(ex4_debug_flush_en_offset to ex4_debug_flush_en_offset + ex4_debug_flush_en_q'length-1),
din => ex4_debug_flush_en_d,
dout => ex4_debug_flush_en_q);
ex4_debug_int_en_latch : tri_rlmreg_p
generic map (width => ex4_debug_int_en_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_debug_int_en_offset to ex4_debug_int_en_offset + ex4_debug_int_en_q'length-1),
scout => sov(ex4_debug_int_en_offset to ex4_debug_int_en_offset + ex4_debug_int_en_q'length-1),
din => ex3_debug_int_en,
dout => ex4_debug_int_en_q);
ex4_flush_latch : tri_rlmreg_p
generic map (width => ex4_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_flush_offset to ex4_flush_offset + ex4_flush_q'length-1),
scout => sov(ex4_flush_offset to ex4_flush_offset + ex4_flush_q'length-1),
din => ex3_flush ,
dout => ex4_flush_q);
ex4_fpena_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_fpena_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_fpena_prog_int_offset to ex4_fpena_prog_int_offset + ex4_fpena_prog_int_q'length-1),
scout => sov(ex4_fpena_prog_int_offset to ex4_fpena_prog_int_offset + ex4_fpena_prog_int_q'length-1),
din => ex3_n_fpena_prog_int,
dout => ex4_fpena_prog_int_q);
ex4_iac1_cmpr_latch : tri_rlmreg_p
generic map (width => ex4_iac1_cmpr_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_iac1_cmpr_offset to ex4_iac1_cmpr_offset + ex4_iac1_cmpr_q'length-1),
scout => sov(ex4_iac1_cmpr_offset to ex4_iac1_cmpr_offset + ex4_iac1_cmpr_q'length-1),
din => ex3_iac1_cmpr,
dout => ex4_iac1_cmpr_q);
ex4_iac2_cmpr_latch : tri_rlmreg_p
generic map (width => ex4_iac2_cmpr_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_iac2_cmpr_offset to ex4_iac2_cmpr_offset + ex4_iac2_cmpr_q'length-1),
scout => sov(ex4_iac2_cmpr_offset to ex4_iac2_cmpr_offset + ex4_iac2_cmpr_q'length-1),
din => ex3_iac2_cmpr,
dout => ex4_iac2_cmpr_q);
ex4_iac3_cmpr_latch : tri_rlmreg_p
generic map (width => ex4_iac3_cmpr_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_iac3_cmpr_offset to ex4_iac3_cmpr_offset + ex4_iac3_cmpr_q'length-1),
scout => sov(ex4_iac3_cmpr_offset to ex4_iac3_cmpr_offset + ex4_iac3_cmpr_q'length-1),
din => ex3_iac3_cmpr,
dout => ex4_iac3_cmpr_q);
ex4_iac4_cmpr_latch : tri_rlmreg_p
generic map (width => ex4_iac4_cmpr_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_iac4_cmpr_offset to ex4_iac4_cmpr_offset + ex4_iac4_cmpr_q'length-1),
scout => sov(ex4_iac4_cmpr_offset to ex4_iac4_cmpr_offset + ex4_iac4_cmpr_q'length-1),
din => ex3_iac4_cmpr,
dout => ex4_iac4_cmpr_q);
ex4_instr_cpl_latch : tri_rlmreg_p
generic map (width => ex4_instr_cpl_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_instr_cpl_offset to ex4_instr_cpl_offset + ex4_instr_cpl_q'length-1),
scout => sov(ex4_instr_cpl_offset to ex4_instr_cpl_offset + ex4_instr_cpl_q'length-1),
din => ex4_instr_cpl_d,
dout => ex4_instr_cpl_q);
ex4_is_any_load_dac_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_any_load_dac_offset),
scout => sov(ex4_is_any_load_dac_offset),
din => ex3_is_any_load_dac_q ,
dout => ex4_is_any_load_dac_q);
ex4_is_any_store_dac_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_any_store_dac_offset),
scout => sov(ex4_is_any_store_dac_offset),
din => ex3_is_any_store_dac_q ,
dout => ex4_is_any_store_dac_q);
ex4_is_attn_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_attn_offset),
scout => sov(ex4_is_attn_offset),
din => ex3_is_attn_q ,
dout => ex4_is_attn_q);
ex4_is_dci_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_dci_offset),
scout => sov(ex4_is_dci_offset),
din => ex3_is_dci_q ,
dout => ex4_is_dci_q);
ex4_is_ehpriv_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_ehpriv_offset),
scout => sov(ex4_is_ehpriv_offset),
din => ex3_is_ehpriv_q ,
dout => ex4_is_ehpriv_q);
ex4_is_ici_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_ici_offset),
scout => sov(ex4_is_ici_offset),
din => ex3_is_ici_q ,
dout => ex4_is_ici_q);
ex4_is_isync_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_isync_offset),
scout => sov(ex4_is_isync_offset),
din => ex3_is_isync_q ,
dout => ex4_is_isync_q);
ex4_is_mtmsr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_mtmsr_offset),
scout => sov(ex4_is_mtmsr_offset),
din => ex3_is_mtmsr_q ,
dout => ex4_is_mtmsr_q);
ex4_is_tlbwe_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_tlbwe_offset),
scout => sov(ex4_is_tlbwe_offset),
din => ex3_is_tlbwe_q ,
dout => ex4_is_tlbwe_q);
ex4_is_slowspr_wr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_is_slowspr_wr_offset),
scout => sov(ex4_is_slowspr_wr_offset),
din => ex3_is_slowspr_wr_q ,
dout => ex4_is_slowspr_wr_q);
ex4_lr_update_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_lr_update_offset),
scout => sov(ex4_lr_update_offset),
din => ex3_lr_update_q ,
dout => ex4_lr_update_q);
ex4_mcsr_latch : tri_rlmreg_p
generic map (width => ex4_mcsr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mcsr_offset to ex4_mcsr_offset + ex4_mcsr_q'length-1),
scout => sov(ex4_mcsr_offset to ex4_mcsr_offset + ex4_mcsr_q'length-1),
din => ex4_mcsr_d,
dout => ex4_mcsr_q);
ex4_mem_attr_latch : tri_rlmreg_p
generic map (width => ex4_mem_attr_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mem_attr_offset to ex4_mem_attr_offset + ex4_mem_attr_q'length-1),
scout => sov(ex4_mem_attr_offset to ex4_mem_attr_offset + ex4_mem_attr_q'length-1),
din => lsu_xu_ex3_attr ,
dout => ex4_mem_attr_q);
ex4_mmu_esr_data_latch : tri_rlmreg_p
generic map (width => ex4_mmu_esr_data_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mmu_esr_data_offset to ex4_mmu_esr_data_offset + ex4_mmu_esr_data_q'length-1),
scout => sov(ex4_mmu_esr_data_offset to ex4_mmu_esr_data_offset + ex4_mmu_esr_data_q'length-1),
din => ex3_mmu_esr_data_q ,
dout => ex4_mmu_esr_data_q);
ex4_mmu_esr_epid_latch : tri_rlmreg_p
generic map (width => ex4_mmu_esr_epid_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mmu_esr_epid_offset to ex4_mmu_esr_epid_offset + ex4_mmu_esr_epid_q'length-1),
scout => sov(ex4_mmu_esr_epid_offset to ex4_mmu_esr_epid_offset + ex4_mmu_esr_epid_q'length-1),
din => ex3_mmu_esr_epid_q ,
dout => ex4_mmu_esr_epid_q);
ex4_mmu_esr_pt_latch : tri_rlmreg_p
generic map (width => ex4_mmu_esr_pt_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mmu_esr_pt_offset to ex4_mmu_esr_pt_offset + ex4_mmu_esr_pt_q'length-1),
scout => sov(ex4_mmu_esr_pt_offset to ex4_mmu_esr_pt_offset + ex4_mmu_esr_pt_q'length-1),
din => ex3_mmu_esr_pt_q ,
dout => ex4_mmu_esr_pt_q);
ex4_mmu_esr_st_latch : tri_rlmreg_p
generic map (width => ex4_mmu_esr_st_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mmu_esr_st_offset to ex4_mmu_esr_st_offset + ex4_mmu_esr_st_q'length-1),
scout => sov(ex4_mmu_esr_st_offset to ex4_mmu_esr_st_offset + ex4_mmu_esr_st_q'length-1),
din => ex3_mmu_esr_st_q ,
dout => ex4_mmu_esr_st_q);
ex4_mmu_esr_val_latch : tri_rlmreg_p
generic map (width => ex4_mmu_esr_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mmu_esr_val_offset to ex4_mmu_esr_val_offset + ex4_mmu_esr_val_q'length-1),
scout => sov(ex4_mmu_esr_val_offset to ex4_mmu_esr_val_offset + ex4_mmu_esr_val_q'length-1),
din => ex4_mmu_esr_val_d,
dout => ex4_mmu_esr_val_q);
ex4_mmu_hold_val_latch : tri_rlmreg_p
generic map (width => ex4_mmu_hold_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mmu_hold_val_offset to ex4_mmu_hold_val_offset + ex4_mmu_hold_val_q'length-1),
scout => sov(ex4_mmu_hold_val_offset to ex4_mmu_hold_val_offset + ex4_mmu_hold_val_q'length-1),
din => ex3_mmu_hold_val,
dout => ex4_mmu_hold_val_q);
ex4_mtdp_nr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mtdp_nr_offset),
scout => sov(ex4_mtdp_nr_offset),
din => dec_cpl_ex3_mtdp_nr ,
dout => ex4_mtdp_nr_q);
ex4_mtiar_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mtiar_offset),
scout => sov(ex4_mtiar_offset),
din => ex3_mtiar_q ,
dout => ex4_mtiar_q);
ex4_n_2ucode_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_2ucode_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_2ucode_flush_offset to ex4_n_2ucode_flush_offset + ex4_n_2ucode_flush_q'length-1),
scout => sov(ex4_n_2ucode_flush_offset to ex4_n_2ucode_flush_offset + ex4_n_2ucode_flush_q'length-1),
din => ex3_n_2ucode_flush,
dout => ex4_n_2ucode_flush_q);
ex4_n_align_int_latch : tri_rlmreg_p
generic map (width => ex4_n_align_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_align_int_offset to ex4_n_align_int_offset + ex4_n_align_int_q'length-1),
scout => sov(ex4_n_align_int_offset to ex4_n_align_int_offset + ex4_n_align_int_q'length-1),
din => ex3_n_align_int,
dout => ex4_n_align_int_q);
ex4_n_any_hpriv_int_latch : tri_rlmreg_p
generic map (width => ex4_n_any_hpriv_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_any_hpriv_int_offset to ex4_n_any_hpriv_int_offset + ex4_n_any_hpriv_int_q'length-1),
scout => sov(ex4_n_any_hpriv_int_offset to ex4_n_any_hpriv_int_offset + ex4_n_any_hpriv_int_q'length-1),
din => ex4_n_any_hpriv_int_d,
dout => ex4_n_any_hpriv_int_q);
ex4_n_any_unavail_int_latch : tri_rlmreg_p
generic map (width => ex4_n_any_unavail_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_any_unavail_int_offset to ex4_n_any_unavail_int_offset + ex4_n_any_unavail_int_q'length-1),
scout => sov(ex4_n_any_unavail_int_offset to ex4_n_any_unavail_int_offset + ex4_n_any_unavail_int_q'length-1),
din => ex3_n_any_unavail_int,
dout => ex4_n_any_unavail_int_q);
ex4_n_ap_unavail_int_latch : tri_rlmreg_p
generic map (width => ex4_n_ap_unavail_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ap_unavail_int_offset to ex4_n_ap_unavail_int_offset + ex4_n_ap_unavail_int_q'length-1),
scout => sov(ex4_n_ap_unavail_int_offset to ex4_n_ap_unavail_int_offset + ex4_n_ap_unavail_int_q'length-1),
din => ex3_n_ap_unavail_int,
dout => ex4_n_ap_unavail_int_q);
ex4_n_barr_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_barr_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_barr_flush_offset to ex4_n_barr_flush_offset + ex4_n_barr_flush_q'length-1),
scout => sov(ex4_n_barr_flush_offset to ex4_n_barr_flush_offset + ex4_n_barr_flush_q'length-1),
din => ex3_n_barr_flush,
dout => ex4_n_barr_flush_q);
ex4_n_bclr_ta_miscmpr_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_bclr_ta_miscmpr_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_bclr_ta_miscmpr_flush_offset to ex4_n_bclr_ta_miscmpr_flush_offset + ex4_n_bclr_ta_miscmpr_flush_q'length-1),
scout => sov(ex4_n_bclr_ta_miscmpr_flush_offset to ex4_n_bclr_ta_miscmpr_flush_offset + ex4_n_bclr_ta_miscmpr_flush_q'length-1),
din => ex3_n_bclr_ta_miscmpr_flush,
dout => ex4_n_bclr_ta_miscmpr_flush_q);
ex4_n_brt_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_brt_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_brt_dbg_cint_offset to ex4_n_brt_dbg_cint_offset + ex4_n_brt_dbg_cint_q'length-1),
scout => sov(ex4_n_brt_dbg_cint_offset to ex4_n_brt_dbg_cint_offset + ex4_n_brt_dbg_cint_q'length-1),
din => ex3_n_brt_dbg_cint,
dout => ex4_n_brt_dbg_cint_q);
ex4_n_dac_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_dac_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dac_dbg_cint_offset to ex4_n_dac_dbg_cint_offset + ex4_n_dac_dbg_cint_q'length-1),
scout => sov(ex4_n_dac_dbg_cint_offset to ex4_n_dac_dbg_cint_offset + ex4_n_dac_dbg_cint_q'length-1),
din => ex3_n_dac_dbg_cint,
dout => ex4_n_dac_dbg_cint_q);
ex4_n_ddmh_mchk_en_latch : tri_rlmreg_p
generic map (width => ex4_n_ddmh_mchk_en_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ddmh_mchk_en_offset to ex4_n_ddmh_mchk_en_offset + ex4_n_ddmh_mchk_en_q'length-1),
scout => sov(ex4_n_ddmh_mchk_en_offset to ex4_n_ddmh_mchk_en_offset + ex4_n_ddmh_mchk_en_q'length-1),
din => ex4_n_ddmh_mchk_en_d,
dout => ex4_n_ddmh_mchk_en_q);
ex4_n_dep_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_dep_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dep_flush_offset to ex4_n_dep_flush_offset + ex4_n_dep_flush_q'length-1),
scout => sov(ex4_n_dep_flush_offset to ex4_n_dep_flush_offset + ex4_n_dep_flush_q'length-1),
din => ex3_n_dep_flush,
dout => ex4_n_dep_flush_q);
ex4_n_deratre_par_mchk_mcint_latch : tri_rlmreg_p
generic map (width => ex4_n_deratre_par_mchk_mcint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_deratre_par_mchk_mcint_offset to ex4_n_deratre_par_mchk_mcint_offset + ex4_n_deratre_par_mchk_mcint_q'length-1),
scout => sov(ex4_n_deratre_par_mchk_mcint_offset to ex4_n_deratre_par_mchk_mcint_offset + ex4_n_deratre_par_mchk_mcint_q'length-1),
din => ex3_n_deratre_par_mchk_mcint,
dout => ex4_n_deratre_par_mchk_mcint_q);
ex4_n_dlk0_dstor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_dlk0_dstor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dlk0_dstor_int_offset to ex4_n_dlk0_dstor_int_offset + ex4_n_dlk0_dstor_int_q'length-1),
scout => sov(ex4_n_dlk0_dstor_int_offset to ex4_n_dlk0_dstor_int_offset + ex4_n_dlk0_dstor_int_q'length-1),
din => ex3_n_dlk0_dstor_int,
dout => ex4_n_dlk0_dstor_int_q);
ex4_n_dlk1_dstor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_dlk1_dstor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dlk1_dstor_int_offset to ex4_n_dlk1_dstor_int_offset + ex4_n_dlk1_dstor_int_q'length-1),
scout => sov(ex4_n_dlk1_dstor_int_offset to ex4_n_dlk1_dstor_int_offset + ex4_n_dlk1_dstor_int_q'length-1),
din => ex3_n_dlk1_dstor_int,
dout => ex4_n_dlk1_dstor_int_q);
ex4_n_dlrat_int_latch : tri_rlmreg_p
generic map (width => ex4_n_dlrat_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dlrat_int_offset to ex4_n_dlrat_int_offset + ex4_n_dlrat_int_q'length-1),
scout => sov(ex4_n_dlrat_int_offset to ex4_n_dlrat_int_offset + ex4_n_dlrat_int_q'length-1),
din => ex3_n_dlrat_int,
dout => ex4_n_dlrat_int_q);
ex4_n_dmchk_mcint_latch : tri_rlmreg_p
generic map (width => ex4_n_dmchk_mcint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dmchk_mcint_offset to ex4_n_dmchk_mcint_offset + ex4_n_dmchk_mcint_q'length-1),
scout => sov(ex4_n_dmchk_mcint_offset to ex4_n_dmchk_mcint_offset + ex4_n_dmchk_mcint_q'length-1),
din => ex3_n_dmchk_mcint,
dout => ex4_n_dmchk_mcint_q);
ex4_n_dmiss_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_dmiss_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dmiss_flush_offset to ex4_n_dmiss_flush_offset + ex4_n_dmiss_flush_q'length-1),
scout => sov(ex4_n_dmiss_flush_offset to ex4_n_dmiss_flush_offset + ex4_n_dmiss_flush_q'length-1),
din => ex3_n_dmiss_flush,
dout => ex4_n_dmiss_flush_q);
ex4_n_dstor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_dstor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dstor_int_offset to ex4_n_dstor_int_offset + ex4_n_dstor_int_q'length-1),
scout => sov(ex4_n_dstor_int_offset to ex4_n_dstor_int_offset + ex4_n_dstor_int_q'length-1),
din => ex3_n_dstor_int,
dout => ex4_n_dstor_int_q);
ex4_n_dtlb_int_latch : tri_rlmreg_p
generic map (width => ex4_n_dtlb_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_dtlb_int_offset to ex4_n_dtlb_int_offset + ex4_n_dtlb_int_q'length-1),
scout => sov(ex4_n_dtlb_int_offset to ex4_n_dtlb_int_offset + ex4_n_dtlb_int_q'length-1),
din => ex3_n_dtlb_int,
dout => ex4_n_dtlb_int_q);
ex4_n_ena_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_n_ena_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ena_prog_int_offset to ex4_n_ena_prog_int_offset + ex4_n_ena_prog_int_q'length-1),
scout => sov(ex4_n_ena_prog_int_offset to ex4_n_ena_prog_int_offset + ex4_n_ena_prog_int_q'length-1),
din => ex3_n_ena_prog_int,
dout => ex4_n_ena_prog_int_q);
ex4_n_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_flush_offset to ex4_n_flush_offset + ex4_n_flush_q'length-1),
scout => sov(ex4_n_flush_offset to ex4_n_flush_offset + ex4_n_flush_q'length-1),
din => ex3_n_flush,
dout => ex4_n_flush_q);
ex4_n_pe_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_pe_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_pe_flush_offset to ex4_n_pe_flush_offset + ex4_n_pe_flush_q'length-1),
scout => sov(ex4_n_pe_flush_offset to ex4_n_pe_flush_offset + ex4_n_pe_flush_q'length-1),
din => ex3_n_pe_flush,
dout => ex4_n_pe_flush_q);
ex4_n_tlb_mchk_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_tlb_mchk_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_tlb_mchk_flush_offset to ex4_n_tlb_mchk_flush_offset + ex4_n_tlb_mchk_flush_q'length-1),
scout => sov(ex4_n_tlb_mchk_flush_offset to ex4_n_tlb_mchk_flush_offset + ex4_n_tlb_mchk_flush_q'length-1),
din => ex3_n_tlb_mchk_flush,
dout => ex4_n_tlb_mchk_flush_q);
ex4_n_fp_unavail_int_latch : tri_rlmreg_p
generic map (width => ex4_n_fp_unavail_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_fp_unavail_int_offset to ex4_n_fp_unavail_int_offset + ex4_n_fp_unavail_int_q'length-1),
scout => sov(ex4_n_fp_unavail_int_offset to ex4_n_fp_unavail_int_offset + ex4_n_fp_unavail_int_q'length-1),
din => ex3_n_fp_unavail_int,
dout => ex4_n_fp_unavail_int_q);
ex4_n_fu_rfpe_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_fu_rfpe_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_fu_rfpe_flush_offset to ex4_n_fu_rfpe_flush_offset + ex4_n_fu_rfpe_flush_q'length-1),
scout => sov(ex4_n_fu_rfpe_flush_offset to ex4_n_fu_rfpe_flush_offset + ex4_n_fu_rfpe_flush_q'length-1),
din => ex4_n_fu_rfpe_flush_d,
dout => ex4_n_fu_rfpe_flush_q);
ex4_n_iac_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_iac_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_iac_dbg_cint_offset to ex4_n_iac_dbg_cint_offset + ex4_n_iac_dbg_cint_q'length-1),
scout => sov(ex4_n_iac_dbg_cint_offset to ex4_n_iac_dbg_cint_offset + ex4_n_iac_dbg_cint_q'length-1),
din => ex3_n_iac_dbg_cint,
dout => ex4_n_iac_dbg_cint_q);
ex4_n_ieratre_par_mchk_mcint_latch : tri_rlmreg_p
generic map (width => ex4_n_ieratre_par_mchk_mcint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ieratre_par_mchk_mcint_offset to ex4_n_ieratre_par_mchk_mcint_offset + ex4_n_ieratre_par_mchk_mcint_q'length-1),
scout => sov(ex4_n_ieratre_par_mchk_mcint_offset to ex4_n_ieratre_par_mchk_mcint_offset + ex4_n_ieratre_par_mchk_mcint_q'length-1),
din => ex3_n_ieratre_par_mchk_mcint,
dout => ex4_n_ieratre_par_mchk_mcint_q);
ex4_n_ilrat_int_latch : tri_rlmreg_p
generic map (width => ex4_n_ilrat_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ilrat_int_offset to ex4_n_ilrat_int_offset + ex4_n_ilrat_int_q'length-1),
scout => sov(ex4_n_ilrat_int_offset to ex4_n_ilrat_int_offset + ex4_n_ilrat_int_q'length-1),
din => ex3_n_ilrat_int,
dout => ex4_n_ilrat_int_q);
ex4_n_imchk_mcint_latch : tri_rlmreg_p
generic map (width => ex4_n_imchk_mcint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_imchk_mcint_offset to ex4_n_imchk_mcint_offset + ex4_n_imchk_mcint_q'length-1),
scout => sov(ex4_n_imchk_mcint_offset to ex4_n_imchk_mcint_offset + ex4_n_imchk_mcint_q'length-1),
din => ex3_n_imchk_mcint,
dout => ex4_n_imchk_mcint_q);
ex4_n_imiss_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_imiss_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_imiss_flush_offset to ex4_n_imiss_flush_offset + ex4_n_imiss_flush_q'length-1),
scout => sov(ex4_n_imiss_flush_offset to ex4_n_imiss_flush_offset + ex4_n_imiss_flush_q'length-1),
din => ex3_n_imiss_flush,
dout => ex4_n_imiss_flush_q);
ex4_n_instr_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_instr_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_instr_dbg_cint_offset to ex4_n_instr_dbg_cint_offset + ex4_n_instr_dbg_cint_q'length-1),
scout => sov(ex4_n_instr_dbg_cint_offset to ex4_n_instr_dbg_cint_offset + ex4_n_instr_dbg_cint_q'length-1),
din => ex3_n_instr_dbg_cint,
dout => ex4_n_instr_dbg_cint_q);
ex4_n_istor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_istor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_istor_int_offset to ex4_n_istor_int_offset + ex4_n_istor_int_q'length-1),
scout => sov(ex4_n_istor_int_offset to ex4_n_istor_int_offset + ex4_n_istor_int_q'length-1),
din => ex3_n_istor_int,
dout => ex4_n_istor_int_q);
ex4_n_itlb_int_latch : tri_rlmreg_p
generic map (width => ex4_n_itlb_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_itlb_int_offset to ex4_n_itlb_int_offset + ex4_n_itlb_int_q'length-1),
scout => sov(ex4_n_itlb_int_offset to ex4_n_itlb_int_offset + ex4_n_itlb_int_q'length-1),
din => ex3_n_itlb_int,
dout => ex4_n_itlb_int_q);
ex4_n_ivc_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_ivc_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ivc_dbg_cint_offset to ex4_n_ivc_dbg_cint_offset + ex4_n_ivc_dbg_cint_q'length-1),
scout => sov(ex4_n_ivc_dbg_cint_offset to ex4_n_ivc_dbg_cint_offset + ex4_n_ivc_dbg_cint_q'length-1),
din => ex3_n_ivc_dbg_cint,
dout => ex4_n_ivc_dbg_cint_q);
ex4_n_ivc_dbg_match_latch : tri_rlmreg_p
generic map (width => ex4_n_ivc_dbg_match_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ivc_dbg_match_offset to ex4_n_ivc_dbg_match_offset + ex4_n_ivc_dbg_match_q'length-1),
scout => sov(ex4_n_ivc_dbg_match_offset to ex4_n_ivc_dbg_match_offset + ex4_n_ivc_dbg_match_q'length-1),
din => ex3_n_ivc_dbg_match,
dout => ex4_n_ivc_dbg_match_q);
ex4_n_ldq_hit_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_ldq_hit_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ldq_hit_flush_offset to ex4_n_ldq_hit_flush_offset + ex4_n_ldq_hit_flush_q'length-1),
scout => sov(ex4_n_ldq_hit_flush_offset to ex4_n_ldq_hit_flush_offset + ex4_n_ldq_hit_flush_q'length-1),
din => ex3_n_ldq_hit_flush,
dout => ex4_n_ldq_hit_flush_q);
ex4_n_lsu_ddmh_flush_en_latch : tri_rlmreg_p
generic map (width => ex4_n_lsu_ddmh_flush_en_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_lsu_ddmh_flush_en_offset to ex4_n_lsu_ddmh_flush_en_offset + ex4_n_lsu_ddmh_flush_en_q'length-1),
scout => sov(ex4_n_lsu_ddmh_flush_en_offset to ex4_n_lsu_ddmh_flush_en_offset + ex4_n_lsu_ddmh_flush_en_q'length-1),
din => ex4_n_lsu_ddmh_flush_en_d,
dout => ex4_n_lsu_ddmh_flush_en_q);
ex4_n_lsu_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_lsu_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_lsu_flush_offset to ex4_n_lsu_flush_offset + ex4_n_lsu_flush_q'length-1),
scout => sov(ex4_n_lsu_flush_offset to ex4_n_lsu_flush_offset + ex4_n_lsu_flush_q'length-1),
din => ex3_n_lsu_flush,
dout => ex4_n_lsu_flush_q);
ex4_n_memattr_miscmpr_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_memattr_miscmpr_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_memattr_miscmpr_flush_offset to ex4_n_memattr_miscmpr_flush_offset + ex4_n_memattr_miscmpr_flush_q'length-1),
scout => sov(ex4_n_memattr_miscmpr_flush_offset to ex4_n_memattr_miscmpr_flush_offset + ex4_n_memattr_miscmpr_flush_q'length-1),
din => ex3_n_memattr_miscmpr_flush,
dout => ex4_n_memattr_miscmpr_flush_q);
ex4_n_mmu_hpriv_int_latch : tri_rlmreg_p
generic map (width => ex4_n_mmu_hpriv_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_mmu_hpriv_int_offset to ex4_n_mmu_hpriv_int_offset + ex4_n_mmu_hpriv_int_q'length-1),
scout => sov(ex4_n_mmu_hpriv_int_offset to ex4_n_mmu_hpriv_int_offset + ex4_n_mmu_hpriv_int_q'length-1),
din => ex3_n_mmu_hpriv_int,
dout => ex4_n_mmu_hpriv_int_q);
ex4_n_pil_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_n_pil_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_pil_prog_int_offset to ex4_n_pil_prog_int_offset + ex4_n_pil_prog_int_q'length-1),
scout => sov(ex4_n_pil_prog_int_offset to ex4_n_pil_prog_int_offset + ex4_n_pil_prog_int_q'length-1),
din => ex3_n_pil_prog_int,
dout => ex4_n_pil_prog_int_q);
ex4_n_ppr_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_n_ppr_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ppr_prog_int_offset to ex4_n_ppr_prog_int_offset + ex4_n_ppr_prog_int_q'length-1),
scout => sov(ex4_n_ppr_prog_int_offset to ex4_n_ppr_prog_int_offset + ex4_n_ppr_prog_int_q'length-1),
din => ex3_n_ppr_prog_int,
dout => ex4_n_ppr_prog_int_q);
ex4_n_ptemiss_dlrat_int_latch : tri_rlmreg_p
generic map (width => ex4_n_ptemiss_dlrat_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ptemiss_dlrat_int_offset to ex4_n_ptemiss_dlrat_int_offset + ex4_n_ptemiss_dlrat_int_q'length-1),
scout => sov(ex4_n_ptemiss_dlrat_int_offset to ex4_n_ptemiss_dlrat_int_offset + ex4_n_ptemiss_dlrat_int_q'length-1),
din => ex3_n_ptemiss_dlrat_int,
dout => ex4_n_ptemiss_dlrat_int_q);
ex4_n_puo_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_n_puo_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_puo_prog_int_offset to ex4_n_puo_prog_int_offset + ex4_n_puo_prog_int_q'length-1),
scout => sov(ex4_n_puo_prog_int_offset to ex4_n_puo_prog_int_offset + ex4_n_puo_prog_int_q'length-1),
din => ex3_n_puo_prog_int,
dout => ex4_n_puo_prog_int_q);
ex4_n_ret_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_ret_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ret_dbg_cint_offset to ex4_n_ret_dbg_cint_offset + ex4_n_ret_dbg_cint_q'length-1),
scout => sov(ex4_n_ret_dbg_cint_offset to ex4_n_ret_dbg_cint_offset + ex4_n_ret_dbg_cint_q'length-1),
din => ex3_n_ret_dbg_cint,
dout => ex4_n_ret_dbg_cint_q);
ex4_n_thrctl_stop_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_thrctl_stop_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_thrctl_stop_flush_offset to ex4_n_thrctl_stop_flush_offset + ex4_n_thrctl_stop_flush_q'length-1),
scout => sov(ex4_n_thrctl_stop_flush_offset to ex4_n_thrctl_stop_flush_offset + ex4_n_thrctl_stop_flush_q'length-1),
din => ex3_n_thrctl_stop_flush,
dout => ex4_n_thrctl_stop_flush_q);
ex4_n_tlbwemiss_dlrat_int_latch : tri_rlmreg_p
generic map (width => ex4_n_tlbwemiss_dlrat_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_tlbwemiss_dlrat_int_offset to ex4_n_tlbwemiss_dlrat_int_offset + ex4_n_tlbwemiss_dlrat_int_q'length-1),
scout => sov(ex4_n_tlbwemiss_dlrat_int_offset to ex4_n_tlbwemiss_dlrat_int_offset + ex4_n_tlbwemiss_dlrat_int_q'length-1),
din => ex3_n_tlbwemiss_dlrat_int,
dout => ex4_n_tlbwemiss_dlrat_int_q);
ex4_n_tlbwe_pil_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_n_tlbwe_pil_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_tlbwe_pil_prog_int_offset to ex4_n_tlbwe_pil_prog_int_offset + ex4_n_tlbwe_pil_prog_int_q'length-1),
scout => sov(ex4_n_tlbwe_pil_prog_int_offset to ex4_n_tlbwe_pil_prog_int_offset + ex4_n_tlbwe_pil_prog_int_q'length-1),
din => ex3_n_tlbwe_pil_prog_int,
dout => ex4_n_tlbwe_pil_prog_int_q);
ex4_n_trap_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_trap_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_trap_dbg_cint_offset to ex4_n_trap_dbg_cint_offset + ex4_n_trap_dbg_cint_q'length-1),
scout => sov(ex4_n_trap_dbg_cint_offset to ex4_n_trap_dbg_cint_offset + ex4_n_trap_dbg_cint_q'length-1),
din => ex3_n_trap_dbg_cint,
dout => ex4_n_trap_dbg_cint_q);
ex4_n_uct_dstor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_uct_dstor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_uct_dstor_int_offset to ex4_n_uct_dstor_int_offset + ex4_n_uct_dstor_int_q'length-1),
scout => sov(ex4_n_uct_dstor_int_offset to ex4_n_uct_dstor_int_offset + ex4_n_uct_dstor_int_q'length-1),
din => ex3_n_uct_dstor_int,
dout => ex4_n_uct_dstor_int_q);
ex4_n_vec_unavail_int_latch : tri_rlmreg_p
generic map (width => ex4_n_vec_unavail_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_vec_unavail_int_offset to ex4_n_vec_unavail_int_offset + ex4_n_vec_unavail_int_q'length-1),
scout => sov(ex4_n_vec_unavail_int_offset to ex4_n_vec_unavail_int_offset + ex4_n_vec_unavail_int_q'length-1),
din => ex3_n_vec_unavail_int,
dout => ex4_n_vec_unavail_int_q);
ex4_n_vf_dstor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_vf_dstor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_vf_dstor_int_offset to ex4_n_vf_dstor_int_offset + ex4_n_vf_dstor_int_q'length-1),
scout => sov(ex4_n_vf_dstor_int_offset to ex4_n_vf_dstor_int_offset + ex4_n_vf_dstor_int_q'length-1),
din => ex3_n_vf_dstor_int,
dout => ex4_n_vf_dstor_int_q);
ex4_n_xu_rfpe_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_xu_rfpe_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_xu_rfpe_flush_offset to ex4_n_xu_rfpe_flush_offset + ex4_n_xu_rfpe_flush_q'length-1),
scout => sov(ex4_n_xu_rfpe_flush_offset to ex4_n_xu_rfpe_flush_offset + ex4_n_xu_rfpe_flush_q'length-1),
din => ex4_n_xu_rfpe_flush_d,
dout => ex4_n_xu_rfpe_flush_q);
ex4_np1_cdbell_cint_latch : tri_rlmreg_p
generic map (width => ex4_np1_cdbell_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_cdbell_cint_offset to ex4_np1_cdbell_cint_offset + ex4_np1_cdbell_cint_q'length-1),
scout => sov(ex4_np1_cdbell_cint_offset to ex4_np1_cdbell_cint_offset + ex4_np1_cdbell_cint_q'length-1),
din => ex3_np1_cdbell_cint,
dout => ex4_np1_cdbell_cint_q);
ex4_np1_crit_cint_latch : tri_rlmreg_p
generic map (width => ex4_np1_crit_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_crit_cint_offset to ex4_np1_crit_cint_offset + ex4_np1_crit_cint_q'length-1),
scout => sov(ex4_np1_crit_cint_offset to ex4_np1_crit_cint_offset + ex4_np1_crit_cint_q'length-1),
din => ex3_np1_crit_cint,
dout => ex4_np1_crit_cint_q);
ex4_np1_dbell_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_dbell_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_dbell_int_offset to ex4_np1_dbell_int_offset + ex4_np1_dbell_int_q'length-1),
scout => sov(ex4_np1_dbell_int_offset to ex4_np1_dbell_int_offset + ex4_np1_dbell_int_q'length-1),
din => ex3_np1_dbell_int,
dout => ex4_np1_dbell_int_q);
ex4_np1_dec_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_dec_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_dec_int_offset to ex4_np1_dec_int_offset + ex4_np1_dec_int_q'length-1),
scout => sov(ex4_np1_dec_int_offset to ex4_np1_dec_int_offset + ex4_np1_dec_int_q'length-1),
din => ex3_np1_dec_int,
dout => ex4_np1_dec_int_q);
ex4_np1_ext_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_ext_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_ext_int_offset to ex4_np1_ext_int_offset + ex4_np1_ext_int_q'length-1),
scout => sov(ex4_np1_ext_int_offset to ex4_np1_ext_int_offset + ex4_np1_ext_int_q'length-1),
din => ex3_np1_ext_int,
dout => ex4_np1_ext_int_q);
ex4_np1_ext_mchk_mcint_latch : tri_rlmreg_p
generic map (width => ex4_np1_ext_mchk_mcint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_ext_mchk_mcint_offset to ex4_np1_ext_mchk_mcint_offset + ex4_np1_ext_mchk_mcint_q'length-1),
scout => sov(ex4_np1_ext_mchk_mcint_offset to ex4_np1_ext_mchk_mcint_offset + ex4_np1_ext_mchk_mcint_q'length-1),
din => ex3_np1_ext_mchk_mcint,
dout => ex4_np1_ext_mchk_mcint_q);
ex4_np1_fit_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_fit_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_fit_int_offset to ex4_np1_fit_int_offset + ex4_np1_fit_int_q'length-1),
scout => sov(ex4_np1_fit_int_offset to ex4_np1_fit_int_offset + ex4_np1_fit_int_q'length-1),
din => ex3_np1_fit_int,
dout => ex4_np1_fit_int_q);
ex4_np1_flush_latch : tri_rlmreg_p
generic map (width => ex4_np1_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_flush_offset to ex4_np1_flush_offset + ex4_np1_flush_q'length-1),
scout => sov(ex4_np1_flush_offset to ex4_np1_flush_offset + ex4_np1_flush_q'length-1),
din => ex3_np1_flush,
dout => ex4_np1_flush_q);
ex4_np1_gcdbell_cint_latch : tri_rlmreg_p
generic map (width => ex4_np1_gcdbell_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_gcdbell_cint_offset to ex4_np1_gcdbell_cint_offset + ex4_np1_gcdbell_cint_q'length-1),
scout => sov(ex4_np1_gcdbell_cint_offset to ex4_np1_gcdbell_cint_offset + ex4_np1_gcdbell_cint_q'length-1),
din => ex3_np1_gcdbell_cint,
dout => ex4_np1_gcdbell_cint_q);
ex4_np1_gdbell_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_gdbell_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_gdbell_int_offset to ex4_np1_gdbell_int_offset + ex4_np1_gdbell_int_q'length-1),
scout => sov(ex4_np1_gdbell_int_offset to ex4_np1_gdbell_int_offset + ex4_np1_gdbell_int_q'length-1),
din => ex3_np1_gdbell_int,
dout => ex4_np1_gdbell_int_q);
ex4_np1_gmcdbell_cint_latch : tri_rlmreg_p
generic map (width => ex4_np1_gmcdbell_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_gmcdbell_cint_offset to ex4_np1_gmcdbell_cint_offset + ex4_np1_gmcdbell_cint_q'length-1),
scout => sov(ex4_np1_gmcdbell_cint_offset to ex4_np1_gmcdbell_cint_offset + ex4_np1_gmcdbell_cint_q'length-1),
din => ex3_np1_gmcdbell_cint,
dout => ex4_np1_gmcdbell_cint_q);
ex4_np1_ide_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_np1_ide_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_ide_dbg_cint_offset to ex4_np1_ide_dbg_cint_offset + ex4_np1_ide_dbg_cint_q'length-1),
scout => sov(ex4_np1_ide_dbg_cint_offset to ex4_np1_ide_dbg_cint_offset + ex4_np1_ide_dbg_cint_q'length-1),
din => ex3_np1_ide_dbg_cint,
dout => ex4_np1_ide_dbg_cint_q);
ex4_np1_instr_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_instr_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_instr_int_offset to ex4_np1_instr_int_offset + ex4_np1_instr_int_q'length-1),
scout => sov(ex4_np1_instr_int_offset to ex4_np1_instr_int_offset + ex4_np1_instr_int_q'length-1),
din => ex3_np1_instr_int,
dout => ex4_np1_instr_int_q);
ex4_np1_perf_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_perf_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_perf_int_offset to ex4_np1_perf_int_offset + ex4_np1_perf_int_q'length-1),
scout => sov(ex4_np1_perf_int_offset to ex4_np1_perf_int_offset + ex4_np1_perf_int_q'length-1),
din => ex3_np1_perf_int,
dout => ex4_np1_perf_int_q);
ex4_np1_ptr_prog_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_ptr_prog_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_ptr_prog_int_offset to ex4_np1_ptr_prog_int_offset + ex4_np1_ptr_prog_int_q'length-1),
scout => sov(ex4_np1_ptr_prog_int_offset to ex4_np1_ptr_prog_int_offset + ex4_np1_ptr_prog_int_q'length-1),
din => ex3_np1_ptr_prog_int,
dout => ex4_np1_ptr_prog_int_q);
ex4_np1_rfi_latch : tri_rlmreg_p
generic map (width => ex4_np1_rfi_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_rfi_offset to ex4_np1_rfi_offset + ex4_np1_rfi_q'length-1),
scout => sov(ex4_np1_rfi_offset to ex4_np1_rfi_offset + ex4_np1_rfi_q'length-1),
din => ex3_np1_rfi,
dout => ex4_np1_rfi_q);
ex4_np1_run_ctl_flush_latch : tri_rlmreg_p
generic map (width => ex4_np1_run_ctl_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_run_ctl_flush_offset to ex4_np1_run_ctl_flush_offset + ex4_np1_run_ctl_flush_q'length-1),
scout => sov(ex4_np1_run_ctl_flush_offset to ex4_np1_run_ctl_flush_offset + ex4_np1_run_ctl_flush_q'length-1),
din => ex3_np1_run_ctl_flush,
dout => ex4_np1_run_ctl_flush_q);
ex4_np1_sc_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_sc_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_sc_int_offset to ex4_np1_sc_int_offset + ex4_np1_sc_int_q'length-1),
scout => sov(ex4_np1_sc_int_offset to ex4_np1_sc_int_offset + ex4_np1_sc_int_q'length-1),
din => ex3_np1_sc_int,
dout => ex4_np1_sc_int_q);
ex4_np1_ude_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_np1_ude_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_ude_dbg_cint_offset to ex4_np1_ude_dbg_cint_offset + ex4_np1_ude_dbg_cint_q'length-1),
scout => sov(ex4_np1_ude_dbg_cint_offset to ex4_np1_ude_dbg_cint_offset + ex4_np1_ude_dbg_cint_q'length-1),
din => ex3_np1_ude_dbg_cint,
dout => ex4_np1_ude_dbg_cint_q);
ex4_np1_ude_dbg_event_latch : tri_rlmreg_p
generic map (width => ex4_np1_ude_dbg_event_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_ude_dbg_event_offset to ex4_np1_ude_dbg_event_offset + ex4_np1_ude_dbg_event_q'length-1),
scout => sov(ex4_np1_ude_dbg_event_offset to ex4_np1_ude_dbg_event_offset + ex4_np1_ude_dbg_event_q'length-1),
din => ex3_np1_ude_dbg_event,
dout => ex4_np1_ude_dbg_event_q);
ex4_np1_udec_int_latch : tri_rlmreg_p
generic map (width => ex4_np1_udec_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_udec_int_offset to ex4_np1_udec_int_offset + ex4_np1_udec_int_q'length-1),
scout => sov(ex4_np1_udec_int_offset to ex4_np1_udec_int_offset + ex4_np1_udec_int_q'length-1),
din => ex3_np1_udec_int,
dout => ex4_np1_udec_int_q);
ex4_np1_wdog_cint_latch : tri_rlmreg_p
generic map (width => ex4_np1_wdog_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_wdog_cint_offset to ex4_np1_wdog_cint_offset + ex4_np1_wdog_cint_q'length-1),
scout => sov(ex4_np1_wdog_cint_offset to ex4_np1_wdog_cint_offset + ex4_np1_wdog_cint_q'length-1),
din => ex3_np1_wdog_cint,
dout => ex4_np1_wdog_cint_q);
ex4_np1_fu_flush_latch : tri_rlmreg_p
generic map (width => ex4_np1_fu_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1 )
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_np1_fu_flush_offset to ex4_np1_fu_flush_offset + ex4_np1_fu_flush_q'length-1),
scout => sov(ex4_np1_fu_flush_offset to ex4_np1_fu_flush_offset + ex4_np1_fu_flush_q'length-1),
din => ex3_np1_fu_flush,
dout => ex4_np1_fu_flush_q);
ex4_n_ieratsx_par_mchk_mcint_latch : tri_rlmreg_p
generic map (width => ex4_n_ieratsx_par_mchk_mcint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1 )
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_ieratsx_par_mchk_mcint_offset to ex4_n_ieratsx_par_mchk_mcint_offset + ex4_n_ieratsx_par_mchk_mcint_q'length-1),
scout => sov(ex4_n_ieratsx_par_mchk_mcint_offset to ex4_n_ieratsx_par_mchk_mcint_offset + ex4_n_ieratsx_par_mchk_mcint_q'length-1),
din => ex3_n_ieratsx_par_mchk_mcint,
dout => ex4_n_ieratsx_par_mchk_mcint_q);
ex4_n_tlbmh_mchk_mcint_latch : tri_rlmreg_p
generic map (width => ex4_n_tlbmh_mchk_mcint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1 )
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_tlbmh_mchk_mcint_offset to ex4_n_tlbmh_mchk_mcint_offset + ex4_n_tlbmh_mchk_mcint_q'length-1),
scout => sov(ex4_n_tlbmh_mchk_mcint_offset to ex4_n_tlbmh_mchk_mcint_offset + ex4_n_tlbmh_mchk_mcint_q'length-1),
din => ex3_n_tlbmh_mchk_mcint ,
dout => ex4_n_tlbmh_mchk_mcint_q);
ex4_n_sprg_ue_flush_latch : tri_rlmreg_p
generic map (width => ex4_n_sprg_ue_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_sprg_ue_flush_offset to ex4_n_sprg_ue_flush_offset + ex4_n_sprg_ue_flush_q'length-1),
scout => sov(ex4_n_sprg_ue_flush_offset to ex4_n_sprg_ue_flush_offset + ex4_n_sprg_ue_flush_q'length-1),
din => ex3_n_sprg_ue_flush ,
dout => ex4_n_sprg_ue_flush_q);
ex4_n_rwaccess_dstor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_rwaccess_dstor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_rwaccess_dstor_int_offset to ex4_n_rwaccess_dstor_int_offset + ex4_n_rwaccess_dstor_int_q'length-1),
scout => sov(ex4_n_rwaccess_dstor_int_offset to ex4_n_rwaccess_dstor_int_offset + ex4_n_rwaccess_dstor_int_q'length-1),
din => ex3_n_rwaccess_dstor_int,
dout => ex4_n_rwaccess_dstor_int_q);
ex4_n_exaccess_istor_int_latch : tri_rlmreg_p
generic map (width => ex4_n_exaccess_istor_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_exaccess_istor_int_offset to ex4_n_exaccess_istor_int_offset + ex4_n_exaccess_istor_int_q'length-1),
scout => sov(ex4_n_exaccess_istor_int_offset to ex4_n_exaccess_istor_int_offset + ex4_n_exaccess_istor_int_q'length-1),
din => ex3_n_exaccess_istor_int,
dout => ex4_n_exaccess_istor_int_q);
ex4_sc_lev_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_sc_lev_offset),
scout => sov(ex4_sc_lev_offset),
din => ex3_sc_lev_q ,
dout => ex4_sc_lev_q);
ex4_siar_sel_latch : tri_rlmreg_p
generic map (width => ex4_siar_sel_q'length, init => 1, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_siar_sel_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_siar_sel_offset to ex4_siar_sel_offset + ex4_siar_sel_q'length-1),
scout => sov(ex4_siar_sel_offset to ex4_siar_sel_offset + ex4_siar_sel_q'length-1),
din => ex4_siar_sel_d,
dout => ex4_siar_sel_q);
ex4_step_latch : tri_rlmreg_p
generic map (width => ex4_step_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_step_offset to ex4_step_offset + ex4_step_q'length-1),
scout => sov(ex4_step_offset to ex4_step_offset + ex4_step_q'length-1),
din => ex4_step_d,
dout => ex4_step_q);
ex4_taken_bclr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_taken_bclr_offset),
scout => sov(ex4_taken_bclr_offset),
din => ex3_taken_bclr_q ,
dout => ex4_taken_bclr_q);
ex4_tlb_inelig_latch : tri_rlmreg_p
generic map (width => ex4_tlb_inelig_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_tlb_inelig_offset to ex4_tlb_inelig_offset + ex4_tlb_inelig_q'length-1),
scout => sov(ex4_tlb_inelig_offset to ex4_tlb_inelig_offset + ex4_tlb_inelig_q'length-1),
din => ex3_tlb_inelig_q ,
dout => ex4_tlb_inelig_q);
ex4_ucode_val_latch : tri_rlmreg_p
generic map (width => ex4_ucode_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_ucode_val_offset to ex4_ucode_val_offset + ex4_ucode_val_q'length-1),
scout => sov(ex4_ucode_val_offset to ex4_ucode_val_offset + ex4_ucode_val_q'length-1),
din => ex3_ucode_val ,
dout => ex4_ucode_val_q);
ex4_xu_is_ucode_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_xu_is_ucode_offset),
scout => sov(ex4_xu_is_ucode_offset),
din => ex3_xu_is_ucode_q ,
dout => ex4_xu_is_ucode_q);
ex4_xu_val_latch : tri_rlmreg_p
generic map (width => ex4_xu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_xu_val_offset to ex4_xu_val_offset + ex4_xu_val_q'length-1),
scout => sov(ex4_xu_val_offset to ex4_xu_val_offset + ex4_xu_val_q'length-1),
din => ex3_xu_val ,
dout => ex4_xu_val_q);
ex4_cia_act_latch : tri_rlmreg_p
generic map (width => ex4_cia_act_q'length, init => 0, expand_type => expand_type, needs_sreset => 1 )
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_cia_act_offset to ex4_cia_act_offset + ex4_cia_act_q'length-1),
scout => sov(ex4_cia_act_offset to ex4_cia_act_offset + ex4_cia_act_q'length-1),
din => ex3_cia_act,
dout => ex4_cia_act_q);
ex4_n_async_dacr_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex4_n_async_dacr_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_n_async_dacr_dbg_cint_offset to ex4_n_async_dacr_dbg_cint_offset + ex4_n_async_dacr_dbg_cint_q'length-1),
scout => sov(ex4_n_async_dacr_dbg_cint_offset to ex4_n_async_dacr_dbg_cint_offset + ex4_n_async_dacr_dbg_cint_q'length-1),
din => ex3_n_async_dacr_dbg_cint,
dout => ex4_n_async_dacr_dbg_cint_q);
ex4_dac1r_cmpr_async_latch : tri_rlmreg_p
generic map (width => ex4_dac1r_cmpr_async_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_dac1r_cmpr_async_offset to ex4_dac1r_cmpr_async_offset + ex4_dac1r_cmpr_async_q'length-1),
scout => sov(ex4_dac1r_cmpr_async_offset to ex4_dac1r_cmpr_async_offset + ex4_dac1r_cmpr_async_q'length-1),
din => ex4_dac1r_cmpr_async_d,
dout => ex4_dac1r_cmpr_async_q);
ex4_dac2r_cmpr_async_latch : tri_rlmreg_p
generic map (width => ex4_dac2r_cmpr_async_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_dac2r_cmpr_async_offset to ex4_dac2r_cmpr_async_offset + ex4_dac2r_cmpr_async_q'length-1),
scout => sov(ex4_dac2r_cmpr_async_offset to ex4_dac2r_cmpr_async_offset + ex4_dac2r_cmpr_async_q'length-1),
din => ex4_dac2r_cmpr_async_d,
dout => ex4_dac2r_cmpr_async_q);
ex4_thread_stop_latch : tri_rlmreg_p
generic map (width => ex4_thread_stop_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_thread_stop_offset to ex4_thread_stop_offset + ex4_thread_stop_q'length-1),
scout => sov(ex4_thread_stop_offset to ex4_thread_stop_offset + ex4_thread_stop_q'length-1),
din => ex3_thread_stop,
dout => ex4_thread_stop_q);
ex5_icmp_event_on_int_ok_latch : tri_rlmreg_p
generic map (width => ex5_icmp_event_on_int_ok_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_icmp_event_on_int_ok_offset to ex5_icmp_event_on_int_ok_offset + ex5_icmp_event_on_int_ok_q'length-1),
scout => sov(ex5_icmp_event_on_int_ok_offset to ex5_icmp_event_on_int_ok_offset + ex5_icmp_event_on_int_ok_q'length-1),
din => ex4_icmp_event_on_int_ok,
dout => ex5_icmp_event_on_int_ok_q);
ex5_any_val_latch : tri_rlmreg_p
generic map (width => ex5_any_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_any_val_offset to ex5_any_val_offset + ex5_any_val_q'length-1),
scout => sov(ex5_any_val_offset to ex5_any_val_offset + ex5_any_val_q'length-1),
din => ex4_any_val ,
dout => ex5_any_val_q);
ex5_attn_flush_latch : tri_rlmreg_p
generic map (width => ex5_attn_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_attn_flush_offset to ex5_attn_flush_offset + ex5_attn_flush_q'length-1),
scout => sov(ex5_attn_flush_offset to ex5_attn_flush_offset + ex5_attn_flush_q'length-1),
din => ex4_attn_flush,
dout => ex5_attn_flush_q);
ex5_axu_trap_pie_latch : tri_rlmreg_p
generic map (width => ex5_axu_trap_pie_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_axu_trap_pie_offset to ex5_axu_trap_pie_offset + ex5_axu_trap_pie_q'length-1),
scout => sov(ex5_axu_trap_pie_offset to ex5_axu_trap_pie_offset + ex5_axu_trap_pie_q'length-1),
din => ex5_axu_trap_pie_d,
dout => ex5_axu_trap_pie_q);
ex5_br_taken_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(4) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_br_taken_offset),
scout => sov(ex5_br_taken_offset),
din => ex4_br_taken_q ,
dout => ex5_br_taken_q);
ex5_cdbell_taken_latch : tri_rlmreg_p
generic map (width => ex5_cdbell_taken_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_cdbell_taken_offset to ex5_cdbell_taken_offset + ex5_cdbell_taken_q'length-1),
scout => sov(ex5_cdbell_taken_offset to ex5_cdbell_taken_offset + ex5_cdbell_taken_q'length-1),
din => ex5_cdbell_taken_d,
dout => ex5_cdbell_taken_q);
ex5_check_bclr_latch : tri_rlmreg_p
generic map (width => ex5_check_bclr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_check_bclr_offset to ex5_check_bclr_offset + ex5_check_bclr_q'length-1),
scout => sov(ex5_check_bclr_offset to ex5_check_bclr_offset + ex5_check_bclr_q'length-1),
din => ex5_check_bclr_d,
dout => ex5_check_bclr_q);
ex5_cia_p1_latch : tri_rlmreg_p
generic map (width => ex5_cia_p1_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(4) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_cia_p1_offset to ex5_cia_p1_offset + ex5_cia_p1_q'length-1),
scout => sov(ex5_cia_p1_offset to ex5_cia_p1_offset + ex5_cia_p1_q'length-1),
din => ex5_cia_p1_d,
dout => ex5_cia_p1_q);
ex5_dbell_taken_latch : tri_rlmreg_p
generic map (width => ex5_dbell_taken_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_dbell_taken_offset to ex5_dbell_taken_offset + ex5_dbell_taken_q'length-1),
scout => sov(ex5_dbell_taken_offset to ex5_dbell_taken_offset + ex5_dbell_taken_q'length-1),
din => ex5_dbell_taken_d,
dout => ex5_dbell_taken_q);
ex5_dbsr_update_latch : tri_rlmreg_p
generic map (width => ex5_dbsr_update_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_dbsr_update_offset to ex5_dbsr_update_offset + ex5_dbsr_update_q'length-1),
scout => sov(ex5_dbsr_update_offset to ex5_dbsr_update_offset + ex5_dbsr_update_q'length-1),
din => ex4_dbsr_update,
dout => ex5_dbsr_update_q);
ex5_dear_update_saved_latch : tri_rlmreg_p
generic map (width => ex5_dear_update_saved_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_dear_update_saved_offset to ex5_dear_update_saved_offset + ex5_dear_update_saved_q'length-1),
scout => sov(ex5_dear_update_saved_offset to ex5_dear_update_saved_offset + ex5_dear_update_saved_q'length-1),
din => ex5_dear_update_saved_d,
dout => ex5_dear_update_saved_q);
ex5_deratre_par_err_latch : tri_rlmreg_p
generic map (width => ex5_deratre_par_err_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_deratre_par_err_offset to ex5_deratre_par_err_offset + ex5_deratre_par_err_q'length-1),
scout => sov(ex5_deratre_par_err_offset to ex5_deratre_par_err_offset + ex5_deratre_par_err_q'length-1),
din => lsu_xu_ex4_derat_par_err ,
dout => ex5_deratre_par_err_q);
ex5_div_set_barr_latch : tri_rlmreg_p
generic map (width => ex5_div_set_barr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_div_set_barr_offset to ex5_div_set_barr_offset + ex5_div_set_barr_q'length-1),
scout => sov(ex5_div_set_barr_offset to ex5_div_set_barr_offset + ex5_div_set_barr_q'length-1),
din => ex5_div_set_barr_d,
dout => ex5_div_set_barr_q);
ex5_dsigs_latch : tri_rlmreg_p
generic map (width => ex5_dsigs_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_dsigs_offset to ex5_dsigs_offset + ex5_dsigs_q'length-1),
scout => sov(ex5_dsigs_offset to ex5_dsigs_offset + ex5_dsigs_q'length-1),
din => ex5_dsigs_d,
dout => ex5_dsigs_q);
ex5_dtlbgs_latch : tri_rlmreg_p
generic map (width => ex5_dtlbgs_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_dtlbgs_offset to ex5_dtlbgs_offset + ex5_dtlbgs_q'length-1),
scout => sov(ex5_dtlbgs_offset to ex5_dtlbgs_offset + ex5_dtlbgs_q'length-1),
din => ex5_dtlbgs_d,
dout => ex5_dtlbgs_q);
ex5_err_nia_miscmpr_latch : tri_rlmreg_p
generic map (width => ex5_err_nia_miscmpr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_err_nia_miscmpr_offset to ex5_err_nia_miscmpr_offset + ex5_err_nia_miscmpr_q'length-1),
scout => sov(ex5_err_nia_miscmpr_offset to ex5_err_nia_miscmpr_offset + ex5_err_nia_miscmpr_q'length-1),
din => ex5_err_nia_miscmpr_d,
dout => ex5_err_nia_miscmpr_q);
ex5_ext_dbg_err_latch : tri_rlmreg_p
generic map (width => ex5_ext_dbg_err_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ext_dbg_err_offset to ex5_ext_dbg_err_offset + ex5_ext_dbg_err_q'length-1),
scout => sov(ex5_ext_dbg_err_offset to ex5_ext_dbg_err_offset + ex5_ext_dbg_err_q'length-1),
din => ex5_ext_dbg_err_d,
dout => ex5_ext_dbg_err_q);
ex5_ext_dbg_ext_latch : tri_rlmreg_p
generic map (width => ex5_ext_dbg_ext_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ext_dbg_ext_offset to ex5_ext_dbg_ext_offset + ex5_ext_dbg_ext_q'length-1),
scout => sov(ex5_ext_dbg_ext_offset to ex5_ext_dbg_ext_offset + ex5_ext_dbg_ext_q'length-1),
din => ex5_ext_dbg_ext_d,
dout => ex5_ext_dbg_ext_q);
ex5_extgs_latch : tri_rlmreg_p
generic map (width => ex5_extgs_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_extgs_offset to ex5_extgs_offset + ex5_extgs_q'length-1),
scout => sov(ex5_extgs_offset to ex5_extgs_offset + ex5_extgs_q'length-1),
din => ex5_extgs_d,
dout => ex5_extgs_q);
ex5_flush_latch : tri_rlmreg_p
generic map (width => ex5_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_flush_offset to ex5_flush_offset + ex5_flush_q'length-1),
scout => sov(ex5_flush_offset to ex5_flush_offset + ex5_flush_q'length-1),
din => ex4_flush ,
dout => ex5_flush_q);
ex5_force_gsrr_latch : tri_rlmreg_p
generic map (width => ex5_force_gsrr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_force_gsrr_offset to ex5_force_gsrr_offset + ex5_force_gsrr_q'length-1),
scout => sov(ex5_force_gsrr_offset to ex5_force_gsrr_offset + ex5_force_gsrr_q'length-1),
din => ex5_force_gsrr_d,
dout => ex5_force_gsrr_q);
ex5_gcdbell_taken_latch : tri_rlmreg_p
generic map (width => ex5_gcdbell_taken_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_gcdbell_taken_offset to ex5_gcdbell_taken_offset + ex5_gcdbell_taken_q'length-1),
scout => sov(ex5_gcdbell_taken_offset to ex5_gcdbell_taken_offset + ex5_gcdbell_taken_q'length-1),
din => ex5_gcdbell_taken_d,
dout => ex5_gcdbell_taken_q);
ex5_gdbell_taken_latch : tri_rlmreg_p
generic map (width => ex5_gdbell_taken_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_gdbell_taken_offset to ex5_gdbell_taken_offset + ex5_gdbell_taken_q'length-1),
scout => sov(ex5_gdbell_taken_offset to ex5_gdbell_taken_offset + ex5_gdbell_taken_q'length-1),
din => ex5_gdbell_taken_d,
dout => ex5_gdbell_taken_q);
ex5_gmcdbell_taken_latch : tri_rlmreg_p
generic map (width => ex5_gmcdbell_taken_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_gmcdbell_taken_offset to ex5_gmcdbell_taken_offset + ex5_gmcdbell_taken_q'length-1),
scout => sov(ex5_gmcdbell_taken_offset to ex5_gmcdbell_taken_offset + ex5_gmcdbell_taken_q'length-1),
din => ex5_gmcdbell_taken_d,
dout => ex5_gmcdbell_taken_q);
ex5_ieratre_par_err_latch : tri_rlmreg_p
generic map (width => ex5_ieratre_par_err_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ieratre_par_err_offset to ex5_ieratre_par_err_offset + ex5_ieratre_par_err_q'length-1),
scout => sov(ex5_ieratre_par_err_offset to ex5_ieratre_par_err_offset + ex5_ieratre_par_err_q'length-1),
din => iu_xu_ierat_ex4_par_err ,
dout => ex5_ieratre_par_err_q);
ex5_in_ucode_latch : tri_rlmreg_p
generic map (width => ex5_in_ucode_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_in_ucode_offset to ex5_in_ucode_offset + ex5_in_ucode_q'length-1),
scout => sov(ex5_in_ucode_offset to ex5_in_ucode_offset + ex5_in_ucode_q'length-1),
din => ex5_in_ucode_d,
dout => ex5_in_ucode_q);
ex5_instr_cpl_latch : tri_rlmreg_p
generic map (width => ex5_instr_cpl_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_instr_cpl_offset to ex5_instr_cpl_offset + ex5_instr_cpl_q'length-1),
scout => sov(ex5_instr_cpl_offset to ex5_instr_cpl_offset + ex5_instr_cpl_q'length-1),
din => ex4_instr_cpl,
dout => ex5_instr_cpl_q);
ex5_is_any_rfi_latch : tri_rlmreg_p
generic map (width => ex5_is_any_rfi_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_is_any_rfi_offset to ex5_is_any_rfi_offset + ex5_is_any_rfi_q'length-1),
scout => sov(ex5_is_any_rfi_offset to ex5_is_any_rfi_offset + ex5_is_any_rfi_q'length-1),
din => ex4_is_any_rfi,
dout => ex5_is_any_rfi_q);
ex5_is_attn_latch : tri_rlmreg_p
generic map (width => ex5_is_attn_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_is_attn_offset to ex5_is_attn_offset + ex5_is_attn_q'length-1),
scout => sov(ex5_is_attn_offset to ex5_is_attn_offset + ex5_is_attn_q'length-1),
din => ex5_is_attn_d,
dout => ex5_is_attn_q);
ex5_is_crit_int_latch : tri_rlmreg_p
generic map (width => ex5_is_crit_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_is_crit_int_offset to ex5_is_crit_int_offset + ex5_is_crit_int_q'length-1),
scout => sov(ex5_is_crit_int_offset to ex5_is_crit_int_offset + ex5_is_crit_int_q'length-1),
din => ex4_is_crit_int ,
dout => ex5_is_crit_int_q);
ex5_is_mchk_int_latch : tri_rlmreg_p
generic map (width => ex5_is_mchk_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_is_mchk_int_offset to ex5_is_mchk_int_offset + ex5_is_mchk_int_q'length-1),
scout => sov(ex5_is_mchk_int_offset to ex5_is_mchk_int_offset + ex5_is_mchk_int_q'length-1),
din => ex4_is_mchk_int ,
dout => ex5_is_mchk_int_q);
ex5_is_mtmsr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_is_mtmsr_offset),
scout => sov(ex5_is_mtmsr_offset),
din => ex4_is_mtmsr_q ,
dout => ex5_is_mtmsr_q);
ex5_is_isync_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_is_isync_offset),
scout => sov(ex5_is_isync_offset),
din => ex4_is_isync_q ,
dout => ex5_is_isync_q);
ex5_is_tlbwe_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(4) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_is_tlbwe_offset),
scout => sov(ex5_is_tlbwe_offset),
din => ex4_is_tlbwe_q ,
dout => ex5_is_tlbwe_q);
ex5_isigs_latch : tri_rlmreg_p
generic map (width => ex5_isigs_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_isigs_offset to ex5_isigs_offset + ex5_isigs_q'length-1),
scout => sov(ex5_isigs_offset to ex5_isigs_offset + ex5_isigs_q'length-1),
din => ex5_isigs_d,
dout => ex5_isigs_q);
ex5_itlbgs_latch : tri_rlmreg_p
generic map (width => ex5_itlbgs_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_itlbgs_offset to ex5_itlbgs_offset + ex5_itlbgs_q'length-1),
scout => sov(ex5_itlbgs_offset to ex5_itlbgs_offset + ex5_itlbgs_q'length-1),
din => ex5_itlbgs_d,
dout => ex5_itlbgs_q);
ex5_lsu_set_barr_latch : tri_rlmreg_p
generic map (width => ex5_lsu_set_barr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_lsu_set_barr_offset to ex5_lsu_set_barr_offset + ex5_lsu_set_barr_q'length-1),
scout => sov(ex5_lsu_set_barr_offset to ex5_lsu_set_barr_offset + ex5_lsu_set_barr_q'length-1),
din => ex5_lsu_set_barr_d,
dout => ex5_lsu_set_barr_q);
ex5_mem_attr_val_latch : tri_rlmreg_p
generic map (width => ex5_mem_attr_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_mem_attr_val_offset to ex5_mem_attr_val_offset + ex5_mem_attr_val_q'length-1),
scout => sov(ex5_mem_attr_val_offset to ex5_mem_attr_val_offset + ex5_mem_attr_val_q'length-1),
din => ex4_mem_attr_val,
dout => ex5_mem_attr_val_q);
ex5_mmu_hold_val_latch : tri_rlmreg_p
generic map (width => ex5_mmu_hold_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_mmu_hold_val_offset to ex5_mmu_hold_val_offset + ex5_mmu_hold_val_q'length-1),
scout => sov(ex5_mmu_hold_val_offset to ex5_mmu_hold_val_offset + ex5_mmu_hold_val_q'length-1),
din => ex4_mmu_hold_val_q,
dout => ex5_mmu_hold_val_q);
ex5_n_dmiss_flush_latch : tri_rlmreg_p
generic map (width => ex5_n_dmiss_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_n_dmiss_flush_offset to ex5_n_dmiss_flush_offset + ex5_n_dmiss_flush_q'length-1),
scout => sov(ex5_n_dmiss_flush_offset to ex5_n_dmiss_flush_offset + ex5_n_dmiss_flush_q'length-1),
din => ex4_n_dmiss_flush,
dout => ex5_n_dmiss_flush_q);
ex5_n_ext_dbg_stopc_flush_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_n_ext_dbg_stopc_flush_offset),
scout => sov(ex5_n_ext_dbg_stopc_flush_offset),
din => ex5_n_ext_dbg_stopc_flush_d,
dout => ex5_n_ext_dbg_stopc_flush_q);
ex5_n_ext_dbg_stopt_flush_latch : tri_rlmreg_p
generic map (width => ex5_n_ext_dbg_stopt_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_n_ext_dbg_stopt_flush_offset to ex5_n_ext_dbg_stopt_flush_offset + ex5_n_ext_dbg_stopt_flush_q'length-1),
scout => sov(ex5_n_ext_dbg_stopt_flush_offset to ex5_n_ext_dbg_stopt_flush_offset + ex5_n_ext_dbg_stopt_flush_q'length-1),
din => ex5_n_ext_dbg_stopt_flush_d,
dout => ex5_n_ext_dbg_stopt_flush_q);
ex5_n_imiss_flush_latch : tri_rlmreg_p
generic map (width => ex5_n_imiss_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_n_imiss_flush_offset to ex5_n_imiss_flush_offset + ex5_n_imiss_flush_q'length-1),
scout => sov(ex5_n_imiss_flush_offset to ex5_n_imiss_flush_offset + ex5_n_imiss_flush_q'length-1),
din => ex4_n_imiss_flush,
dout => ex5_n_imiss_flush_q);
ex5_n_ptemiss_dlrat_int_latch : tri_rlmreg_p
generic map (width => ex5_n_ptemiss_dlrat_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_n_ptemiss_dlrat_int_offset to ex5_n_ptemiss_dlrat_int_offset + ex5_n_ptemiss_dlrat_int_q'length-1),
scout => sov(ex5_n_ptemiss_dlrat_int_offset to ex5_n_ptemiss_dlrat_int_offset + ex5_n_ptemiss_dlrat_int_q'length-1),
din => ex4_n_ptemiss_dlrat_int_q ,
dout => ex5_n_ptemiss_dlrat_int_q);
ex5_np1_run_ctl_flush_latch : tri_rlmreg_p
generic map (width => ex5_np1_run_ctl_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_np1_run_ctl_flush_offset to ex5_np1_run_ctl_flush_offset + ex5_np1_run_ctl_flush_q'length-1),
scout => sov(ex5_np1_run_ctl_flush_offset to ex5_np1_run_ctl_flush_offset + ex5_np1_run_ctl_flush_q'length-1),
din => ex4_np1_run_ctl_flush,
dout => ex5_np1_run_ctl_flush_q);
ex5_dbsr_ide_latch : tri_rlmreg_p
generic map (width => ex5_dbsr_ide_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_dbsr_ide_offset to ex5_dbsr_ide_offset + ex5_dbsr_ide_q'length-1),
scout => sov(ex5_dbsr_ide_offset to ex5_dbsr_ide_offset + ex5_dbsr_ide_q'length-1),
din => ex5_dbsr_ide_d,
dout => ex5_dbsr_ide_q);
ex5_perf_dtlb_latch : tri_rlmreg_p
generic map (width => ex5_perf_dtlb_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_perf_dtlb_offset to ex5_perf_dtlb_offset + ex5_perf_dtlb_q'length-1),
scout => sov(ex5_perf_dtlb_offset to ex5_perf_dtlb_offset + ex5_perf_dtlb_q'length-1),
din => ex5_perf_dtlb_d,
dout => ex5_perf_dtlb_q);
ex5_perf_itlb_latch : tri_rlmreg_p
generic map (width => ex5_perf_itlb_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_perf_itlb_offset to ex5_perf_itlb_offset + ex5_perf_itlb_q'length-1),
scout => sov(ex5_perf_itlb_offset to ex5_perf_itlb_offset + ex5_perf_itlb_q'length-1),
din => ex5_perf_itlb_d,
dout => ex5_perf_itlb_q);
ex5_ram_done_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ram_done_offset),
scout => sov(ex5_ram_done_offset),
din => ex5_ram_done_d,
dout => ex5_ram_done_q);
ex5_ram_issue_latch : tri_rlmreg_p
generic map (width => ex5_ram_issue_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ram_issue_offset to ex5_ram_issue_offset + ex5_ram_issue_q'length-1),
scout => sov(ex5_ram_issue_offset to ex5_ram_issue_offset + ex5_ram_issue_q'length-1),
din => ex5_ram_issue_d,
dout => ex5_ram_issue_q);
ex5_rt_latch : tri_rlmreg_p
generic map (width => ex5_rt_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(4) ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_rt_offset to ex5_rt_offset + ex5_rt_q'length-1),
scout => sov(ex5_rt_offset to ex5_rt_offset + ex5_rt_q'length-1),
din => mux_cpl_ex4_rt ,
dout => ex5_rt_q);
ex5_sel_rt_latch : tri_rlmreg_p
generic map (width => ex5_sel_rt_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_sel_rt_offset to ex5_sel_rt_offset + ex5_sel_rt_q'length-1),
scout => sov(ex5_sel_rt_offset to ex5_sel_rt_offset + ex5_sel_rt_q'length-1),
din => ex5_sel_rt_d,
dout => ex5_sel_rt_q);
ex5_srr0_dec_latch : tri_rlmreg_p
generic map (width => ex5_srr0_dec_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_srr0_dec_offset to ex5_srr0_dec_offset + ex5_srr0_dec_q'length-1),
scout => sov(ex5_srr0_dec_offset to ex5_srr0_dec_offset + ex5_srr0_dec_q'length-1),
din => ex5_srr0_dec_d,
dout => ex5_srr0_dec_q);
ex5_tlb_inelig_latch : tri_rlmreg_p
generic map (width => ex5_tlb_inelig_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_tlb_inelig_offset to ex5_tlb_inelig_offset + ex5_tlb_inelig_q'length-1),
scout => sov(ex5_tlb_inelig_offset to ex5_tlb_inelig_offset + ex5_tlb_inelig_q'length-1),
din => ex4_tlb_inelig_q ,
dout => ex5_tlb_inelig_q);
ex5_uc_cia_val_latch : tri_rlmreg_p
generic map (width => ex5_uc_cia_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_uc_cia_val_offset to ex5_uc_cia_val_offset + ex5_uc_cia_val_q'length-1),
scout => sov(ex5_uc_cia_val_offset to ex5_uc_cia_val_offset + ex5_uc_cia_val_q'length-1),
din => ex5_uc_cia_val_d,
dout => ex5_uc_cia_val_q);
ex5_xu_ifar_latch : tri_rlmreg_p
generic map (width => ex5_xu_ifar_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(4),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_xu_ifar_offset to ex5_xu_ifar_offset + ex5_xu_ifar_q'length-1),
scout => sov(ex5_xu_ifar_offset to ex5_xu_ifar_offset + ex5_xu_ifar_q'length-1),
din => ex5_xu_ifar_d,
dout => ex5_xu_ifar_q);
ex5_xu_val_latch : tri_rlmreg_p
generic map (width => ex5_xu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_xu_val_offset to ex5_xu_val_offset + ex5_xu_val_q'length-1),
scout => sov(ex5_xu_val_offset to ex5_xu_val_offset + ex5_xu_val_q'length-1),
din => ex4_xu_val ,
dout => ex5_xu_val_q);
ex5_n_flush_sprg_ue_flush_latch : tri_rlmreg_p
generic map (width => ex5_n_flush_sprg_ue_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_n_flush_sprg_ue_flush_offset to ex5_n_flush_sprg_ue_flush_offset + ex5_n_flush_sprg_ue_flush_q'length-1),
scout => sov(ex5_n_flush_sprg_ue_flush_offset to ex5_n_flush_sprg_ue_flush_offset + ex5_n_flush_sprg_ue_flush_q'length-1),
din => ex4_n_flush_sprg_ue_flush,
dout => ex5_n_flush_sprg_ue_flush_q);
ex5_mcsr_act_latch : tri_rlmreg_p
generic map (width => ex5_mcsr_act_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_mcsr_act_offset to ex5_mcsr_act_offset + ex5_mcsr_act_q'length-1),
scout => sov(ex5_mcsr_act_offset to ex5_mcsr_act_offset + ex5_mcsr_act_q'length-1),
din => ex4_mcsr_act ,
dout => ex5_mcsr_act_q);
ex6_mcsr_act_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_mcsr_act_offset),
scout => sov(ex6_mcsr_act_offset),
din => ex6_mcsr_act_d ,
dout => ex6_mcsr_act_q);
ex6_late_flush_latch : tri_regk
generic map (width => ex6_late_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din => ex5_late_flush_q(0),
dout => ex6_late_flush_q);
ex6_mmu_hold_val_latch : tri_regk
generic map (width => ex6_mmu_hold_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_slp_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_nsl_thold_0_b,
din => ex5_mmu_hold_val_q,
dout => ex6_mmu_hold_val_q);
ex6_ram_done_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_ram_done_offset),
scout => sov(ex6_ram_done_offset),
din => ex5_ram_done_q ,
dout => ex6_ram_done_q);
ex6_ram_interrupt_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_ram_interrupt_offset),
scout => sov(ex6_ram_interrupt_offset),
din => ex6_ram_interrupt_d,
dout => ex6_ram_interrupt_q);
ex6_ram_issue_latch : tri_rlmreg_p
generic map (width => ex6_ram_issue_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_ram_issue_offset to ex6_ram_issue_offset + ex6_ram_issue_q'length-1),
scout => sov(ex6_ram_issue_offset to ex6_ram_issue_offset + ex6_ram_issue_q'length-1),
din => ex6_ram_issue_d,
dout => ex6_ram_issue_q);
ex7_ram_issue_latch : tri_rlmreg_p
generic map (width => ex7_ram_issue_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex7_ram_issue_offset to ex7_ram_issue_offset + ex7_ram_issue_q'length-1),
scout => sov(ex7_ram_issue_offset to ex7_ram_issue_offset + ex7_ram_issue_q'length-1),
din => ex6_ram_issue_q,
dout => ex7_ram_issue_q);
ex8_ram_issue_latch : tri_rlmreg_p
generic map (width => ex8_ram_issue_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex8_ram_issue_offset to ex8_ram_issue_offset + ex8_ram_issue_q'length-1),
scout => sov(ex8_ram_issue_offset to ex8_ram_issue_offset + ex8_ram_issue_q'length-1),
din => ex7_ram_issue_q,
dout => ex8_ram_issue_q);
ex6_set_barr_latch : tri_regk
generic map (width => ex6_set_barr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din => ex6_set_barr_d,
dout => ex6_set_barr_q);
ex6_step_done_latch : tri_rlmreg_p
generic map (width => ex6_step_done_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_step_done_offset to ex6_step_done_offset + ex6_step_done_q'length-1),
scout => sov(ex6_step_done_offset to ex6_step_done_offset + ex6_step_done_q'length-1),
din => ex5_step_done,
dout => ex6_step_done_q);
ex6_xu_val_latch : tri_rlmreg_p
generic map (width => ex6_xu_val_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_xu_val_offset to ex6_xu_val_offset + ex6_xu_val_q'length-1),
scout => sov(ex6_xu_val_offset to ex6_xu_val_offset + ex6_xu_val_q'length-1),
din => ex5_xu_val_q ,
dout => ex6_xu_val_q);
ex6_is_tlbwe_latch : tri_regk
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din(0) => ex5_is_tlbwe_q ,
dout(0) => ex6_is_tlbwe_q);
ex7_is_tlbwe_latch : tri_rlmreg_p
generic map (width => ex7_is_tlbwe_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex7_is_tlbwe_offset to ex7_is_tlbwe_offset + ex7_is_tlbwe_q'length-1),
scout => sov(ex7_is_tlbwe_offset to ex7_is_tlbwe_offset + ex7_is_tlbwe_q'length-1),
din => ex7_is_tlbwe_d,
dout => ex7_is_tlbwe_q);
ex8_is_tlbwe_latch : tri_rlmreg_p
generic map (width => ex8_is_tlbwe_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex8_is_tlbwe_offset to ex8_is_tlbwe_offset + ex8_is_tlbwe_q'length-1),
scout => sov(ex8_is_tlbwe_offset to ex8_is_tlbwe_offset + ex8_is_tlbwe_q'length-1),
din => ex7_is_tlbwe_q ,
dout => ex8_is_tlbwe_q);
ccr2_ap_latch : tri_rlmreg_p
generic map (width => ccr2_ap_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ccr2_ap_offset to ccr2_ap_offset + ccr2_ap_q'length-1),
scout => sov(ccr2_ap_offset to ccr2_ap_offset + ccr2_ap_q'length-1),
din => spr_ccr2_ap ,
dout => ccr2_ap_q);
cpl_quiesced_latch : tri_rlmreg_p
generic map (width => cpl_quiesced_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(cpl_quiesced_offset to cpl_quiesced_offset + cpl_quiesced_q'length-1),
scout => sov(cpl_quiesced_offset to cpl_quiesced_offset + cpl_quiesced_q'length-1),
din => cpl_quiesced_d,
dout => cpl_quiesced_q);
dbcr0_idm_latch : tri_rlmreg_p
generic map (width => dbcr0_idm_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_act_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(dbcr0_idm_offset to dbcr0_idm_offset + dbcr0_idm_q'length-1),
scout => sov(dbcr0_idm_offset to dbcr0_idm_offset + dbcr0_idm_q'length-1),
din => spr_dbcr0_idm ,
dout => dbcr0_idm_q);
dci_val_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(dci_val_offset),
scout => sov(dci_val_offset),
din => dci_val_d,
dout => dci_val_q);
debug_event_en_latch : tri_rlmreg_p
generic map (width => debug_event_en_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(debug_event_en_offset to debug_event_en_offset + debug_event_en_q'length-1),
scout => sov(debug_event_en_offset to debug_event_en_offset + debug_event_en_q'length-1),
din => debug_event_en_d,
dout => debug_event_en_q);
derat_hold_present_latch : tri_rlmreg_p
generic map (width => derat_hold_present_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(derat_hold_present_offset to derat_hold_present_offset + derat_hold_present_q'length-1),
scout => sov(derat_hold_present_offset to derat_hold_present_offset + derat_hold_present_q'length-1),
din => derat_hold_present_d,
dout => derat_hold_present_q);
ext_dbg_act_err_latch : tri_rlmreg_p
generic map (width => ext_dbg_act_err_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ext_dbg_act_err_offset to ext_dbg_act_err_offset + ext_dbg_act_err_q'length-1),
scout => sov(ext_dbg_act_err_offset to ext_dbg_act_err_offset + ext_dbg_act_err_q'length-1),
din => ext_dbg_act_err_d,
dout => ext_dbg_act_err_q);
ext_dbg_act_ext_latch : tri_rlmreg_p
generic map (width => ext_dbg_act_ext_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ext_dbg_act_ext_offset to ext_dbg_act_ext_offset + ext_dbg_act_ext_q'length-1),
scout => sov(ext_dbg_act_ext_offset to ext_dbg_act_ext_offset + ext_dbg_act_ext_q'length-1),
din => ext_dbg_act_ext_d,
dout => ext_dbg_act_ext_q);
ext_dbg_stop_core_latch : tri_rlmreg_p
generic map (width => ext_dbg_stop_core_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ext_dbg_stop_core_offset to ext_dbg_stop_core_offset + ext_dbg_stop_core_q'length-1),
scout => sov(ext_dbg_stop_core_offset to ext_dbg_stop_core_offset + ext_dbg_stop_core_q'length-1),
din => ext_dbg_stop_core_d,
dout => ext_dbg_stop_core_q);
ext_dbg_stop_n_latch : tri_rlmreg_p
generic map (width => ext_dbg_stop_n_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ext_dbg_stop_n_offset to ext_dbg_stop_n_offset + ext_dbg_stop_n_q'length-1),
scout => sov(ext_dbg_stop_n_offset to ext_dbg_stop_n_offset + ext_dbg_stop_n_q'length-1),
din => ext_dbg_stop_n_d,
dout => ext_dbg_stop_n_q);
external_mchk_latch : tri_rlmreg_p
generic map (width => external_mchk_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(external_mchk_offset to external_mchk_offset + external_mchk_q'length-1),
scout => sov(external_mchk_offset to external_mchk_offset + external_mchk_q'length-1),
din => spr_cpl_external_mchk ,
dout => external_mchk_q);
exx_multi_flush_latch : tri_rlmreg_p
generic map (width => exx_multi_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_multi_flush_offset to exx_multi_flush_offset + exx_multi_flush_q'length-1),
scout => sov(exx_multi_flush_offset to exx_multi_flush_offset + exx_multi_flush_q'length-1),
din => exx_multi_flush_d,
dout => exx_multi_flush_q);
force_ude_latch : tri_rlmreg_p
generic map (width => force_ude_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(force_ude_offset to force_ude_offset + force_ude_q'length-1),
scout => sov(force_ude_offset to force_ude_offset + force_ude_q'length-1),
din => pc_xu_force_ude ,
dout => force_ude_q);
fu_rf_seq_end_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(fu_rf_seq_end_offset),
scout => sov(fu_rf_seq_end_offset),
din => fu_xu_regfile_seq_end ,
dout => fu_rf_seq_end_q);
fu_rfpe_ack_latch : tri_rlmreg_p
generic map (width => fu_rfpe_ack_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(fu_rfpe_ack_offset to fu_rfpe_ack_offset + fu_rfpe_ack_q'length-1),
scout => sov(fu_rfpe_ack_offset to fu_rfpe_ack_offset + fu_rfpe_ack_q'length-1),
din => fu_rfpe_ack_d,
dout => fu_rfpe_ack_q);
fu_rfpe_hold_present_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(fu_rfpe_hold_present_offset),
scout => sov(fu_rfpe_hold_present_offset),
din => fu_rfpe_hold_present_d,
dout => fu_rfpe_hold_present_q);
ici_hold_present_latch : tri_rlmreg_p
generic map (width => ici_hold_present_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ici_hold_present_offset to ici_hold_present_offset + ici_hold_present_q'length-1),
scout => sov(ici_hold_present_offset to ici_hold_present_offset + ici_hold_present_q'length-1),
din => ici_hold_present_d,
dout => ici_hold_present_q);
ici_val_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ici_val_offset),
scout => sov(ici_val_offset),
din => ici_val_d,
dout => ici_val_q);
ierat_hold_present_latch : tri_rlmreg_p
generic map (width => ierat_hold_present_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ierat_hold_present_offset to ierat_hold_present_offset + ierat_hold_present_q'length-1),
scout => sov(ierat_hold_present_offset to ierat_hold_present_offset + ierat_hold_present_q'length-1),
din => ierat_hold_present_d,
dout => ierat_hold_present_q);
mmu_eratmiss_done_latch : tri_rlmreg_p
generic map (width => mmu_eratmiss_done_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(mmu_eratmiss_done_offset to mmu_eratmiss_done_offset + mmu_eratmiss_done_q'length-1),
scout => sov(mmu_eratmiss_done_offset to mmu_eratmiss_done_offset + mmu_eratmiss_done_q'length-1),
din => mm_xu_eratmiss_done ,
dout => mmu_eratmiss_done_q);
mmu_hold_present_latch : tri_rlmreg_p
generic map (width => mmu_hold_present_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(mmu_hold_present_offset to mmu_hold_present_offset + mmu_hold_present_q'length-1),
scout => sov(mmu_hold_present_offset to mmu_hold_present_offset + mmu_hold_present_q'length-1),
din => mmu_hold_present_d,
dout => mmu_hold_present_q);
mmu_hold_request_latch : tri_rlmreg_p
generic map (width => mmu_hold_request_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(mmu_hold_request_offset to mmu_hold_request_offset + mmu_hold_request_q'length-1),
scout => sov(mmu_hold_request_offset to mmu_hold_request_offset + mmu_hold_request_q'length-1),
din => mmu_hold_request_d,
dout => mmu_hold_request_q);
msr_cm_latch : tri_rlmreg_p
generic map (width => msr_cm_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_cm_offset to msr_cm_offset + msr_cm_q'length-1),
scout => sov(msr_cm_offset to msr_cm_offset + msr_cm_q'length-1),
din => spr_msr_cm ,
dout => msr_cm_q);
msr_de_latch : tri_rlmreg_p
generic map (width => msr_de_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_de_offset to msr_de_offset + msr_de_q'length-1),
scout => sov(msr_de_offset to msr_de_offset + msr_de_q'length-1),
din => spr_msr_de ,
dout => msr_de_q);
msr_fp_latch : tri_rlmreg_p
generic map (width => msr_fp_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_fp_offset to msr_fp_offset + msr_fp_q'length-1),
scout => sov(msr_fp_offset to msr_fp_offset + msr_fp_q'length-1),
din => spr_msr_fp ,
dout => msr_fp_q);
msr_gs_latch : tri_rlmreg_p
generic map (width => msr_gs_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_gs_offset to msr_gs_offset + msr_gs_q'length-1),
scout => sov(msr_gs_offset to msr_gs_offset + msr_gs_q'length-1),
din => spr_msr_gs ,
dout => msr_gs_q);
msr_me_latch : tri_rlmreg_p
generic map (width => msr_me_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_me_offset to msr_me_offset + msr_me_q'length-1),
scout => sov(msr_me_offset to msr_me_offset + msr_me_q'length-1),
din => spr_msr_me ,
dout => msr_me_q);
msr_pr_latch : tri_rlmreg_p
generic map (width => msr_pr_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_pr_offset to msr_pr_offset + msr_pr_q'length-1),
scout => sov(msr_pr_offset to msr_pr_offset + msr_pr_q'length-1),
din => spr_msr_pr ,
dout => msr_pr_q);
msr_spv_latch : tri_rlmreg_p
generic map (width => msr_spv_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_spv_offset to msr_spv_offset + msr_spv_q'length-1),
scout => sov(msr_spv_offset to msr_spv_offset + msr_spv_q'length-1),
din => spr_msr_spv ,
dout => msr_spv_q);
msr_ucle_latch : tri_rlmreg_p
generic map (width => msr_ucle_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_w_int_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msr_ucle_offset to msr_ucle_offset + msr_ucle_q'length-1),
scout => sov(msr_ucle_offset to msr_ucle_offset + msr_ucle_q'length-1),
din => spr_msr_ucle ,
dout => msr_ucle_q);
msrp_uclep_latch : tri_rlmreg_p
generic map (width => msrp_uclep_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => spr_bit_act_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(msrp_uclep_offset to msrp_uclep_offset + msrp_uclep_q'length-1),
scout => sov(msrp_uclep_offset to msrp_uclep_offset + msrp_uclep_q'length-1),
din => spr_msrp_uclep ,
dout => msrp_uclep_q);
pc_dbg_action_latch : tri_rlmreg_p
generic map (width => pc_dbg_action_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(pc_dbg_action_offset to pc_dbg_action_offset + pc_dbg_action_q'length-1),
scout => sov(pc_dbg_action_offset to pc_dbg_action_offset + pc_dbg_action_q'length-1),
din => pc_xu_dbg_action ,
dout => pc_dbg_action_q);
pc_dbg_stop_latch : tri_rlmreg_p
generic map (width => pc_dbg_stop_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(pc_dbg_stop_offset to pc_dbg_stop_offset + pc_dbg_stop_q'length-1),
scout => sov(pc_dbg_stop_offset to pc_dbg_stop_offset + pc_dbg_stop_q'length-1),
din => pc_dbg_stop_d,
dout => pc_dbg_stop_q);
pc_dbg_stop_2_latch : tri_rlmreg_p
generic map (width => pc_dbg_stop_2_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(pc_dbg_stop_2_offset to pc_dbg_stop_2_offset + pc_dbg_stop_2_q'length-1),
scout => sov(pc_dbg_stop_2_offset to pc_dbg_stop_2_offset + pc_dbg_stop_2_q'length-1),
din => pc_dbg_stop,
dout => pc_dbg_stop_2_q);
pc_err_mcsr_rpt_latch : tri_rlmreg_p
generic map (width => pc_err_mcsr_rpt_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(pc_err_mcsr_rpt_offset to pc_err_mcsr_rpt_offset + pc_err_mcsr_rpt_q'length-1),
scout => sov(pc_err_mcsr_rpt_offset to pc_err_mcsr_rpt_offset + pc_err_mcsr_rpt_q'length-1),
din => pc_err_mcsr_rpt_d,
dout => pc_err_mcsr_rpt_q);
pc_err_mcsr_summary_latch : tri_rlmreg_p
generic map (width => pc_err_mcsr_summary_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(pc_err_mcsr_summary_offset to pc_err_mcsr_summary_offset + pc_err_mcsr_summary_q'length-1),
scout => sov(pc_err_mcsr_summary_offset to pc_err_mcsr_summary_offset + pc_err_mcsr_summary_q'length-1),
din => pc_err_mcsr_summary_d,
dout => pc_err_mcsr_summary_q);
pc_init_reset_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(pc_init_reset_offset),
scout => sov(pc_init_reset_offset),
din => pc_xu_init_reset ,
dout => pc_init_reset_q);
quiesced_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(quiesced_offset),
scout => sov(quiesced_offset),
din => quiesced_d,
dout => quiesced_q);
ram_flush_latch : tri_rlmreg_p
generic map (width => ram_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ram_flush_offset to ram_flush_offset + ram_flush_q'length-1),
scout => sov(ram_flush_offset to ram_flush_offset + ram_flush_q'length-1),
din => ram_flush_d,
dout => ram_flush_q);
ram_ip_latch : tri_rlmreg_p
generic map (width => ram_ip_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ram_ip_offset to ram_ip_offset + ram_ip_q'length-1),
scout => sov(ram_ip_offset to ram_ip_offset + ram_ip_q'length-1),
din => ram_ip_d,
dout => ram_ip_q);
ram_mode_latch : tri_rlmreg_p
generic map (width => ram_mode_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ram_mode_offset to ram_mode_offset + ram_mode_q'length-1),
scout => sov(ram_mode_offset to ram_mode_offset + ram_mode_q'length-1),
din => ram_mode_d,
dout => ram_mode_q);
slowspr_flush_latch : tri_rlmreg_p
generic map (width => slowspr_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(slowspr_flush_offset to slowspr_flush_offset + slowspr_flush_q'length-1),
scout => sov(slowspr_flush_offset to slowspr_flush_offset + slowspr_flush_q'length-1),
din => mux_cpl_slowspr_flush ,
dout => slowspr_flush_q);
spr_cpl_async_int_latch : tri_rlmreg_p
generic map (width => spr_cpl_async_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(spr_cpl_async_int_offset to spr_cpl_async_int_offset + spr_cpl_async_int_q'length-1),
scout => sov(spr_cpl_async_int_offset to spr_cpl_async_int_offset + spr_cpl_async_int_q'length-1),
din => spr_cpl_async_int ,
dout => spr_cpl_async_int_q);
ram_execute_latch : tri_rlmreg_p
generic map (width => ram_execute_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ram_execute_offset to ram_execute_offset + ram_execute_q'length-1),
scout => sov(ram_execute_offset to ram_execute_offset + ram_execute_q'length-1),
din => ram_execute_d,
dout => ram_execute_q);
ssprwr_ip_latch : tri_rlmreg_p
generic map (width => ssprwr_ip_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ssprwr_ip_offset to ssprwr_ip_offset + ssprwr_ip_q'length-1),
scout => sov(ssprwr_ip_offset to ssprwr_ip_offset + ssprwr_ip_q'length-1),
din => ssprwr_ip_d,
dout => ssprwr_ip_q);
exx_cm_hold_latch : tri_rlmreg_p
generic map (width => exx_cm_hold_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_cm_hold_offset to exx_cm_hold_offset + exx_cm_hold_q'length-1),
scout => sov(exx_cm_hold_offset to exx_cm_hold_offset + exx_cm_hold_q'length-1),
din => exx_cm_hold ,
dout => exx_cm_hold_q);
xu_ex1_n_flush_latch : tri_rlmreg_p
generic map (width => xu_ex1_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex1_n_flush_offset to xu_ex1_n_flush_offset + xu_ex1_n_flush_q'length-1),
scout => sov(xu_ex1_n_flush_offset to xu_ex1_n_flush_offset + xu_ex1_n_flush_q'length-1),
din => rf1_flush ,
dout => xu_ex1_n_flush_q);
xu_ex1_s_flush_latch : tri_rlmreg_p
generic map (width => xu_ex1_s_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex1_s_flush_offset to xu_ex1_s_flush_offset + xu_ex1_s_flush_q'length-1),
scout => sov(xu_ex1_s_flush_offset to xu_ex1_s_flush_offset + xu_ex1_s_flush_q'length-1),
din => rf1_flush ,
dout => xu_ex1_s_flush_q);
xu_ex1_w_flush_latch : tri_rlmreg_p
generic map (width => xu_ex1_w_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex1_w_flush_offset to xu_ex1_w_flush_offset + xu_ex1_w_flush_q'length-1),
scout => sov(xu_ex1_w_flush_offset to xu_ex1_w_flush_offset + xu_ex1_w_flush_q'length-1),
din => rf1_flush ,
dout => xu_ex1_w_flush_q);
xu_ex2_n_flush_latch : tri_rlmreg_p
generic map (width => xu_ex2_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex2_n_flush_offset to xu_ex2_n_flush_offset + xu_ex2_n_flush_q'length-1),
scout => sov(xu_ex2_n_flush_offset to xu_ex2_n_flush_offset + xu_ex2_n_flush_q'length-1),
din => ex1_flush ,
dout => xu_ex2_n_flush_q);
xu_ex2_s_flush_latch : tri_rlmreg_p
generic map (width => xu_ex2_s_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex2_s_flush_offset to xu_ex2_s_flush_offset + xu_ex2_s_flush_q'length-1),
scout => sov(xu_ex2_s_flush_offset to xu_ex2_s_flush_offset + xu_ex2_s_flush_q'length-1),
din => ex1_flush ,
dout => xu_ex2_s_flush_q);
xu_ex2_w_flush_latch : tri_rlmreg_p
generic map (width => xu_ex2_w_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex2_w_flush_offset to xu_ex2_w_flush_offset + xu_ex2_w_flush_q'length-1),
scout => sov(xu_ex2_w_flush_offset to xu_ex2_w_flush_offset + xu_ex2_w_flush_q'length-1),
din => ex1_flush ,
dout => xu_ex2_w_flush_q);
xu_ex3_n_flush_latch : tri_rlmreg_p
generic map (width => xu_ex3_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex3_n_flush_offset to xu_ex3_n_flush_offset + xu_ex3_n_flush_q'length-1),
scout => sov(xu_ex3_n_flush_offset to xu_ex3_n_flush_offset + xu_ex3_n_flush_q'length-1),
din => ex2_flush ,
dout => xu_ex3_n_flush_q);
xu_ex3_s_flush_latch : tri_rlmreg_p
generic map (width => xu_ex3_s_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex3_s_flush_offset to xu_ex3_s_flush_offset + xu_ex3_s_flush_q'length-1),
scout => sov(xu_ex3_s_flush_offset to xu_ex3_s_flush_offset + xu_ex3_s_flush_q'length-1),
din => ex2_flush ,
dout => xu_ex3_s_flush_q);
xu_ex3_w_flush_latch : tri_rlmreg_p
generic map (width => xu_ex3_w_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex3_w_flush_offset to xu_ex3_w_flush_offset + xu_ex3_w_flush_q'length-1),
scout => sov(xu_ex3_w_flush_offset to xu_ex3_w_flush_offset + xu_ex3_w_flush_q'length-1),
din => ex2_flush ,
dout => xu_ex3_w_flush_q);
xu_ex4_n_flush_latch : tri_rlmreg_p
generic map (width => xu_ex4_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex4_n_flush_offset to xu_ex4_n_flush_offset + xu_ex4_n_flush_q'length-1),
scout => sov(xu_ex4_n_flush_offset to xu_ex4_n_flush_offset + xu_ex4_n_flush_q'length-1),
din => ex3_flush ,
dout => xu_ex4_n_flush_q);
xu_ex4_s_flush_latch : tri_rlmreg_p
generic map (width => xu_ex4_s_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex4_s_flush_offset to xu_ex4_s_flush_offset + xu_ex4_s_flush_q'length-1),
scout => sov(xu_ex4_s_flush_offset to xu_ex4_s_flush_offset + xu_ex4_s_flush_q'length-1),
din => ex3_flush ,
dout => xu_ex4_s_flush_q);
xu_ex4_w_flush_latch : tri_rlmreg_p
generic map (width => xu_ex4_w_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex4_w_flush_offset to xu_ex4_w_flush_offset + xu_ex4_w_flush_q'length-1),
scout => sov(xu_ex4_w_flush_offset to xu_ex4_w_flush_offset + xu_ex4_w_flush_q'length-1),
din => ex3_flush ,
dout => xu_ex4_w_flush_q);
xu_ex5_n_flush_latch : tri_rlmreg_p
generic map (width => xu_ex5_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex5_n_flush_offset to xu_ex5_n_flush_offset + xu_ex5_n_flush_q'length-1),
scout => sov(xu_ex5_n_flush_offset to xu_ex5_n_flush_offset + xu_ex5_n_flush_q'length-1),
din => ex4_flush ,
dout => xu_ex5_n_flush_q);
xu_ex5_s_flush_latch : tri_rlmreg_p
generic map (width => xu_ex5_s_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex5_s_flush_offset to xu_ex5_s_flush_offset + xu_ex5_s_flush_q'length-1),
scout => sov(xu_ex5_s_flush_offset to xu_ex5_s_flush_offset + xu_ex5_s_flush_q'length-1),
din => ex4_flush ,
dout => xu_ex5_s_flush_q);
xu_ex5_w_flush_latch : tri_rlmreg_p
generic map (width => xu_ex5_w_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex4_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_ex5_w_flush_offset to xu_ex5_w_flush_offset + xu_ex5_w_flush_q'length-1),
scout => sov(xu_ex5_w_flush_offset to xu_ex5_w_flush_offset + xu_ex5_w_flush_q'length-1),
din => ex4_flush ,
dout => xu_ex5_w_flush_q);
xu_is2_n_flush_latch : tri_rlmreg_p
generic map (width => xu_is2_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_is2_n_flush_offset to xu_is2_n_flush_offset + xu_is2_n_flush_q'length-1),
scout => sov(xu_is2_n_flush_offset to xu_is2_n_flush_offset + xu_is2_n_flush_q'length-1),
din => any_flush ,
dout => xu_is2_n_flush_q);
xu_rf0_n_flush_latch : tri_rlmreg_p
generic map (width => xu_rf0_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_rf0_n_flush_offset to xu_rf0_n_flush_offset + xu_rf0_n_flush_q'length-1),
scout => sov(xu_rf0_n_flush_offset to xu_rf0_n_flush_offset + xu_rf0_n_flush_q'length-1),
din => is2_flush ,
dout => xu_rf0_n_flush_q);
xu_rf1_n_flush_latch : tri_rlmreg_p
generic map (width => xu_rf1_n_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_rf1_n_flush_offset to xu_rf1_n_flush_offset + xu_rf1_n_flush_q'length-1),
scout => sov(xu_rf1_n_flush_offset to xu_rf1_n_flush_offset + xu_rf1_n_flush_q'length-1),
din => rf0_flush ,
dout => xu_rf1_n_flush_q);
xu_rf1_s_flush_latch : tri_rlmreg_p
generic map (width => xu_rf1_s_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_rf1_s_flush_offset to xu_rf1_s_flush_offset + xu_rf1_s_flush_q'length-1),
scout => sov(xu_rf1_s_flush_offset to xu_rf1_s_flush_offset + xu_rf1_s_flush_q'length-1),
din => rf0_flush ,
dout => xu_rf1_s_flush_q);
xu_rf1_w_flush_latch : tri_rlmreg_p
generic map (width => xu_rf1_w_flush_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_rf1_w_flush_offset to xu_rf1_w_flush_offset + xu_rf1_w_flush_q'length-1),
scout => sov(xu_rf1_w_flush_offset to xu_rf1_w_flush_offset + xu_rf1_w_flush_q'length-1),
din => rf0_flush ,
dout => xu_rf1_w_flush_q);
ex5_np1_irpt_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex5_np1_irpt_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_np1_irpt_dbg_cint_offset to ex5_np1_irpt_dbg_cint_offset + ex5_np1_irpt_dbg_cint_q'length-1),
scout => sov(ex5_np1_irpt_dbg_cint_offset to ex5_np1_irpt_dbg_cint_offset + ex5_np1_irpt_dbg_cint_q'length-1),
din => ex4_np1_irpt_dbg_cint,
dout => ex5_np1_irpt_dbg_cint_q);
ex6_np1_irpt_dbg_cint_latch : tri_rlmreg_p
generic map (width => ex6_np1_irpt_dbg_cint_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_np1_irpt_dbg_cint_offset to ex6_np1_irpt_dbg_cint_offset + ex6_np1_irpt_dbg_cint_q'length-1),
scout => sov(ex6_np1_irpt_dbg_cint_offset to ex6_np1_irpt_dbg_cint_offset + ex6_np1_irpt_dbg_cint_q'length-1),
din => ex6_np1_irpt_dbg_cint_d,
dout => ex6_np1_irpt_dbg_cint_q);
ex5_np1_irpt_dbg_event_latch : tri_rlmreg_p
generic map (width => ex5_np1_irpt_dbg_event_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_np1_irpt_dbg_event_offset to ex5_np1_irpt_dbg_event_offset + ex5_np1_irpt_dbg_event_q'length-1),
scout => sov(ex5_np1_irpt_dbg_event_offset to ex5_np1_irpt_dbg_event_offset + ex5_np1_irpt_dbg_event_q'length-1),
din => ex4_np1_irpt_dbg_event,
dout => ex5_np1_irpt_dbg_event_q);
ex6_np1_irpt_dbg_event_latch : tri_rlmreg_p
generic map (width => ex6_np1_irpt_dbg_event_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex6_np1_irpt_dbg_event_offset to ex6_np1_irpt_dbg_event_offset + ex6_np1_irpt_dbg_event_q'length-1),
scout => sov(ex6_np1_irpt_dbg_event_offset to ex6_np1_irpt_dbg_event_offset + ex6_np1_irpt_dbg_event_q'length-1),
din => ex6_np1_irpt_dbg_event_d,
dout => ex6_np1_irpt_dbg_event_q);
clkg_ctl_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(clkg_ctl_offset),
scout => sov(clkg_ctl_offset),
din => spr_xucr0_clkg_ctl(2) ,
dout => clkg_ctl_q);
xu_rf_seq_end_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_rf_seq_end_offset),
scout => sov(xu_rf_seq_end_offset),
din => gpr_cpl_regfile_seq_end ,
dout => xu_rf_seq_end_q);
xu_rfpe_ack_latch : tri_rlmreg_p
generic map (width => xu_rfpe_ack_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_rfpe_ack_offset to xu_rfpe_ack_offset + xu_rfpe_ack_q'length-1),
scout => sov(xu_rfpe_ack_offset to xu_rfpe_ack_offset + xu_rfpe_ack_q'length-1),
din => xu_rfpe_ack_d,
dout => xu_rfpe_ack_q);
xu_rfpe_hold_present_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(xu_rfpe_hold_present_offset),
scout => sov(xu_rfpe_hold_present_offset),
din => xu_rfpe_hold_present_d,
dout => xu_rfpe_hold_present_q);
exx_act_latch : tri_rlmreg_p
generic map (width => exx_act_q'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(exx_act_offset to exx_act_offset + exx_act_q'length-1),
scout => sov(exx_act_offset to exx_act_offset + exx_act_q'length-1),
din => exx_act_d,
dout => exx_act_q);
ex4_mchk_int_en_latch : tri_rlmreg_p
generic map (width => ex4_mchk_int_en_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_mchk_int_en_offset to ex4_mchk_int_en_offset + ex4_mchk_int_en_q'length-1),
scout => sov(ex4_mchk_int_en_offset to ex4_mchk_int_en_offset + ex4_mchk_int_en_q'length-1),
din => ex3_mchk_int_en,
dout => ex4_mchk_int_en_q);
ex5_mchk_int_en_latch : tri_rlmreg_p
generic map (width => ex5_mchk_int_en_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_mchk_int_en_offset to ex5_mchk_int_en_offset + ex5_mchk_int_en_q'length-1),
scout => sov(ex5_mchk_int_en_offset to ex5_mchk_int_en_offset + ex5_mchk_int_en_q'length-1),
din => ex4_mchk_int_en_q,
dout => ex5_mchk_int_en_q);
trace_bus_enable_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(trace_bus_enable_offset),
scout => sov(trace_bus_enable_offset),
din => pc_xu_trace_bus_enable ,
dout => trace_bus_enable_q);
ex1_instr_trace_type_latch : tri_rlmreg_p
generic map (width => ex1_instr_trace_type_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_instr_trace_type_offset to ex1_instr_trace_type_offset + ex1_instr_trace_type_q'length-1),
scout => sov(ex1_instr_trace_type_offset to ex1_instr_trace_type_offset + ex1_instr_trace_type_q'length-1),
din => dec_cpl_rf1_instr_trace_type,
dout => ex1_instr_trace_type_q);
ex1_instr_trace_val_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_instr_trace_val_offset),
scout => sov(ex1_instr_trace_val_offset),
din => dec_cpl_rf1_instr_trace_val,
dout => ex1_instr_trace_val_q);
ex1_xu_issued_latch : tri_rlmreg_p
generic map (width => ex1_xu_issued_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex1_xu_issued_offset to ex1_xu_issued_offset + ex1_xu_issued_q'length-1),
scout => sov(ex1_xu_issued_offset to ex1_xu_issued_offset + ex1_xu_issued_q'length-1),
din => dec_cpl_rf1_issued ,
dout => ex1_xu_issued_q);
ex2_xu_issued_latch : tri_rlmreg_p
generic map (width => ex2_xu_issued_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex2_xu_issued_offset to ex2_xu_issued_offset + ex2_xu_issued_q'length-1),
scout => sov(ex2_xu_issued_offset to ex2_xu_issued_offset + ex2_xu_issued_q'length-1),
din => ex1_xu_issued_q ,
dout => ex2_xu_issued_q);
ex3_xu_issued_latch : tri_rlmreg_p
generic map (width => ex3_xu_issued_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_xu_issued_offset to ex3_xu_issued_offset + ex3_xu_issued_q'length-1),
scout => sov(ex3_xu_issued_offset to ex3_xu_issued_offset + ex3_xu_issued_q'length-1),
din => ex2_xu_issued_q ,
dout => ex3_xu_issued_q);
ex4_xu_issued_latch : tri_rlmreg_p
generic map (width => ex4_xu_issued_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_xu_issued_offset to ex4_xu_issued_offset + ex4_xu_issued_q'length-1),
scout => sov(ex4_xu_issued_offset to ex4_xu_issued_offset + ex4_xu_issued_q'length-1),
din => ex3_xu_issued ,
dout => ex4_xu_issued_q);
ex3_axu_issued_latch : tri_rlmreg_p
generic map (width => ex3_axu_issued_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_axu_issued_offset to ex3_axu_issued_offset + ex3_axu_issued_q'length-1),
scout => sov(ex3_axu_issued_offset to ex3_axu_issued_offset + ex3_axu_issued_q'length-1),
din => fu_xu_ex2_ifar_issued ,
dout => ex3_axu_issued_q);
ex4_axu_issued_latch : tri_rlmreg_p
generic map (width => ex4_axu_issued_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_axu_issued_offset to ex4_axu_issued_offset + ex4_axu_issued_q'length-1),
scout => sov(ex4_axu_issued_offset to ex4_axu_issued_offset + ex4_axu_issued_q'length-1),
din => ex3_axu_issued_q ,
dout => ex4_axu_issued_q);
ex2_instr_dbg_latch : tri_rlmreg_p
generic map (width => ex2_instr_dbg_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex2_instr_dbg_offset to ex2_instr_dbg_offset + ex2_instr_dbg_q'length-1),
scout => sov(ex2_instr_dbg_offset to ex2_instr_dbg_offset + ex2_instr_dbg_q'length-1),
din => ex1_instr ,
dout => ex2_instr_dbg_q);
ex2_instr_trace_type_latch : tri_rlmreg_p
generic map (width => ex2_instr_trace_type_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex2_instr_trace_type_offset to ex2_instr_trace_type_offset + ex2_instr_trace_type_q'length-1),
scout => sov(ex2_instr_trace_type_offset to ex2_instr_trace_type_offset + ex2_instr_trace_type_q'length-1),
din => ex1_instr_trace_type_q ,
dout => ex2_instr_trace_type_q);
ex4_instr_trace_val_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_instr_trace_val_offset),
scout => sov(ex4_instr_trace_val_offset),
din => dec_cpl_ex3_instr_trace_val,
dout => ex4_instr_trace_val_q);
ex5_axu_val_dbg_latch : tri_regk
generic map (width => ex5_axu_val_dbg_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_nsl_thold_0_b,
din => ex4_axu_val ,
dout => ex5_axu_val_dbg_q);
ex5_instr_cpl_dbg_latch : tri_regk
generic map (width => ex5_instr_cpl_dbg_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_nsl_thold_0_b,
din => ex4_instr_cpl ,
dout => ex5_instr_cpl_dbg_q);
ex5_instr_trace_val_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_instr_trace_val_offset),
scout => sov(ex5_instr_trace_val_offset),
din => ex4_instr_trace_val_q ,
dout => ex5_instr_trace_val_q);
ex5_siar_latch : tri_rlmreg_p
generic map (width => ex5_siar_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_siar_offset to ex5_siar_offset + ex5_siar_q'length-1),
scout => sov(ex5_siar_offset to ex5_siar_offset + ex5_siar_q'length-1),
din => ex5_siar_d,
dout => ex5_siar_q);
ex5_siar_cpl_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_siar_cpl_offset),
scout => sov(ex5_siar_cpl_offset),
din => ex5_siar_cpl_d,
dout => ex5_siar_cpl_q);
ex5_siar_gs_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_siar_gs_offset),
scout => sov(ex5_siar_gs_offset),
din => ex5_siar_gs_d,
dout => ex5_siar_gs_q);
ex5_siar_issued_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_siar_issued_offset),
scout => sov(ex5_siar_issued_offset),
din => ex5_siar_issued_d,
dout => ex5_siar_issued_q);
ex5_siar_pr_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_siar_pr_offset),
scout => sov(ex5_siar_pr_offset),
din => ex5_siar_pr_d,
dout => ex5_siar_pr_q);
ex5_siar_tid_latch : tri_rlmreg_p
generic map (width => ex5_siar_tid_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_siar_tid_offset to ex5_siar_tid_offset + ex5_siar_tid_q'length-1),
scout => sov(ex5_siar_tid_offset to ex5_siar_tid_offset + ex5_siar_tid_q'length-1),
din => ex5_siar_tid_d,
dout => ex5_siar_tid_q);
ex5_ucode_end_dbg_latch : tri_rlmreg_p
generic map (width => ex5_ucode_end_dbg_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ucode_end_dbg_offset to ex5_ucode_end_dbg_offset + ex5_ucode_end_dbg_q'length-1),
scout => sov(ex5_ucode_end_dbg_offset to ex5_ucode_end_dbg_offset + ex5_ucode_end_dbg_q'length-1),
din => ex4_ucode_end ,
dout => ex5_ucode_end_dbg_q);
ex5_ucode_val_dbg_latch : tri_rlmreg_p
generic map (width => ex5_ucode_val_dbg_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_ucode_val_dbg_offset to ex5_ucode_val_dbg_offset + ex5_ucode_val_dbg_q'length-1),
scout => sov(ex5_ucode_val_dbg_offset to ex5_ucode_val_dbg_offset + ex5_ucode_val_dbg_q'length-1),
din => ex4_ucode_val ,
dout => ex5_ucode_val_dbg_q);
instr_trace_mode_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(instr_trace_mode_offset),
scout => sov(instr_trace_mode_offset),
din => pc_xu_instr_trace_mode ,
dout => instr_trace_mode_q);
debug_data_out_latch : tri_rlmreg_p
generic map (width => debug_data_out_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(debug_data_out_offset to debug_data_out_offset + debug_data_out_q'length-1),
scout => sov(debug_data_out_offset to debug_data_out_offset + debug_data_out_q'length-1),
din => debug_data_out_d,
dout => debug_data_out_q);
debug_mux_ctrls_latch : tri_rlmreg_p
generic map (width => debug_mux_ctrls_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(debug_mux_ctrls_offset to debug_mux_ctrls_offset + debug_mux_ctrls_q'length-1),
scout => sov(debug_mux_ctrls_offset to debug_mux_ctrls_offset + debug_mux_ctrls_q'length-1),
din => cpl_debug_mux_ctrls ,
dout => debug_mux_ctrls_q);
debug_mux_ctrls_int_latch : tri_rlmreg_p
generic map (width => debug_mux_ctrls_int_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(debug_mux_ctrls_int_offset to debug_mux_ctrls_int_offset + debug_mux_ctrls_int_q'length-1),
scout => sov(debug_mux_ctrls_int_offset to debug_mux_ctrls_int_offset + debug_mux_ctrls_int_q'length-1),
din => debug_mux_ctrls_int,
dout => debug_mux_ctrls_int_q);
trigger_data_out_latch : tri_rlmreg_p
generic map (width => trigger_data_out_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => trace_bus_enable_q ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(trigger_data_out_offset to trigger_data_out_offset + trigger_data_out_q'length-1),
scout => sov(trigger_data_out_offset to trigger_data_out_offset + trigger_data_out_q'length-1),
din => trigger_data_out_d,
dout => trigger_data_out_q);
event_bus_enable_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup ,
forcee => func_slp_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_slp_sl_thold_0_b,
sg => sg_0,
scin => siv(event_bus_enable_offset),
scout => sov(event_bus_enable_offset),
din => pc_xu_event_bus_enable ,
dout => event_bus_enable_q);
ex2_perf_event_latch : tri_regk
generic map (width => ex2_perf_event_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => event_bus_enable_q ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din => ex2_perf_event_d,
dout => ex2_perf_event_q);
ex3_perf_event_latch : tri_rlmreg_p
generic map (width => ex3_perf_event_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => event_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_perf_event_offset to ex3_perf_event_offset + ex3_perf_event_q'length-1),
scout => sov(ex3_perf_event_offset to ex3_perf_event_offset + ex3_perf_event_q'length-1),
din => ex2_perf_event_q ,
dout => ex3_perf_event_q);
ex4_perf_event_latch : tri_regk
generic map (width => ex4_perf_event_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => event_bus_enable_q ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din => ex4_perf_event_d,
dout => ex4_perf_event_q);
ex5_perf_event_latch : tri_rlmreg_p
generic map (width => ex5_perf_event_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => event_bus_enable_q ,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_perf_event_offset to ex5_perf_event_offset + ex5_perf_event_q'length-1),
scout => sov(ex5_perf_event_offset to ex5_perf_event_offset + ex5_perf_event_q'length-1),
din => ex5_perf_event_d,
dout => ex5_perf_event_q);
spr_bit_act_latch : tri_rlmlatch_p
generic map (init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => tiup,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(spr_bit_act_offset),
scout => sov(spr_bit_act_offset),
din => spr_bit_act,
dout => spr_bit_act_q);
dd1_clk_override_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => ccfg_so_thold_0_b,
scin => siv_ccfg(dd1_clk_override_offset_ccfg to dd1_clk_override_offset_ccfg),
scout => sov_ccfg(dd1_clk_override_offset_ccfg to dd1_clk_override_offset_ccfg),
dout(0) => clk_override_q);
spare_0_lcb: entity tri.tri_lcbnd(tri_lcbnd)
port map(vd => vdd,
gd => gnd,
act => tidn,
nclk => nclk,
forcee => func_sl_force,
thold_b => func_sl_thold_0_b,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
sg => sg_0,
lclk => spare_0_lclk,
d1clk => spare_0_d1clk,
d2clk => spare_0_d2clk);
spare_0_latch : entity tri.tri_inv_nlats(tri_inv_nlats)
generic map (width => spare_0_q'length, expand_type => expand_type, btr => "NLI0001_X2_A12TH", init=>(spare_0_q'range=>'0'))
port map (vd => vdd, gd => gnd,
LCLK => spare_0_lclk,
D1CLK => spare_0_d1clk,
D2CLK => spare_0_d2clk,
SCANIN => siv(spare_0_offset to spare_0_offset + spare_0_q'length-1),
SCANOUT => sov(spare_0_offset to spare_0_offset + spare_0_q'length-1),
D => spare_0_d,
QB => spare_0_q);
spare_0_d <= not spare_0_q;
spare_1_lcb: entity tri.tri_lcbnd(tri_lcbnd)
port map(vd => vdd,
gd => gnd,
act => tiup,
nclk => nclk,
forcee => func_sl_force,
thold_b => func_sl_thold_0_b,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
sg => sg_0,
lclk => spare_1_lclk,
d1clk => spare_1_d1clk,
d2clk => spare_1_d2clk);
spare_1_latch : entity tri.tri_inv_nlats(tri_inv_nlats)
generic map (width => spare_1_q'length, expand_type => expand_type, btr => "NLI0001_X2_A12TH", init=>(spare_1_q'range=>'0'))
port map (vd => vdd, gd => gnd,
LCLK => spare_1_lclk,
D1CLK => spare_1_d1clk,
D2CLK => spare_1_d2clk,
SCANIN => siv(spare_1_offset to spare_1_offset + spare_1_q'length-1),
SCANOUT => sov(spare_1_offset to spare_1_offset + spare_1_q'length-1),
D => spare_1_d,
QB => spare_1_q);
-- Need to account for cycles between ex4 & ex7...
spare_1_d(0 to 3) <= not (ex4_instr_cpl and not ex5_in_ucode_q); -- EX5
spare_1_d(4 to 7) <= not spare_1_q(0 to 3); -- EX6
spare_1_d(8 to 11) <= not spare_1_q(4 to 7); -- EX7
spare_1_d(12 to 15) <= not spare_1_q(12 to 15);
spare_2_lcb: entity tri.tri_lcbnd(tri_lcbnd)
port map(vd => vdd,
gd => gnd,
act => tidn,
nclk => nclk,
forcee => func_sl_force,
thold_b => func_sl_thold_0_b,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
sg => sg_0,
lclk => spare_2_lclk,
d1clk => spare_2_d1clk,
d2clk => spare_2_d2clk);
spare_2_latch : entity tri.tri_inv_nlats(tri_inv_nlats)
generic map (width => spare_2_q'length, expand_type => expand_type, btr => "NLI0001_X2_A12TH", init=>(spare_2_q'range=>'0'))
port map (vd => vdd, gd => gnd,
LCLK => spare_2_lclk,
D1CLK => spare_2_d1clk,
D2CLK => spare_2_d2clk,
SCANIN => siv(spare_2_offset to spare_2_offset + spare_2_q'length-1),
SCANOUT => sov(spare_2_offset to spare_2_offset + spare_2_q'length-1),
D => spare_2_d,
QB => spare_2_q);
spare_2_d <= not spare_2_q;
spare_3_lcb: entity tri.tri_lcbnd(tri_lcbnd)
port map(vd => vdd,
gd => gnd,
act => tidn,
nclk => nclk,
forcee => func_sl_force,
thold_b => func_sl_thold_0_b,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
sg => sg_0,
lclk => spare_3_lclk,
d1clk => spare_3_d1clk,
d2clk => spare_3_d2clk);
spare_3_latch : entity tri.tri_inv_nlats(tri_inv_nlats)
generic map (width => spare_3_q'length, expand_type => expand_type, btr => "NLI0001_X2_A12TH", init=>(spare_3_q'range=>'0'))
port map (vd => vdd, gd => gnd,
LCLK => spare_3_lclk,
D1CLK => spare_3_d1clk,
D2CLK => spare_3_d2clk,
SCANIN => siv(spare_3_offset to spare_3_offset + spare_3_q'length-1),
SCANOUT => sov(spare_3_offset to spare_3_offset + spare_3_q'length-1),
D => spare_3_d,
QB => spare_3_q);
spare_3_d <= not spare_3_q;
spare_4_lcb: entity tri.tri_lcbnd(tri_lcbnd)
port map(vd => vdd,
gd => gnd,
act => tiup,
nclk => nclk,
forcee => func_sl_force,
thold_b => func_sl_thold_0_b,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
sg => sg_0,
lclk => spare_4_lclk,
d1clk => spare_4_d1clk,
d2clk => spare_4_d2clk);
spare_4_latch : entity tri.tri_inv_nlats(tri_inv_nlats)
generic map (width => spare_4_q'length, expand_type => expand_type, btr => "NLI0001_X2_A12TH", init=>(spare_4_q'range=>'0'))
port map (vd => vdd, gd => gnd,
LCLK => spare_4_lclk,
D1CLK => spare_4_d1clk,
D2CLK => spare_4_d2clk,
SCANIN => siv(spare_4_offset to spare_4_offset + spare_4_q'length-1),
SCANOUT => sov(spare_4_offset to spare_4_offset + spare_4_q'length-1),
D => spare_4_d,
QB => spare_4_q);
spare_5_lcb: entity tri.tri_lcbnd(tri_lcbnd)
port map(vd => vdd,
gd => gnd,
act => tiup,
nclk => nclk,
forcee => func_sl_force,
thold_b => func_sl_thold_0_b,
delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b,
mpw2_b => mpw2_dc_b,
sg => sg_0,
lclk => spare_5_lclk,
d1clk => spare_5_d1clk,
d2clk => spare_5_d2clk);
spare_5_latch : entity tri.tri_inv_nlats(tri_inv_nlats)
generic map (width => spare_5_q'length, expand_type => expand_type, btr => "NLI0001_X2_A12TH", init=>(spare_5_q'range=>'0'))
port map (vd => vdd, gd => gnd,
LCLK => spare_5_lclk,
D1CLK => spare_5_d1clk,
D2CLK => spare_5_d2clk,
SCANIN => siv(spare_5_offset to spare_5_offset + spare_5_q'length-1),
SCANOUT => sov(spare_5_offset to spare_5_offset + spare_5_q'length-1),
D => spare_5_d,
QB => spare_5_q);
ex4_dac_cmpr_gem : for t in 1 to 4 generate
ex4_dacr_cmpr_latch : tri_regk
generic map (width => ex4_dacr_cmpr_q(t)'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din => ex4_dacr_cmpr_d(t),
dout => ex4_dacr_cmpr_q(t));
ex4_dacw_cmpr_latch : tri_regk
generic map (width => ex4_dacw_cmpr_q(t)'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_act(3) ,
forcee => func_nsl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_nsl_thold_0_b,
din => ex4_dacw_cmpr_d(t),
dout => ex4_dacw_cmpr_q(t));
end generate;
ex5_late_flush_gen : for t in 0 to ifar_repwr-1 generate
ex5_late_flush_latch : tri_rlmreg_p
generic map (width => ex5_late_flush_q(t)'length, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => exx_flush_inf_act,
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex5_late_flush_offset+ex5_late_flush_q(t)'length*t to ex5_late_flush_offset + ex5_late_flush_q(t)'length*(t+1)-1),
scout => sov(ex5_late_flush_offset+ex5_late_flush_q(t)'length*t to ex5_late_flush_offset + ex5_late_flush_q(t)'length*(t+1)-1),
din => ex5_late_flush_d(t),
dout => ex5_late_flush_q(t));
end generate;
ex2_ifar_b_latch_gen : for t in 0 to threads-1 generate
ex2_ifar_b_latch : entity tri.tri_aoi22_nlats_wlcb(tri_aoi22_nlats_wlcb)
generic map (width => eff_ifar, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex1_ifar_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex2_ifar_b_offset+eff_ifar*t to ex2_ifar_b_offset+eff_ifar*(t+1)-1),
scout => sov(ex2_ifar_b_offset+eff_ifar*t to ex2_ifar_b_offset+eff_ifar*(t+1)-1),
A1 => fu_xu_ex1_ifar(eff_ifar*t to eff_ifar*(t+1)-1),
A2 => ex1_ifar_sel_b(eff_ifar*t to eff_ifar*(t+1)-1),
B1 => ex1_xu_ifar,
B2 => ex1_ifar_sel(eff_ifar*t to eff_ifar*(t+1)-1),
QB => ex2_ifar_b_q(eff_ifar*t to eff_ifar*(t+1)-1));
ex1_ifar_sel(eff_ifar*t to eff_ifar*(t+1)-1) <= (others=> (ex1_xu_val_q(t) or ex1_ucode_val_q(t)));
ex1_ifar_sel_b(eff_ifar*t to eff_ifar*(t+1)-1) <= (others=>not(ex1_xu_val_q(t) or ex1_ucode_val_q(t)));
ex3_ifar_latch : tri_rlmreg_p
generic map (width => eff_ifar, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex2_ifar_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex3_ifar_offset+eff_ifar*t to ex3_ifar_offset+eff_ifar*(t+1)-1),
scout => sov(ex3_ifar_offset+eff_ifar*t to ex3_ifar_offset+eff_ifar*(t+1)-1),
din => ex2_ifar(eff_ifar*t to eff_ifar*(t+1)-1),
dout => ex3_ifar_q(eff_ifar*t to eff_ifar*(t+1)-1));
ex4_ifar_latch : tri_rlmreg_p
generic map (width => eff_ifar, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => ex3_ifar_act(t),
forcee => func_sl_force,
d_mode => d_mode_dc, delay_lclkr => delay_lclkr_dc,
mpw1_b => mpw1_dc_b, mpw2_b => mpw2_dc_b,
thold_b => func_sl_thold_0_b,
sg => sg_0,
scin => siv(ex4_ifar_offset+eff_ifar*t to ex4_ifar_offset+eff_ifar*(t+1)-1),
scout => sov(ex4_ifar_offset+eff_ifar*t to ex4_ifar_offset+eff_ifar*(t+1)-1),
din => ex3_ifar_q(eff_ifar*t to eff_ifar*(t+1)-1),
dout => ex4_ifar_q(eff_ifar*t to eff_ifar*(t+1)-1));
end generate;
-------------------------------------------------
-- Pervasive
-------------------------------------------------
perv_2to1_reg: tri_plat
generic map (width => 8, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
flush => pc_xu_ccflush_dc,
din(0) => func_slp_sl_thold_2,
din(1) => func_slp_nsl_thold_2,
din(2) => func_sl_thold_2,
din(3) => func_nsl_thold_2,
din(4) => cfg_sl_thold_2,
din(5) => cfg_slp_sl_thold_2,
din(6) => sg_2,
din(7) => fce_2,
q(0) => func_slp_sl_thold_1,
q(1) => func_slp_nsl_thold_1,
q(2) => func_sl_thold_1,
q(3) => func_nsl_thold_1,
q(4) => cfg_sl_thold_1,
q(5) => cfg_slp_sl_thold_1,
q(6) => sg_1,
q(7) => fce_1);
perv_1to0_reg: tri_plat
generic map (width => 8, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
flush => pc_xu_ccflush_dc,
din(0) => func_slp_sl_thold_1,
din(1) => func_slp_nsl_thold_1,
din(2) => func_sl_thold_1,
din(3) => func_nsl_thold_1,
din(4) => cfg_sl_thold_1,
din(5) => cfg_slp_sl_thold_1,
din(6) => sg_1,
din(7) => fce_1,
q(0) => func_slp_sl_thold_0,
q(1) => func_slp_nsl_thold_0,
q(2) => func_sl_thold_0,
q(3) => func_nsl_thold_0,
q(4) => cfg_sl_thold_0,
q(5) => cfg_slp_sl_thold_0,
q(6) => sg_0,
q(7) => fce_0);
perv_lcbor_cfg_sl: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => clkoff_dc_b,
thold => cfg_sl_thold_0,
sg => sg_0,
act_dis => tidn,
forcee => cfg_sl_force,
thold_b => cfg_sl_thold_0_b);
bcfg_sl_force <= cfg_sl_force;
bcfg_sl_thold_0_b <= cfg_sl_thold_0_b;
dcfg_sl_force <= cfg_sl_force;
dcfg_sl_thold_0_b <= cfg_sl_thold_0_b;
perv_lcbor_cfg_slp: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => clkoff_dc_b,
thold => cfg_slp_sl_thold_0,
sg => sg_0,
act_dis => tidn,
forcee => cfg_slp_sl_force,
thold_b => cfg_slp_sl_thold_0_b);
bcfg_slp_sl_force <= cfg_slp_sl_force;
bcfg_slp_sl_thold_0_b <= cfg_slp_sl_thold_0_b;
so_force <= sg_0;
ccfg_so_thold_0_b <= not cfg_sl_thold_0;
bcfg_so_thold_0_b <= not cfg_sl_thold_0;
dcfg_so_thold_0_b <= not cfg_sl_thold_0;
func_so_thold_0_b <= not func_sl_thold_0;
perv_lcbor_func_sl: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => clkoff_dc_b,
thold => func_sl_thold_0,
sg => sg_0,
act_dis => tidn,
forcee => func_sl_force,
thold_b => func_sl_thold_0_b);
perv_lcbor_func_slp_sl: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => clkoff_dc_b,
thold => func_slp_sl_thold_0,
sg => sg_0,
act_dis => tidn,
forcee => func_slp_sl_force,
thold_b => func_slp_sl_thold_0_b);
perv_lcbor_func_slp_nsl: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => clkoff_dc_b,
thold => func_slp_nsl_thold_0,
sg => fce_0,
act_dis => tidn,
forcee => func_slp_nsl_force,
thold_b => func_slp_nsl_thold_0_b);
perv_lcbor_func_nsl: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => clkoff_dc_b,
thold => func_nsl_thold_0,
sg => fce_0,
act_dis => tidn,
forcee => func_nsl_force,
thold_b => func_nsl_thold_0_b);
siv( 0 to MSL-1) <= sov( 1 to MSL-1) & func_scan_rpwr_in(0);
func_scan_rpwr_out(0) <= sov( 0);
siv(MSL to 2*MSL-1) <= sov(MSL+1 to 2*MSL-1) & func_scan_rpwr_in(1);
func_scan_rpwr_out(1) <= sov(MSL);
siv(2*MSL to siv'right) <= sov(2*MSL+1 to siv'right) & func_scan_rpwr_in(2);
func_scan_rpwr_out(2) <= sov(2*MSL);
siv_3(0 to siv_3'right) <= sov_3(1 to siv_3'right) & func_scan_rpwr_in(3);
func_scan_rpwr_out(3) <= sov_3(0);
siv_ccfg(0 to scan_right_ccfg-1) <= sov_ccfg(1 to scan_right_ccfg-1) & ccfg_scan_rpwr_in(0);
ccfg_scan_rpwr_out <= sov_ccfg(0 to 0);
siv_bcfg(0 to scan_right_bcfg-1) <= sov_bcfg(1 to scan_right_bcfg-1) & bcfg_scan_rpwr_in(0);
bcfg_scan_rpwr_out <= sov_bcfg(0 to 0);
siv_dcfg(0 to scan_right_dcfg-1) <= sov_dcfg(1 to scan_right_dcfg-1) & dcfg_scan_rpwr_in(0);
dcfg_scan_rpwr_out <= sov_dcfg(0 to 0);
ccfg_scan_rpwr_0i_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => ccfg_so_thold_0_b,
scin(0) => ccfg_scan_in,
scout => ccfg_scan_rpwr_in(0 to 0),
dout => open);
ccfg_scan_rpwr_0o_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => ccfg_so_thold_0_b,
scin => ccfg_scan_rpwr_out(0 to 0),
scout => ccfg_scan_out_gate(0 to 0),
dout => open);
bcfg_scan_rpwr_0i_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => bcfg_so_thold_0_b,
scin(0) => bcfg_scan_in,
scout => bcfg_scan_rpwr_in(0 to 0),
dout => open);
bcfg_scan_rpwr_0o_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => bcfg_so_thold_0_b,
scin => bcfg_scan_rpwr_out(0 to 0),
scout => bcfg_scan_out_gate(0 to 0),
dout => open);
dcfg_scan_rpwr_0i_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => dcfg_so_thold_0_b,
scin(0) => dcfg_scan_in,
scout => dcfg_scan_rpwr_in(0 to 0),
dout => open);
dcfg_scan_rpwr_0o_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => dcfg_so_thold_0_b,
scin => dcfg_scan_rpwr_out(0 to 0),
scout => dcfg_scan_out_gate(0 to 0),
dout => open);
func_scan_rpwr_50i_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_in(50 to 50),
scout => func_scan_rpwr_in(0 to 0),
dout => open);
func_scan_rpwr_50o_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_rpwr_out(0 to 0),
scout => func_scan_out_gate(50 to 50),
dout => open);
func_scan_rpwr_51i_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_in(51 to 51),
scout => func_scan_rpwr_in(1 to 1),
dout => open);
func_scan_rpwr_51o_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_rpwr_out(1 to 1),
scout => func_scan_out_gate(51 to 51),
dout => open);
func_scan_rpwr_52i_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_in(52 to 52),
scout => func_scan_rpwr_in(2 to 2),
dout => open);
func_scan_rpwr_52o_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_rpwr_out(2 to 2),
scout => func_scan_out_gate(52 to 52),
dout => open);
func_scan_rpwr_53i_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_in(53 to 53),
scout => func_scan_rpwr2_in(3 to 3),
dout => open);
func_scan_rpwr_53i_2_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_rpwr2_in(3 to 3),
scout => func_scan_rpwr_in(3 to 3),
dout => open);
func_scan_rpwr_53o_latch : tri_regs
generic map (width => 1, init => 0, expand_type => expand_type, needs_sreset => 1)
port map (nclk => nclk, vd => vdd, gd => gnd,
forcee => so_force,
delay_lclkr => delay_lclkr_dc,
thold_b => func_so_thold_0_b,
scin => func_scan_rpwr_out(3 to 3),
scout => func_scan_out_gate(53 to 53),
dout => open);
func_scan_out <= gate(func_scan_out_gate,an_ac_scan_dis_dc_b);
ccfg_scan_out <= ccfg_scan_out_gate(0) and an_ac_scan_dis_dc_b;
bcfg_scan_out <= bcfg_scan_out_gate(0) and an_ac_scan_dis_dc_b;
dcfg_scan_out <= dcfg_scan_out_gate(0) and an_ac_scan_dis_dc_b;
end architecture xuq_cpl;