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.

5371 lines
380 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.
library ieee;
use ieee.std_logic_1164.all;
library ibm;
use ibm.std_ulogic_unsigned.all;
use ibm.std_ulogic_function_support.all;
use ibm.std_ulogic_support.all;
library support;
use support.power_logic_pkg.all;
library tri;
use tri.tri_latches_pkg.all;
entity mmq_tlb_cmp is
generic(thdid_width : integer := 4;
ttype_width : integer := 4;
state_width : integer := 3;
pid_width : integer := 14;
pid_width_erat : integer := 8;
lpid_width : integer := 8;
class_width : integer := 2;
extclass_width : integer := 2;
tlbsel_width : integer := 2;
epn_width : integer := 52;
vpn_width : integer := 61;
erat_cam_data_width : integer := 75;
erat_ary_data_width : integer := 73;
erat_rel_data_width : integer := 132;
ws_width : integer := 2;
rs_is_width : integer := 9;
ra_entry_width : integer := 12;
rs_data_width : integer := 64;
data_out_width : integer := 64;
error_width : integer := 3;
tlb_num_entry : natural := 512;
tlb_num_entry_log2 : natural := 9;
tlb_ways : natural := 4;
tlb_addr_width : natural := 7;
tlb_way_width : natural := 168;
tlb_word_width : natural := 84;
tlb_seq_width : integer := 6;
inv_seq_width : integer := 5;
por_seq_width : integer := 3;
watermark_width : integer := 4;
eptr_width : integer := 4;
lru_width : integer := 16;
mmucr0_width : integer := 20;
mmucr1_width : integer := 32;
mmucr2_width : integer := 32;
mmucr3_width : integer := 15;
spr_ctl_width : integer := 3;
spr_etid_width : integer := 2;
spr_addr_width : integer := 10;
spr_data_width : integer := 64;
debug_trace_width : integer := 88;
debug_event_width : integer := 16;
real_addr_width : integer := 42;
rpn_width : integer := 30;
pte_width : integer := 64;
check_parity : integer := 1;
tlb_tag_width : natural := 110;
mmq_tlb_cmp_cswitch_0to7 : integer := 0;
expand_type : integer := 2 );
port(
vdd : inout power_logic;
gnd : inout power_logic;
nclk : in clk_logic;
tc_ccflush_dc : in std_ulogic;
tc_scan_dis_dc_b : in std_ulogic;
tc_scan_diag_dc : in std_ulogic;
tc_lbist_en_dc : in std_ulogic;
lcb_d_mode_dc : in std_ulogic;
lcb_clkoff_dc_b : in std_ulogic;
lcb_act_dis_dc : in std_ulogic;
lcb_mpw1_dc_b : in std_ulogic_vector(0 to 4);
lcb_mpw2_dc_b : in std_ulogic;
lcb_delay_lclkr_dc : in std_ulogic_vector(0 to 4);
ac_func_scan_in :in std_ulogic_vector(0 to 2);
ac_func_scan_out :out std_ulogic_vector(0 to 2);
pc_sg_2 : in std_ulogic;
pc_func_sl_thold_2 : in std_ulogic;
pc_func_slp_sl_thold_2 : in std_ulogic;
pc_func_slp_nsl_thold_2 : in std_ulogic;
pc_fce_2 : in std_ulogic;
xu_mm_ccr2_notlb_b : in std_ulogic;
xu_mm_spr_epcr_dmiuh : in std_ulogic_vector(0 to thdid_width-1);
xu_mm_epcr_dgtmi : in std_ulogic_vector(0 to thdid_width-1);
xu_mm_msr_gs : in std_ulogic_vector(0 to thdid_width-1);
xu_mm_msr_pr : in std_ulogic_vector(0 to thdid_width-1);
xu_mm_xucr4_mmu_mchk_q : in std_ulogic;
lpidr : in std_ulogic_vector(0 to lpid_width-1);
mmucr1 : in std_ulogic_vector(10 to 18);
mmucr3_0 : in std_ulogic_vector(64-mmucr3_width to 63);
mmucr3_1 : in std_ulogic_vector(64-mmucr3_width to 63);
mmucr3_2 : in std_ulogic_vector(64-mmucr3_width to 63);
mmucr3_3 : in std_ulogic_vector(64-mmucr3_width to 63);
mm_iu_ierat_rel_val : out std_ulogic_vector(0 to 4);
mm_iu_ierat_rel_data : out std_ulogic_vector(0 to erat_rel_data_width-1);
mm_xu_derat_rel_val : out std_ulogic_vector(0 to 4);
mm_xu_derat_rel_data : out std_ulogic_vector(0 to erat_rel_data_width-1);
tlb_cmp_ierat_dup_val : out std_ulogic_vector(0 to 6);
tlb_cmp_derat_dup_val : out std_ulogic_vector(0 to 6);
tlb_cmp_erat_dup_wait : out std_ulogic_vector(0 to 1);
ierat_req0_pid : in std_ulogic_vector(0 to pid_width-1);
ierat_req0_as : in std_ulogic;
ierat_req0_gs : in std_ulogic;
ierat_req0_epn : in std_ulogic_vector(0 to epn_width-1);
ierat_req0_thdid : in std_ulogic_vector(0 to thdid_width-1);
ierat_req0_valid : in std_ulogic;
ierat_req0_nonspec : in std_ulogic;
ierat_req1_pid : in std_ulogic_vector(0 to pid_width-1);
ierat_req1_as : in std_ulogic;
ierat_req1_gs : in std_ulogic;
ierat_req1_epn : in std_ulogic_vector(0 to epn_width-1);
ierat_req1_thdid : in std_ulogic_vector(0 to thdid_width-1);
ierat_req1_valid : in std_ulogic;
ierat_req1_nonspec : in std_ulogic;
ierat_req2_pid : in std_ulogic_vector(0 to pid_width-1);
ierat_req2_as : in std_ulogic;
ierat_req2_gs : in std_ulogic;
ierat_req2_epn : in std_ulogic_vector(0 to epn_width-1);
ierat_req2_thdid : in std_ulogic_vector(0 to thdid_width-1);
ierat_req2_valid : in std_ulogic;
ierat_req2_nonspec : in std_ulogic;
ierat_req3_pid : in std_ulogic_vector(0 to pid_width-1);
ierat_req3_as : in std_ulogic;
ierat_req3_gs : in std_ulogic;
ierat_req3_epn : in std_ulogic_vector(0 to epn_width-1);
ierat_req3_thdid : in std_ulogic_vector(0 to thdid_width-1);
ierat_req3_valid : in std_ulogic;
ierat_req3_nonspec : in std_ulogic;
ierat_iu4_pid : in std_ulogic_vector(0 to pid_width-1);
ierat_iu4_gs : in std_ulogic;
ierat_iu4_as : in std_ulogic;
ierat_iu4_epn : in std_ulogic_vector(0 to epn_width-1);
ierat_iu4_thdid : in std_ulogic_vector(0 to thdid_width-1);
ierat_iu4_valid : in std_ulogic;
derat_req0_lpid : in std_ulogic_vector(0 to lpid_width-1);
derat_req0_pid : in std_ulogic_vector(0 to pid_width-1);
derat_req0_as : in std_ulogic;
derat_req0_gs : in std_ulogic;
derat_req0_epn : in std_ulogic_vector(0 to epn_width-1);
derat_req0_thdid : in std_ulogic_vector(0 to thdid_width-1);
derat_req0_valid : in std_ulogic;
derat_req1_lpid : in std_ulogic_vector(0 to lpid_width-1);
derat_req1_pid : in std_ulogic_vector(0 to pid_width-1);
derat_req1_as : in std_ulogic;
derat_req1_gs : in std_ulogic;
derat_req1_epn : in std_ulogic_vector(0 to epn_width-1);
derat_req1_thdid : in std_ulogic_vector(0 to thdid_width-1);
derat_req1_valid : in std_ulogic;
derat_req2_lpid : in std_ulogic_vector(0 to lpid_width-1);
derat_req2_pid : in std_ulogic_vector(0 to pid_width-1);
derat_req2_as : in std_ulogic;
derat_req2_gs : in std_ulogic;
derat_req2_epn : in std_ulogic_vector(0 to epn_width-1);
derat_req2_thdid : in std_ulogic_vector(0 to thdid_width-1);
derat_req2_valid : in std_ulogic;
derat_req3_lpid : in std_ulogic_vector(0 to lpid_width-1);
derat_req3_pid : in std_ulogic_vector(0 to pid_width-1);
derat_req3_as : in std_ulogic;
derat_req3_gs : in std_ulogic;
derat_req3_epn : in std_ulogic_vector(0 to epn_width-1);
derat_req3_thdid : in std_ulogic_vector(0 to thdid_width-1);
derat_req3_valid : in std_ulogic;
derat_ex5_lpid : in std_ulogic_vector(0 to lpid_width-1);
derat_ex5_pid : in std_ulogic_vector(0 to pid_width-1);
derat_ex5_gs : in std_ulogic;
derat_ex5_as : in std_ulogic;
derat_ex5_epn : in std_ulogic_vector(0 to epn_width-1);
derat_ex5_thdid : in std_ulogic_vector(0 to thdid_width-1);
derat_ex5_valid : in std_ulogic;
tlb_tag2 : in std_ulogic_vector(0 to tlb_tag_width-1);
tlb_addr2 : in std_ulogic_vector(0 to tlb_addr_width-1);
ex6_illeg_instr : in std_ulogic_vector(0 to 1);
ierat_req_taken : in std_ulogic;
derat_req_taken : in std_ulogic;
ptereload_req_taken : in std_ulogic;
tlb_tag0_type : in std_ulogic_vector(0 to 1);
lrat_tag3_lpn : in std_ulogic_vector(64-real_addr_width to 51);
lrat_tag3_rpn : in std_ulogic_vector(64-real_addr_width to 51);
lrat_tag3_hit_status : in std_ulogic_vector(0 to 3);
lrat_tag3_hit_entry : in std_ulogic_vector(0 to 2);
lrat_tag4_lpn : in std_ulogic_vector(64-real_addr_width to 51);
lrat_tag4_rpn : in std_ulogic_vector(64-real_addr_width to 51);
lrat_tag4_hit_status : in std_ulogic_vector(0 to 3);
lrat_tag4_hit_entry : in std_ulogic_vector(0 to 2);
lru_dataout : in std_ulogic_vector(0 to 15);
tlb_dataout : in std_ulogic_vector(0 to tlb_way_width*tlb_ways-1);
tlb_dataina : out std_ulogic_vector(0 to tlb_way_width-1);
tlb_datainb : out std_ulogic_vector(0 to tlb_way_width-1);
lru_wr_addr : out std_ulogic_vector(0 to tlb_addr_width-1);
lru_write : out std_ulogic_vector(0 to 15);
lru_datain : out std_ulogic_vector(0 to 15);
lru_tag4_dataout : out std_ulogic_vector(0 to 15);
tlb_tag4_esel : out std_ulogic_vector(0 to 2);
tlb_tag4_wq : out std_ulogic_vector(0 to 1);
tlb_tag4_is : out std_ulogic_vector(0 to 1);
tlb_tag4_gs : out std_ulogic;
tlb_tag4_pr : out std_ulogic;
tlb_tag4_hes : out std_ulogic;
tlb_tag4_atsel : out std_ulogic;
tlb_tag4_pt : out std_ulogic;
tlb_tag4_cmp_hit : out std_ulogic;
tlb_tag4_way_ind : out std_ulogic;
tlb_tag4_ptereload : out std_ulogic;
tlb_tag4_endflag : out std_ulogic;
tlb_tag4_parerr : out std_ulogic;
tlb_tag5_except : out std_ulogic_vector(0 to thdid_width-1);
mmucfg_twc : in std_ulogic;
mmucfg_lrat : in std_ulogic;
tlb0cfg_pt : in std_ulogic;
tlb0cfg_gtwe : in std_ulogic;
tlb0cfg_ind : in std_ulogic;
mas2_0_wimge : in std_ulogic_vector(0 to 4);
mas3_0_rpnl : in std_ulogic_vector(32 to 52);
mas3_0_ubits : in std_ulogic_vector(0 to 3);
mas3_0_usxwr : in std_ulogic_vector(0 to 5);
mas7_0_rpnu : in std_ulogic_vector(22 to 31);
mas8_0_vf : in std_ulogic;
mas2_1_wimge : in std_ulogic_vector(0 to 4);
mas3_1_rpnl : in std_ulogic_vector(32 to 52);
mas3_1_ubits : in std_ulogic_vector(0 to 3);
mas3_1_usxwr : in std_ulogic_vector(0 to 5);
mas7_1_rpnu : in std_ulogic_vector(22 to 31);
mas8_1_vf : in std_ulogic;
mas2_2_wimge : in std_ulogic_vector(0 to 4);
mas3_2_rpnl : in std_ulogic_vector(32 to 52);
mas3_2_ubits : in std_ulogic_vector(0 to 3);
mas3_2_usxwr : in std_ulogic_vector(0 to 5);
mas7_2_rpnu : in std_ulogic_vector(22 to 31);
mas8_2_vf : in std_ulogic;
mas2_3_wimge : in std_ulogic_vector(0 to 4);
mas3_3_rpnl : in std_ulogic_vector(32 to 52);
mas3_3_ubits : in std_ulogic_vector(0 to 3);
mas3_3_usxwr : in std_ulogic_vector(0 to 5);
mas7_3_rpnu : in std_ulogic_vector(22 to 31);
mas8_3_vf : in std_ulogic;
tlb_mas0_esel : out std_ulogic_vector(0 to 2);
tlb_mas1_v : out std_ulogic;
tlb_mas1_iprot : out std_ulogic;
tlb_mas1_tid : out std_ulogic_vector(0 to pid_width-1);
tlb_mas1_tid_error : out std_ulogic_vector(0 to pid_width-1);
tlb_mas1_ind : out std_ulogic;
tlb_mas1_ts : out std_ulogic;
tlb_mas1_ts_error : out std_ulogic;
tlb_mas1_tsize : out std_ulogic_vector(0 to 3);
tlb_mas2_epn : out std_ulogic_vector(0 to epn_width-1);
tlb_mas2_epn_error : out std_ulogic_vector(0 to epn_width-1);
tlb_mas2_wimge : out std_ulogic_vector(0 to 4);
tlb_mas3_rpnl : out std_ulogic_vector(32 to 51);
tlb_mas3_ubits : out std_ulogic_vector(0 to 3);
tlb_mas3_usxwr : out std_ulogic_vector(0 to 5);
tlb_mas6_spid : out std_ulogic_vector(0 to pid_width-1);
tlb_mas6_isize : out std_ulogic_vector(0 to 3);
tlb_mas6_sind : out std_ulogic;
tlb_mas6_sas : out std_ulogic;
tlb_mas7_rpnu : out std_ulogic_vector(22 to 31);
tlb_mas8_tgs : out std_ulogic;
tlb_mas8_vf : out std_ulogic;
tlb_mas8_tlpid : out std_ulogic_vector(0 to 7);
tlb_mmucr1_een : out std_ulogic_vector(0 to 8);
tlb_mmucr1_we : out std_ulogic;
tlb_mmucr3_thdid : out std_ulogic_vector(0 to thdid_width-1);
tlb_mmucr3_resvattr : out std_ulogic;
tlb_mmucr3_wlc : out std_ulogic_vector(0 to 1);
tlb_mmucr3_class : out std_ulogic_vector(0 to class_width-1);
tlb_mmucr3_extclass : out std_ulogic_vector(0 to extclass_width-1);
tlb_mmucr3_rc : out std_ulogic_vector(0 to 1);
tlb_mmucr3_x : out std_ulogic;
tlb_mas_tlbre : out std_ulogic;
tlb_mas_tlbsx_hit : out std_ulogic;
tlb_mas_tlbsx_miss : out std_ulogic;
tlb_mas_dtlb_error : out std_ulogic;
tlb_mas_itlb_error : out std_ulogic;
tlb_mas_thdid : out std_ulogic_vector(0 to thdid_width-1);
tlb_htw_req_valid : out std_ulogic;
tlb_htw_req_tag : out std_ulogic_vector(0 to tlb_tag_width-1);
tlb_htw_req_way : out std_ulogic_vector(tlb_word_width to tlb_way_width-1);
tlbwe_back_inv_valid : out std_ulogic;
tlbwe_back_inv_thdid : out std_ulogic_vector(0 to thdid_width-1);
tlbwe_back_inv_addr : out std_ulogic_vector(52-epn_width to 51);
tlbwe_back_inv_attr : out std_ulogic_vector(0 to 34);
ptereload_req_pte_lat : in std_ulogic_vector(0 to pte_width-1);
tlb_ctl_tag2_flush : in std_ulogic_vector(0 to thdid_width-1);
tlb_ctl_tag3_flush : in std_ulogic_vector(0 to thdid_width-1);
tlb_ctl_tag4_flush : in std_ulogic_vector(0 to thdid_width-1);
tlb_resv_match_vec : in std_ulogic_vector(0 to thdid_width-1);
mm_xu_eratmiss_done : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_tlb_miss : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_tlb_inelig : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_lrat_miss : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_pt_fault : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_hv_priv : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_esr_pt : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_esr_data : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_esr_epid : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_esr_st : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_cr0_eq : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_cr0_eq_valid : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_tlb_multihit_err : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_tlb_par_err : out std_ulogic_vector(0 to thdid_width-1);
mm_xu_lru_par_err : out std_ulogic_vector(0 to thdid_width-1);
tlb_delayed_act : in std_ulogic_vector(9 to 16);
tlb_cmp_perf_event_t0 : out std_ulogic_vector(0 to 9);
tlb_cmp_perf_event_t1 : out std_ulogic_vector(0 to 9);
tlb_cmp_perf_event_t2 : out std_ulogic_vector(0 to 9);
tlb_cmp_perf_event_t3 : out std_ulogic_vector(0 to 9);
tlb_cmp_perf_state : out std_ulogic_vector(0 to 1);
tlb_cmp_perf_miss_direct : out std_ulogic;
tlb_cmp_perf_hit_indirect : out std_ulogic;
tlb_cmp_perf_hit_first_page : out std_ulogic;
tlb_cmp_perf_ptereload_noexcep : out std_ulogic;
tlb_cmp_perf_lrat_request : out std_ulogic;
tlb_cmp_perf_lrat_miss : out std_ulogic;
tlb_cmp_perf_pt_fault : out std_ulogic;
tlb_cmp_perf_pt_inelig : out std_ulogic;
tlb_cmp_dbg_tag4 : out std_ulogic_vector(0 to tlb_tag_width-1);
tlb_cmp_dbg_tag4_wayhit : out std_ulogic_vector(0 to tlb_ways);
tlb_cmp_dbg_addr4 : out std_ulogic_vector(0 to tlb_addr_width-1);
tlb_cmp_dbg_tag4_way : out std_ulogic_vector(0 to tlb_way_width-1);
tlb_cmp_dbg_tag4_parerr : out std_ulogic_vector(0 to 4);
tlb_cmp_dbg_tag4_lru_dataout_q : out std_ulogic_vector(0 to 11);
tlb_cmp_dbg_tag5_tlb_datain_q : out std_ulogic_vector(0 to tlb_way_width-1);
tlb_cmp_dbg_tag5_lru_datain_q : out std_ulogic_vector(0 to 11);
tlb_cmp_dbg_tag5_lru_write : out std_ulogic;
tlb_cmp_dbg_tag5_any_exception : out std_ulogic;
tlb_cmp_dbg_tag5_except_type_q : out std_ulogic_vector(0 to 3);
tlb_cmp_dbg_tag5_except_thdid_q : out std_ulogic_vector(0 to 1);
tlb_cmp_dbg_tag5_erat_rel_val : out std_ulogic_vector(0 to 9);
tlb_cmp_dbg_tag5_erat_rel_data : out std_ulogic_vector(0 to 131);
tlb_cmp_dbg_erat_dup_q : out std_ulogic_vector(0 to 19);
tlb_cmp_dbg_addr_enable : out std_ulogic_vector(0 to 8);
tlb_cmp_dbg_pgsize_enable : out std_ulogic;
tlb_cmp_dbg_class_enable : out std_ulogic;
tlb_cmp_dbg_extclass_enable : out std_ulogic_vector(0 to 1);
tlb_cmp_dbg_state_enable : out std_ulogic_vector(0 to 1);
tlb_cmp_dbg_thdid_enable : out std_ulogic;
tlb_cmp_dbg_pid_enable : out std_ulogic;
tlb_cmp_dbg_lpid_enable : out std_ulogic;
tlb_cmp_dbg_ind_enable : out std_ulogic;
tlb_cmp_dbg_iprot_enable : out std_ulogic;
tlb_cmp_dbg_way0_entry_v : out std_ulogic;
tlb_cmp_dbg_way0_addr_match : out std_ulogic;
tlb_cmp_dbg_way0_pgsize_match : out std_ulogic;
tlb_cmp_dbg_way0_class_match : out std_ulogic;
tlb_cmp_dbg_way0_extclass_match : out std_ulogic;
tlb_cmp_dbg_way0_state_match : out std_ulogic;
tlb_cmp_dbg_way0_thdid_match : out std_ulogic;
tlb_cmp_dbg_way0_pid_match : out std_ulogic;
tlb_cmp_dbg_way0_lpid_match : out std_ulogic;
tlb_cmp_dbg_way0_ind_match : out std_ulogic;
tlb_cmp_dbg_way0_iprot_match : out std_ulogic;
tlb_cmp_dbg_way1_entry_v : out std_ulogic;
tlb_cmp_dbg_way1_addr_match : out std_ulogic;
tlb_cmp_dbg_way1_pgsize_match : out std_ulogic;
tlb_cmp_dbg_way1_class_match : out std_ulogic;
tlb_cmp_dbg_way1_extclass_match : out std_ulogic;
tlb_cmp_dbg_way1_state_match : out std_ulogic;
tlb_cmp_dbg_way1_thdid_match : out std_ulogic;
tlb_cmp_dbg_way1_pid_match : out std_ulogic;
tlb_cmp_dbg_way1_lpid_match : out std_ulogic;
tlb_cmp_dbg_way1_ind_match : out std_ulogic;
tlb_cmp_dbg_way1_iprot_match : out std_ulogic;
tlb_cmp_dbg_way2_entry_v : out std_ulogic;
tlb_cmp_dbg_way2_addr_match : out std_ulogic;
tlb_cmp_dbg_way2_pgsize_match : out std_ulogic;
tlb_cmp_dbg_way2_class_match : out std_ulogic;
tlb_cmp_dbg_way2_extclass_match : out std_ulogic;
tlb_cmp_dbg_way2_state_match : out std_ulogic;
tlb_cmp_dbg_way2_thdid_match : out std_ulogic;
tlb_cmp_dbg_way2_pid_match : out std_ulogic;
tlb_cmp_dbg_way2_lpid_match : out std_ulogic;
tlb_cmp_dbg_way2_ind_match : out std_ulogic;
tlb_cmp_dbg_way2_iprot_match : out std_ulogic;
tlb_cmp_dbg_way3_entry_v : out std_ulogic;
tlb_cmp_dbg_way3_addr_match : out std_ulogic;
tlb_cmp_dbg_way3_pgsize_match : out std_ulogic;
tlb_cmp_dbg_way3_class_match : out std_ulogic;
tlb_cmp_dbg_way3_extclass_match : out std_ulogic;
tlb_cmp_dbg_way3_state_match : out std_ulogic;
tlb_cmp_dbg_way3_thdid_match : out std_ulogic;
tlb_cmp_dbg_way3_pid_match : out std_ulogic;
tlb_cmp_dbg_way3_lpid_match : out std_ulogic;
tlb_cmp_dbg_way3_ind_match : out std_ulogic;
tlb_cmp_dbg_way3_iprot_match : out std_ulogic
);
end mmq_tlb_cmp;
ARCHITECTURE MMQ_TLB_CMP
OF MMQ_TLB_CMP
IS
SIGNAL LRU_UPDATE_DATA_PT : STD_ULOGIC_VECTOR(1 TO 175) :=
(OTHERS=> 'U');
component mmq_tlb_matchline
generic ( have_xbit : integer := 1;
num_pgsizes : integer := 5;
have_cmpmask : integer := 1;
cmpmask_width : integer := 5);
port(
vdd : inout power_logic;
gnd : inout power_logic;
addr_in : in std_ulogic_vector(0 to 51);
addr_enable : in std_ulogic_vector(0 to 8);
comp_pgsize : in std_ulogic_vector(0 to 3);
pgsize_enable : in std_ulogic;
entry_size : in std_ulogic_vector(0 to 3);
entry_cmpmask : in std_ulogic_vector(0 to cmpmask_width-1);
entry_xbit : in std_ulogic;
entry_xbitmask : in std_ulogic_vector(0 to cmpmask_width-1);
entry_epn : in std_ulogic_vector(0 to 51);
comp_class : in std_ulogic_vector(0 to 1);
entry_class : in std_ulogic_vector(0 to 1);
class_enable : in std_ulogic;
comp_extclass : in std_ulogic_vector(0 to 1);
entry_extclass : in std_ulogic_vector(0 to 1);
extclass_enable : in std_ulogic_vector(0 to 1);
comp_state : in std_ulogic_vector(0 to 1);
entry_gs : in std_ulogic;
entry_ts : in std_ulogic;
state_enable : in std_ulogic_vector(0 to 1);
entry_thdid : in std_ulogic_vector(0 to 3);
comp_thdid : in std_ulogic_vector(0 to 3);
thdid_enable : in std_ulogic;
entry_pid : in std_ulogic_vector(0 to 13);
comp_pid : in std_ulogic_vector(0 to 13);
pid_enable : in std_ulogic;
entry_lpid : in std_ulogic_vector(0 to 7);
comp_lpid : in std_ulogic_vector(0 to 7);
lpid_enable : in std_ulogic;
entry_ind : in std_ulogic;
comp_ind : in std_ulogic;
ind_enable : in std_ulogic;
entry_iprot : in std_ulogic;
comp_iprot : in std_ulogic;
iprot_enable : in std_ulogic;
entry_v : in std_ulogic;
comp_invalidate : in std_ulogic;
match : out std_ulogic;
dbg_addr_match : out std_ulogic;
dbg_pgsize_match : out std_ulogic;
dbg_class_match : out std_ulogic;
dbg_extclass_match : out std_ulogic;
dbg_state_match : out std_ulogic;
dbg_thdid_match : out std_ulogic;
dbg_pid_match : out std_ulogic;
dbg_lpid_match : out std_ulogic;
dbg_ind_match : out std_ulogic;
dbg_iprot_match : out std_ulogic
);
end component;
constant MMU_Mode_Value : std_ulogic := '0';
constant TlbSel_Tlb : std_ulogic_vector(0 to 1) := "00";
constant TlbSel_IErat : std_ulogic_vector(0 to 1) := "10";
constant TlbSel_DErat : std_ulogic_vector(0 to 1) := "11";
constant ERAT_PgSize_1GB : std_ulogic_vector(0 to 2) := "110";
constant ERAT_PgSize_16MB : std_ulogic_vector(0 to 2) := "111";
constant ERAT_PgSize_1MB : std_ulogic_vector(0 to 2) := "101";
constant ERAT_PgSize_64KB : std_ulogic_vector(0 to 2) := "011";
constant ERAT_PgSize_4KB : std_ulogic_vector(0 to 2) := "001";
constant TLB_PgSize_1GB : std_ulogic_vector(0 to 3) := "1010";
constant TLB_PgSize_16MB : std_ulogic_vector(0 to 3) := "0111";
constant TLB_PgSize_1MB : std_ulogic_vector(0 to 3) := "0101";
constant TLB_PgSize_64KB : std_ulogic_vector(0 to 3) := "0011";
constant TLB_PgSize_4KB : std_ulogic_vector(0 to 3) := "0001";
constant ERAT_PgSize_256MB : std_ulogic_vector(0 to 2) := "100";
constant TLB_PgSize_256MB : std_ulogic_vector(0 to 3) := "1001";
constant tlb_way0_offset : natural := 0;
constant tlb_way1_offset : natural := tlb_way0_offset + tlb_way_width;
constant tlb_way0_cmpmask_offset : natural := tlb_way1_offset + tlb_way_width;
constant tlb_way1_cmpmask_offset : natural := tlb_way0_cmpmask_offset + 5;
constant tlb_way0_xbitmask_offset : natural := tlb_way1_cmpmask_offset + 5;
constant tlb_way1_xbitmask_offset : natural := tlb_way0_xbitmask_offset + 5;
constant tlb_tag3_cmpmask_offset : natural := tlb_way1_xbitmask_offset + 5;
constant tlb_tag3_clone1_offset : natural := tlb_tag3_cmpmask_offset + 5;
constant tlb_tag4_way_offset : natural := tlb_tag3_clone1_offset + tlb_tag_width;
constant tlb_tag4_way_rw_offset : natural := tlb_tag4_way_offset + tlb_way_width;
constant tlb_dataina_offset : natural := tlb_tag4_way_rw_offset + tlb_way_width;
constant tlb_erat_rel_offset : natural := tlb_dataina_offset + tlb_way_width;
constant mmucr1_offset : natural := tlb_erat_rel_offset + 132;
constant spare_a_offset : natural := mmucr1_offset + 9;
constant scan_right_0 : natural := spare_a_offset + 16 -1;
constant tlb_way2_offset : natural := 0;
constant tlb_way3_offset : natural := tlb_way2_offset + tlb_way_width;
constant tlb_way2_cmpmask_offset : natural := tlb_way3_offset + tlb_way_width;
constant tlb_way3_cmpmask_offset : natural := tlb_way2_cmpmask_offset + 5;
constant tlb_way2_xbitmask_offset : natural := tlb_way3_cmpmask_offset + 5;
constant tlb_way3_xbitmask_offset : natural := tlb_way2_xbitmask_offset + 5;
constant tlb_tag3_clone2_offset : natural := tlb_way3_xbitmask_offset + 5;
constant tlb_tag3_cmpmask_clone_offset : natural := tlb_tag3_clone2_offset + tlb_tag_width;
constant tlb_erat_rel_clone_offset : natural := tlb_tag3_cmpmask_clone_offset + 5;
constant tlb_tag4_way_clone_offset : natural := tlb_erat_rel_clone_offset + 132;
constant tlb_tag4_way_rw_clone_offset : natural := tlb_tag4_way_clone_offset + tlb_way_width;
constant tlb_datainb_offset : natural := tlb_tag4_way_rw_clone_offset + tlb_way_width;
constant mmucr1_clone_offset : natural := tlb_datainb_offset + tlb_way_width;
constant spare_b_offset : natural := mmucr1_clone_offset + 9;
constant scan_right_1 : natural := spare_b_offset + 16 -1;
constant tlb_tag3_offset : natural := 0;
constant tlb_addr3_offset : natural := tlb_tag3_offset + tlb_tag_width;
constant lru_tag3_dataout_offset : natural := tlb_addr3_offset + tlb_addr_width;
constant tlb_tag4_offset : natural := lru_tag3_dataout_offset + 16;
constant tlb_tag4_wayhit_offset : natural := tlb_tag4_offset + tlb_tag_width;
constant tlb_addr4_offset : natural := tlb_tag4_wayhit_offset + tlb_ways+1;
constant lru_tag4_dataout_offset : natural := tlb_addr4_offset + tlb_addr_width;
constant tlbwe_tag4_back_inv_offset : natural := lru_tag4_dataout_offset + 16;
constant tlbwe_tag4_back_inv_attr_offset : natural := tlbwe_tag4_back_inv_offset + thdid_width + 1;
constant tlb_erat_val_offset : natural := tlbwe_tag4_back_inv_attr_offset + 2;
constant tlb_erat_dup_offset : natural := tlb_erat_val_offset + 2*thdid_width+2;
constant lru_write_offset : natural := tlb_erat_dup_offset + 2*thdid_width+12;
constant lru_wr_addr_offset : natural := lru_write_offset + 16;
constant lru_datain_offset : natural := lru_wr_addr_offset + tlb_addr_width;
constant eratmiss_done_offset : natural := lru_datain_offset + 16;
constant tlb_miss_offset : natural := eratmiss_done_offset + thdid_width;
constant tlb_inelig_offset : natural := tlb_miss_offset + thdid_width;
constant lrat_miss_offset : natural := tlb_inelig_offset + thdid_width;
constant pt_fault_offset : natural := lrat_miss_offset + thdid_width;
constant hv_priv_offset : natural := pt_fault_offset + thdid_width;
constant tlb_tag5_except_offset : natural := hv_priv_offset + thdid_width;
constant tlb_dsi_offset : natural := tlb_tag5_except_offset + thdid_width;
constant tlb_isi_offset : natural := tlb_dsi_offset + thdid_width;
constant esr_pt_offset : natural := tlb_isi_offset + thdid_width;
constant esr_data_offset : natural := esr_pt_offset + thdid_width;
constant esr_epid_offset : natural := esr_data_offset + thdid_width;
constant esr_st_offset : natural := esr_epid_offset + thdid_width;
constant cr0_eq_offset : natural := esr_st_offset + thdid_width;
constant cr0_eq_valid_offset : natural := cr0_eq_offset + thdid_width;
constant tlb_multihit_err_offset : natural := cr0_eq_valid_offset + thdid_width;
constant tag4_parerr_offset : natural := tlb_multihit_err_offset + thdid_width;
constant tlb_par_err_offset : natural := tag4_parerr_offset + 5;
constant lru_par_err_offset : natural := tlb_par_err_offset + thdid_width;
constant cswitch_offset : natural := lru_par_err_offset + thdid_width;
constant spare_c_offset : natural := cswitch_offset + 8;
constant scan_right_2 : natural := spare_c_offset + 16 - 1;
constant tagpos_epn : natural := 0;
constant tagpos_pid : natural := 52;
constant tagpos_is : natural := 66;
constant tagpos_class : natural := 68;
constant tagpos_state : natural := 70;
constant tagpos_thdid : natural := 74;
constant tagpos_size : natural := 78;
constant tagpos_type : natural := 82;
constant tagpos_lpid : natural := 90;
constant tagpos_ind : natural := 98;
constant tagpos_atsel : natural := 99;
constant tagpos_esel : natural := 100;
constant tagpos_hes : natural := 103;
constant tagpos_wq : natural := 104;
constant tagpos_lrat : natural := 106;
constant tagpos_pt : natural := 107;
constant tagpos_recform : natural := 108;
constant tagpos_endflag : natural := 109;
constant tagpos_type_derat : natural := tagpos_type;
constant tagpos_type_ierat : natural := tagpos_type+1;
constant tagpos_type_tlbsx : natural := tagpos_type+2;
constant tagpos_type_tlbsrx : natural := tagpos_type+3;
constant tagpos_type_snoop : natural := tagpos_type+4;
constant tagpos_type_tlbre : natural := tagpos_type+5;
constant tagpos_type_tlbwe : natural := tagpos_type+6;
constant tagpos_type_ptereload : natural := tagpos_type+7;
constant tagpos_pr : natural := tagpos_state;
constant tagpos_gs : natural := tagpos_state+1;
constant tagpos_as : natural := tagpos_state+2;
constant tagpos_cm : natural := tagpos_state+3;
constant waypos_epn : natural := 0;
constant waypos_size : natural := 52;
constant waypos_thdid : natural := 56;
constant waypos_class : natural := 60;
constant waypos_extclass : natural := 62;
constant waypos_lpid : natural := 66;
constant waypos_xbit : natural := 84;
constant waypos_rpn : natural := 88;
constant waypos_rc : natural := 118;
constant waypos_wlc : natural := 120;
constant waypos_resvattr : natural := 122;
constant waypos_vf : natural := 123;
constant waypos_ind : natural := 124;
constant waypos_ubits : natural := 125;
constant waypos_wimge : natural := 129;
constant waypos_usxwr : natural := 134;
constant waypos_gs : natural := 140;
constant waypos_ts : natural := 141;
constant waypos_tid : natural := 144;
constant eratpos_epn : natural := 0;
constant eratpos_x : natural := 52;
constant eratpos_size : natural := 53;
constant eratpos_v : natural := 56;
constant eratpos_thdid : natural := 57;
constant eratpos_class : natural := 61;
constant eratpos_extclass : natural := 63;
constant eratpos_wren : natural := 65;
constant eratpos_rpnrsvd : natural := 66;
constant eratpos_rpn : natural := 70;
constant eratpos_r : natural := 100;
constant eratpos_c : natural := 101;
constant eratpos_relsoon : natural := 102;
constant eratpos_wlc : natural := 103;
constant eratpos_resvattr : natural := 105;
constant eratpos_vf : natural := 106;
constant eratpos_ubits : natural := 107;
constant eratpos_wimge : natural := 111;
constant eratpos_usxwr : natural := 116;
constant eratpos_gs : natural := 122;
constant eratpos_ts : natural := 123;
constant eratpos_tid : natural := 124;
constant ptepos_rpn : natural := 0;
constant ptepos_wimge : natural := 40;
constant ptepos_r : natural := 45;
constant ptepos_ubits : natural := 46;
constant ptepos_sw0 : natural := 50;
constant ptepos_c : natural := 51;
constant ptepos_size : natural := 52;
constant ptepos_usxwr : natural := 56;
constant ptepos_sw1 : natural := 62;
constant ptepos_valid : natural := 63;
constant pos_tlb_pei : natural := 10;
constant pos_lru_pei : natural := 11;
constant pos_ictid : natural := 12;
constant pos_ittid : natural := 13;
constant pos_dctid : natural := 14;
constant pos_dttid : natural := 15;
constant pos_dccd : natural := 16;
constant pos_tlbwe_binv : natural := 17;
constant pos_tlbi_msb : natural := 18;
constant pos_tlbi_rej : natural := 19;
signal tlb_way0_d, tlb_way0_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_way1_d, tlb_way1_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_way2_d, tlb_way2_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_way3_d, tlb_way3_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_tag3_d, tlb_tag3_q : std_ulogic_vector(0 to tlb_tag_width-1);
signal tlb_tag3_clone1_d, tlb_tag3_clone1_q : std_ulogic_vector(0 to tlb_tag_width-1);
signal tlb_tag3_clone2_d, tlb_tag3_clone2_q : std_ulogic_vector(0 to tlb_tag_width-1);
signal tlb_addr3_d, tlb_addr3_q : std_ulogic_vector(0 to tlb_addr_width-1);
signal lru_tag3_dataout_d, lru_tag3_dataout_q : std_ulogic_vector(0 to 15);
signal tlb_tag3_cmpmask_d, tlb_tag3_cmpmask_q : std_ulogic_vector(0 to 4);
signal tlb_tag3_cmpmask_clone_d, tlb_tag3_cmpmask_clone_q : std_ulogic_vector(0 to 4);
signal tlb_way0_cmpmask_d, tlb_way0_cmpmask_q : std_ulogic_vector(0 to 4);
signal tlb_way1_cmpmask_d, tlb_way1_cmpmask_q : std_ulogic_vector(0 to 4);
signal tlb_way2_cmpmask_d, tlb_way2_cmpmask_q : std_ulogic_vector(0 to 4);
signal tlb_way3_cmpmask_d, tlb_way3_cmpmask_q : std_ulogic_vector(0 to 4);
signal tlb_way0_xbitmask_d, tlb_way0_xbitmask_q : std_ulogic_vector(0 to 4);
signal tlb_way1_xbitmask_d, tlb_way1_xbitmask_q : std_ulogic_vector(0 to 4);
signal tlb_way2_xbitmask_d, tlb_way2_xbitmask_q : std_ulogic_vector(0 to 4);
signal tlb_way3_xbitmask_d, tlb_way3_xbitmask_q : std_ulogic_vector(0 to 4);
signal tlb_tag4_d, tlb_tag4_q : std_ulogic_vector(0 to tlb_tag_width-1);
signal tlb_tag4_wayhit_d, tlb_tag4_wayhit_q : std_ulogic_vector(0 to tlb_ways);
signal tlb_addr4_d, tlb_addr4_q : std_ulogic_vector(0 to tlb_addr_width-1);
signal tlb_dataina_d, tlb_dataina_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_datainb_d, tlb_datainb_q : std_ulogic_vector(0 to tlb_way_width-1);
signal lru_tag4_dataout_d, lru_tag4_dataout_q : std_ulogic_vector(0 to lru_width-1);
signal tlb_tag4_way_d, tlb_tag4_way_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_tag4_way_clone_d, tlb_tag4_way_clone_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_tag4_way_rw_d, tlb_tag4_way_rw_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_tag4_way_rw_clone_d, tlb_tag4_way_rw_clone_q : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_tag4_way_rw_or : std_ulogic_vector(0 to tlb_way_width-1);
signal tlbwe_tag4_back_inv_d, tlbwe_tag4_back_inv_q : std_ulogic_vector(0 to thdid_width);
signal tlbwe_tag4_back_inv_attr_d, tlbwe_tag4_back_inv_attr_q : std_ulogic_vector(18 to 19);
signal tlb_erat_val_d, tlb_erat_val_q : std_ulogic_vector(0 to 2*thdid_width+1);
signal tlb_erat_rel_d, tlb_erat_rel_q : std_ulogic_vector(0 to erat_rel_data_width-1);
signal tlb_erat_rel_clone_d, tlb_erat_rel_clone_q : std_ulogic_vector(0 to erat_rel_data_width-1);
signal tlb_erat_dup_d, tlb_erat_dup_q : std_ulogic_vector(0 to 2*thdid_width+11);
signal lru_write_d, lru_write_q : std_ulogic_vector(0 to 15);
signal lru_wr_addr_d, lru_wr_addr_q : std_ulogic_vector(0 to tlb_addr_width-1);
signal lru_datain_d, lru_datain_q : std_ulogic_vector(0 to 15);
signal eratmiss_done_d, eratmiss_done_q : std_ulogic_vector(0 to thdid_width-1);
signal tlb_miss_d, tlb_miss_q : std_ulogic_vector(0 to thdid_width-1);
signal tlb_inelig_d, tlb_inelig_q : std_ulogic_vector(0 to thdid_width-1);
signal lrat_miss_d, lrat_miss_q : std_ulogic_vector(0 to thdid_width-1);
signal pt_fault_d, pt_fault_q : std_ulogic_vector(0 to thdid_width-1);
signal hv_priv_d, hv_priv_q : std_ulogic_vector(0 to thdid_width-1);
signal tlb_tag5_except_d, tlb_tag5_except_q : std_ulogic_vector(0 to thdid_width-1);
signal tlb_dsi_d, tlb_dsi_q : std_ulogic_vector(0 to thdid_width-1);
signal tlb_isi_d, tlb_isi_q : std_ulogic_vector(0 to thdid_width-1);
signal esr_pt_d, esr_pt_q : std_ulogic_vector(0 to thdid_width-1);
signal esr_data_d, esr_data_q : std_ulogic_vector(0 to thdid_width-1);
signal esr_epid_d, esr_epid_q : std_ulogic_vector(0 to thdid_width-1);
signal esr_st_d, esr_st_q : std_ulogic_vector(0 to thdid_width-1);
signal tlb_multihit_err_d, tlb_multihit_err_q : std_ulogic_vector(0 to thdid_width-1);
signal tag4_parerr_d, tag4_parerr_q : std_ulogic_vector(0 to 4);
signal tlb_par_err_d, tlb_par_err_q : std_ulogic_vector(0 to thdid_width-1);
signal lru_par_err_d, lru_par_err_q : std_ulogic_vector(0 to thdid_width-1);
signal cr0_eq_d, cr0_eq_q : std_ulogic_vector(0 to thdid_width-1);
signal cr0_eq_valid_d, cr0_eq_valid_q : std_ulogic_vector(0 to thdid_width-1);
signal mmucr1_q, mmucr1_clone_q : std_ulogic_vector(10 to 18);
signal epcr_dmiuh_q : std_ulogic_vector(0 to thdid_width-1);
signal msr_gs_q, msr_pr_q : std_ulogic_vector(0 to thdid_width-1);
signal spare_a_q, spare_b_q, spare_c_q : std_ulogic_vector(0 to 15);
signal spare_nsl_q, spare_nsl_clone_q : std_ulogic_vector(0 to 7);
signal cswitch_q : std_ulogic_vector(0 to 7);
signal pgsize_enable,class_enable,thdid_enable,pid_enable,lpid_enable,ind_enable,iprot_enable : std_ulogic;
signal state_enable,extclass_enable : std_ulogic_vector(0 to 1);
signal addr_enable : std_ulogic_vector(0 to 8);
signal comp_iprot : std_ulogic;
signal comp_extclass : std_ulogic_vector(0 to 1);
signal comp_ind : std_ulogic;
signal pgsize_enable_clone,class_enable_clone,thdid_enable_clone,pid_enable_clone,lpid_enable_clone,ind_enable_clone,iprot_enable_clone : std_ulogic;
signal state_enable_clone,extclass_enable_clone : std_ulogic_vector(0 to 1);
signal addr_enable_clone : std_ulogic_vector(0 to 8);
signal comp_iprot_clone : std_ulogic;
signal comp_extclass_clone : std_ulogic_vector(0 to 1);
signal comp_ind_clone : std_ulogic;
-- synopsys translate_off
-- synopsys translate_on
signal tlbwe_tag3_back_inv_enab : std_ulogic;
signal tlb_tag4_way_or : std_ulogic_vector(0 to tlb_way_width-1);
signal tlb_tag4_way_act : std_ulogic;
signal tlb_tag4_way_clone_act : std_ulogic;
signal tlb_tag4_way_rw_act : std_ulogic;
signal tlb_tag4_way_rw_clone_act : std_ulogic;
signal tlb_tag4_type_sig : std_ulogic_vector(0 to 7);
signal tlb_tag4_esel_sig : std_ulogic_vector(0 to 2);
signal tlb_tag4_hes_sig : std_ulogic;
signal tlb_tag4_wq_sig : std_ulogic_vector(0 to 1);
signal tlb_tag4_is_sig : std_ulogic_vector(0 to 3);
signal lru_update_data : std_ulogic_vector(0 to 2);
signal lru_update_data_enab, lru_update_clear_enab : std_ulogic;
signal tlb_tag4_hes1_mas1_v : std_ulogic_vector(0 to thdid_width-1);
signal tlb_tag4_hes0_mas1_v : std_ulogic_vector(0 to thdid_width-1);
signal tlb_tag4_hes1_mas1_iprot : std_ulogic_vector(0 to thdid_width-1);
signal tlb_tag4_hes0_mas1_iprot : std_ulogic_vector(0 to thdid_width-1);
signal tlb_tag4_ptereload_v : std_ulogic_vector(0 to thdid_width-1);
signal tlb_tag4_ptereload_iprot : std_ulogic_vector(0 to thdid_width-1);
signal tlb_tag4_ptereload_sig : std_ulogic;
signal tlb_tag4_erat_data_cap : std_ulogic;
signal tlb_wayhit : std_ulogic_vector(0 to tlb_ways-1);
signal multihit : std_ulogic;
signal erat_pgsize : std_ulogic_vector(0 to 2);
signal tlb_tag4_size_not_supp : std_ulogic;
signal tlb_tag4_hv_op : std_ulogic;
signal tlb_tag4_epcr_dgtmi : std_ulogic;
signal tlb_way0_addr_match : std_ulogic;
signal tlb_way0_pgsize_match : std_ulogic;
signal tlb_way0_class_match : std_ulogic;
signal tlb_way0_extclass_match : std_ulogic;
signal tlb_way0_state_match : std_ulogic;
signal tlb_way0_thdid_match : std_ulogic;
signal tlb_way0_pid_match : std_ulogic;
signal tlb_way0_lpid_match : std_ulogic;
signal tlb_way0_ind_match : std_ulogic;
signal tlb_way0_iprot_match : std_ulogic;
signal tlb_way1_addr_match : std_ulogic;
signal tlb_way1_pgsize_match : std_ulogic;
signal tlb_way1_class_match : std_ulogic;
signal tlb_way1_extclass_match : std_ulogic;
signal tlb_way1_state_match : std_ulogic;
signal tlb_way1_thdid_match : std_ulogic;
signal tlb_way1_pid_match : std_ulogic;
signal tlb_way1_lpid_match : std_ulogic;
signal tlb_way1_ind_match : std_ulogic;
signal tlb_way1_iprot_match : std_ulogic;
signal tlb_way2_addr_match : std_ulogic;
signal tlb_way2_pgsize_match : std_ulogic;
signal tlb_way2_class_match : std_ulogic;
signal tlb_way2_extclass_match : std_ulogic;
signal tlb_way2_state_match : std_ulogic;
signal tlb_way2_thdid_match : std_ulogic;
signal tlb_way2_pid_match : std_ulogic;
signal tlb_way2_lpid_match : std_ulogic;
signal tlb_way2_ind_match : std_ulogic;
signal tlb_way2_iprot_match : std_ulogic;
signal tlb_way3_addr_match : std_ulogic;
signal tlb_way3_pgsize_match : std_ulogic;
signal tlb_way3_class_match : std_ulogic;
signal tlb_way3_extclass_match : std_ulogic;
signal tlb_way3_state_match : std_ulogic;
signal tlb_way3_thdid_match : std_ulogic;
signal tlb_way3_pid_match : std_ulogic;
signal tlb_way3_lpid_match : std_ulogic;
signal tlb_way3_ind_match : std_ulogic;
signal tlb_way3_iprot_match : std_ulogic;
-- synopsys translate_off
-- synopsys translate_on
signal ierat_req0_tag4_pid_match : std_ulogic;
signal ierat_req0_tag4_as_match : std_ulogic;
signal ierat_req0_tag4_gs_match : std_ulogic;
signal ierat_req0_tag4_epn_match : std_ulogic;
signal ierat_req0_tag4_thdid_match : std_ulogic;
signal ierat_req1_tag4_pid_match : std_ulogic;
signal ierat_req1_tag4_as_match : std_ulogic;
signal ierat_req1_tag4_gs_match : std_ulogic;
signal ierat_req1_tag4_epn_match : std_ulogic;
signal ierat_req1_tag4_thdid_match : std_ulogic;
signal ierat_req2_tag4_pid_match : std_ulogic;
signal ierat_req2_tag4_as_match : std_ulogic;
signal ierat_req2_tag4_gs_match : std_ulogic;
signal ierat_req2_tag4_epn_match : std_ulogic;
signal ierat_req2_tag4_thdid_match : std_ulogic;
signal ierat_req3_tag4_pid_match : std_ulogic;
signal ierat_req3_tag4_as_match : std_ulogic;
signal ierat_req3_tag4_gs_match : std_ulogic;
signal ierat_req3_tag4_epn_match : std_ulogic;
signal ierat_req3_tag4_thdid_match : std_ulogic;
signal ierat_iu4_tag4_lpid_match : std_ulogic;
signal ierat_iu4_tag4_pid_match : std_ulogic;
signal ierat_iu4_tag4_as_match : std_ulogic;
signal ierat_iu4_tag4_gs_match : std_ulogic;
signal ierat_iu4_tag4_epn_match : std_ulogic;
signal ierat_iu4_tag4_thdid_match : std_ulogic;
signal derat_req0_tag4_lpid_match : std_ulogic;
signal derat_req0_tag4_pid_match : std_ulogic;
signal derat_req0_tag4_as_match : std_ulogic;
signal derat_req0_tag4_gs_match : std_ulogic;
signal derat_req0_tag4_epn_match : std_ulogic;
signal derat_req0_tag4_thdid_match : std_ulogic;
signal derat_req1_tag4_lpid_match : std_ulogic;
signal derat_req1_tag4_pid_match : std_ulogic;
signal derat_req1_tag4_as_match : std_ulogic;
signal derat_req1_tag4_gs_match : std_ulogic;
signal derat_req1_tag4_epn_match : std_ulogic;
signal derat_req1_tag4_thdid_match : std_ulogic;
signal derat_req2_tag4_lpid_match : std_ulogic;
signal derat_req2_tag4_pid_match : std_ulogic;
signal derat_req2_tag4_as_match : std_ulogic;
signal derat_req2_tag4_gs_match : std_ulogic;
signal derat_req2_tag4_epn_match : std_ulogic;
signal derat_req2_tag4_thdid_match : std_ulogic;
signal derat_req3_tag4_lpid_match : std_ulogic;
signal derat_req3_tag4_pid_match : std_ulogic;
signal derat_req3_tag4_as_match : std_ulogic;
signal derat_req3_tag4_gs_match : std_ulogic;
signal derat_req3_tag4_epn_match : std_ulogic;
signal derat_req3_tag4_thdid_match : std_ulogic;
signal derat_ex5_tag4_lpid_match : std_ulogic;
signal derat_ex5_tag4_pid_match : std_ulogic;
signal derat_ex5_tag4_as_match : std_ulogic;
signal derat_ex5_tag4_gs_match : std_ulogic;
signal derat_ex5_tag4_epn_match : std_ulogic;
signal derat_ex5_tag4_thdid_match : std_ulogic;
signal ierat_tag4_dup_thdid : std_ulogic_vector(0 to thdid_width-1);
signal derat_tag4_dup_thdid : std_ulogic_vector(0 to thdid_width-1);
signal tlb_way0_lo_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way0_hi_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way0_parerr : std_ulogic;
signal tlb_way1_lo_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way1_hi_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way1_parerr : std_ulogic;
signal tlb_way2_lo_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way2_hi_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way2_parerr : std_ulogic;
signal tlb_way3_lo_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way3_hi_calc_par : std_ulogic_vector(0 to 9);
signal tlb_way3_parerr : std_ulogic;
signal lru_calc_par : std_ulogic_vector(0 to 1);
signal tlb_datain_lo_tlbwe_0_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_lo_tlbwe_0_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_hv_tlbwe_0_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_gs_tlbwe_0_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_hv_tlbwe_0_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_gs_tlbwe_0_par : std_ulogic_vector(0 to 9);
signal tlb_datain_lo_tlbwe_1_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_lo_tlbwe_1_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_hv_tlbwe_1_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_gs_tlbwe_1_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_hv_tlbwe_1_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_gs_tlbwe_1_par : std_ulogic_vector(0 to 9);
signal tlb_datain_lo_tlbwe_2_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_lo_tlbwe_2_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_hv_tlbwe_2_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_gs_tlbwe_2_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_hv_tlbwe_2_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_gs_tlbwe_2_par : std_ulogic_vector(0 to 9);
signal tlb_datain_lo_tlbwe_3_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_lo_tlbwe_3_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_hv_tlbwe_3_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_gs_tlbwe_3_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_hv_tlbwe_3_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_gs_tlbwe_3_par : std_ulogic_vector(0 to 9);
signal tlb_datain_lo_ptereload_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_lo_ptereload_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_hv_ptereload_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_gs_ptereload_nopar : std_ulogic_vector(0 to tlb_word_width-10-1);
signal tlb_datain_hi_hv_ptereload_par : std_ulogic_vector(0 to 9);
signal tlb_datain_hi_gs_ptereload_par : std_ulogic_vector(0 to 9);
signal ptereload_req_derived_usxwr : std_ulogic_vector(0 to 5);
signal lrat_tag3_lpn_sig : std_ulogic_vector(22 to 51);
signal lrat_tag3_rpn_sig : std_ulogic_vector(22 to 51);
signal lrat_tag4_lpn_sig : std_ulogic_vector(22 to 51);
signal lrat_tag4_rpn_sig : std_ulogic_vector(22 to 51);
-- synopsys translate_off
-- synopsys translate_on
signal lru_datain_alt_d : std_ulogic_vector(4 to 9);
signal lru_update_data_alt : std_ulogic_vector(0 to 2);
signal tlb_tag4_parerr_enab : std_ulogic;
signal tlb_tag4_tlbre_parerr : std_ulogic;
signal lru_update_data_snoophit_eco : std_ulogic_vector(0 to 2);
signal lru_update_data_erathit_eco : std_ulogic_vector(0 to 2);
-- synopsys translate_off
-- synopsys translate_on
signal unused_dc : std_ulogic_vector(0 to 38);
-- synopsys translate_off
-- synopsys translate_on
signal ECO107332_orred_tag4_thdid_flushed : std_ulogic;
signal ECO107332_tlb_par_err_d : std_ulogic_vector(0 to thdid_width-1);
signal ECO107332_lru_par_err_d : std_ulogic_vector(0 to thdid_width-1);
signal pc_sg_1 : std_ulogic;
signal pc_sg_0 : std_ulogic;
signal pc_fce_1 : std_ulogic;
signal pc_fce_0 : std_ulogic;
signal pc_func_sl_thold_1 : std_ulogic;
signal pc_func_sl_thold_0 : std_ulogic;
signal pc_func_sl_thold_0_b : std_ulogic;
signal pc_func_slp_sl_thold_1 : std_ulogic;
signal pc_func_slp_sl_thold_0 : std_ulogic;
signal pc_func_slp_sl_thold_0_b : std_ulogic;
signal pc_func_sl_force : std_ulogic;
signal pc_func_slp_sl_force : std_ulogic;
signal pc_func_slp_nsl_thold_1 : std_ulogic;
signal pc_func_slp_nsl_thold_0 : std_ulogic;
signal pc_func_slp_nsl_thold_0_b : std_ulogic_vector(0 to 1);
signal pc_func_slp_nsl_force : std_ulogic_vector(0 to 1);
signal siv_0, sov_0 : std_ulogic_vector(0 to scan_right_0);
signal siv_1, sov_1 : std_ulogic_vector(0 to scan_right_1);
signal siv_2, sov_2 : std_ulogic_vector(0 to scan_right_2);
signal tidn : std_ulogic;
signal tiup : std_ulogic;
BEGIN
tidn <= '0';
tiup <= '1';
tlb_addr3_d <= tlb_addr2;
tlb_way0_d <= tlb_dataout(0 to tlb_way_width-1);
tlb_way1_d <= tlb_dataout(tlb_way_width to 2*tlb_way_width-1);
tlb_way2_d <= tlb_dataout(2*tlb_way_width to 3*tlb_way_width-1);
tlb_way3_d <= tlb_dataout(3*tlb_way_width to 4*tlb_way_width-1);
tlb_tag3_d(0 TO tagpos_thdid-1) <= tlb_tag2(0 to tagpos_thdid-1);
tlb_tag3_d(tagpos_thdid TO tagpos_thdid+thdid_width-1) <=
(others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
tlb_tag4_q(tagpos_type_ptereload)='0' and
(tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1'))
else (others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
(tlb_tag4_q(tagpos_type_tlbsx)='1' or tlb_tag4_q(tagpos_type_tlbsrx)='1'))
else (others => '0') when (tlb_tag4_q(tagpos_endflag)='1' and tlb_tag4_q(tagpos_type_snoop)='1')
else (others => '0') when ((tlb_tag4_q(tagpos_type_tlbre)='1' or tlb_tag4_q(tagpos_type_tlbwe)='1' or tlb_tag4_q(tagpos_type_ptereload)='1' ) and
tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
else tlb_tag2(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag2_flush);
tlb_tag3_d(tagpos_thdid+thdid_width TO tlb_tag_width-1) <= tlb_tag2(tagpos_thdid+thdid_width to tlb_tag_width-1);
tlb_tag3_clone1_d(0 TO tagpos_thdid-1) <= tlb_tag2(0 to tagpos_thdid-1);
tlb_tag3_clone1_d(tagpos_thdid TO tagpos_thdid+thdid_width-1) <=
(others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
tlb_tag4_q(tagpos_type_ptereload)='0' and
(tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1'))
else (others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
(tlb_tag4_q(tagpos_type_tlbsx)='1' or tlb_tag4_q(tagpos_type_tlbsrx)='1'))
else (others => '0') when (tlb_tag4_q(tagpos_endflag)='1' and tlb_tag4_q(tagpos_type_snoop)='1')
else (others => '0') when ((tlb_tag4_q(tagpos_type_tlbre)='1' or tlb_tag4_q(tagpos_type_tlbwe)='1' or tlb_tag4_q(tagpos_type_ptereload)='1' ) and
tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
else tlb_tag2(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag2_flush);
tlb_tag3_clone1_d(tagpos_thdid+thdid_width TO tlb_tag_width-1) <= tlb_tag2(tagpos_thdid+thdid_width to tlb_tag_width-1);
tlb_tag3_clone2_d(0 TO tagpos_thdid-1) <= tlb_tag2(0 to tagpos_thdid-1);
tlb_tag3_clone2_d(tagpos_thdid TO tagpos_thdid+thdid_width-1) <=
(others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
tlb_tag4_q(tagpos_type_ptereload)='0' and
(tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1'))
else (others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
(tlb_tag4_q(tagpos_type_tlbsx)='1' or tlb_tag4_q(tagpos_type_tlbsrx)='1'))
else (others => '0') when (tlb_tag4_q(tagpos_endflag)='1' and tlb_tag4_q(tagpos_type_snoop)='1')
else (others => '0') when ((tlb_tag4_q(tagpos_type_tlbre)='1' or tlb_tag4_q(tagpos_type_tlbwe)='1' or tlb_tag4_q(tagpos_type_ptereload)='1' ) and
tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
else tlb_tag2(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag2_flush);
tlb_tag3_clone2_d(tagpos_thdid+thdid_width TO tlb_tag_width-1) <= tlb_tag2(tagpos_thdid+thdid_width to tlb_tag_width-1);
tlb_tag3_cmpmask_d(0) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB);
tlb_tag3_cmpmask_d(1) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB);
tlb_tag3_cmpmask_d(2) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_16MB);
tlb_tag3_cmpmask_d(3) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_16MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1MB);
tlb_tag3_cmpmask_d(4) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_16MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_64KB);
tlb_tag3_cmpmask_clone_d(0) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB);
tlb_tag3_cmpmask_clone_d(1) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB);
tlb_tag3_cmpmask_clone_d(2) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_16MB);
tlb_tag3_cmpmask_clone_d(3) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_16MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1MB);
tlb_tag3_cmpmask_clone_d(4) <= Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1GB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_256MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_16MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_1MB) or
Eq(tlb_tag2(tagpos_size to tagpos_size+3), TLB_PgSize_64KB);
tlb_way0_cmpmask_d(0) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way0_cmpmask_d(1) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way0_cmpmask_d(2) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way0_cmpmask_d(3) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way0_cmpmask_d(4) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1MB) or
Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way0_xbitmask_d(0) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way0_xbitmask_d(1) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way0_xbitmask_d(2) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way0_xbitmask_d(3) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way0_xbitmask_d(4) <= Eq(tlb_dataout(0*tlb_way_width+waypos_size to 0*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way1_cmpmask_d(0) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way1_cmpmask_d(1) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way1_cmpmask_d(2) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way1_cmpmask_d(3) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way1_cmpmask_d(4) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1MB) or
Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way1_xbitmask_d(0) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way1_xbitmask_d(1) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way1_xbitmask_d(2) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way1_xbitmask_d(3) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way1_xbitmask_d(4) <= Eq(tlb_dataout(1*tlb_way_width+waypos_size to 1*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way2_cmpmask_d(0) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way2_cmpmask_d(1) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way2_cmpmask_d(2) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way2_cmpmask_d(3) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way2_cmpmask_d(4) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1MB) or
Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way2_xbitmask_d(0) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way2_xbitmask_d(1) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way2_xbitmask_d(2) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way2_xbitmask_d(3) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way2_xbitmask_d(4) <= Eq(tlb_dataout(2*tlb_way_width+waypos_size to 2*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way3_cmpmask_d(0) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way3_cmpmask_d(1) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way3_cmpmask_d(2) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way3_cmpmask_d(3) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way3_cmpmask_d(4) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1GB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_256MB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_16MB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1MB) or
Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way3_xbitmask_d(0) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1GB);
tlb_way3_xbitmask_d(1) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_256MB);
tlb_way3_xbitmask_d(2) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_16MB);
tlb_way3_xbitmask_d(3) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_1MB);
tlb_way3_xbitmask_d(4) <= Eq(tlb_dataout(3*tlb_way_width+waypos_size to 3*tlb_way_width+waypos_size+3), TLB_PgSize_64KB);
tlb_way0_lo_calc_par(0) <= xor_reduce(tlb_way0_q(0 to 7));
tlb_way0_lo_calc_par(1) <= xor_reduce(tlb_way0_q(8 to 15));
tlb_way0_lo_calc_par(2) <= xor_reduce(tlb_way0_q(16 to 23));
tlb_way0_lo_calc_par(3) <= xor_reduce(tlb_way0_q(24 to 31));
tlb_way0_lo_calc_par(4) <= xor_reduce(tlb_way0_q(32 to 39));
tlb_way0_lo_calc_par(5) <= xor_reduce(tlb_way0_q(40 to 47));
tlb_way0_lo_calc_par(6) <= xor_reduce(tlb_way0_q(48 to 51));
tlb_way0_lo_calc_par(7) <= xor_reduce(tlb_way0_q(52 to 59));
tlb_way0_lo_calc_par(8) <= xor_reduce(tlb_way0_q(60 to 65));
tlb_way0_lo_calc_par(9) <= xor_reduce(tlb_way0_q(66 to 73));
tlb_way1_lo_calc_par(0) <= xor_reduce(tlb_way1_q(0 to 7));
tlb_way1_lo_calc_par(1) <= xor_reduce(tlb_way1_q(8 to 15));
tlb_way1_lo_calc_par(2) <= xor_reduce(tlb_way1_q(16 to 23));
tlb_way1_lo_calc_par(3) <= xor_reduce(tlb_way1_q(24 to 31));
tlb_way1_lo_calc_par(4) <= xor_reduce(tlb_way1_q(32 to 39));
tlb_way1_lo_calc_par(5) <= xor_reduce(tlb_way1_q(40 to 47));
tlb_way1_lo_calc_par(6) <= xor_reduce(tlb_way1_q(48 to 51));
tlb_way1_lo_calc_par(7) <= xor_reduce(tlb_way1_q(52 to 59));
tlb_way1_lo_calc_par(8) <= xor_reduce(tlb_way1_q(60 to 65));
tlb_way1_lo_calc_par(9) <= xor_reduce(tlb_way1_q(66 to 73));
tlb_way2_lo_calc_par(0) <= xor_reduce(tlb_way2_q(0 to 7));
tlb_way2_lo_calc_par(1) <= xor_reduce(tlb_way2_q(8 to 15));
tlb_way2_lo_calc_par(2) <= xor_reduce(tlb_way2_q(16 to 23));
tlb_way2_lo_calc_par(3) <= xor_reduce(tlb_way2_q(24 to 31));
tlb_way2_lo_calc_par(4) <= xor_reduce(tlb_way2_q(32 to 39));
tlb_way2_lo_calc_par(5) <= xor_reduce(tlb_way2_q(40 to 47));
tlb_way2_lo_calc_par(6) <= xor_reduce(tlb_way2_q(48 to 51));
tlb_way2_lo_calc_par(7) <= xor_reduce(tlb_way2_q(52 to 59));
tlb_way2_lo_calc_par(8) <= xor_reduce(tlb_way2_q(60 to 65));
tlb_way2_lo_calc_par(9) <= xor_reduce(tlb_way2_q(66 to 73));
tlb_way3_lo_calc_par(0) <= xor_reduce(tlb_way3_q(0 to 7));
tlb_way3_lo_calc_par(1) <= xor_reduce(tlb_way3_q(8 to 15));
tlb_way3_lo_calc_par(2) <= xor_reduce(tlb_way3_q(16 to 23));
tlb_way3_lo_calc_par(3) <= xor_reduce(tlb_way3_q(24 to 31));
tlb_way3_lo_calc_par(4) <= xor_reduce(tlb_way3_q(32 to 39));
tlb_way3_lo_calc_par(5) <= xor_reduce(tlb_way3_q(40 to 47));
tlb_way3_lo_calc_par(6) <= xor_reduce(tlb_way3_q(48 to 51));
tlb_way3_lo_calc_par(7) <= xor_reduce(tlb_way3_q(52 to 59));
tlb_way3_lo_calc_par(8) <= xor_reduce(tlb_way3_q(60 to 65));
tlb_way3_lo_calc_par(9) <= xor_reduce(tlb_way3_q(66 to 73));
tlb_way0_hi_calc_par(0) <= xor_reduce(tlb_way0_q(tlb_word_width+0 to tlb_word_width+7));
tlb_way0_hi_calc_par(1) <= xor_reduce(tlb_way0_q(tlb_word_width+8 to tlb_word_width+15));
tlb_way0_hi_calc_par(2) <= xor_reduce(tlb_way0_q(tlb_word_width+16 to tlb_word_width+23));
tlb_way0_hi_calc_par(3) <= xor_reduce(tlb_way0_q(tlb_word_width+24 to tlb_word_width+31));
tlb_way0_hi_calc_par(4) <= xor_reduce(tlb_way0_q(tlb_word_width+32 to tlb_word_width+39));
tlb_way0_hi_calc_par(5) <= xor_reduce(tlb_way0_q(tlb_word_width+40 to tlb_word_width+44));
tlb_way0_hi_calc_par(6) <= xor_reduce(tlb_way0_q(tlb_word_width+45 to tlb_word_width+49));
tlb_way0_hi_calc_par(7) <= xor_reduce(tlb_way0_q(tlb_word_width+50 to tlb_word_width+57));
tlb_way0_hi_calc_par(8) <= xor_reduce(tlb_way0_q(tlb_word_width+58 to tlb_word_width+65));
tlb_way0_hi_calc_par(9) <= xor_reduce(tlb_way0_q(tlb_word_width+66 to tlb_word_width+73));
tlb_way1_hi_calc_par(0) <= xor_reduce(tlb_way1_q(tlb_word_width+0 to tlb_word_width+7));
tlb_way1_hi_calc_par(1) <= xor_reduce(tlb_way1_q(tlb_word_width+8 to tlb_word_width+15));
tlb_way1_hi_calc_par(2) <= xor_reduce(tlb_way1_q(tlb_word_width+16 to tlb_word_width+23));
tlb_way1_hi_calc_par(3) <= xor_reduce(tlb_way1_q(tlb_word_width+24 to tlb_word_width+31));
tlb_way1_hi_calc_par(4) <= xor_reduce(tlb_way1_q(tlb_word_width+32 to tlb_word_width+39));
tlb_way1_hi_calc_par(5) <= xor_reduce(tlb_way1_q(tlb_word_width+40 to tlb_word_width+44));
tlb_way1_hi_calc_par(6) <= xor_reduce(tlb_way1_q(tlb_word_width+45 to tlb_word_width+49));
tlb_way1_hi_calc_par(7) <= xor_reduce(tlb_way1_q(tlb_word_width+50 to tlb_word_width+57));
tlb_way1_hi_calc_par(8) <= xor_reduce(tlb_way1_q(tlb_word_width+58 to tlb_word_width+65));
tlb_way1_hi_calc_par(9) <= xor_reduce(tlb_way1_q(tlb_word_width+66 to tlb_word_width+73));
tlb_way2_hi_calc_par(0) <= xor_reduce(tlb_way2_q(tlb_word_width+0 to tlb_word_width+7));
tlb_way2_hi_calc_par(1) <= xor_reduce(tlb_way2_q(tlb_word_width+8 to tlb_word_width+15));
tlb_way2_hi_calc_par(2) <= xor_reduce(tlb_way2_q(tlb_word_width+16 to tlb_word_width+23));
tlb_way2_hi_calc_par(3) <= xor_reduce(tlb_way2_q(tlb_word_width+24 to tlb_word_width+31));
tlb_way2_hi_calc_par(4) <= xor_reduce(tlb_way2_q(tlb_word_width+32 to tlb_word_width+39));
tlb_way2_hi_calc_par(5) <= xor_reduce(tlb_way2_q(tlb_word_width+40 to tlb_word_width+44));
tlb_way2_hi_calc_par(6) <= xor_reduce(tlb_way2_q(tlb_word_width+45 to tlb_word_width+49));
tlb_way2_hi_calc_par(7) <= xor_reduce(tlb_way2_q(tlb_word_width+50 to tlb_word_width+57));
tlb_way2_hi_calc_par(8) <= xor_reduce(tlb_way2_q(tlb_word_width+58 to tlb_word_width+65));
tlb_way2_hi_calc_par(9) <= xor_reduce(tlb_way2_q(tlb_word_width+66 to tlb_word_width+73));
tlb_way3_hi_calc_par(0) <= xor_reduce(tlb_way3_q(tlb_word_width+0 to tlb_word_width+7));
tlb_way3_hi_calc_par(1) <= xor_reduce(tlb_way3_q(tlb_word_width+8 to tlb_word_width+15));
tlb_way3_hi_calc_par(2) <= xor_reduce(tlb_way3_q(tlb_word_width+16 to tlb_word_width+23));
tlb_way3_hi_calc_par(3) <= xor_reduce(tlb_way3_q(tlb_word_width+24 to tlb_word_width+31));
tlb_way3_hi_calc_par(4) <= xor_reduce(tlb_way3_q(tlb_word_width+32 to tlb_word_width+39));
tlb_way3_hi_calc_par(5) <= xor_reduce(tlb_way3_q(tlb_word_width+40 to tlb_word_width+44));
tlb_way3_hi_calc_par(6) <= xor_reduce(tlb_way3_q(tlb_word_width+45 to tlb_word_width+49));
tlb_way3_hi_calc_par(7) <= xor_reduce(tlb_way3_q(tlb_word_width+50 to tlb_word_width+57));
tlb_way3_hi_calc_par(8) <= xor_reduce(tlb_way3_q(tlb_word_width+58 to tlb_word_width+65));
tlb_way3_hi_calc_par(9) <= xor_reduce(tlb_way3_q(tlb_word_width+66 to tlb_word_width+73));
tlb_way0_parerr <= or_reduce(tlb_way0_lo_calc_par(0 to 9) xor tlb_way0_q(74 to 83)) or
or_reduce(tlb_way0_hi_calc_par(0 to 9) xor tlb_way0_q(tlb_word_width+74 to tlb_word_width+83));
tlb_way1_parerr <= or_reduce(tlb_way1_lo_calc_par(0 to 9) xor tlb_way1_q(74 to 83)) or
or_reduce(tlb_way1_hi_calc_par(0 to 9) xor tlb_way1_q(tlb_word_width+74 to tlb_word_width+83));
tlb_way2_parerr <= or_reduce(tlb_way2_lo_calc_par(0 to 9) xor tlb_way2_q(74 to 83)) or
or_reduce(tlb_way2_hi_calc_par(0 to 9) xor tlb_way2_q(tlb_word_width+74 to tlb_word_width+83));
tlb_way3_parerr <= or_reduce(tlb_way3_lo_calc_par(0 to 9) xor tlb_way3_q(74 to 83)) or
or_reduce(tlb_way3_hi_calc_par(0 to 9) xor tlb_way3_q(tlb_word_width+74 to tlb_word_width+83));
tag4_parerr_d(0) <= tlb_way0_parerr;
tag4_parerr_d(1) <= tlb_way1_parerr;
tag4_parerr_d(2) <= tlb_way2_parerr;
tag4_parerr_d(3) <= tlb_way3_parerr;
lru_tag3_dataout_d <= lru_dataout;
tlb_tag4_d(0 TO tagpos_thdid-1) <= tlb_tag3_q(0 to tagpos_thdid-1);
tlb_tag4_d(tagpos_thdid TO tagpos_thdid+thdid_width-1) <=
(others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
tlb_tag4_q(tagpos_type_ptereload)='0' and
(tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1'))
else (others => '0') when ((tlb_tag4_wayhit_q(tlb_ways)='1' or tlb_tag4_q(tagpos_endflag)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
(tlb_tag4_q(tagpos_type_tlbsx)='1' or tlb_tag4_q(tagpos_type_tlbsrx)='1'))
else (others => '0') when (tlb_tag4_q(tagpos_endflag)='1' and tlb_tag4_q(tagpos_type_snoop)='1')
else (others => '0') when ((tlb_tag4_q(tagpos_type_tlbre)='1' or tlb_tag4_q(tagpos_type_tlbwe)='1' or tlb_tag4_q(tagpos_type_ptereload)='1') and
tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
else tlb_tag3_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag3_flush);
tlb_tag4_d(tagpos_thdid+thdid_width TO tlb_tag_width-1) <= tlb_tag3_q(tagpos_thdid+thdid_width to tlb_tag_width-1);
tlb_addr4_d <= tlb_addr3_q;
tlb_tag4_way_d <= ( tlb_way0_q and (0 to tlb_way_width-1 => tlb_wayhit(0)) ) or
( tlb_way1_q and (0 to tlb_way_width-1 => tlb_wayhit(1)) );
tlb_tag4_way_clone_d <= ( tlb_way2_q and (0 to tlb_way_width-1 => tlb_wayhit(2)) ) or
( tlb_way3_q and (0 to tlb_way_width-1 => tlb_wayhit(3)) );
tlb_tag4_way_or <= tlb_tag4_way_q or tlb_tag4_way_clone_q;
tlb_tag4_way_rw_d <= ( tlb_way0_q and (0 to tlb_way_width-1 => (not tlb_tag3_clone1_q(tagpos_esel+1) and not tlb_tag3_clone1_q(tagpos_esel+2) and or_reduce(tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone1_q(tagpos_type_tlbre) or (tlb_tag3_clone1_q(tagpos_type_tlbwe) and not tlb_tag3_clone1_q(tagpos_hes))) )) ) or
( tlb_way1_q and (0 to tlb_way_width-1 => (not tlb_tag3_clone1_q(tagpos_esel+1) and tlb_tag3_clone1_q(tagpos_esel+2) and or_reduce(tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone1_q(tagpos_type_tlbre) or (tlb_tag3_clone1_q(tagpos_type_tlbwe) and not tlb_tag3_clone1_q(tagpos_hes))) )) ) or
( tlb_way0_q and (0 to tlb_way_width-1 => (not lru_tag3_dataout_q(4) and not lru_tag3_dataout_q(5) and or_reduce(tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone1_q(tagpos_type_ptereload) or (tlb_tag3_clone1_q(tagpos_type_tlbwe) and tlb_tag3_clone1_q(tagpos_hes))) )) ) or
( tlb_way1_q and (0 to tlb_way_width-1 => (not lru_tag3_dataout_q(4) and lru_tag3_dataout_q(5) and or_reduce(tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone1_q(tagpos_type_ptereload) or (tlb_tag3_clone1_q(tagpos_type_tlbwe) and tlb_tag3_clone1_q(tagpos_hes))) )) );
tlb_tag4_way_rw_clone_d <= ( tlb_way2_q and (0 to tlb_way_width-1 => ( tlb_tag3_clone2_q(tagpos_esel+1) and not tlb_tag3_clone2_q(tagpos_esel+2) and or_reduce(tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone2_q(tagpos_type_tlbre) or (tlb_tag3_clone2_q(tagpos_type_tlbwe) and not tlb_tag3_clone2_q(tagpos_hes))) )) ) or
( tlb_way3_q and (0 to tlb_way_width-1 => ( tlb_tag3_clone2_q(tagpos_esel+1) and tlb_tag3_clone2_q(tagpos_esel+2) and or_reduce(tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone2_q(tagpos_type_tlbre) or (tlb_tag3_clone2_q(tagpos_type_tlbwe) and not tlb_tag3_clone2_q(tagpos_hes))) )) ) or
( tlb_way2_q and (0 to tlb_way_width-1 => ( lru_tag3_dataout_q(4) and not lru_tag3_dataout_q(6) and or_reduce(tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone2_q(tagpos_type_ptereload) or (tlb_tag3_clone2_q(tagpos_type_tlbwe) and tlb_tag3_clone2_q(tagpos_hes))) )) ) or
( tlb_way3_q and (0 to tlb_way_width-1 => ( lru_tag3_dataout_q(4) and lru_tag3_dataout_q(6) and or_reduce(tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone2_q(tagpos_type_ptereload) or (tlb_tag3_clone2_q(tagpos_type_tlbwe) and tlb_tag3_clone2_q(tagpos_hes))) )) ) ;
tlb_tag4_way_rw_or <= tlb_tag4_way_rw_q or tlb_tag4_way_rw_clone_q;
tlb_tag4_wayhit_d(0 TO tlb_ways-1) <= tlb_wayhit(0 to tlb_ways-1);
tlb_tag4_wayhit_d(tlb_ways) <= '1' when (tlb_tag4_wayhit_q(tlb_ways)='0' and tlb_wayhit(0 to tlb_ways-1) /= "0000" and
tlb_tag3_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
else '0';
tlb_tag4_way_act <= or_reduce(tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and not(tlb_tag4_wayhit_q(tlb_ways)) and not tlb_tag3_clone1_q(tagpos_type_ptereload) and
(tlb_tag3_clone1_q(tagpos_type_derat) or tlb_tag3_clone1_q(tagpos_type_ierat) or tlb_tag3_clone1_q(tagpos_type_tlbsx) or tlb_tag3_clone1_q(tagpos_type_tlbsrx));
tlb_tag4_way_clone_act <= or_reduce(tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and not(tlb_tag4_wayhit_q(tlb_ways)) and not tlb_tag3_clone2_q(tagpos_type_ptereload) and
(tlb_tag3_clone2_q(tagpos_type_derat) or tlb_tag3_clone2_q(tagpos_type_ierat) or tlb_tag3_clone2_q(tagpos_type_tlbsx) or tlb_tag3_clone2_q(tagpos_type_tlbsrx));
tlb_tag4_way_rw_act <= or_reduce(tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone1_q(tagpos_type_tlbre) or tlb_tag3_clone1_q(tagpos_type_tlbwe) or tlb_tag3_clone1_q(tagpos_type_ptereload));
tlb_tag4_way_rw_clone_act <= or_reduce(tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(tlb_tag3_clone2_q(tagpos_type_tlbre) or tlb_tag3_clone2_q(tagpos_type_tlbwe) or tlb_tag3_clone2_q(tagpos_type_ptereload));
lru_tag4_dataout_d <= lru_tag3_dataout_q;
addr_enable(0) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"1011") );
addr_enable(1) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(0) );
addr_enable(2) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(1) );
addr_enable(3) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(1) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(0) );
addr_enable(4) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(2) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(1) );
addr_enable(5) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(3) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(2) );
addr_enable(6) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_q(pos_tlbi_msb) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_q(pos_tlbi_msb) and tlb_tag3_cmpmask_q(3) );
addr_enable(7) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3),"011") );
addr_enable(8) <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3),"011") );
class_enable <= '1' when (tlb_tag3_clone1_q(tagpos_type_snoop)='1' and tlb_tag3_clone1_q(tagpos_is+1)='1')
else '0';
pgsize_enable <= tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3),"011");
extclass_enable <= "00";
thdid_enable <= or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and not tlb_tag3_clone1_q(tagpos_type_ptereload);
pid_enable <= '1' when (tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone1_q(tagpos_type_ptereload)='0')
else '1' when (tlb_tag3_clone1_q(tagpos_type_snoop)='1' and tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3)="001")
else '1' when (tlb_tag3_clone1_q(tagpos_type_snoop)='1' and tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3)="011")
else '0';
state_enable(0) <= '1' when (tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone1_q(tagpos_type_ptereload)='0')
else '1' when (tlb_tag3_clone1_q(tagpos_type_snoop)='1' and tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3)="010" )
else '1' when (tlb_tag3_clone1_q(tagpos_type_snoop)='1' and tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3)="011" )
else '0';
state_enable(1) <= '1' when (tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone1_q(tagpos_type_ptereload)='0')
else '1' when (tlb_tag3_clone1_q(tagpos_type_snoop)='1' and tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3)="011" )
else '0';
lpid_enable <= '1' when (tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone1_q(tagpos_type_ptereload)='0')
else not(tlb_tag3_clone1_q(tagpos_hes)) when (tlb_tag3_clone1_q(tagpos_type_snoop)='1')
else '0';
ind_enable <= ( or_reduce(tlb_tag3_clone1_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone1_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3),"011") )
or ( tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3),"001") and tlb_tag3_clone1_q(tagpos_ind) );
iprot_enable <= tlb_tag3_clone1_q(tagpos_type_snoop);
comp_extclass <= (others => '0');
comp_iprot <= '0';
comp_ind <= tlb_tag3_clone1_q(tagpos_ind) and not(tlb_tag3_clone1_q(tagpos_type_snoop) and Eq(tlb_tag3_clone1_q(tagpos_is+1 to tagpos_is+3),"001"));
addr_enable_clone(0) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"1011") );
addr_enable_clone(1) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(0) );
addr_enable_clone(2) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(1) );
addr_enable_clone(3) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(1) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(0) );
addr_enable_clone(4) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(2) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(1) );
addr_enable_clone(5) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(3) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(2) );
addr_enable_clone(6) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"1011") )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
mmucr1_clone_q(pos_tlbi_msb) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is to tagpos_is+3),"0011") and
not mmucr1_clone_q(pos_tlbi_msb) and tlb_tag3_cmpmask_clone_q(3) );
addr_enable_clone(7) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3),"011") );
addr_enable_clone(8) <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3),"011") );
class_enable_clone <= '1' when (tlb_tag3_clone2_q(tagpos_type_snoop)='1' and tlb_tag3_clone2_q(tagpos_is+1)='1')
else '0';
pgsize_enable_clone <= tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3),"011");
extclass_enable_clone <= "00";
thdid_enable_clone <= or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and not tlb_tag3_clone2_q(tagpos_type_ptereload);
pid_enable_clone <= '1' when (tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone2_q(tagpos_type_ptereload)='0')
else '1' when (tlb_tag3_clone2_q(tagpos_type_snoop)='1' and tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3)="001")
else '1' when (tlb_tag3_clone2_q(tagpos_type_snoop)='1' and tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3)="011")
else '0';
state_enable_clone(0) <= '1' when (tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone2_q(tagpos_type_ptereload)='0')
else '1' when (tlb_tag3_clone2_q(tagpos_type_snoop)='1' and tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3)="010" )
else '1' when (tlb_tag3_clone2_q(tagpos_type_snoop)='1' and tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3)="011" )
else '0';
state_enable_clone(1) <= '1' when (tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone2_q(tagpos_type_ptereload)='0')
else '1' when (tlb_tag3_clone2_q(tagpos_type_snoop)='1' and tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3)="011" )
else '0';
lpid_enable_clone <= '1' when (tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx) /= "0000" and
tlb_tag3_clone2_q(tagpos_type_ptereload)='0')
else not(tlb_tag3_clone2_q(tagpos_hes)) when (tlb_tag3_clone2_q(tagpos_type_snoop)='1')
else '0';
ind_enable_clone <= ( or_reduce(tlb_tag3_clone2_q(tagpos_type_derat to tagpos_type_tlbsrx)) and
not tlb_tag3_clone2_q(tagpos_type_ptereload) )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3),"011") )
or ( tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3),"001") and tlb_tag3_clone2_q(tagpos_ind) );
iprot_enable_clone <= tlb_tag3_clone2_q(tagpos_type_snoop);
comp_extclass_clone <= (others => '0');
comp_iprot_clone <= '0';
comp_ind_clone <= tlb_tag3_clone2_q(tagpos_ind) and not(tlb_tag3_clone2_q(tagpos_type_snoop) and Eq(tlb_tag3_clone2_q(tagpos_is+1 to tagpos_is+3),"001"));
tlb_tag4_type_sig(0 TO 7) <= tlb_tag4_q(tagpos_type to tagpos_type+7);
tlb_tag4_esel_sig(0 TO 2) <= tlb_tag4_q(tagpos_esel to tagpos_esel+2);
tlb_tag4_hes_sig <= tlb_tag4_q(tagpos_hes);
tlb_tag4_wq_sig(0 TO 1) <= tlb_tag4_q(tagpos_wq to tagpos_wq+1);
tlb_tag4_is_sig(0 TO 3) <= tlb_tag4_q(tagpos_is to tagpos_is+3);
tlb_tag4_hv_op <= or_reduce( not msr_gs_q and not msr_pr_q and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) );
multihit <= not(Eq(tlb_tag4_wayhit_q(0 to 3),"0000") or Eq(tlb_tag4_wayhit_q(0 to 3),"1000") or Eq(tlb_tag4_wayhit_q(0 to 3),"0100")
or Eq(tlb_tag4_wayhit_q(0 to 3),"0010") or Eq(tlb_tag4_wayhit_q(0 to 3),"0001"))
and or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1));
tlb_tag4_hes1_mas1_v(0 TO thdid_width-1) <=
( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) )
or ( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) )
or ( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) )
or ( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) );
tlb_tag4_hes0_mas1_v(0 TO thdid_width-1) <=
( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(1 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(2 to 3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 1) & tlb_tag4_q(tagpos_is) & lru_tag4_dataout_q(3)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(0 to 2) & tlb_tag4_q(tagpos_is)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) );
tlb_tag4_hes1_mas1_iprot(0 TO thdid_width-1) <=
( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) )
or ( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) )
or ( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) )
or ( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and not lru_tag4_dataout_q(4) and lru_tag4_dataout_q(5))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and not lru_tag4_dataout_q(6))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_hes) and lru_tag4_dataout_q(4) and lru_tag4_dataout_q(6))) );
tlb_tag4_hes0_mas1_iprot(0 TO thdid_width-1) <=
( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+0) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+1) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+2) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(9 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(10 to 11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 9) & tlb_tag4_q(tagpos_is+1) & lru_tag4_dataout_q(11)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2))) )
or ( (lru_tag4_dataout_q(8 to 10) & tlb_tag4_q(tagpos_is+1)) and (0 to thdid_width-1 => (tlb_tag4_q(tagpos_thdid+3) and not tlb_tag4_q(tagpos_hes) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2))) );
tlb_tag4_ptereload_v(0 TO thdid_width-1) <= (ptereload_req_pte_lat(ptepos_valid) & lru_tag4_dataout_q(1 to 3))
when (lru_tag4_dataout_q(4 to 5)="00")
else (lru_tag4_dataout_q(0) & ptereload_req_pte_lat(ptepos_valid) & lru_tag4_dataout_q(2 to 3))
when (lru_tag4_dataout_q(4 to 5)="01")
else (lru_tag4_dataout_q(0 to 1) & ptereload_req_pte_lat(ptepos_valid) & lru_tag4_dataout_q(3))
when (lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='0')
else (lru_tag4_dataout_q(0 to 2) & ptereload_req_pte_lat(ptepos_valid))
when (lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='1')
else lru_tag4_dataout_q(0 to 3);
tlb_tag4_ptereload_iprot(0 TO thdid_width-1) <= ('0' & lru_tag4_dataout_q(9 to 11))
when (lru_tag4_dataout_q(4 to 5)="00")
else (lru_tag4_dataout_q(8) & '0' & lru_tag4_dataout_q(10 to 11))
when (lru_tag4_dataout_q(4 to 5)="01")
else (lru_tag4_dataout_q(8 to 9) & '0' & lru_tag4_dataout_q(11))
when (lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='0')
else (lru_tag4_dataout_q(8 to 10) & '0')
when (lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='1')
else lru_tag4_dataout_q(8 to 11);
lru_write_d <= (others => '1') when ( (tlb_tag4_q(tagpos_type_derat)='1' or tlb_tag4_q(tagpos_type_ierat)='1')
and tlb_tag4_q(tagpos_type_ptereload)='0'
and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000"
and ((tlb_tag4_wayhit_q(0 to 3) /= "0000" and multihit='0') or
(xu_mm_xucr4_mmu_mchk_q='0' and xu_mm_ccr2_notlb_b='1' and (multihit='1' or or_reduce(tag4_parerr_q(0 to 4))='1'))) )
else (others => '1') when ( tlb_tag4_q(tagpos_type_snoop)='1'
and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000"
and (tlb_tag4_wayhit_q(0 to 3) /= "0000" or tlb_tag4_q(tagpos_is+1 to tagpos_is+3)="000") )
else (others => '1') when ( tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_pr)='0' and ex6_illeg_instr(1)='0'
and (tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000"
and ((or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and tlb_resv_match_vec)='1'
and tlb_tag4_q(tagpos_wq to tagpos_wq+1)="01" and mmucfg_twc='1')
or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="00" or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="11")
and ((tlb_tag4_q(tagpos_gs)='0' and tlb_tag4_q(tagpos_atsel)='0') or
(tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_hes)='1' and tlb_tag4_q(tagpos_is+1)='0'
and tlb0cfg_gtwe='1' and tlb_tag4_epcr_dgtmi='0' and lrat_tag4_hit_status="1100"
and (((lru_tag4_dataout_q(0)='0' or lru_tag4_dataout_q(8)='0') and lru_tag4_dataout_q(4 to 5)="00")
or ((lru_tag4_dataout_q(1)='0' or lru_tag4_dataout_q(9)='0') and lru_tag4_dataout_q(4 to 5)="01")
or ((lru_tag4_dataout_q(2)='0' or lru_tag4_dataout_q(10)='0') and lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='0')
or ((lru_tag4_dataout_q(3)='0' or lru_tag4_dataout_q(11)='0') and lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='1')))) )
else (others => ptereload_req_pte_lat(ptepos_valid)) when ( tlb_tag4_q(tagpos_type_ptereload)='1'
and (tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
and (tlb_tag4_q(tagpos_gs)='0' or (tlb_tag4_q(tagpos_gs)='1' and lrat_tag4_hit_status="1100"))
and (tlb_tag4_q(tagpos_wq to tagpos_wq+1)="10")
and (tlb_tag4_q(tagpos_pt)='1')
and (((lru_tag4_dataout_q(0)='0' or lru_tag4_dataout_q(8)='0') and lru_tag4_dataout_q(4 to 5)="00")
or ((lru_tag4_dataout_q(1)='0' or lru_tag4_dataout_q(9)='0') and lru_tag4_dataout_q(4 to 5)="01")
or ((lru_tag4_dataout_q(2)='0' or lru_tag4_dataout_q(10)='0') and lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='0')
or ((lru_tag4_dataout_q(3)='0' or lru_tag4_dataout_q(11)='0') and lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='1')) )
else (others => '0');
lru_wr_addr_d <= tlb_addr4_q;
lru_update_clear_enab <= '1' when ( xu_mm_xucr4_mmu_mchk_q='0' and xu_mm_ccr2_notlb_b='1' and
((tlb_tag4_q(tagpos_type_derat)='1' or tlb_tag4_q(tagpos_type_ierat)='1') and tlb_tag4_q(tagpos_type_ptereload)='0') and
(multihit='1' or or_reduce(tag4_parerr_q(0 to 4))='1') )
else '0';
lru_update_data_enab <= '1' when ( ((tlb_tag4_q(tagpos_type_derat)='1' or tlb_tag4_q(tagpos_type_ierat)='1') and tlb_tag4_q(tagpos_type_ptereload)='0' and
multihit='0' and or_reduce(tag4_parerr_q(0 to 4))='0')
or (tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_atsel)='0' or tlb_tag4_q(tagpos_gs)='1'))
or (tlb_tag4_q(tagpos_type_ptereload)='1')
or (tlb_tag4_q(tagpos_type_snoop)='1') )
else '0';
lru_datain_d(0 TO 3) <= (others => '0') when lru_update_clear_enab='1'
else ( lru_tag4_dataout_q(0 to 3) and
(lru_tag4_dataout_q(8 to 11) or not(tlb_tag4_wayhit_q(0 to 3))) )
when tlb_tag4_q(tagpos_type_snoop)='1'
else tlb_tag4_hes1_mas1_v(0 to thdid_width-1)
when tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_hes)='1'
else tlb_tag4_hes0_mas1_v(0 to thdid_width-1)
when tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_hes)='0'
else tlb_tag4_ptereload_v(0 to thdid_width-1)
when tlb_tag4_q(tagpos_type_ptereload)='1'
else lru_tag4_dataout_q(0 to 3);
lru_datain_d(4 TO 6) <= (others => '0') when lru_update_clear_enab='1'
else lru_update_data when lru_update_data_enab='1'
else lru_tag4_dataout_q(4 to 6);
lru_datain_alt_d(4 TO 6) <= lru_update_data_alt when ((tlb_tag4_q(tagpos_type_derat)='1' or tlb_tag4_q(tagpos_type_ierat)='1' or
tlb_tag4_q(tagpos_type_snoop)='1') and tlb_tag4_q(tagpos_type_ptereload)='0')
else lru_update_data when (tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_atsel)='0' or tlb_tag4_q(tagpos_gs)='1'))
else lru_update_data when (tlb_tag4_q(tagpos_type_ptereload)='1')
else lru_tag4_dataout_q(4 to 6);
lru_update_data_alt <= (lru_tag4_dataout_q(4 to 6) and (4 to 6 => not tlb_tag4_wayhit_q(4))) or
(lru_update_data_snoophit_eco and (4 to 6 => tlb_tag4_wayhit_q(4) and tlb_tag4_q(tagpos_type_snoop))) or
(lru_update_data_erathit_eco and (4 to 6 => tlb_tag4_wayhit_q(4) and not tlb_tag4_q(tagpos_type_ptereload)
and (tlb_tag4_q(tagpos_type_derat) or tlb_tag4_q(tagpos_type_ierat))));
lru_datain_alt_d(7) <= xor_reduce(lru_datain_d(0 to 3) & lru_datain_alt_d(4 to 6));
lru_update_data_snoophit_eco(0 TO 2) <= "000" when (tlb_tag4_wayhit_q(0) and not lru_tag4_dataout_q(6) and not lru_tag4_dataout_q(8))='1'
else "001" when (tlb_tag4_wayhit_q(0) and lru_tag4_dataout_q(6) and not lru_tag4_dataout_q(8))='1'
else "010" when (tlb_tag4_wayhit_q(1) and not lru_tag4_dataout_q(6) and not lru_tag4_dataout_q(9))='1'
else "011" when (tlb_tag4_wayhit_q(1) and lru_tag4_dataout_q(6) and not lru_tag4_dataout_q(9))='1'
else "100" when (tlb_tag4_wayhit_q(2) and not lru_tag4_dataout_q(5) and not lru_tag4_dataout_q(10))='1'
else "110" when (tlb_tag4_wayhit_q(2) and lru_tag4_dataout_q(5) and not lru_tag4_dataout_q(10))='1'
else "101" when (tlb_tag4_wayhit_q(3) and not lru_tag4_dataout_q(5) and not lru_tag4_dataout_q(11))='1'
else "111" when (tlb_tag4_wayhit_q(3) and lru_tag4_dataout_q(5) and not lru_tag4_dataout_q(11))='1'
else lru_tag4_dataout_q(4 to 6);
lru_datain_alt_d(8) <= xor_reduce(lru_datain_d(0 to 3) & lru_update_data_snoophit_eco(0 to 2));
lru_update_data_erathit_eco(0 TO 2) <= "01" & lru_tag4_dataout_q(6) when (tlb_tag4_wayhit_q(0) and not lru_tag4_dataout_q(9))='1'
else '1' & lru_tag4_dataout_q(5) & '0' when (tlb_tag4_wayhit_q(0) and not lru_tag4_dataout_q(10))='1'
else '1' & lru_tag4_dataout_q(5) & '1' when (tlb_tag4_wayhit_q(0) and not lru_tag4_dataout_q(11))='1'
else '1' & lru_tag4_dataout_q(5) & '0' when (tlb_tag4_wayhit_q(1) and not lru_tag4_dataout_q(10))='1'
else '1' & lru_tag4_dataout_q(5) & '1' when (tlb_tag4_wayhit_q(1) and not lru_tag4_dataout_q(11))='1'
else "00" & lru_tag4_dataout_q(6) when (tlb_tag4_wayhit_q(1) and not lru_tag4_dataout_q(8))='1'
else '1' & lru_tag4_dataout_q(5) & '1' when (tlb_tag4_wayhit_q(2) and not lru_tag4_dataout_q(11))='1'
else "00" & lru_tag4_dataout_q(6) when (tlb_tag4_wayhit_q(2) and not lru_tag4_dataout_q(8))='1'
else "01" & lru_tag4_dataout_q(6) when (tlb_tag4_wayhit_q(2) and not lru_tag4_dataout_q(9))='1'
else "00" & lru_tag4_dataout_q(6) when (tlb_tag4_wayhit_q(3) and not lru_tag4_dataout_q(8))='1'
else "01" & lru_tag4_dataout_q(6) when (tlb_tag4_wayhit_q(3) and not lru_tag4_dataout_q(9))='1'
else '1' & lru_tag4_dataout_q(5) & '0' when (tlb_tag4_wayhit_q(3) and not lru_tag4_dataout_q(10))='1'
else lru_tag4_dataout_q(4 to 6);
lru_datain_alt_d(9) <= xor_reduce(lru_datain_d(0 to 3) & lru_update_data_erathit_eco(0 to 2));
lru_datain_d(8 TO 11) <= (others => '0') when lru_update_clear_enab='1'
else tlb_tag4_hes1_mas1_iprot(0 to thdid_width-1)
when tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_hes)='1'
else tlb_tag4_hes0_mas1_iprot(0 to thdid_width-1)
when tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_hes)='0'
else tlb_tag4_ptereload_iprot(0 to thdid_width-1)
when tlb_tag4_q(tagpos_type_ptereload)='1'
else lru_tag4_dataout_q(8 to 11);
lru_datain_d(12 TO 14) <= (others => '0');
lru_datain_d(7) <= xor_reduce(lru_datain_d(0 to 6));
lru_datain_d(15) <= xor_reduce(lru_datain_d(8 to 14) & mmucr1_q(pos_lru_pei));
lru_calc_par(0) <= xor_reduce(lru_tag3_dataout_q(0 to 6));
lru_calc_par(1) <= xor_reduce(lru_tag3_dataout_q(8 to 14));
tag4_parerr_d(4) <= or_reduce(lru_calc_par(0 to 1) xor (lru_tag3_dataout_q(7) & lru_tag3_dataout_q(15)));
tlb_tag4_parerr_enab <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and
(or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_tlbsrx)) or tlb_tag4_q(tagpos_type_tlbre));
MQQ1:LRU_UPDATE_DATA_PT(1) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("011111110"));
MQQ2:LRU_UPDATE_DATA_PT(2) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(9) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("101111110"));
MQQ3:LRU_UPDATE_DATA_PT(3) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("111111010"));
MQQ4:LRU_UPDATE_DATA_PT(4) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("1111010"));
MQQ5:LRU_UPDATE_DATA_PT(5) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(10) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("0001111110"));
MQQ6:LRU_UPDATE_DATA_PT(6) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(10) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("1000111110"));
MQQ7:LRU_UPDATE_DATA_PT(7) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("100111110"));
MQQ8:LRU_UPDATE_DATA_PT(8) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(1) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("000111110"));
MQQ9:LRU_UPDATE_DATA_PT(9) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("100111110"));
MQQ10:LRU_UPDATE_DATA_PT(10) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("0001111110"));
MQQ11:LRU_UPDATE_DATA_PT(11) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(6) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("111111100"));
MQQ12:LRU_UPDATE_DATA_PT(12) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(6) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("1111100"));
MQQ13:LRU_UPDATE_DATA_PT(13) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(6) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("1111010"));
MQQ14:LRU_UPDATE_DATA_PT(14) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("111010"));
MQQ15:LRU_UPDATE_DATA_PT(15) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("11110110"));
MQQ16:LRU_UPDATE_DATA_PT(16) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("110110"));
MQQ17:LRU_UPDATE_DATA_PT(17) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("11101110"));
MQQ18:LRU_UPDATE_DATA_PT(18) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("101110"));
MQQ19:LRU_UPDATE_DATA_PT(19) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(6) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("0000110"));
MQQ20:LRU_UPDATE_DATA_PT(20) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("100110"));
MQQ21:LRU_UPDATE_DATA_PT(21) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("1111111000"));
MQQ22:LRU_UPDATE_DATA_PT(22) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("11111000"));
MQQ23:LRU_UPDATE_DATA_PT(23) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("1111100"));
MQQ24:LRU_UPDATE_DATA_PT(24) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("11100"));
MQQ25:LRU_UPDATE_DATA_PT(25) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("100011110"));
MQQ26:LRU_UPDATE_DATA_PT(26) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("10101110"));
MQQ27:LRU_UPDATE_DATA_PT(27) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_WAYHIT_Q(1) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) & LRU_TAG4_DATAOUT_Q(10) &
LRU_TAG4_DATAOUT_Q(11) ) , STD_ULOGIC_VECTOR'("011111011"));
MQQ28:LRU_UPDATE_DATA_PT(28) <=
Eq(( TLB_TAG4_HES_SIG & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(10) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("111111"));
MQQ29:LRU_UPDATE_DATA_PT(29) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(10) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("011111"));
MQQ30:LRU_UPDATE_DATA_PT(30) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(10) & LRU_TAG4_DATAOUT_Q(11)
) , STD_ULOGIC_VECTOR'("1001111111"));
MQQ31:LRU_UPDATE_DATA_PT(31) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(8) & LRU_TAG4_DATAOUT_Q(9) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("0111110"));
MQQ32:LRU_UPDATE_DATA_PT(32) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(2) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(9) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("1011110"));
MQQ33:LRU_UPDATE_DATA_PT(33) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("1111111000"));
MQQ34:LRU_UPDATE_DATA_PT(34) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("11111000"));
MQQ35:LRU_UPDATE_DATA_PT(35) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("11111100"));
MQQ36:LRU_UPDATE_DATA_PT(36) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("111100"));
MQQ37:LRU_UPDATE_DATA_PT(37) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("000111110"));
MQQ38:LRU_UPDATE_DATA_PT(38) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("100011110"));
MQQ39:LRU_UPDATE_DATA_PT(39) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("111100"));
MQQ40:LRU_UPDATE_DATA_PT(40) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("1100"));
MQQ41:LRU_UPDATE_DATA_PT(41) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("111010"));
MQQ42:LRU_UPDATE_DATA_PT(42) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("1010"));
MQQ43:LRU_UPDATE_DATA_PT(43) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("1001110"));
MQQ44:LRU_UPDATE_DATA_PT(44) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(1) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("0001110"));
MQQ45:LRU_UPDATE_DATA_PT(45) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("1001110"));
MQQ46:LRU_UPDATE_DATA_PT(46) <=
Eq(( TLB_TAG4_HES_SIG & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("111111"));
MQQ47:LRU_UPDATE_DATA_PT(47) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("011111"));
MQQ48:LRU_UPDATE_DATA_PT(48) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("1011111111"));
MQQ49:LRU_UPDATE_DATA_PT(49) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("111011"));
MQQ50:LRU_UPDATE_DATA_PT(50) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(6) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("11011"));
MQQ51:LRU_UPDATE_DATA_PT(51) <=
Eq(( LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("0111"));
MQQ52:LRU_UPDATE_DATA_PT(52) <=
Eq(( LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("0111"));
MQQ53:LRU_UPDATE_DATA_PT(53) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("000111"));
MQQ54:LRU_UPDATE_DATA_PT(54) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
TLB_TAG4_WAYHIT_Q(2) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("001111"));
MQQ55:LRU_UPDATE_DATA_PT(55) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(10)
) , STD_ULOGIC_VECTOR'("100111"));
MQQ56:LRU_UPDATE_DATA_PT(56) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("100111101"));
MQQ57:LRU_UPDATE_DATA_PT(57) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("1111101"));
MQQ58:LRU_UPDATE_DATA_PT(58) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(10) ) , STD_ULOGIC_VECTOR'("11101"));
MQQ59:LRU_UPDATE_DATA_PT(59) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("1111110"));
MQQ60:LRU_UPDATE_DATA_PT(60) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("11110"));
MQQ61:LRU_UPDATE_DATA_PT(61) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(8) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("0001111110"));
MQQ62:LRU_UPDATE_DATA_PT(62) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("000111110"));
MQQ63:LRU_UPDATE_DATA_PT(63) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(1) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("1111110"));
MQQ64:LRU_UPDATE_DATA_PT(64) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(8) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("1010111110"));
MQQ65:LRU_UPDATE_DATA_PT(65) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("101111110"));
MQQ66:LRU_UPDATE_DATA_PT(66) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("1111111100"));
MQQ67:LRU_UPDATE_DATA_PT(67) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("11111100"));
MQQ68:LRU_UPDATE_DATA_PT(68) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
TLB_TAG4_WAYHIT_Q(0) & TLB_TAG4_WAYHIT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(6) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("0011110"));
MQQ69:LRU_UPDATE_DATA_PT(69) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & LRU_TAG4_DATAOUT_Q(6) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("10110"));
MQQ70:LRU_UPDATE_DATA_PT(70) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("111111000"));
MQQ71:LRU_UPDATE_DATA_PT(71) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("1111000"));
MQQ72:LRU_UPDATE_DATA_PT(72) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("1111110"));
MQQ73:LRU_UPDATE_DATA_PT(73) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("11110"));
MQQ74:LRU_UPDATE_DATA_PT(74) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_IS_SIG(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("0111010"));
MQQ75:LRU_UPDATE_DATA_PT(75) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(1) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("0000110"));
MQQ76:LRU_UPDATE_DATA_PT(76) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("101110"));
MQQ77:LRU_UPDATE_DATA_PT(77) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("00011110"));
MQQ78:LRU_UPDATE_DATA_PT(78) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("10001110"));
MQQ79:LRU_UPDATE_DATA_PT(79) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("11100"));
MQQ80:LRU_UPDATE_DATA_PT(80) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("100"));
MQQ81:LRU_UPDATE_DATA_PT(81) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("10110"));
MQQ82:LRU_UPDATE_DATA_PT(82) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_IS_SIG(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(8) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("01110111"));
MQQ83:LRU_UPDATE_DATA_PT(83) <=
Eq(( TLB_TAG4_HES_SIG & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(8) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("111111"));
MQQ84:LRU_UPDATE_DATA_PT(84) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(8) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("011111"));
MQQ85:LRU_UPDATE_DATA_PT(85) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("11011"));
MQQ86:LRU_UPDATE_DATA_PT(86) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("1111011"));
MQQ87:LRU_UPDATE_DATA_PT(87) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("11011"));
MQQ88:LRU_UPDATE_DATA_PT(88) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(8) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("00011111"));
MQQ89:LRU_UPDATE_DATA_PT(89) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(8) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("1011111"));
MQQ90:LRU_UPDATE_DATA_PT(90) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("101111"));
MQQ91:LRU_UPDATE_DATA_PT(91) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(9)
) , STD_ULOGIC_VECTOR'("10111101"));
MQQ92:LRU_UPDATE_DATA_PT(92) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(9) ) , STD_ULOGIC_VECTOR'("1011101"));
MQQ93:LRU_UPDATE_DATA_PT(93) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("1111111100"));
MQQ94:LRU_UPDATE_DATA_PT(94) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("11111100"));
MQQ95:LRU_UPDATE_DATA_PT(95) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(6) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("1110"));
MQQ96:LRU_UPDATE_DATA_PT(96) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("00011110"));
MQQ97:LRU_UPDATE_DATA_PT(97) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("10101110"));
MQQ98:LRU_UPDATE_DATA_PT(98) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(8) ) , STD_ULOGIC_VECTOR'("1111001"));
MQQ99:LRU_UPDATE_DATA_PT(99) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("111111"));
MQQ100:LRU_UPDATE_DATA_PT(100) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(5) &
LRU_TAG4_DATAOUT_Q(8) ) , STD_ULOGIC_VECTOR'("11111"));
MQQ101:LRU_UPDATE_DATA_PT(101) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
TLB_TAG4_WAYHIT_Q(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("000111"));
MQQ102:LRU_UPDATE_DATA_PT(102) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("101111"));
MQQ103:LRU_UPDATE_DATA_PT(103) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("1111"));
MQQ104:LRU_UPDATE_DATA_PT(104) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(1) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(4) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("101111"));
MQQ105:LRU_UPDATE_DATA_PT(105) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(8) ) , STD_ULOGIC_VECTOR'("1111101"));
MQQ106:LRU_UPDATE_DATA_PT(106) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(8)
) , STD_ULOGIC_VECTOR'("111101"));
MQQ107:LRU_UPDATE_DATA_PT(107) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(8) ) , STD_ULOGIC_VECTOR'("11101"));
MQQ108:LRU_UPDATE_DATA_PT(108) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(8) ) , STD_ULOGIC_VECTOR'("11101"));
MQQ109:LRU_UPDATE_DATA_PT(109) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(8) ) , STD_ULOGIC_VECTOR'("101"));
MQQ110:LRU_UPDATE_DATA_PT(110) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(4) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("11001"));
MQQ111:LRU_UPDATE_DATA_PT(111) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
TLB_TAG4_WAYHIT_Q(0) & TLB_TAG4_WAYHIT_Q(1) &
TLB_TAG4_WAYHIT_Q(2) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(6)
) , STD_ULOGIC_VECTOR'("00000011"));
MQQ112:LRU_UPDATE_DATA_PT(112) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(6)
) , STD_ULOGIC_VECTOR'("1011"));
MQQ113:LRU_UPDATE_DATA_PT(113) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("11011"));
MQQ114:LRU_UPDATE_DATA_PT(114) <=
Eq(( LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("001"));
MQQ115:LRU_UPDATE_DATA_PT(115) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_IS_SIG(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(6)
) , STD_ULOGIC_VECTOR'("1001"));
MQQ116:LRU_UPDATE_DATA_PT(116) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(2) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("10001"));
MQQ117:LRU_UPDATE_DATA_PT(117) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("10101"));
MQQ118:LRU_UPDATE_DATA_PT(118) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(6)
) , STD_ULOGIC_VECTOR'("0001"));
MQQ119:LRU_UPDATE_DATA_PT(119) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_IS_SIG(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(6)
) , STD_ULOGIC_VECTOR'("1001"));
MQQ120:LRU_UPDATE_DATA_PT(120) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(2) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("10101"));
MQQ121:LRU_UPDATE_DATA_PT(121) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("10101"));
MQQ122:LRU_UPDATE_DATA_PT(122) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(6)
) , STD_ULOGIC_VECTOR'("0001"));
MQQ123:LRU_UPDATE_DATA_PT(123) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(6)
) , STD_ULOGIC_VECTOR'("100001"));
MQQ124:LRU_UPDATE_DATA_PT(124) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_IS_SIG(0) &
LRU_TAG4_DATAOUT_Q(6) ) , STD_ULOGIC_VECTOR'("10001"));
MQQ125:LRU_UPDATE_DATA_PT(125) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(5) ) , STD_ULOGIC_VECTOR'("0011101"));
MQQ126:LRU_UPDATE_DATA_PT(126) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_ESEL_SIG(1) &
TLB_TAG4_ESEL_SIG(2) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3) &
LRU_TAG4_DATAOUT_Q(5) ) , STD_ULOGIC_VECTOR'("0011101"));
MQQ127:LRU_UPDATE_DATA_PT(127) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(3) & LRU_TAG4_DATAOUT_Q(5)
) , STD_ULOGIC_VECTOR'("001101"));
MQQ128:LRU_UPDATE_DATA_PT(128) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_ESEL_SIG(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(5)
) , STD_ULOGIC_VECTOR'("011101"));
MQQ129:LRU_UPDATE_DATA_PT(129) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_HES_SIG &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(5)
) , STD_ULOGIC_VECTOR'("011101"));
MQQ130:LRU_UPDATE_DATA_PT(130) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(5)
) , STD_ULOGIC_VECTOR'("001101"));
MQQ131:LRU_UPDATE_DATA_PT(131) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(5) ) , STD_ULOGIC_VECTOR'("1000101"));
MQQ132:LRU_UPDATE_DATA_PT(132) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
TLB_TAG4_WAYHIT_Q(0) & TLB_TAG4_WAYHIT_Q(1) &
TLB_TAG4_WAYHIT_Q(2) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(5)
) , STD_ULOGIC_VECTOR'("00000011"));
MQQ133:LRU_UPDATE_DATA_PT(133) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(5)
) , STD_ULOGIC_VECTOR'("1011"));
MQQ134:LRU_UPDATE_DATA_PT(134) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_ESEL_SIG(1) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) ) , STD_ULOGIC_VECTOR'("11011"));
MQQ135:LRU_UPDATE_DATA_PT(135) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(5) ) , STD_ULOGIC_VECTOR'("11011"));
MQQ136:LRU_UPDATE_DATA_PT(136) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(5)
) , STD_ULOGIC_VECTOR'("100001"));
MQQ137:LRU_UPDATE_DATA_PT(137) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(4)
) , STD_ULOGIC_VECTOR'("110101"));
MQQ138:LRU_UPDATE_DATA_PT(138) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_TYPE_SIG(7) &
TLB_TAG4_WAYHIT_Q(0) & TLB_TAG4_WAYHIT_Q(1) &
TLB_TAG4_WAYHIT_Q(2) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(4) ) , STD_ULOGIC_VECTOR'("000000111"));
MQQ139:LRU_UPDATE_DATA_PT(139) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(4)
) , STD_ULOGIC_VECTOR'("100111"));
MQQ140:LRU_UPDATE_DATA_PT(140) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(4)
) , STD_ULOGIC_VECTOR'("110111"));
MQQ141:LRU_UPDATE_DATA_PT(141) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(4)
) , STD_ULOGIC_VECTOR'("100001"));
MQQ142:LRU_UPDATE_DATA_PT(142) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("1111100"));
MQQ143:LRU_UPDATE_DATA_PT(143) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("11100"));
MQQ144:LRU_UPDATE_DATA_PT(144) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("1111010"));
MQQ145:LRU_UPDATE_DATA_PT(145) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("11010"));
MQQ146:LRU_UPDATE_DATA_PT(146) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("1110110"));
MQQ147:LRU_UPDATE_DATA_PT(147) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("10110"));
MQQ148:LRU_UPDATE_DATA_PT(148) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("100011110"));
MQQ149:LRU_UPDATE_DATA_PT(149) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("0001110"));
MQQ150:LRU_UPDATE_DATA_PT(150) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3)
) , STD_ULOGIC_VECTOR'("10001110"));
MQQ151:LRU_UPDATE_DATA_PT(151) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) & LRU_TAG4_DATAOUT_Q(3)
) , STD_ULOGIC_VECTOR'("10011110"));
MQQ152:LRU_UPDATE_DATA_PT(152) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(3)
) , STD_ULOGIC_VECTOR'("10101110"));
MQQ153:LRU_UPDATE_DATA_PT(153) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(3) ) , STD_ULOGIC_VECTOR'("1000100"));
MQQ154:LRU_UPDATE_DATA_PT(154) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2)
) , STD_ULOGIC_VECTOR'("111100"));
MQQ155:LRU_UPDATE_DATA_PT(155) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2)
) , STD_ULOGIC_VECTOR'("1100"));
MQQ156:LRU_UPDATE_DATA_PT(156) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2)
) , STD_ULOGIC_VECTOR'("111010"));
MQQ157:LRU_UPDATE_DATA_PT(157) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2)
) , STD_ULOGIC_VECTOR'("1010"));
MQQ158:LRU_UPDATE_DATA_PT(158) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(3) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) ) , STD_ULOGIC_VECTOR'("1001110"));
MQQ159:LRU_UPDATE_DATA_PT(159) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & TLB_TAG4_WAYHIT_Q(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) ) , STD_ULOGIC_VECTOR'("1001110"));
MQQ160:LRU_UPDATE_DATA_PT(160) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) ) , STD_ULOGIC_VECTOR'("1011110"));
MQQ161:LRU_UPDATE_DATA_PT(161) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2)
) , STD_ULOGIC_VECTOR'("000110"));
MQQ162:LRU_UPDATE_DATA_PT(162) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1) &
LRU_TAG4_DATAOUT_Q(2) ) , STD_ULOGIC_VECTOR'("1000110"));
MQQ163:LRU_UPDATE_DATA_PT(163) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) ) , STD_ULOGIC_VECTOR'("1000100"));
MQQ164:LRU_UPDATE_DATA_PT(164) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(2) ) , STD_ULOGIC_VECTOR'("1001110"));
MQQ165:LRU_UPDATE_DATA_PT(165) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) & LRU_TAG4_DATAOUT_Q(2)
) , STD_ULOGIC_VECTOR'("10110111"));
MQQ166:LRU_UPDATE_DATA_PT(166) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) ) , STD_ULOGIC_VECTOR'("11100"));
MQQ167:LRU_UPDATE_DATA_PT(167) <=
Eq(( TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) ) , STD_ULOGIC_VECTOR'("100"));
MQQ168:LRU_UPDATE_DATA_PT(168) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(3) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) ) , STD_ULOGIC_VECTOR'("10110"));
MQQ169:LRU_UPDATE_DATA_PT(169) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(2) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) ) , STD_ULOGIC_VECTOR'("10110"));
MQQ170:LRU_UPDATE_DATA_PT(170) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_WAYHIT_Q(0) &
TLB_TAG4_WAYHIT_Q(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) ) , STD_ULOGIC_VECTOR'("10110"));
MQQ171:LRU_UPDATE_DATA_PT(171) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) ) , STD_ULOGIC_VECTOR'("10110"));
MQQ172:LRU_UPDATE_DATA_PT(172) <=
Eq(( TLB_TAG4_TYPE_SIG(4) & TLB_TAG4_TYPE_SIG(6) &
TLB_TAG4_TYPE_SIG(7) & LRU_TAG4_DATAOUT_Q(0) &
LRU_TAG4_DATAOUT_Q(1) ) , STD_ULOGIC_VECTOR'("00010"));
MQQ173:LRU_UPDATE_DATA_PT(173) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(1)
) , STD_ULOGIC_VECTOR'("100010"));
MQQ174:LRU_UPDATE_DATA_PT(174) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_IS_SIG(0) &
LRU_TAG4_DATAOUT_Q(0) & LRU_TAG4_DATAOUT_Q(1)
) , STD_ULOGIC_VECTOR'("101011"));
MQQ175:LRU_UPDATE_DATA_PT(175) <=
Eq(( TLB_TAG4_TYPE_SIG(6) & TLB_TAG4_HES_SIG &
TLB_TAG4_ESEL_SIG(1) & TLB_TAG4_ESEL_SIG(2) &
TLB_TAG4_IS_SIG(0) & LRU_TAG4_DATAOUT_Q(0)
) , STD_ULOGIC_VECTOR'("100101"));
MQQ176:LRU_UPDATE_DATA(0) <=
(LRU_UPDATE_DATA_PT(1) OR LRU_UPDATE_DATA_PT(2)
OR LRU_UPDATE_DATA_PT(3) OR LRU_UPDATE_DATA_PT(4)
OR LRU_UPDATE_DATA_PT(5) OR LRU_UPDATE_DATA_PT(6)
OR LRU_UPDATE_DATA_PT(7) OR LRU_UPDATE_DATA_PT(8)
OR LRU_UPDATE_DATA_PT(9) OR LRU_UPDATE_DATA_PT(10)
OR LRU_UPDATE_DATA_PT(15) OR LRU_UPDATE_DATA_PT(16)
OR LRU_UPDATE_DATA_PT(17) OR LRU_UPDATE_DATA_PT(18)
OR LRU_UPDATE_DATA_PT(25) OR LRU_UPDATE_DATA_PT(31)
OR LRU_UPDATE_DATA_PT(32) OR LRU_UPDATE_DATA_PT(35)
OR LRU_UPDATE_DATA_PT(36) OR LRU_UPDATE_DATA_PT(37)
OR LRU_UPDATE_DATA_PT(38) OR LRU_UPDATE_DATA_PT(39)
OR LRU_UPDATE_DATA_PT(40) OR LRU_UPDATE_DATA_PT(41)
OR LRU_UPDATE_DATA_PT(42) OR LRU_UPDATE_DATA_PT(43)
OR LRU_UPDATE_DATA_PT(44) OR LRU_UPDATE_DATA_PT(45)
OR LRU_UPDATE_DATA_PT(56) OR LRU_UPDATE_DATA_PT(82)
OR LRU_UPDATE_DATA_PT(83) OR LRU_UPDATE_DATA_PT(84)
OR LRU_UPDATE_DATA_PT(85) OR LRU_UPDATE_DATA_PT(86)
OR LRU_UPDATE_DATA_PT(87) OR LRU_UPDATE_DATA_PT(88)
OR LRU_UPDATE_DATA_PT(89) OR LRU_UPDATE_DATA_PT(90)
OR LRU_UPDATE_DATA_PT(91) OR LRU_UPDATE_DATA_PT(92)
OR LRU_UPDATE_DATA_PT(98) OR LRU_UPDATE_DATA_PT(104)
OR LRU_UPDATE_DATA_PT(105) OR LRU_UPDATE_DATA_PT(106)
OR LRU_UPDATE_DATA_PT(138) OR LRU_UPDATE_DATA_PT(139)
OR LRU_UPDATE_DATA_PT(140) OR LRU_UPDATE_DATA_PT(141)
OR LRU_UPDATE_DATA_PT(142) OR LRU_UPDATE_DATA_PT(143)
OR LRU_UPDATE_DATA_PT(144) OR LRU_UPDATE_DATA_PT(145)
OR LRU_UPDATE_DATA_PT(146) OR LRU_UPDATE_DATA_PT(147)
OR LRU_UPDATE_DATA_PT(148) OR LRU_UPDATE_DATA_PT(149)
OR LRU_UPDATE_DATA_PT(150) OR LRU_UPDATE_DATA_PT(151)
OR LRU_UPDATE_DATA_PT(152) OR LRU_UPDATE_DATA_PT(154)
OR LRU_UPDATE_DATA_PT(155) OR LRU_UPDATE_DATA_PT(156)
OR LRU_UPDATE_DATA_PT(157) OR LRU_UPDATE_DATA_PT(158)
OR LRU_UPDATE_DATA_PT(159) OR LRU_UPDATE_DATA_PT(160)
OR LRU_UPDATE_DATA_PT(161) OR LRU_UPDATE_DATA_PT(162)
OR LRU_UPDATE_DATA_PT(164) OR LRU_UPDATE_DATA_PT(174)
);
MQQ177:LRU_UPDATE_DATA(1) <=
(LRU_UPDATE_DATA_PT(5) OR LRU_UPDATE_DATA_PT(6)
OR LRU_UPDATE_DATA_PT(21) OR LRU_UPDATE_DATA_PT(22)
OR LRU_UPDATE_DATA_PT(27) OR LRU_UPDATE_DATA_PT(28)
OR LRU_UPDATE_DATA_PT(29) OR LRU_UPDATE_DATA_PT(30)
OR LRU_UPDATE_DATA_PT(33) OR LRU_UPDATE_DATA_PT(34)
OR LRU_UPDATE_DATA_PT(37) OR LRU_UPDATE_DATA_PT(38)
OR LRU_UPDATE_DATA_PT(59) OR LRU_UPDATE_DATA_PT(60)
OR LRU_UPDATE_DATA_PT(61) OR LRU_UPDATE_DATA_PT(62)
OR LRU_UPDATE_DATA_PT(63) OR LRU_UPDATE_DATA_PT(64)
OR LRU_UPDATE_DATA_PT(65) OR LRU_UPDATE_DATA_PT(70)
OR LRU_UPDATE_DATA_PT(71) OR LRU_UPDATE_DATA_PT(72)
OR LRU_UPDATE_DATA_PT(73) OR LRU_UPDATE_DATA_PT(74)
OR LRU_UPDATE_DATA_PT(75) OR LRU_UPDATE_DATA_PT(76)
OR LRU_UPDATE_DATA_PT(77) OR LRU_UPDATE_DATA_PT(78)
OR LRU_UPDATE_DATA_PT(79) OR LRU_UPDATE_DATA_PT(80)
OR LRU_UPDATE_DATA_PT(81) OR LRU_UPDATE_DATA_PT(82)
OR LRU_UPDATE_DATA_PT(99) OR LRU_UPDATE_DATA_PT(100)
OR LRU_UPDATE_DATA_PT(101) OR LRU_UPDATE_DATA_PT(102)
OR LRU_UPDATE_DATA_PT(103) OR LRU_UPDATE_DATA_PT(107)
OR LRU_UPDATE_DATA_PT(108) OR LRU_UPDATE_DATA_PT(109)
OR LRU_UPDATE_DATA_PT(125) OR LRU_UPDATE_DATA_PT(126)
OR LRU_UPDATE_DATA_PT(127) OR LRU_UPDATE_DATA_PT(128)
OR LRU_UPDATE_DATA_PT(129) OR LRU_UPDATE_DATA_PT(130)
OR LRU_UPDATE_DATA_PT(131) OR LRU_UPDATE_DATA_PT(132)
OR LRU_UPDATE_DATA_PT(133) OR LRU_UPDATE_DATA_PT(134)
OR LRU_UPDATE_DATA_PT(135) OR LRU_UPDATE_DATA_PT(136)
OR LRU_UPDATE_DATA_PT(137) OR LRU_UPDATE_DATA_PT(153)
OR LRU_UPDATE_DATA_PT(163) OR LRU_UPDATE_DATA_PT(166)
OR LRU_UPDATE_DATA_PT(167) OR LRU_UPDATE_DATA_PT(168)
OR LRU_UPDATE_DATA_PT(169) OR LRU_UPDATE_DATA_PT(170)
OR LRU_UPDATE_DATA_PT(171) OR LRU_UPDATE_DATA_PT(172)
OR LRU_UPDATE_DATA_PT(173) OR LRU_UPDATE_DATA_PT(175)
);
MQQ178:LRU_UPDATE_DATA(2) <=
(LRU_UPDATE_DATA_PT(1) OR LRU_UPDATE_DATA_PT(2)
OR LRU_UPDATE_DATA_PT(3) OR LRU_UPDATE_DATA_PT(4)
OR LRU_UPDATE_DATA_PT(5) OR LRU_UPDATE_DATA_PT(6)
OR LRU_UPDATE_DATA_PT(7) OR LRU_UPDATE_DATA_PT(8)
OR LRU_UPDATE_DATA_PT(9) OR LRU_UPDATE_DATA_PT(10)
OR LRU_UPDATE_DATA_PT(11) OR LRU_UPDATE_DATA_PT(12)
OR LRU_UPDATE_DATA_PT(13) OR LRU_UPDATE_DATA_PT(14)
OR LRU_UPDATE_DATA_PT(15) OR LRU_UPDATE_DATA_PT(16)
OR LRU_UPDATE_DATA_PT(17) OR LRU_UPDATE_DATA_PT(18)
OR LRU_UPDATE_DATA_PT(19) OR LRU_UPDATE_DATA_PT(20)
OR LRU_UPDATE_DATA_PT(23) OR LRU_UPDATE_DATA_PT(24)
OR LRU_UPDATE_DATA_PT(25) OR LRU_UPDATE_DATA_PT(26)
OR LRU_UPDATE_DATA_PT(46) OR LRU_UPDATE_DATA_PT(47)
OR LRU_UPDATE_DATA_PT(48) OR LRU_UPDATE_DATA_PT(49)
OR LRU_UPDATE_DATA_PT(50) OR LRU_UPDATE_DATA_PT(51)
OR LRU_UPDATE_DATA_PT(52) OR LRU_UPDATE_DATA_PT(53)
OR LRU_UPDATE_DATA_PT(54) OR LRU_UPDATE_DATA_PT(55)
OR LRU_UPDATE_DATA_PT(56) OR LRU_UPDATE_DATA_PT(57)
OR LRU_UPDATE_DATA_PT(58) OR LRU_UPDATE_DATA_PT(61)
OR LRU_UPDATE_DATA_PT(64) OR LRU_UPDATE_DATA_PT(66)
OR LRU_UPDATE_DATA_PT(67) OR LRU_UPDATE_DATA_PT(68)
OR LRU_UPDATE_DATA_PT(69) OR LRU_UPDATE_DATA_PT(91)
OR LRU_UPDATE_DATA_PT(93) OR LRU_UPDATE_DATA_PT(94)
OR LRU_UPDATE_DATA_PT(95) OR LRU_UPDATE_DATA_PT(96)
OR LRU_UPDATE_DATA_PT(97) OR LRU_UPDATE_DATA_PT(105)
OR LRU_UPDATE_DATA_PT(110) OR LRU_UPDATE_DATA_PT(111)
OR LRU_UPDATE_DATA_PT(112) OR LRU_UPDATE_DATA_PT(113)
OR LRU_UPDATE_DATA_PT(114) OR LRU_UPDATE_DATA_PT(115)
OR LRU_UPDATE_DATA_PT(116) OR LRU_UPDATE_DATA_PT(117)
OR LRU_UPDATE_DATA_PT(118) OR LRU_UPDATE_DATA_PT(119)
OR LRU_UPDATE_DATA_PT(120) OR LRU_UPDATE_DATA_PT(121)
OR LRU_UPDATE_DATA_PT(122) OR LRU_UPDATE_DATA_PT(123)
OR LRU_UPDATE_DATA_PT(124) OR LRU_UPDATE_DATA_PT(142)
OR LRU_UPDATE_DATA_PT(143) OR LRU_UPDATE_DATA_PT(144)
OR LRU_UPDATE_DATA_PT(145) OR LRU_UPDATE_DATA_PT(146)
OR LRU_UPDATE_DATA_PT(147) OR LRU_UPDATE_DATA_PT(148)
OR LRU_UPDATE_DATA_PT(149) OR LRU_UPDATE_DATA_PT(150)
OR LRU_UPDATE_DATA_PT(151) OR LRU_UPDATE_DATA_PT(152)
OR LRU_UPDATE_DATA_PT(165));
gen64_tlb_datain: if rs_data_width = 64 generate
tlb_datain_lo_tlbwe_0_nopar(0 TO tlb_word_width-10-1) <=
(tlb_tag4_q(tagpos_epn to tagpos_epn+31) and (0 to 31 => tlb_tag4_q(tagpos_cm))) & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_0(60 to 63) &
mmucr3_0(54 to 55) & (mmucr3_0(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_tlbwe_1_nopar(0 TO tlb_word_width-10-1) <=
(tlb_tag4_q(tagpos_epn to tagpos_epn+31) and (0 to 31 => tlb_tag4_q(tagpos_cm))) & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_1(60 to 63) &
mmucr3_1(54 to 55) & (mmucr3_1(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_tlbwe_2_nopar(0 TO tlb_word_width-10-1) <=
(tlb_tag4_q(tagpos_epn to tagpos_epn+31) and (0 to 31 => tlb_tag4_q(tagpos_cm))) & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_2(60 to 63) &
mmucr3_2(54 to 55) & (mmucr3_2(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_tlbwe_3_nopar(0 TO tlb_word_width-10-1) <=
(tlb_tag4_q(tagpos_epn to tagpos_epn+31) and (0 to 31 => tlb_tag4_q(tagpos_cm))) & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_3(60 to 63) &
mmucr3_3(54 to 55) & (mmucr3_3(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_ptereload_nopar(0 TO tlb_word_width-10-1) <=
tlb_tag4_q(tagpos_epn to tagpos_epn+epn_width-1) & '0' & ptereload_req_pte_lat(ptepos_size to ptepos_size+2) & tlb_tag4_q(tagpos_atsel) & tlb_tag4_q(tagpos_esel to tagpos_esel+2) &
tlb_tag4_q(tagpos_class) & (tlb_tag4_q(tagpos_class) and tlb_tag4_q(tagpos_class+1)) & '0' & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_dataina_d(0 TO tlb_word_width-1) <=
tlb_datain_lo_tlbwe_0_nopar & tlb_datain_lo_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_1_nopar & tlb_datain_lo_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_2_nopar & tlb_datain_lo_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_3_nopar & tlb_datain_lo_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_ptereload_nopar & tlb_datain_lo_ptereload_par
when (tlb_tag4_ptereload_sig='1') else
tlb_dataina_q(0 to tlb_word_width-1);
tlb_datainb_d(0 TO tlb_word_width-1) <=
tlb_datain_lo_tlbwe_0_nopar & tlb_datain_lo_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_1_nopar & tlb_datain_lo_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_2_nopar & tlb_datain_lo_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_3_nopar & tlb_datain_lo_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_ptereload_nopar & tlb_datain_lo_ptereload_par
when (tlb_tag4_ptereload_sig='1') else
tlb_datainb_q(0 to tlb_word_width-1);
end generate gen64_tlb_datain;
gen32_tlb_datain: if rs_data_width = 32 generate
tlb_datain_lo_tlbwe_0_nopar(0 TO tlb_word_width-10-1) <=
(0 to 31 => '0') & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_0(60 to 63) &
mmucr3_0(54 to 55) & (mmucr3_0(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_tlbwe_1_nopar(0 TO tlb_word_width-10-1) <=
(0 to 31 => '0') & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_1(60 to 63) &
mmucr3_1(54 to 55) & (mmucr3_1(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_tlbwe_2_nopar(0 TO tlb_word_width-10-1) <=
(0 to 31 => '0') & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_2(60 to 63) &
mmucr3_2(54 to 55) & (mmucr3_2(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_tlbwe_3_nopar(0 TO tlb_word_width-10-1) <=
(0 to 31 => '0') & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+51) & tlb_tag4_q(tagpos_size to tagpos_size+3) & mmucr3_3(60 to 63) &
mmucr3_3(54 to 55) & (mmucr3_3(52) and tlb_tag4_q(tagpos_is+1)) & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_datain_lo_ptereload_nopar(0 TO tlb_word_width-10-1) <=
(0 to 31 => '0') & tlb_tag4_q(tagpos_epn+32 to tagpos_epn+epn_width+32-1) & '0' & ptereload_req_pte_lat(ptepos_size to ptepos_size+2) & "1111" &
tlb_tag4_q(tagpos_class to tagpos_class+1) & '0' & or_reduce(tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1)) &
"00" & tlb_tag4_q(tagpos_lpid to tagpos_lpid+lpid_width-1);
tlb_dataina_d(0 TO tlb_word_width-1) <=
tlb_datain_lo_tlbwe_0_nopar & tlb_datain_lo_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_1_nopar & tlb_datain_lo_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_2_nopar & tlb_datain_lo_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_3_nopar & tlb_datain_lo_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_ptereload_nopar & tlb_datain_lo_ptereload_par
when (tlb_tag4_ptereload_sig='1') else
tlb_dataina_q(0 to tlb_word_width-1);
tlb_datainb_d(0 TO tlb_word_width-1) <=
tlb_datain_lo_tlbwe_0_nopar & tlb_datain_lo_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_1_nopar & tlb_datain_lo_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_2_nopar & tlb_datain_lo_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_tlbwe_3_nopar & tlb_datain_lo_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1') else
tlb_datain_lo_ptereload_nopar & tlb_datain_lo_ptereload_par
when (tlb_tag4_ptereload_sig='1') else
tlb_datainb_q(0 to tlb_word_width-1);
end generate gen32_tlb_datain;
ptereload_req_derived_usxwr(0) <= ptereload_req_pte_lat(ptepos_usxwr+0) and ptereload_req_pte_lat(ptepos_r);
ptereload_req_derived_usxwr(1) <= ptereload_req_pte_lat(ptepos_usxwr+1) and ptereload_req_pte_lat(ptepos_r);
ptereload_req_derived_usxwr(2) <= ptereload_req_pte_lat(ptepos_usxwr+2) and ptereload_req_pte_lat(ptepos_r) and ptereload_req_pte_lat(ptepos_c);
ptereload_req_derived_usxwr(3) <= ptereload_req_pte_lat(ptepos_usxwr+3) and ptereload_req_pte_lat(ptepos_r) and ptereload_req_pte_lat(ptepos_c);
ptereload_req_derived_usxwr(4) <= ptereload_req_pte_lat(ptepos_usxwr+4) and ptereload_req_pte_lat(ptepos_r);
ptereload_req_derived_usxwr(5) <= ptereload_req_pte_lat(ptepos_usxwr+5) and ptereload_req_pte_lat(ptepos_r);
gen32_lrat_tag3_lpn: if real_addr_width < 42 generate
lrat_tag3_lpn_sig(22 TO 63-real_addr_width) <= (others => '0');
lrat_tag3_lpn_sig(64-real_addr_width TO 51) <= lrat_tag3_lpn(64-real_addr_width to 51);
end generate gen32_lrat_tag3_lpn;
gen64_lrat_tag3_lpn: if real_addr_width > 41 generate
lrat_tag3_lpn_sig(64-real_addr_width TO 51) <= lrat_tag3_lpn(64-real_addr_width to 51);
end generate gen64_lrat_tag3_lpn;
gen32_lrat_tag3_rpn: if real_addr_width < 42 generate
lrat_tag3_rpn_sig(22 TO 63-real_addr_width) <= (others => '0');
lrat_tag3_rpn_sig(64-real_addr_width TO 51) <= lrat_tag3_rpn(64-real_addr_width to 51);
end generate gen32_lrat_tag3_rpn;
gen64_lrat_tag3_rpn: if real_addr_width > 41 generate
lrat_tag3_rpn_sig(64-real_addr_width TO 51) <= lrat_tag3_rpn(64-real_addr_width to 51);
end generate gen64_lrat_tag3_rpn;
gen32_lrat_tag4_lpn: if real_addr_width < 42 generate
lrat_tag4_lpn_sig(22 TO 63-real_addr_width) <= (others => '0');
lrat_tag4_lpn_sig(64-real_addr_width TO 51) <= lrat_tag4_lpn(64-real_addr_width to 51);
end generate gen32_lrat_tag4_lpn;
gen64_lrat_tag4_lpn: if real_addr_width > 41 generate
lrat_tag4_lpn_sig(64-real_addr_width TO 51) <= lrat_tag4_lpn(64-real_addr_width to 51);
end generate gen64_lrat_tag4_lpn;
gen32_lrat_tag4_rpn: if real_addr_width < 42 generate
lrat_tag4_rpn_sig(22 TO 63-real_addr_width) <= (others => '0');
lrat_tag4_rpn_sig(64-real_addr_width TO 51) <= lrat_tag4_rpn(64-real_addr_width to 51);
end generate gen32_lrat_tag4_rpn;
gen64_lrat_tag4_rpn: if real_addr_width > 41 generate
lrat_tag4_rpn_sig(64-real_addr_width TO 51) <= lrat_tag4_rpn(64-real_addr_width to 51);
end generate gen64_lrat_tag4_rpn;
tlb_datain_hi_hv_tlbwe_0_nopar <=
mmucr3_0(49) & "000" & mas7_0_rpnu & mas3_0_rpnl(32 to 51) & mmucr3_0(50 to 51) &
mmucr3_0(56 to 58) & mas8_0_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_0_ubits & mas2_0_wimge &
mas3_0_usxwr(0 to 3) &
(mas3_0_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_0_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_0_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_hv_tlbwe_1_nopar <=
mmucr3_1(49) & "000" & mas7_1_rpnu & mas3_1_rpnl(32 to 51) & mmucr3_1(50 to 51) &
mmucr3_1(56 to 58) & mas8_1_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_1_ubits & mas2_1_wimge &
mas3_1_usxwr(0 to 3) &
(mas3_1_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_1_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_1_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_hv_tlbwe_2_nopar <=
mmucr3_2(49) & "000" & mas7_2_rpnu & mas3_2_rpnl(32 to 51) & mmucr3_2(50 to 51) &
mmucr3_2(56 to 58) & mas8_2_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_2_ubits & mas2_2_wimge &
mas3_2_usxwr(0 to 3) &
(mas3_2_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_2_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_2_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_hv_tlbwe_3_nopar <=
mmucr3_3(49) & "000" & mas7_3_rpnu & mas3_3_rpnl(32 to 51) & mmucr3_3(50 to 51) &
mmucr3_3(56 to 58) & mas8_3_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_3_ubits & mas2_3_wimge &
mas3_3_usxwr(0 to 3) &
(mas3_3_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_3_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_3_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_gs_tlbwe_0_nopar <=
mmucr3_0(49) & "000" & lrat_tag4_rpn_sig(22 to 51) & mmucr3_0(50 to 51) &
mmucr3_0(56 to 58) & mas8_0_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_0_ubits & mas2_0_wimge &
mas3_0_usxwr(0 to 3) &
(mas3_0_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_0_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_0_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_gs_tlbwe_1_nopar <=
mmucr3_1(49) & "000" & lrat_tag4_rpn_sig(22 to 51) & mmucr3_1(50 to 51) &
mmucr3_1(56 to 58) & mas8_1_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_1_ubits & mas2_1_wimge &
mas3_1_usxwr(0 to 3) &
(mas3_1_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_1_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_1_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_gs_tlbwe_2_nopar <=
mmucr3_2(49) & "000" & lrat_tag4_rpn_sig(22 to 51) & mmucr3_2(50 to 51) &
mmucr3_2(56 to 58) & mas8_2_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_2_ubits & mas2_2_wimge &
mas3_2_usxwr(0 to 3) &
(mas3_2_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_2_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_2_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_gs_tlbwe_3_nopar <=
mmucr3_3(49) & "000" & lrat_tag4_rpn_sig(22 to 51) & mmucr3_3(50 to 51) &
mmucr3_3(56 to 58) & mas8_3_vf & (tlb_tag4_q(tagpos_ind) and tlb0cfg_ind) & mas3_3_ubits & mas2_3_wimge &
mas3_3_usxwr(0 to 3) &
(mas3_3_usxwr(4) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) &
((mas3_3_usxwr(5) and (not tlb_tag4_q(tagpos_ind) or not tlb0cfg_ind)) or (mas3_3_rpnl(52) and tlb_tag4_q(tagpos_ind) and tlb0cfg_ind)) &
tlb_tag4_q(tagpos_pt) & tlb_tag4_q(tagpos_recform) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_hv_ptereload_nopar <=
'0' & "000" & ptereload_req_pte_lat(ptepos_rpn+10 to ptepos_rpn+39) & ptereload_req_pte_lat(ptepos_r) & ptereload_req_pte_lat(ptepos_c) &
"00" & '0' & '0' & '0' & ptereload_req_pte_lat(ptepos_ubits to ptepos_ubits+3) & ptereload_req_pte_lat(ptepos_wimge to ptepos_wimge+4) &
ptereload_req_derived_usxwr(0 to 5) &
tlb_tag4_q(tagpos_gs) & tlb_tag4_q(tagpos_as) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_datain_hi_gs_ptereload_nopar <=
'0' & "000" & lrat_tag4_rpn_sig(22 to 51) & ptereload_req_pte_lat(ptepos_r) & ptereload_req_pte_lat(ptepos_c) &
"00" & '0' & '0' & '0' & ptereload_req_pte_lat(ptepos_ubits to ptepos_ubits+3) & ptereload_req_pte_lat(ptepos_wimge to ptepos_wimge+4) &
ptereload_req_derived_usxwr(0 to 5) &
tlb_tag4_q(tagpos_gs) & tlb_tag4_q(tagpos_as) & "00" & tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_dataina_d(tlb_word_width TO 2*tlb_word_width-1) <=
tlb_datain_hi_hv_tlbwe_0_nopar & tlb_datain_hi_hv_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_hv_tlbwe_1_nopar & tlb_datain_hi_hv_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_hv_tlbwe_2_nopar & tlb_datain_hi_hv_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_hv_tlbwe_3_nopar & tlb_datain_hi_hv_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_gs_tlbwe_0_nopar & tlb_datain_hi_gs_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_gs_tlbwe_1_nopar & tlb_datain_hi_gs_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_gs_tlbwe_2_nopar & tlb_datain_hi_gs_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_gs_tlbwe_3_nopar & tlb_datain_hi_gs_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_hv_ptereload_nopar & tlb_datain_hi_hv_ptereload_par
when (tlb_tag4_ptereload_sig='1' and tlb_tag4_q(tagpos_gs)='0') else
tlb_datain_hi_gs_ptereload_nopar & tlb_datain_hi_gs_ptereload_par
when (tlb_tag4_ptereload_sig='1' and tlb_tag4_q(tagpos_gs)='1') else
tlb_dataina_q(tlb_word_width to 2*tlb_word_width-1);
tlb_datainb_d(tlb_word_width TO 2*tlb_word_width-1) <=
tlb_datain_hi_hv_tlbwe_0_nopar & tlb_datain_hi_hv_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_hv_tlbwe_1_nopar & tlb_datain_hi_hv_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_hv_tlbwe_2_nopar & tlb_datain_hi_hv_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_hv_tlbwe_3_nopar & tlb_datain_hi_hv_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and (tlb_tag4_q(tagpos_gs)='0' or tlb_tag4_q(tagpos_is)='0')) else
tlb_datain_hi_gs_tlbwe_0_nopar & tlb_datain_hi_gs_tlbwe_0_par
when (tlb_tag4_q(tagpos_thdid+0)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_gs_tlbwe_1_nopar & tlb_datain_hi_gs_tlbwe_1_par
when (tlb_tag4_q(tagpos_thdid+1)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_gs_tlbwe_2_nopar & tlb_datain_hi_gs_tlbwe_2_par
when (tlb_tag4_q(tagpos_thdid+2)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_gs_tlbwe_3_nopar & tlb_datain_hi_gs_tlbwe_3_par
when (tlb_tag4_q(tagpos_thdid+3)='1' and tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_is)='1') else
tlb_datain_hi_hv_ptereload_nopar & tlb_datain_hi_hv_ptereload_par
when (tlb_tag4_ptereload_sig='1' and tlb_tag4_q(tagpos_gs)='0') else
tlb_datain_hi_gs_ptereload_nopar & tlb_datain_hi_gs_ptereload_par
when (tlb_tag4_ptereload_sig='1' and tlb_tag4_q(tagpos_gs)='1') else
tlb_datainb_q(tlb_word_width to 2*tlb_word_width-1);
tlb_datain_lo_tlbwe_0_par(0) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(0 to 7));
tlb_datain_lo_tlbwe_0_par(1) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(8 to 15));
tlb_datain_lo_tlbwe_0_par(2) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(16 to 23));
tlb_datain_lo_tlbwe_0_par(3) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(24 to 31));
tlb_datain_lo_tlbwe_0_par(4) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(32 to 39));
tlb_datain_lo_tlbwe_0_par(5) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(40 to 47));
tlb_datain_lo_tlbwe_0_par(7) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(52 to 59));
tlb_datain_lo_tlbwe_0_par(8) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(60 to 65));
tlb_datain_lo_tlbwe_0_par(9) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(66 to 73));
tlb_datain_lo_tlbwe_1_par(0) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(0 to 7));
tlb_datain_lo_tlbwe_1_par(1) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(8 to 15));
tlb_datain_lo_tlbwe_1_par(2) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(16 to 23));
tlb_datain_lo_tlbwe_1_par(3) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(24 to 31));
tlb_datain_lo_tlbwe_1_par(4) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(32 to 39));
tlb_datain_lo_tlbwe_1_par(5) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(40 to 47));
tlb_datain_lo_tlbwe_1_par(7) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(52 to 59));
tlb_datain_lo_tlbwe_1_par(8) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(60 to 65));
tlb_datain_lo_tlbwe_1_par(9) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(66 to 73));
tlb_datain_lo_tlbwe_2_par(0) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(0 to 7));
tlb_datain_lo_tlbwe_2_par(1) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(8 to 15));
tlb_datain_lo_tlbwe_2_par(2) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(16 to 23));
tlb_datain_lo_tlbwe_2_par(3) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(24 to 31));
tlb_datain_lo_tlbwe_2_par(4) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(32 to 39));
tlb_datain_lo_tlbwe_2_par(5) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(40 to 47));
tlb_datain_lo_tlbwe_2_par(7) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(52 to 59));
tlb_datain_lo_tlbwe_2_par(8) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(60 to 65));
tlb_datain_lo_tlbwe_2_par(9) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(66 to 73));
tlb_datain_lo_tlbwe_3_par(0) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(0 to 7));
tlb_datain_lo_tlbwe_3_par(1) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(8 to 15));
tlb_datain_lo_tlbwe_3_par(2) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(16 to 23));
tlb_datain_lo_tlbwe_3_par(3) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(24 to 31));
tlb_datain_lo_tlbwe_3_par(4) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(32 to 39));
tlb_datain_lo_tlbwe_3_par(5) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(40 to 47));
tlb_datain_lo_tlbwe_3_par(7) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(52 to 59));
tlb_datain_lo_tlbwe_3_par(8) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(60 to 65));
tlb_datain_lo_tlbwe_3_par(9) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(66 to 73));
tlb_datain_lo_tlbwe_0_par(6) <= xor_reduce(tlb_datain_lo_tlbwe_0_nopar(48 to 51) & mmucr1_q(pos_tlb_pei));
tlb_datain_lo_tlbwe_1_par(6) <= xor_reduce(tlb_datain_lo_tlbwe_1_nopar(48 to 51) & mmucr1_q(pos_tlb_pei));
tlb_datain_lo_tlbwe_2_par(6) <= xor_reduce(tlb_datain_lo_tlbwe_2_nopar(48 to 51) & mmucr1_clone_q(pos_tlb_pei));
tlb_datain_lo_tlbwe_3_par(6) <= xor_reduce(tlb_datain_lo_tlbwe_3_nopar(48 to 51) & mmucr1_clone_q(pos_tlb_pei));
tlb_datain_lo_ptereload_par(0) <= xor_reduce(tlb_datain_lo_ptereload_nopar(0 to 7));
tlb_datain_lo_ptereload_par(1) <= xor_reduce(tlb_datain_lo_ptereload_nopar(8 to 15));
tlb_datain_lo_ptereload_par(2) <= xor_reduce(tlb_datain_lo_ptereload_nopar(16 to 23));
tlb_datain_lo_ptereload_par(3) <= xor_reduce(tlb_datain_lo_ptereload_nopar(24 to 31));
tlb_datain_lo_ptereload_par(4) <= xor_reduce(tlb_datain_lo_ptereload_nopar(32 to 39));
tlb_datain_lo_ptereload_par(5) <= xor_reduce(tlb_datain_lo_ptereload_nopar(40 to 47));
tlb_datain_lo_ptereload_par(6) <= xor_reduce(tlb_datain_lo_ptereload_nopar(48 to 51));
tlb_datain_lo_ptereload_par(7) <= xor_reduce(tlb_datain_lo_ptereload_nopar(52 to 59));
tlb_datain_lo_ptereload_par(8) <= xor_reduce(tlb_datain_lo_ptereload_nopar(60 to 65));
tlb_datain_lo_ptereload_par(9) <= xor_reduce(tlb_datain_lo_ptereload_nopar(66 to 73));
tlb_datain_hi_hv_tlbwe_0_par(0) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(0 to 7));
tlb_datain_hi_hv_tlbwe_0_par(1) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(8 to 15));
tlb_datain_hi_hv_tlbwe_0_par(2) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(16 to 23));
tlb_datain_hi_hv_tlbwe_0_par(3) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(24 to 31));
tlb_datain_hi_hv_tlbwe_0_par(4) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(32 to 39));
tlb_datain_hi_hv_tlbwe_0_par(5) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(40 to 44));
tlb_datain_hi_hv_tlbwe_0_par(6) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(45 to 49));
tlb_datain_hi_hv_tlbwe_0_par(7) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(50 to 57));
tlb_datain_hi_hv_tlbwe_0_par(8) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(58 to 65));
tlb_datain_hi_hv_tlbwe_0_par(9) <= xor_reduce(tlb_datain_hi_hv_tlbwe_0_nopar(66 to 73));
tlb_datain_hi_hv_tlbwe_1_par(0) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(0 to 7));
tlb_datain_hi_hv_tlbwe_1_par(1) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(8 to 15));
tlb_datain_hi_hv_tlbwe_1_par(2) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(16 to 23));
tlb_datain_hi_hv_tlbwe_1_par(3) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(24 to 31));
tlb_datain_hi_hv_tlbwe_1_par(4) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(32 to 39));
tlb_datain_hi_hv_tlbwe_1_par(5) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(40 to 44));
tlb_datain_hi_hv_tlbwe_1_par(6) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(45 to 49));
tlb_datain_hi_hv_tlbwe_1_par(7) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(50 to 57));
tlb_datain_hi_hv_tlbwe_1_par(8) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(58 to 65));
tlb_datain_hi_hv_tlbwe_1_par(9) <= xor_reduce(tlb_datain_hi_hv_tlbwe_1_nopar(66 to 73));
tlb_datain_hi_hv_tlbwe_2_par(0) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(0 to 7));
tlb_datain_hi_hv_tlbwe_2_par(1) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(8 to 15));
tlb_datain_hi_hv_tlbwe_2_par(2) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(16 to 23));
tlb_datain_hi_hv_tlbwe_2_par(3) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(24 to 31));
tlb_datain_hi_hv_tlbwe_2_par(4) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(32 to 39));
tlb_datain_hi_hv_tlbwe_2_par(5) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(40 to 44));
tlb_datain_hi_hv_tlbwe_2_par(6) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(45 to 49));
tlb_datain_hi_hv_tlbwe_2_par(7) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(50 to 57));
tlb_datain_hi_hv_tlbwe_2_par(8) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(58 to 65));
tlb_datain_hi_hv_tlbwe_2_par(9) <= xor_reduce(tlb_datain_hi_hv_tlbwe_2_nopar(66 to 73));
tlb_datain_hi_hv_tlbwe_3_par(0) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(0 to 7));
tlb_datain_hi_hv_tlbwe_3_par(1) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(8 to 15));
tlb_datain_hi_hv_tlbwe_3_par(2) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(16 to 23));
tlb_datain_hi_hv_tlbwe_3_par(3) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(24 to 31));
tlb_datain_hi_hv_tlbwe_3_par(4) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(32 to 39));
tlb_datain_hi_hv_tlbwe_3_par(5) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(40 to 44));
tlb_datain_hi_hv_tlbwe_3_par(6) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(45 to 49));
tlb_datain_hi_hv_tlbwe_3_par(7) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(50 to 57));
tlb_datain_hi_hv_tlbwe_3_par(8) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(58 to 65));
tlb_datain_hi_hv_tlbwe_3_par(9) <= xor_reduce(tlb_datain_hi_hv_tlbwe_3_nopar(66 to 73));
tlb_datain_hi_gs_tlbwe_0_par(0) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(0 to 7));
tlb_datain_hi_gs_tlbwe_0_par(1) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(8 to 15));
tlb_datain_hi_gs_tlbwe_0_par(2) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(16 to 23));
tlb_datain_hi_gs_tlbwe_0_par(3) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(24 to 31));
tlb_datain_hi_gs_tlbwe_0_par(4) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(32 to 39));
tlb_datain_hi_gs_tlbwe_0_par(5) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(40 to 44));
tlb_datain_hi_gs_tlbwe_0_par(6) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(45 to 49));
tlb_datain_hi_gs_tlbwe_0_par(7) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(50 to 57));
tlb_datain_hi_gs_tlbwe_0_par(8) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(58 to 65));
tlb_datain_hi_gs_tlbwe_0_par(9) <= xor_reduce(tlb_datain_hi_gs_tlbwe_0_nopar(66 to 73));
tlb_datain_hi_gs_tlbwe_1_par(0) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(0 to 7));
tlb_datain_hi_gs_tlbwe_1_par(1) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(8 to 15));
tlb_datain_hi_gs_tlbwe_1_par(2) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(16 to 23));
tlb_datain_hi_gs_tlbwe_1_par(3) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(24 to 31));
tlb_datain_hi_gs_tlbwe_1_par(4) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(32 to 39));
tlb_datain_hi_gs_tlbwe_1_par(5) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(40 to 44));
tlb_datain_hi_gs_tlbwe_1_par(6) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(45 to 49));
tlb_datain_hi_gs_tlbwe_1_par(7) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(50 to 57));
tlb_datain_hi_gs_tlbwe_1_par(8) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(58 to 65));
tlb_datain_hi_gs_tlbwe_1_par(9) <= xor_reduce(tlb_datain_hi_gs_tlbwe_1_nopar(66 to 73));
tlb_datain_hi_gs_tlbwe_2_par(0) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(0 to 7));
tlb_datain_hi_gs_tlbwe_2_par(1) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(8 to 15));
tlb_datain_hi_gs_tlbwe_2_par(2) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(16 to 23));
tlb_datain_hi_gs_tlbwe_2_par(3) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(24 to 31));
tlb_datain_hi_gs_tlbwe_2_par(4) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(32 to 39));
tlb_datain_hi_gs_tlbwe_2_par(5) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(40 to 44));
tlb_datain_hi_gs_tlbwe_2_par(6) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(45 to 49));
tlb_datain_hi_gs_tlbwe_2_par(7) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(50 to 57));
tlb_datain_hi_gs_tlbwe_2_par(8) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(58 to 65));
tlb_datain_hi_gs_tlbwe_2_par(9) <= xor_reduce(tlb_datain_hi_gs_tlbwe_2_nopar(66 to 73));
tlb_datain_hi_gs_tlbwe_3_par(0) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(0 to 7));
tlb_datain_hi_gs_tlbwe_3_par(1) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(8 to 15));
tlb_datain_hi_gs_tlbwe_3_par(2) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(16 to 23));
tlb_datain_hi_gs_tlbwe_3_par(3) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(24 to 31));
tlb_datain_hi_gs_tlbwe_3_par(4) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(32 to 39));
tlb_datain_hi_gs_tlbwe_3_par(5) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(40 to 44));
tlb_datain_hi_gs_tlbwe_3_par(6) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(45 to 49));
tlb_datain_hi_gs_tlbwe_3_par(7) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(50 to 57));
tlb_datain_hi_gs_tlbwe_3_par(8) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(58 to 65));
tlb_datain_hi_gs_tlbwe_3_par(9) <= xor_reduce(tlb_datain_hi_gs_tlbwe_3_nopar(66 to 73));
tlb_datain_hi_hv_ptereload_par(0) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(0 to 7));
tlb_datain_hi_hv_ptereload_par(1) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(8 to 15));
tlb_datain_hi_hv_ptereload_par(2) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(16 to 23));
tlb_datain_hi_hv_ptereload_par(3) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(24 to 31));
tlb_datain_hi_hv_ptereload_par(4) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(32 to 39));
tlb_datain_hi_hv_ptereload_par(5) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(40 to 44));
tlb_datain_hi_hv_ptereload_par(6) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(45 to 49));
tlb_datain_hi_hv_ptereload_par(7) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(50 to 57));
tlb_datain_hi_hv_ptereload_par(8) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(58 to 65));
tlb_datain_hi_hv_ptereload_par(9) <= xor_reduce(tlb_datain_hi_hv_ptereload_nopar(66 to 73));
tlb_datain_hi_gs_ptereload_par(0) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(0 to 7));
tlb_datain_hi_gs_ptereload_par(1) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(8 to 15));
tlb_datain_hi_gs_ptereload_par(2) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(16 to 23));
tlb_datain_hi_gs_ptereload_par(3) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(24 to 31));
tlb_datain_hi_gs_ptereload_par(4) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(32 to 39));
tlb_datain_hi_gs_ptereload_par(5) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(40 to 44));
tlb_datain_hi_gs_ptereload_par(6) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(45 to 49));
tlb_datain_hi_gs_ptereload_par(7) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(50 to 57));
tlb_datain_hi_gs_ptereload_par(8) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(58 to 65));
tlb_datain_hi_gs_ptereload_par(9) <= xor_reduce(tlb_datain_hi_gs_ptereload_nopar(66 to 73));
tlb_dataina <= tlb_dataina_q;
tlb_datainb <= tlb_datainb_q;
tlb_cmp_dbg_tag5_tlb_datain_q <= tlb_dataina_q;
tlb_erat_rel_d(eratpos_epn TO epn_width-1) <= tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_epn to epn_width-1);
tlb_erat_rel_d(eratpos_x) <= tlb_tag4_way_or(waypos_xbit)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_x);
tlb_erat_rel_d(eratpos_size TO eratpos_size+2) <= erat_pgsize(0 to 2)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_size to eratpos_size+2);
tlb_erat_rel_d(eratpos_v) <= '1'
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_v);
tlb_erat_rel_clone_d(eratpos_epn TO epn_width-1) <= tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_epn to epn_width-1);
tlb_erat_rel_clone_d(eratpos_x) <= tlb_tag4_way_or(waypos_xbit)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_x);
tlb_erat_rel_clone_d(eratpos_size TO eratpos_size+2) <= erat_pgsize(0 to 2)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_size to eratpos_size+2);
tlb_erat_rel_clone_d(eratpos_v) <= '1'
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_v);
tlb_erat_rel_d(eratpos_thdid TO eratpos_thdid+thdid_width-1) <=
tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1)
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_ittid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_dttid)='0' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_way_or(waypos_tid+2 to waypos_tid+5)
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_ittid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_dttid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else (tlb_tag4_q(tagpos_atsel) & tlb_tag4_q(tagpos_esel to tagpos_esel+2))
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_ittid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_dttid)='0' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_q(tagpos_pid+2 to tagpos_pid+5)
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_ittid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_dttid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_erat_rel_q(eratpos_thdid to eratpos_thdid+thdid_width-1);
tlb_erat_rel_clone_d(eratpos_thdid TO eratpos_thdid+thdid_width-1) <=
tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1)
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_ittid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_dttid)='0' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_way_or(waypos_tid+2 to waypos_tid+5)
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_ittid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_dttid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else (tlb_tag4_q(tagpos_atsel) & tlb_tag4_q(tagpos_esel to tagpos_esel+2))
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_ittid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_dttid)='0' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_q(tagpos_pid+2 to tagpos_pid+5)
when ((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_ittid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_dttid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_erat_rel_clone_q(eratpos_thdid to eratpos_thdid+thdid_width-1);
tlb_erat_rel_d(eratpos_class TO eratpos_class+class_width-1) <=
tlb_tag4_way_or(waypos_class to waypos_class+class_width-1)
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_ictid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_dctid)='0' and mmucr1_q(pos_dccd)='1' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_way_or(waypos_tid+0 to waypos_tid+1)
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_ictid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_dctid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else ( tlb_tag4_q(tagpos_class) & ((tlb_tag4_q(tagpos_class) and tlb_tag4_q(tagpos_class+1)) or (not(tlb_tag4_q(tagpos_class)) and tlb_tag4_way_or(waypos_class+1))) )
when (tlb_tag4_erat_data_cap='1' and
tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_q(pos_dctid)='0' and mmucr1_q(pos_dccd)='0' and tlb_tag4_q(tagpos_ind)='0')
else (tlb_tag4_q(tagpos_class) & (tlb_tag4_q(tagpos_class) and tlb_tag4_q(tagpos_class+1)))
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_ictid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_dctid)='0' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_q(tagpos_pid+0 to tagpos_pid+1)
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_ictid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_q(pos_dctid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_erat_rel_q(eratpos_class to eratpos_class+class_width-1);
tlb_erat_rel_clone_d(eratpos_class TO eratpos_class+class_width-1) <=
tlb_tag4_way_or(waypos_class to waypos_class+class_width-1)
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_ictid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_dctid)='0' and mmucr1_clone_q(pos_dccd)='1' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_way_or(waypos_tid+0 to waypos_tid+1)
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_ictid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_dctid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else ( tlb_tag4_q(tagpos_class) & ((tlb_tag4_q(tagpos_class) and tlb_tag4_q(tagpos_class+1)) or (not(tlb_tag4_q(tagpos_class)) and tlb_tag4_way_or(waypos_class+1))) )
when (tlb_tag4_erat_data_cap='1' and
tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and mmucr1_clone_q(pos_dctid)='0' and mmucr1_clone_q(pos_dccd)='0' and tlb_tag4_q(tagpos_ind)='0')
else (tlb_tag4_q(tagpos_class) & (tlb_tag4_q(tagpos_class) and tlb_tag4_q(tagpos_class+1)))
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_ictid)='0' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_dctid)='0' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_tag4_q(tagpos_pid+0 to tagpos_pid+1)
when tlb_tag4_erat_data_cap='1' and
((tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_ictid)='1' and tlb_tag4_q(tagpos_ind)='0') or
(tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1' and mmucr1_clone_q(pos_dctid)='1' and tlb_tag4_q(tagpos_ind)='0'))
else tlb_erat_rel_clone_q(eratpos_class to eratpos_class+class_width-1);
tlb_erat_rel_d(eratpos_extclass TO eratpos_extclass+1) <= tlb_tag4_way_or(waypos_extclass to waypos_extclass+1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_extclass to eratpos_extclass+1);
tlb_erat_rel_d(eratpos_wren) <= '1' when (tlb_tag4_erat_data_cap='1' and
(tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1') and
tlb_tag4_q(tagpos_type_ptereload)='0' and tlb_tag4_wayhit_q(tlb_ways)='1' and
tlb_tag4_q(tagpos_wq+1)='0' and tlb_tag4_q(tagpos_ind)='0' and multihit='0'
and or_reduce(tag4_parerr_q(0 to 4))='0')
else '0' when tlb_tag4_erat_data_cap='1'
else tlb_erat_rel_q(eratpos_wren);
tlb_erat_rel_d(eratpos_rpnrsvd TO eratpos_rpnrsvd+3) <= (others => '0');
tlb_erat_rel_d(eratpos_rpn TO eratpos_rpn+rpn_width-1) <= tlb_tag4_way_or(waypos_rpn to waypos_rpn+rpn_width-1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_rpn to eratpos_rpn+rpn_width-1);
tlb_erat_rel_d(eratpos_r TO eratpos_c) <= tlb_tag4_way_or(waypos_rc to waypos_rc+1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_r to eratpos_c);
tlb_erat_rel_d(eratpos_relsoon) <= ierat_req_taken or ptereload_req_taken or tlb_tag0_type(1);
tlb_erat_rel_d(eratpos_wlc TO eratpos_wlc+1) <= tlb_tag4_way_or(waypos_wlc to waypos_wlc+1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_wlc to eratpos_wlc+1);
tlb_erat_rel_d(eratpos_resvattr) <= tlb_tag4_way_or(waypos_resvattr)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_resvattr);
tlb_erat_rel_d(eratpos_vf) <= tlb_tag4_way_or(waypos_vf)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_vf);
tlb_erat_rel_d(eratpos_ubits TO eratpos_ubits+3) <= tlb_tag4_way_or(waypos_ubits to waypos_ubits+3)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_ubits to eratpos_ubits+3);
tlb_erat_rel_d(eratpos_wimge TO eratpos_wimge+4) <= tlb_tag4_way_or(waypos_wimge to waypos_wimge+4)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_wimge to eratpos_wimge+4);
tlb_erat_rel_d(eratpos_usxwr TO eratpos_usxwr+5) <= tlb_tag4_way_or(waypos_usxwr to waypos_usxwr+5)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_usxwr to eratpos_usxwr+5);
tlb_erat_rel_d(eratpos_gs) <= tlb_tag4_way_or(waypos_gs)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_gs);
tlb_erat_rel_d(eratpos_ts) <= tlb_tag4_way_or(waypos_ts)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_ts);
tlb_erat_rel_d(eratpos_tid TO eratpos_tid+pid_width_erat-1) <= tlb_tag4_way_or(waypos_tid+6 to waypos_tid+14-1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_q(eratpos_tid to eratpos_tid+pid_width_erat-1);
tlb_erat_rel_clone_d(eratpos_extclass TO eratpos_extclass+1) <= tlb_tag4_way_or(waypos_extclass to waypos_extclass+1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_extclass to eratpos_extclass+1);
tlb_erat_rel_clone_d(eratpos_wren) <= '1' when (tlb_tag4_erat_data_cap='1' and
(tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1') and
tlb_tag4_q(tagpos_type_ptereload)='0' and tlb_tag4_wayhit_q(tlb_ways)='1' and
tlb_tag4_q(tagpos_wq+1)='0' and tlb_tag4_q(tagpos_ind)='0' and multihit='0')
else '0' when tlb_tag4_erat_data_cap='1'
else tlb_erat_rel_clone_q(eratpos_wren);
tlb_erat_rel_clone_d(eratpos_rpnrsvd TO eratpos_rpnrsvd+3) <= (others => '0');
tlb_erat_rel_clone_d(eratpos_rpn TO eratpos_rpn+rpn_width-1) <= tlb_tag4_way_or(waypos_rpn to waypos_rpn+rpn_width-1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_rpn to eratpos_rpn+rpn_width-1);
tlb_erat_rel_clone_d(eratpos_r TO eratpos_c) <= tlb_tag4_way_or(waypos_rc to waypos_rc+1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_r to eratpos_c);
tlb_erat_rel_clone_d(eratpos_relsoon) <= derat_req_taken or ptereload_req_taken or tlb_tag0_type(0);
tlb_erat_rel_clone_d(eratpos_wlc TO eratpos_wlc+1) <= tlb_tag4_way_or(waypos_wlc to waypos_wlc+1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_wlc to eratpos_wlc+1);
tlb_erat_rel_clone_d(eratpos_resvattr) <= tlb_tag4_way_or(waypos_resvattr)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_resvattr);
tlb_erat_rel_clone_d(eratpos_vf) <= tlb_tag4_way_or(waypos_vf)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_vf);
tlb_erat_rel_clone_d(eratpos_ubits TO eratpos_ubits+3) <= tlb_tag4_way_or(waypos_ubits to waypos_ubits+3)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_ubits to eratpos_ubits+3);
tlb_erat_rel_clone_d(eratpos_wimge TO eratpos_wimge+4) <= tlb_tag4_way_or(waypos_wimge to waypos_wimge+4)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_wimge to eratpos_wimge+4);
tlb_erat_rel_clone_d(eratpos_usxwr TO eratpos_usxwr+5) <= tlb_tag4_way_or(waypos_usxwr to waypos_usxwr+5)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_usxwr to eratpos_usxwr+5);
tlb_erat_rel_clone_d(eratpos_gs) <= tlb_tag4_way_or(waypos_gs)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_gs);
tlb_erat_rel_clone_d(eratpos_ts) <= tlb_tag4_way_or(waypos_ts)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_ts);
tlb_erat_rel_clone_d(eratpos_tid TO eratpos_tid+pid_width_erat-1) <= tlb_tag4_way_or(waypos_tid+6 to waypos_tid+14-1)
when tlb_tag4_erat_data_cap='1' else tlb_erat_rel_clone_q(eratpos_tid to eratpos_tid+pid_width_erat-1);
tlb_tag4_erat_data_cap <= '1' when ((tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1') and
tlb_tag4_q(tagpos_type_ptereload)='0' and tlb_tag4_q(tagpos_ind)='0' and
(tlb_tag4_wayhit_q(tlb_ways)='1' or or_reduce(tag4_parerr_q(0 to 4))='1') and
(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000" )
else '1' when ((tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1') and
tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_ind)='0' and
tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000" )
else '0';
erat_pgsize(0 TO 2) <= ERAT_PgSize_1GB when tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB
else ERAT_PgSize_16MB when tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB
else ERAT_PgSize_1MB when tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB
else ERAT_PgSize_64KB when tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB
else ERAT_PgSize_4KB;
tlb_erat_val_d(0 TO 3) <= (tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) or ierat_tag4_dup_thdid(0 to thdid_width-1))
when (tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and
tlb_tag4_q(tagpos_ind)='0' and tlb_tag4_wayhit_q(tlb_ways)='1' and
or_reduce(tag4_parerr_q(0 to 4))='0' and
(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000")
else tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and
((tlb_tag4_q(tagpos_endflag)='1' and tlb_tag4_wayhit_q(tlb_ways)='0') or or_reduce(tag4_parerr_q(0 to 4))='1') and
(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000")
else tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1')
else (others => '0');
tlb_erat_val_d(4) <= tlb_tag4_q(tagpos_type_ierat)
when (tlb_tag4_q(tagpos_type_ptereload)='0' and tlb_tag4_q(tagpos_ind)='0' and
tlb_tag4_wayhit_q(tlb_ways)='1' and multihit='0' and
(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000")
else tlb_tag4_q(tagpos_type_ierat)
when (tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
else '0';
tlb_erat_val_d(5 TO 8) <= (tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) or derat_tag4_dup_thdid(0 to thdid_width-1))
when (tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and
tlb_tag4_q(tagpos_ind)='0' and tlb_tag4_wayhit_q(tlb_ways)='1' and
or_reduce(tag4_parerr_q(0 to 4))='0' and
(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000")
else tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and
((tlb_tag4_q(tagpos_endflag)='1' and tlb_tag4_wayhit_q(tlb_ways)='0') or or_reduce(tag4_parerr_q(0 to 4))='1') and
(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000")
else tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='1')
else (others => '0');
tlb_erat_val_d(9) <= tlb_tag4_q(tagpos_type_derat)
when (tlb_tag4_q(tagpos_type_ptereload)='0' and tlb_tag4_q(tagpos_ind)='0' and
tlb_tag4_wayhit_q(tlb_ways)='1' and multihit='0' and
(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not tlb_ctl_tag4_flush)/="0000")
else tlb_tag4_q(tagpos_type_derat)
when (tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000")
else '0';
ierat_req0_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and ierat_req0_thdid)='1' else '0';
ierat_req0_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=ierat_req0_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
ierat_req0_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=ierat_req0_as) else '0';
ierat_req0_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=ierat_req0_gs) else '0';
ierat_req0_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=ierat_req0_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=ierat_req0_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=ierat_req0_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=ierat_req0_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=ierat_req0_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(0) <= '1' when (ierat_req0_tag4_pid_match='1' and
ierat_req0_tag4_as_match='1' and ierat_req0_tag4_gs_match='1' and
ierat_req0_tag4_epn_match='1' and ierat_req0_tag4_thdid_match='1' and
ierat_req0_valid='1' and (ierat_req0_nonspec='1' or (tlb_erat_dup_d(4)='0' and tlb_erat_dup_d(5)='1'))) else '0';
ierat_req1_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and ierat_req1_thdid)='1' else '0';
ierat_req1_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=ierat_req1_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
ierat_req1_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=ierat_req1_as) else '0';
ierat_req1_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=ierat_req1_gs) else '0';
ierat_req1_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=ierat_req1_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=ierat_req1_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=ierat_req1_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=ierat_req1_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=ierat_req1_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(1) <= '1' when (ierat_req1_tag4_pid_match='1' and
ierat_req1_tag4_as_match='1' and ierat_req1_tag4_gs_match='1' and
ierat_req1_tag4_epn_match='1' and ierat_req1_tag4_thdid_match='1' and
ierat_req1_valid='1' and (ierat_req1_nonspec='1' or (tlb_erat_dup_d(4)='0' and tlb_erat_dup_d(5)='1'))) else '0';
ierat_req2_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and ierat_req2_thdid)='1' else '0';
ierat_req2_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=ierat_req2_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
ierat_req2_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=ierat_req2_as) else '0';
ierat_req2_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=ierat_req2_gs) else '0';
ierat_req2_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=ierat_req2_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=ierat_req2_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=ierat_req2_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=ierat_req2_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=ierat_req2_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(2) <= '1' when (ierat_req2_tag4_pid_match='1' and
ierat_req2_tag4_as_match='1' and ierat_req2_tag4_gs_match='1' and
ierat_req2_tag4_epn_match='1' and ierat_req2_tag4_thdid_match='1' and
ierat_req2_valid='1' and (ierat_req2_nonspec='1' or (tlb_erat_dup_d(4)='0' and tlb_erat_dup_d(5)='1'))) else '0';
ierat_req3_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and ierat_req3_thdid)='1' else '0';
ierat_req3_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=ierat_req3_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
ierat_req3_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=ierat_req3_as) else '0';
ierat_req3_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=ierat_req3_gs) else '0';
ierat_req3_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=ierat_req3_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=ierat_req3_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=ierat_req3_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=ierat_req3_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=ierat_req3_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(3) <= '1' when (ierat_req3_tag4_pid_match='1' and
ierat_req3_tag4_as_match='1' and ierat_req3_tag4_gs_match='1' and
ierat_req3_tag4_epn_match='1' and ierat_req3_tag4_thdid_match='1' and
ierat_req3_valid='1' and (ierat_req3_nonspec='1' or (tlb_erat_dup_d(4)='0' and tlb_erat_dup_d(5)='1'))) else '0';
ierat_iu4_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and ierat_iu4_thdid)='1' else '0';
ierat_iu4_tag4_lpid_match <= '1' when (tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1)=lpidr or or_reduce(tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1))='0') else '0';
ierat_iu4_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=ierat_iu4_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0') else '0';
ierat_iu4_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=ierat_iu4_as) else '0';
ierat_iu4_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=ierat_iu4_gs) else '0';
ierat_iu4_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=ierat_iu4_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=ierat_iu4_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=ierat_iu4_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=ierat_iu4_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=ierat_iu4_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
derat_req0_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and derat_req0_thdid)='1' else '0';
derat_req0_tag4_lpid_match <= '1' when (tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1)=derat_req0_lpid or or_reduce(tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1))='0')
else '0';
derat_req0_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=derat_req0_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
derat_req0_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=derat_req0_as) else '0';
derat_req0_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=derat_req0_gs) else '0';
derat_req0_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=derat_req0_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=derat_req0_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=derat_req0_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=derat_req0_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=derat_req0_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(10) <= '1' when (derat_req0_tag4_lpid_match='1' and derat_req0_tag4_pid_match='1' and
derat_req0_tag4_as_match='1' and derat_req0_tag4_gs_match='1' and
derat_req0_tag4_epn_match='1' and derat_req0_tag4_thdid_match='1' and
derat_req0_valid='1') else '0';
derat_req1_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and derat_req1_thdid)='1' else '0';
derat_req1_tag4_lpid_match <= '1' when (tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1)=derat_req1_lpid or or_reduce(tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1))='0')
else '0';
derat_req1_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=derat_req1_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
derat_req1_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=derat_req1_as) else '0';
derat_req1_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=derat_req1_gs) else '0';
derat_req1_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=derat_req1_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=derat_req1_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=derat_req1_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=derat_req1_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=derat_req1_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(11) <= '1' when (derat_req1_tag4_lpid_match='1' and derat_req1_tag4_pid_match='1' and
derat_req1_tag4_as_match='1' and derat_req1_tag4_gs_match='1' and
derat_req1_tag4_epn_match='1' and derat_req1_tag4_thdid_match='1' and
derat_req1_valid='1') else '0';
derat_req2_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and derat_req2_thdid)='1' else '0';
derat_req2_tag4_lpid_match <= '1' when (tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1)=derat_req2_lpid or or_reduce(tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1))='0')
else '0';
derat_req2_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=derat_req2_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
derat_req2_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=derat_req2_as) else '0';
derat_req2_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=derat_req2_gs) else '0';
derat_req2_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=derat_req2_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=derat_req2_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=derat_req2_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=derat_req2_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=derat_req2_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(12) <= '1' when (derat_req2_tag4_lpid_match='1' and derat_req2_tag4_pid_match='1' and
derat_req2_tag4_as_match='1' and derat_req2_tag4_gs_match='1' and
derat_req2_tag4_epn_match='1' and derat_req2_tag4_thdid_match='1' and
derat_req2_valid='1') else '0';
derat_req3_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and derat_req3_thdid)='1' else '0';
derat_req3_tag4_lpid_match <= '1' when (tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1)=derat_req3_lpid or or_reduce(tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1))='0')
else '0';
derat_req3_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=derat_req3_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0')
else '0';
derat_req3_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=derat_req3_as) else '0';
derat_req3_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=derat_req3_gs) else '0';
derat_req3_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=derat_req3_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=derat_req3_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=derat_req3_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=derat_req3_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=derat_req3_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(13) <= '1' when (derat_req3_tag4_lpid_match='1' and derat_req3_tag4_pid_match='1' and
derat_req3_tag4_as_match='1' and derat_req3_tag4_gs_match='1' and
derat_req3_tag4_epn_match='1' and derat_req3_tag4_thdid_match='1' and
derat_req3_valid='1') else '0';
derat_ex5_tag4_thdid_match <= '1' when or_reduce(tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1) and derat_ex5_thdid)='1' else '0';
derat_ex5_tag4_lpid_match <= '1' when (tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1)=derat_ex5_lpid or or_reduce(tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1))='0') else '0';
derat_ex5_tag4_pid_match <= '1' when (tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1)=derat_ex5_pid or or_reduce(tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1))='0') else '0';
derat_ex5_tag4_as_match <= '1' when (tlb_tag4_way_or(waypos_ts)=derat_ex5_as) else '0';
derat_ex5_tag4_gs_match <= '1' when (tlb_tag4_way_or(waypos_gs)=derat_ex5_gs) else '0';
derat_ex5_tag4_epn_match <= '1' when (tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-1)=derat_ex5_epn(52-epn_width to 51) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_4KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-5)=derat_ex5_epn(52-epn_width to 47) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_64KB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-9)=derat_ex5_epn(52-epn_width to 43) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-13)=derat_ex5_epn(52-epn_width to 39) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_16MB) or
(tlb_tag4_way_or(waypos_epn to waypos_epn+epn_width-19)=derat_ex5_epn(52-epn_width to 33) and tlb_tag4_way_or(waypos_size to waypos_size+3)=TLB_PgSize_1GB)
else '0';
tlb_erat_dup_d(4) <= tlb_tag4_q(tagpos_type_ierat)
when (tlb_tag4_q(tagpos_type_ptereload)='0' and tlb_tag4_way_or(waypos_ind)='0' and
tlb_tag4_wayhit_q(tlb_ways)='1' and multihit='0' and
tlb_tag4_q(tagpos_wq+1)='0' and or_reduce(tag4_parerr_q(0 to 4))='0')
else '0';
tlb_erat_dup_d(5) <= '1' when (tlb_erat_dup_d(4)='1' or tlb_erat_dup_q(4)='1')
else '1' when tlb_erat_dup_q(7 to 9)/="000"
else '0';
tlb_erat_dup_d(6) <= tlb_tag4_q(tagpos_type_ierat) when
(ierat_iu4_tag4_lpid_match='1' and ierat_iu4_tag4_pid_match='1' and
ierat_iu4_tag4_as_match='1' and ierat_iu4_tag4_gs_match='1' and
ierat_iu4_tag4_epn_match='1' and ierat_iu4_tag4_thdid_match='1' and
ierat_iu4_valid='1' and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000") else '0';
tlb_erat_dup_d(7 TO 9) <= "001" when (tlb_erat_dup_q(4)='1' and tlb_erat_dup_q(7 to 9)="000")
else "010" when tlb_erat_dup_q(7 to 9)="001"
else "011" when tlb_erat_dup_q(7 to 9)="010"
else "100" when tlb_erat_dup_q(7 to 9)="011"
else "101" when tlb_erat_dup_q(7 to 9)="100"
else "110" when tlb_erat_dup_q(7 to 9)="101"
else "111" when tlb_erat_dup_q(7 to 9)="110"
else "000" when tlb_erat_dup_q(7 to 9)="111"
else tlb_erat_dup_q(7 to 9);
tlb_erat_dup_d(14) <= tlb_tag4_q(tagpos_type_derat)
when (tlb_tag4_q(tagpos_type_ptereload)='0' and tlb_tag4_way_or(waypos_ind)='0' and
tlb_tag4_wayhit_q(tlb_ways)='1' and multihit='0' and
tlb_tag4_q(tagpos_wq+1)='0' and or_reduce(tag4_parerr_q(0 to 4))='0')
else '0';
tlb_erat_dup_d(15) <= '1' when (tlb_erat_dup_d(14)='1' or tlb_erat_dup_q(14)='1')
else '1' when tlb_erat_dup_q(17 to 19)/="000"
else '0';
tlb_erat_dup_d(16) <= tlb_tag4_q(tagpos_type_derat) when
(derat_ex5_tag4_lpid_match='1' and derat_ex5_tag4_pid_match='1' and
derat_ex5_tag4_as_match='1' and derat_ex5_tag4_gs_match='1' and
derat_ex5_tag4_epn_match='1' and derat_ex5_tag4_thdid_match='1' and
derat_ex5_valid='1' and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)/="0000") else '0';
tlb_erat_dup_d(17 TO 19) <= "001" when (tlb_erat_dup_q(14)='1' and tlb_erat_dup_q(17 to 19)="000")
else "010" when tlb_erat_dup_q(17 to 19)="001"
else "011" when tlb_erat_dup_q(17 to 19)="010"
else "100" when tlb_erat_dup_q(17 to 19)="011"
else "101" when tlb_erat_dup_q(17 to 19)="100"
else "110" when tlb_erat_dup_q(17 to 19)="101"
else "111" when tlb_erat_dup_q(17 to 19)="110"
else "000" when tlb_erat_dup_q(17 to 19)="111"
else tlb_erat_dup_q(17 to 19);
ierat_tag4_dup_thdid <= ((0 to 3 => tlb_erat_dup_d(0)) and ierat_req0_thdid(0 to 3) and (0 to 3 => ierat_req0_nonspec) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1))) or
((0 to 3 => tlb_erat_dup_d(1)) and ierat_req1_thdid(0 to 3) and (0 to 3 => ierat_req1_nonspec) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1))) or
((0 to 3 => tlb_erat_dup_d(2)) and ierat_req2_thdid(0 to 3) and (0 to 3 => ierat_req2_nonspec) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1))) or
((0 to 3 => tlb_erat_dup_d(3)) and ierat_req3_thdid(0 to 3) and (0 to 3 => ierat_req3_nonspec) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1)));
derat_tag4_dup_thdid <= ((0 to 3 => tlb_erat_dup_d(10)) and derat_req0_thdid(0 to 3) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1))) or
((0 to 3 => tlb_erat_dup_d(11)) and derat_req1_thdid(0 to 3) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1))) or
((0 to 3 => tlb_erat_dup_d(12)) and derat_req2_thdid(0 to 3) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1))) or
((0 to 3 => tlb_erat_dup_d(13)) and derat_req3_thdid(0 to 3) and (0 to 3 => not tlb_tag4_q(tagpos_wq+1)));
tlb_tag4_epcr_dgtmi <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and xu_mm_epcr_dgtmi);
tlb_tag4_size_not_supp <= '0' when (tlb_tag4_q(tagpos_size to tagpos_size+3)=TLB_PgSize_4KB or tlb_tag4_q(tagpos_size to tagpos_size+3)=TLB_PgSize_64KB or
tlb_tag4_q(tagpos_size to tagpos_size+3)=TLB_PgSize_1MB or tlb_tag4_q(tagpos_size to tagpos_size+3)=TLB_PgSize_16MB or
tlb_tag4_q(tagpos_size to tagpos_size+3)=TLB_PgSize_1GB or
(tlb_tag4_q(tagpos_size to tagpos_size+3)=TLB_PgSize_256MB and tlb_tag4_q(tagpos_ind)='1')) else '1';
eratmiss_done_d <= tlb_erat_val_q(0 to 3) or tlb_erat_val_q(5 to 8);
tlb_miss_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when ((tlb_tag4_q(tagpos_type_ierat)='1' or tlb_tag4_q(tagpos_type_derat)='1') and tlb_tag4_q(tagpos_type_ptereload)='0' and
tlb_tag4_q(tagpos_endflag)='1' and tlb_tag4_wayhit_q(0 to 3) = "0000"
and or_reduce(tag4_parerr_q(0 to 4))='0')
else (others => '0');
tlb_inelig_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_is)='1' and lru_tag4_dataout_q(0 to 3)="1111" and lru_tag4_dataout_q(8 to 11)="1111")
or (tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_is)='1' and tlb_tag4_size_not_supp='1')
or (tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_is)='1' and tlb_tag4_q(tagpos_pt)='0')
else (others => '0');
lrat_miss_d <= (tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag4_flush))
when ( ((or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and tlb_resv_match_vec)='1'
and tlb_tag4_q(tagpos_wq to tagpos_wq+1)="01" and mmucfg_twc='1')
or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="00" or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="11") and
tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_pr)='0' and
tlb_tag4_epcr_dgtmi='0' and mmucfg_lrat='1' and
tlb_tag4_q(tagpos_is)='1' and lrat_tag4_hit_status(0 to 3)/="1100" )
else tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_gs)='1' and mmucfg_lrat='1' and
tlb_tag4_q(tagpos_is)='1' and lrat_tag4_hit_status(0 to 3)/="1100" and
tlb_tag4_q(tagpos_wq to tagpos_wq+1)="10" and
tlb_tag4_q(tagpos_pt)='1')
else (others => '0');
pt_fault_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when ( tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_is)='0' and
tlb_tag4_q(tagpos_wq to tagpos_wq+1)="10" and
tlb_tag4_q(tagpos_pt)='1' )
else (others => '0');
hv_priv_d <= (tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag4_flush))
when ( tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_pr)='0' and tlb0cfg_gtwe='0' ) or
( tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_pr)='0' and mmucfg_lrat='0' ) or
( tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_pr)='0' and tlb_tag4_q(tagpos_hes)='1'
and (tlb_tag4_q(tagpos_wq to tagpos_wq+1)="00" or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="11" or
(tlb_tag4_q(tagpos_wq to tagpos_wq+1)="01" and (or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and tlb_resv_match_vec)='1'))) and
((lru_tag4_dataout_q(0)='1' and lru_tag4_dataout_q(4 to 5)="00" and lru_tag4_dataout_q(8)='1') or
(lru_tag4_dataout_q(1)='1' and lru_tag4_dataout_q(4 to 5)="01" and lru_tag4_dataout_q(9)='1') or
(lru_tag4_dataout_q(2)='1' and lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='0' and lru_tag4_dataout_q(10)='1') or
(lru_tag4_dataout_q(3)='1' and lru_tag4_dataout_q(4)='1' and lru_tag4_dataout_q(6)='1' and lru_tag4_dataout_q(11)='1')) ) or
( tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_pr)='0' and tlb_tag4_q(tagpos_hes)='1'
and (tlb_tag4_q(tagpos_wq to tagpos_wq+1)="00" or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="11" or
(tlb_tag4_q(tagpos_wq to tagpos_wq+1)="01" and (or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and tlb_resv_match_vec)='1'))) and
tlb_tag4_q(tagpos_is+1)='1' ) or
( tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_pr)='0' and tlb_tag4_q(tagpos_hes)='0' and tlb_tag4_q(tagpos_wq to tagpos_wq+1)/="10")
else (others => '0');
esr_pt_d <= (pt_fault_d or lrat_miss_d) and (0 to 3 => tlb_tag4_q(tagpos_type_ptereload));
esr_data_d <= (tlb_miss_d or pt_fault_d or tlb_inelig_d or lrat_miss_d) and (0 to 3 => tlb_tag4_q(tagpos_type_derat));
esr_st_d <= (tlb_miss_d or pt_fault_d or tlb_inelig_d or lrat_miss_d) and (0 to 3 => tlb_tag4_q(tagpos_type_derat)) and (0 to 3 => tlb_tag4_q(tagpos_class+1));
esr_epid_d <= (tlb_miss_d or pt_fault_d or tlb_inelig_d or lrat_miss_d) and (0 to 3 => tlb_tag4_q(tagpos_type_derat)) and (0 to 3 => tlb_tag4_q(tagpos_class));
cr0_eq_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when ( (tlb_tag4_q(tagpos_type_tlbsrx)='1' or (tlb_tag4_q(tagpos_type_tlbsx)='1' and tlb_tag4_q(tagpos_recform)='1')) and
tlb_tag4_wayhit_q(tlb_ways)='1' and multihit='0' and or_reduce(tag4_parerr_q(0 to 4))='0' )
else (others => '0');
cr0_eq_valid_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when ( (tlb_tag4_q(tagpos_type_tlbsrx)='1' or (tlb_tag4_q(tagpos_type_tlbsx)='1' and tlb_tag4_q(tagpos_recform)='1')) and
(tlb_tag4_q(tagpos_endflag)='1' or (tlb_tag4_wayhit_q(tlb_ways)='1' and multihit='0')) and or_reduce(tag4_parerr_q(0 to 4))='0' )
else (others => '0');
tlb_multihit_err_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when ( ((tlb_tag4_q(tagpos_type_derat to tagpos_type_ierat)/="00" and tlb_tag4_q(tagpos_type_ptereload)='0') or
(tlb_tag4_q(tagpos_type_tlbsx to tagpos_type_tlbsrx)/="00")) and
multihit='1' and (tlb_tag4_q(tagpos_endflag)='1' or tlb_tag4_wayhit_q(tlb_ways)='1'))
else (others => '0');
parerr_gen0: if check_parity = 0 generate
tlb_par_err_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
and (0 to 3 => tag4_parerr_q(0) and not(tag4_parerr_q(0)) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_tlbre)));
lru_par_err_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
and (0 to 3 => tag4_parerr_q(2) and not(tag4_parerr_q(2)) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_tlbre)));
tlb_tag4_tlbre_parerr <= '0';
ECO107332_tlb_par_err_d <= tlb_par_err_d;
ECO107332_lru_par_err_d <= lru_par_err_d;
end generate parerr_gen0;
parerr_gen1: if check_parity = 1 generate
tlb_par_err_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
and ( 0 to 3 => (or_reduce(tag4_parerr_q(0 to 3)) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_tlbsrx))) or
(tag4_parerr_q(0) and tlb_tag4_q(tagpos_type_tlbre) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2)) or
(tag4_parerr_q(1) and tlb_tag4_q(tagpos_type_tlbre) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2)) or
(tag4_parerr_q(2) and tlb_tag4_q(tagpos_type_tlbre) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2)) or
(tag4_parerr_q(3) and tlb_tag4_q(tagpos_type_tlbre) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2)) );
lru_par_err_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
and (0 to 3 => tag4_parerr_q(4) and (or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_tlbsrx)) or tlb_tag4_q(tagpos_type_tlbre)));
ECO107332_tlb_par_err_d <= tlb_par_err_d and not(tlb_ctl_tag4_flush);
ECO107332_lru_par_err_d <= lru_par_err_d and not(tlb_ctl_tag4_flush);
tlb_tag4_tlbre_parerr <= (tag4_parerr_q(0) and tlb_tag4_q(tagpos_type_tlbre) and not tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2)) or
(tag4_parerr_q(1) and tlb_tag4_q(tagpos_type_tlbre) and not tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2)) or
(tag4_parerr_q(2) and tlb_tag4_q(tagpos_type_tlbre) and tlb_tag4_q(tagpos_esel+1) and not tlb_tag4_q(tagpos_esel+2)) or
(tag4_parerr_q(3) and tlb_tag4_q(tagpos_type_tlbre) and tlb_tag4_q(tagpos_esel+1) and tlb_tag4_q(tagpos_esel+2)) or
(tag4_parerr_q(4) and tlb_tag4_q(tagpos_type_tlbre));
end generate parerr_gen1;
tlb_tag5_except_d <= (hv_priv_d or lrat_miss_d or tlb_inelig_d or pt_fault_d or
tlb_multihit_err_d or tlb_par_err_d or lru_par_err_d);
tlb_isi_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_ierat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and
tlb_tag4_wayhit_q(0 to 3) = "0000" and tlb_tag4_q(tagpos_endflag)='1')
else (others => '0');
tlb_dsi_d <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)
when (tlb_tag4_q(tagpos_type_derat)='1' and tlb_tag4_q(tagpos_type_ptereload)='0' and
tlb_tag4_wayhit_q(0 to 3) = "0000" and tlb_tag4_q(tagpos_endflag)='1')
else (others => '0');
matchline_comb0 : mmq_tlb_matchline
generic map (have_xbit => 1, num_pgsizes => 5, have_cmpmask => 1, cmpmask_width => 5)
port map (
vdd => vdd,
gnd => gnd,
addr_in => tlb_tag3_clone1_q(tagpos_epn to tagpos_epn+epn_width-1),
addr_enable => addr_enable,
comp_pgsize => tlb_tag3_clone1_q(tagpos_size to tagpos_size+3),
pgsize_enable => pgsize_enable,
entry_size => tlb_way0_q(waypos_size to waypos_size+3),
entry_cmpmask => tlb_way0_cmpmask_q,
entry_xbit => tlb_way0_q(waypos_xbit),
entry_xbitmask => tlb_way0_xbitmask_q,
entry_epn => tlb_way0_q(waypos_epn to waypos_epn+epn_width-1),
comp_class => tlb_tag3_clone1_q(tagpos_class to tagpos_class+1),
entry_class => tlb_way0_q(waypos_class to waypos_class+1),
class_enable => class_enable,
comp_extclass => comp_extclass,
entry_extclass => tlb_way0_q(waypos_extclass to waypos_extclass+1),
extclass_enable => extclass_enable,
comp_state => tlb_tag3_clone1_q(tagpos_state+1 to tagpos_state+2),
entry_gs => tlb_way0_q(waypos_gs),
entry_ts => tlb_way0_q(waypos_ts),
state_enable => state_enable,
entry_thdid => tlb_way0_q(waypos_thdid to waypos_thdid+thdid_width-1),
comp_thdid => tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1),
thdid_enable => thdid_enable,
entry_pid => tlb_way0_q(waypos_tid to waypos_tid+pid_width-1),
comp_pid => tlb_tag3_clone1_q(tagpos_pid to tagpos_pid+pid_width-1),
pid_enable => pid_enable,
entry_lpid => tlb_way0_q(waypos_lpid to waypos_lpid+lpid_width-1),
comp_lpid => tlb_tag3_clone1_q(tagpos_lpid to tagpos_lpid+lpid_width-1),
lpid_enable => lpid_enable,
entry_ind => tlb_way0_q(waypos_ind),
comp_ind => comp_ind,
ind_enable => ind_enable,
entry_iprot => lru_tag3_dataout_q(8),
comp_iprot => comp_iprot,
iprot_enable => iprot_enable,
entry_v => lru_tag3_dataout_q(0),
comp_invalidate => tlb_tag3_clone1_q(tagpos_type_snoop),
match => tlb_wayhit(0),
dbg_addr_match => tlb_way0_addr_match,
dbg_pgsize_match => tlb_way0_pgsize_match,
dbg_class_match => tlb_way0_class_match,
dbg_extclass_match => tlb_way0_extclass_match,
dbg_state_match => tlb_way0_state_match,
dbg_thdid_match => tlb_way0_thdid_match,
dbg_pid_match => tlb_way0_pid_match,
dbg_lpid_match => tlb_way0_lpid_match,
dbg_ind_match => tlb_way0_ind_match,
dbg_iprot_match => tlb_way0_iprot_match
);
matchline_comb1 : mmq_tlb_matchline
generic map (have_xbit => 1, num_pgsizes => 5, have_cmpmask => 1, cmpmask_width => 5)
port map (
vdd => vdd,
gnd => gnd,
addr_in => tlb_tag3_clone1_q(tagpos_epn to tagpos_epn+epn_width-1),
addr_enable => addr_enable,
comp_pgsize => tlb_tag3_clone1_q(tagpos_size to tagpos_size+3),
pgsize_enable => pgsize_enable,
entry_size => tlb_way1_q(waypos_size to waypos_size+3),
entry_cmpmask => tlb_way1_cmpmask_q,
entry_xbit => tlb_way1_q(waypos_xbit),
entry_xbitmask => tlb_way1_xbitmask_q,
entry_epn => tlb_way1_q(waypos_epn to waypos_epn+epn_width-1),
comp_class => tlb_tag3_clone1_q(tagpos_class to tagpos_class+1),
entry_class => tlb_way1_q(waypos_class to waypos_class+1),
class_enable => class_enable,
comp_extclass => comp_extclass,
entry_extclass => tlb_way1_q(waypos_extclass to waypos_extclass+1),
extclass_enable => extclass_enable,
comp_state => tlb_tag3_clone1_q(tagpos_state+1 to tagpos_state+2),
entry_gs => tlb_way1_q(waypos_gs),
entry_ts => tlb_way1_q(waypos_ts),
state_enable => state_enable,
entry_thdid => tlb_way1_q(waypos_thdid to waypos_thdid+thdid_width-1),
comp_thdid => tlb_tag3_clone1_q(tagpos_thdid to tagpos_thdid+thdid_width-1),
thdid_enable => thdid_enable,
entry_pid => tlb_way1_q(waypos_tid to waypos_tid+pid_width-1),
comp_pid => tlb_tag3_clone1_q(tagpos_pid to tagpos_pid+pid_width-1),
pid_enable => pid_enable,
entry_lpid => tlb_way1_q(waypos_lpid to waypos_lpid+lpid_width-1),
comp_lpid => tlb_tag3_clone1_q(tagpos_lpid to tagpos_lpid+lpid_width-1),
lpid_enable => lpid_enable,
entry_ind => tlb_way1_q(waypos_ind),
comp_ind => comp_ind,
ind_enable => ind_enable,
entry_iprot => lru_tag3_dataout_q(9),
comp_iprot => comp_iprot,
iprot_enable => iprot_enable,
entry_v => lru_tag3_dataout_q(1),
comp_invalidate => tlb_tag3_clone1_q(tagpos_type_snoop),
match => tlb_wayhit(1),
dbg_addr_match => tlb_way1_addr_match,
dbg_pgsize_match => tlb_way1_pgsize_match,
dbg_class_match => tlb_way1_class_match,
dbg_extclass_match => tlb_way1_extclass_match,
dbg_state_match => tlb_way1_state_match,
dbg_thdid_match => tlb_way1_thdid_match,
dbg_pid_match => tlb_way1_pid_match,
dbg_lpid_match => tlb_way1_lpid_match,
dbg_ind_match => tlb_way1_ind_match,
dbg_iprot_match => tlb_way1_iprot_match
);
matchline_comb2 : mmq_tlb_matchline
generic map (have_xbit => 1, num_pgsizes => 5, have_cmpmask => 1, cmpmask_width => 5)
port map (
vdd => vdd,
gnd => gnd,
addr_in => tlb_tag3_clone2_q(tagpos_epn to tagpos_epn+epn_width-1),
addr_enable => addr_enable_clone,
comp_pgsize => tlb_tag3_clone2_q(tagpos_size to tagpos_size+3),
pgsize_enable => pgsize_enable_clone,
entry_size => tlb_way2_q(waypos_size to waypos_size+3),
entry_cmpmask => tlb_way2_cmpmask_q,
entry_xbit => tlb_way2_q(waypos_xbit),
entry_xbitmask => tlb_way2_xbitmask_q,
entry_epn => tlb_way2_q(waypos_epn to waypos_epn+epn_width-1),
comp_class => tlb_tag3_clone2_q(tagpos_class to tagpos_class+1),
entry_class => tlb_way2_q(waypos_class to waypos_class+1),
class_enable => class_enable_clone,
comp_extclass => comp_extclass_clone,
entry_extclass => tlb_way2_q(waypos_extclass to waypos_extclass+1),
extclass_enable => extclass_enable_clone,
comp_state => tlb_tag3_clone2_q(tagpos_state+1 to tagpos_state+2),
entry_gs => tlb_way2_q(waypos_gs),
entry_ts => tlb_way2_q(waypos_ts),
state_enable => state_enable_clone,
entry_thdid => tlb_way2_q(waypos_thdid to waypos_thdid+thdid_width-1),
comp_thdid => tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1),
thdid_enable => thdid_enable_clone,
entry_pid => tlb_way2_q(waypos_tid to waypos_tid+pid_width-1),
comp_pid => tlb_tag3_clone2_q(tagpos_pid to tagpos_pid+pid_width-1),
pid_enable => pid_enable_clone,
entry_lpid => tlb_way2_q(waypos_lpid to waypos_lpid+lpid_width-1),
comp_lpid => tlb_tag3_clone2_q(tagpos_lpid to tagpos_lpid+lpid_width-1),
lpid_enable => lpid_enable_clone,
entry_ind => tlb_way2_q(waypos_ind),
comp_ind => comp_ind_clone,
ind_enable => ind_enable_clone,
entry_iprot => lru_tag3_dataout_q(10),
comp_iprot => comp_iprot_clone,
iprot_enable => iprot_enable_clone,
entry_v => lru_tag3_dataout_q(2),
comp_invalidate => tlb_tag3_clone2_q(tagpos_type_snoop),
match => tlb_wayhit(2),
dbg_addr_match => tlb_way2_addr_match,
dbg_pgsize_match => tlb_way2_pgsize_match,
dbg_class_match => tlb_way2_class_match,
dbg_extclass_match => tlb_way2_extclass_match,
dbg_state_match => tlb_way2_state_match,
dbg_thdid_match => tlb_way2_thdid_match,
dbg_pid_match => tlb_way2_pid_match,
dbg_lpid_match => tlb_way2_lpid_match,
dbg_ind_match => tlb_way2_ind_match,
dbg_iprot_match => tlb_way2_iprot_match
);
matchline_comb3 : mmq_tlb_matchline
generic map (have_xbit => 1, num_pgsizes => 5, have_cmpmask => 1, cmpmask_width => 5)
port map (
vdd => vdd,
gnd => gnd,
addr_in => tlb_tag3_clone2_q(tagpos_epn to tagpos_epn+epn_width-1),
addr_enable => addr_enable_clone,
comp_pgsize => tlb_tag3_clone2_q(tagpos_size to tagpos_size+3),
pgsize_enable => pgsize_enable_clone,
entry_size => tlb_way3_q(waypos_size to waypos_size+3),
entry_cmpmask => tlb_way3_cmpmask_q,
entry_xbit => tlb_way3_q(waypos_xbit),
entry_xbitmask => tlb_way3_xbitmask_q,
entry_epn => tlb_way3_q(waypos_epn to waypos_epn+epn_width-1),
comp_class => tlb_tag3_clone2_q(tagpos_class to tagpos_class+1),
entry_class => tlb_way3_q(waypos_class to waypos_class+1),
class_enable => class_enable_clone,
comp_extclass => comp_extclass_clone,
entry_extclass => tlb_way3_q(waypos_extclass to waypos_extclass+1),
extclass_enable => extclass_enable_clone,
comp_state => tlb_tag3_clone2_q(tagpos_state+1 to tagpos_state+2),
entry_gs => tlb_way3_q(waypos_gs),
entry_ts => tlb_way3_q(waypos_ts),
state_enable => state_enable_clone,
entry_thdid => tlb_way3_q(waypos_thdid to waypos_thdid+thdid_width-1),
comp_thdid => tlb_tag3_clone2_q(tagpos_thdid to tagpos_thdid+thdid_width-1),
thdid_enable => thdid_enable_clone,
entry_pid => tlb_way3_q(waypos_tid to waypos_tid+pid_width-1),
comp_pid => tlb_tag3_clone2_q(tagpos_pid to tagpos_pid+pid_width-1),
pid_enable => pid_enable_clone,
entry_lpid => tlb_way3_q(waypos_lpid to waypos_lpid+lpid_width-1),
comp_lpid => tlb_tag3_clone2_q(tagpos_lpid to tagpos_lpid+lpid_width-1),
lpid_enable => lpid_enable_clone,
entry_ind => tlb_way3_q(waypos_ind),
comp_ind => comp_ind_clone,
ind_enable => ind_enable_clone,
entry_iprot => lru_tag3_dataout_q(11),
comp_iprot => comp_iprot_clone,
iprot_enable => iprot_enable_clone,
entry_v => lru_tag3_dataout_q(3),
comp_invalidate => tlb_tag3_clone2_q(tagpos_type_snoop),
match => tlb_wayhit(3),
dbg_addr_match => tlb_way3_addr_match,
dbg_pgsize_match => tlb_way3_pgsize_match,
dbg_class_match => tlb_way3_class_match,
dbg_extclass_match => tlb_way3_extclass_match,
dbg_state_match => tlb_way3_state_match,
dbg_thdid_match => tlb_way3_thdid_match,
dbg_pid_match => tlb_way3_pid_match,
dbg_lpid_match => tlb_way3_lpid_match,
dbg_ind_match => tlb_way3_ind_match,
dbg_iprot_match => tlb_way3_iprot_match
);
tlb_cmp_ierat_dup_val(0 TO 6) <= tlb_erat_dup_q(0 to 6);
tlb_cmp_derat_dup_val(0 TO 6) <= tlb_erat_dup_q(10 to 16);
tlb_cmp_erat_dup_wait <= tlb_erat_dup_q(5) & tlb_erat_dup_q(15);
mm_iu_ierat_rel_val <= tlb_erat_val_q(0 to 4);
mm_iu_ierat_rel_data <= tlb_erat_rel_q;
mm_xu_derat_rel_val <= tlb_erat_val_q(5 to 9);
mm_xu_derat_rel_data <= tlb_erat_rel_clone_q;
mm_xu_eratmiss_done <= eratmiss_done_q;
mm_xu_tlb_miss <= tlb_miss_q;
mm_xu_tlb_inelig <= tlb_inelig_q;
mm_xu_lrat_miss <= lrat_miss_q;
mm_xu_pt_fault <= pt_fault_q;
mm_xu_hv_priv <= hv_priv_q;
mm_xu_esr_pt <= esr_pt_q;
mm_xu_esr_data <= esr_data_q;
mm_xu_esr_epid <= esr_epid_q;
mm_xu_esr_st <= esr_st_q;
mm_xu_cr0_eq <= cr0_eq_q;
mm_xu_cr0_eq_valid <= cr0_eq_valid_q;
mm_xu_tlb_multihit_err <= tlb_multihit_err_q;
mm_xu_tlb_par_err <= tlb_par_err_q;
mm_xu_lru_par_err <= lru_par_err_q;
tlb_tag5_except <= tlb_tag5_except_q;
tlb_tag4_esel <= tlb_tag4_q(tagpos_esel to tagpos_esel+2);
tlb_tag4_wq <= tlb_tag4_q(tagpos_wq to tagpos_wq+1);
tlb_tag4_is <= tlb_tag4_q(tagpos_is to tagpos_is+1);
tlb_tag4_hes <= tlb_tag4_q(tagpos_hes);
tlb_tag4_gs <= tlb_tag4_q(tagpos_gs);
tlb_tag4_pr <= tlb_tag4_q(tagpos_pr);
tlb_tag4_atsel <= tlb_tag4_q(tagpos_atsel);
tlb_tag4_pt <= tlb_tag4_q(tagpos_pt);
tlb_tag4_endflag <= tlb_tag4_q(tagpos_endflag) and or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1));
lru_tag4_dataout <= lru_tag4_dataout_q(0 to 15);
tlb_tag4_cmp_hit <= tlb_tag4_wayhit_q(tlb_ways);
tlb_tag4_way_ind <= tlb_tag4_way_or(waypos_ind);
tlb_tag4_ptereload_sig <= tlb_tag4_q(tagpos_type_ptereload) and or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1));
tlb_tag4_ptereload <= tlb_tag4_ptereload_sig;
tlb_tag4_parerr <= or_reduce(tag4_parerr_q(0 to 4)) and tlb_tag4_parerr_enab;
tlb_mas0_esel(0) <= '0';
tlb_mas0_esel(1 TO 2) <= "01" when tlb_tag4_wayhit_q(0 to tlb_ways)="01001"
else "10" when tlb_tag4_wayhit_q(0 to tlb_ways)="00101"
else "11" when tlb_tag4_wayhit_q(0 to tlb_ways)="00011"
else "00";
tlb_mas1_v <= lru_tag4_dataout_q(0) when
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="00")
else lru_tag4_dataout_q(1) when
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="01")
else lru_tag4_dataout_q(2) when
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="10")
else lru_tag4_dataout_q(3) when
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="11")
else tlb_tag4_wayhit_q(tlb_ways) when tlb_tag4_q(tagpos_type_tlbsx)='1'
else '0';
tlb_mas1_iprot <= lru_tag4_dataout_q(8) when
(tlb_tag4_q(tagpos_type_tlbsx)='1' and tlb_tag4_wayhit_q(0 to tlb_ways)="10001") or
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="00")
else lru_tag4_dataout_q(9) when
(tlb_tag4_q(tagpos_type_tlbsx)='1' and tlb_tag4_wayhit_q(0 to tlb_ways)="01001") or
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="01")
else lru_tag4_dataout_q(10) when
(tlb_tag4_q(tagpos_type_tlbsx)='1' and tlb_tag4_wayhit_q(0 to tlb_ways)="00101") or
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="10")
else lru_tag4_dataout_q(11) when
(tlb_tag4_q(tagpos_type_tlbsx)='1' and tlb_tag4_wayhit_q(0 to tlb_ways)="00011") or
(tlb_tag4_q(tagpos_type_tlbre)='1' and tlb_tag4_q(tagpos_esel+1 to tagpos_esel+2)="11")
else '0';
tlb_mas1_tid <= tlb_tag4_way_rw_or(waypos_tid to waypos_tid+13) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_tid to waypos_tid+13);
tlb_mas1_tid_error <= tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_mas1_ind <= tlb_tag4_way_rw_or(waypos_ind) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_ind);
tlb_mas1_ts <= tlb_tag4_way_rw_or(waypos_ts) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_ts);
tlb_mas1_ts_error <= tlb_tag4_q(tagpos_state+2);
tlb_mas1_tsize <= tlb_tag4_way_rw_or(waypos_size to waypos_size+3) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_size to waypos_size+3);
tlb_mas2_epn(0 TO 31) <= ( tlb_tag4_way_rw_or(waypos_epn to waypos_epn+31) and (0 to 31 => tlb_tag4_q(tagpos_cm)))
when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_epn to waypos_epn+31);
tlb_mas2_epn(32 TO epn_width-1) <= tlb_tag4_way_rw_or(waypos_epn+32 to waypos_epn+51)
when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_epn+32 to waypos_epn+51);
tlb_mas2_epn_error <= tlb_tag4_q(tagpos_epn to tagpos_epn+epn_width-1);
tlb_mas2_wimge <= tlb_tag4_way_rw_or(waypos_wimge to waypos_wimge+4) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_wimge to waypos_wimge+4);
tlb_mas3_rpnl <= tlb_tag4_way_rw_or(waypos_rpn+10 to waypos_rpn+rpn_width-1) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_rpn+10 to waypos_rpn+rpn_width-1);
tlb_mas3_ubits <= tlb_tag4_way_rw_or(waypos_ubits to waypos_ubits+3) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_ubits to waypos_ubits+3);
tlb_mas3_usxwr <= tlb_tag4_way_rw_or(waypos_usxwr to waypos_usxwr+5) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_usxwr to waypos_usxwr+5);
tlb_mas6_spid <= tlb_tag4_q(tagpos_pid to tagpos_pid+pid_width-1);
tlb_mas6_isize <= tlb_tag4_q(tagpos_size to tagpos_size+3);
tlb_mas6_sind <= tlb_tag4_q(tagpos_ind);
tlb_mas6_sas <= tlb_tag4_q(tagpos_state+2);
tlb_mas7_rpnu <= tlb_tag4_way_rw_or(waypos_rpn to waypos_rpn+9) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_rpn to waypos_rpn+9);
tlb_mas8_tgs <= tlb_tag4_way_rw_or(waypos_gs) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_gs);
tlb_mas8_vf <= tlb_tag4_way_rw_or(waypos_vf) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_vf);
tlb_mas8_tlpid <= tlb_tag4_way_rw_or(waypos_lpid to waypos_lpid+lpid_width-1) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1);
tlb_mmucr3_thdid <= tlb_tag4_way_rw_or(waypos_thdid to waypos_thdid+thdid_width-1) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_thdid to waypos_thdid+thdid_width-1);
tlb_mmucr3_resvattr <= tlb_tag4_way_rw_or(waypos_resvattr) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_resvattr);
tlb_mmucr3_wlc <= tlb_tag4_way_rw_or(waypos_wlc to waypos_wlc+1) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_wlc to waypos_wlc+1);
tlb_mmucr3_class <= tlb_tag4_way_rw_or(waypos_class to waypos_class+1) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_class to waypos_class+1);
tlb_mmucr3_extclass <= tlb_tag4_way_rw_or(waypos_extclass to waypos_extclass+1) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_extclass to waypos_extclass+1);
tlb_mmucr3_rc <= tlb_tag4_way_rw_or(waypos_rc to waypos_rc+1) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_rc to waypos_rc+1);
tlb_mmucr3_x <= tlb_tag4_way_rw_or(waypos_xbit) when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or(waypos_xbit);
tlb_mmucr1_een <= tlb_addr4_q & (tag4_parerr_q(2) or tag4_parerr_q(3)) & (tag4_parerr_q(1) or tag4_parerr_q(3));
tlb_mmucr1_we <= ( ( (or_reduce(tag4_parerr_q(0 to 4)) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_tlbsrx)) and not tlb_tag4_q(tagpos_type_ptereload)) or tlb_tag4_tlbre_parerr )
and ECO107332_orred_tag4_thdid_flushed )
or ( multihit and tlb_tag4_wayhit_q(tlb_ways) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_tlbsrx)) and not tlb_tag4_q(tagpos_type_ptereload) );
ECO107332_orred_tag4_thdid_flushed <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag4_flush));
tlb_mas_dtlb_error <= tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_endflag) and not tlb_tag4_wayhit_q(tlb_ways) and (not(or_reduce(tag4_parerr_q(0 to 4))) or cswitch_q(6)) and
or_reduce( (msr_gs_q or msr_pr_q or not epcr_dmiuh_q) and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) );
tlb_mas_itlb_error <= tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_endflag) and not tlb_tag4_wayhit_q(tlb_ways) and (not(or_reduce(tag4_parerr_q(0 to 4))) or cswitch_q(6)) and
or_reduce( (msr_gs_q or msr_pr_q or not epcr_dmiuh_q) and tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) );
tlb_mas_tlbsx_hit <= tlb_tag4_q(tagpos_type_tlbsx) and tlb_tag4_wayhit_q(tlb_ways) and not multihit and tlb_tag4_hv_op and (not(or_reduce(tag4_parerr_q(0 to 4))) or cswitch_q(5));
tlb_mas_tlbsx_miss <= tlb_tag4_q(tagpos_type_tlbsx) and tlb_tag4_q(tagpos_endflag) and not tlb_tag4_wayhit_q(tlb_ways) and tlb_tag4_hv_op and (not(or_reduce(tag4_parerr_q(0 to 4))) or cswitch_q(6));
tlb_mas_tlbre <= tlb_tag4_q(tagpos_type_tlbre) and not tlb_tag4_q(tagpos_atsel) and tlb_tag4_hv_op and not ex6_illeg_instr(0) and (not(tlb_tag4_tlbre_parerr) or cswitch_q(7));
tlb_mas_thdid <= tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag4_flush);
tlbwe_tag3_back_inv_enab <=
( lru_tag3_dataout_q(0) and (lru_tag3_dataout_q(8) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and not tlb_tag3_q(tagpos_hes) and not tlb_tag3_q(tagpos_esel+1) and not tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(1) and (lru_tag3_dataout_q(9) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and not tlb_tag3_q(tagpos_hes) and not tlb_tag3_q(tagpos_esel+1) and tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(2) and (lru_tag3_dataout_q(10) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and not tlb_tag3_q(tagpos_hes) and tlb_tag3_q(tagpos_esel+1) and not tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(3) and (lru_tag3_dataout_q(11) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and not tlb_tag3_q(tagpos_hes) and tlb_tag3_q(tagpos_esel+1) and tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(0) and (lru_tag3_dataout_q(8) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and tlb_tag3_q(tagpos_hes) and cswitch_q(1) and not lru_tag3_dataout_q(4) and not lru_tag3_dataout_q(5) ) or
( lru_tag3_dataout_q(1) and (lru_tag3_dataout_q(9) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and tlb_tag3_q(tagpos_hes) and cswitch_q(1) and not lru_tag3_dataout_q(4) and lru_tag3_dataout_q(5) ) or
( lru_tag3_dataout_q(2) and (lru_tag3_dataout_q(10) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and tlb_tag3_q(tagpos_hes) and cswitch_q(1) and lru_tag3_dataout_q(4) and not lru_tag3_dataout_q(6) ) or
( lru_tag3_dataout_q(3) and (lru_tag3_dataout_q(11) or not cswitch_q(0)) and (not(tlb_tag3_q(tagpos_is)) or not(cswitch_q(3))) and tlb_tag3_q(tagpos_hes) and cswitch_q(1) and lru_tag3_dataout_q(4) and lru_tag3_dataout_q(6) );
tlbwe_tag4_back_inv_d(0 TO thdid_width-1) <= tlb_tag3_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag3_flush);
tlbwe_tag4_back_inv_d(thdid_width) <= ( tlbwe_tag3_back_inv_enab and tlb_tag3_q(tagpos_type_tlbwe) and not(Eq(tlb_tag3_q(tagpos_wq to tagpos_wq+1),"10")) and mmucr1_q(pos_tlbwe_binv) and
((not(tlb_tag3_q(tagpos_gs)) and not(tlb_tag3_q(tagpos_atsel))) or
(tlb_tag3_q(tagpos_gs) and tlb_tag3_q(tagpos_hes) and lrat_tag3_hit_status(1) and not lrat_tag3_hit_status(2))) and
or_reduce(tlb_tag3_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag3_flush)) );
tlbwe_tag4_back_inv_attr_d(18) <=
( lru_tag3_dataout_q(0) and (lru_tag3_dataout_q(8) or not cswitch_q(2)) and not tlb_tag3_q(tagpos_hes) and not tlb_tag3_q(tagpos_esel+1) and not tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(1) and (lru_tag3_dataout_q(9) or not cswitch_q(2)) and not tlb_tag3_q(tagpos_hes) and not tlb_tag3_q(tagpos_esel+1) and tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(2) and (lru_tag3_dataout_q(10) or not cswitch_q(2)) and not tlb_tag3_q(tagpos_hes) and tlb_tag3_q(tagpos_esel+1) and not tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(3) and (lru_tag3_dataout_q(11) or not cswitch_q(2)) and not tlb_tag3_q(tagpos_hes) and tlb_tag3_q(tagpos_esel+1) and tlb_tag3_q(tagpos_esel+2) ) or
( lru_tag3_dataout_q(0) and (lru_tag3_dataout_q(8) or not cswitch_q(2)) and tlb_tag3_q(tagpos_hes) and not lru_tag3_dataout_q(4) and not lru_tag3_dataout_q(5) ) or
( lru_tag3_dataout_q(1) and (lru_tag3_dataout_q(9) or not cswitch_q(2)) and tlb_tag3_q(tagpos_hes) and not lru_tag3_dataout_q(4) and lru_tag3_dataout_q(5) ) or
( lru_tag3_dataout_q(2) and (lru_tag3_dataout_q(10) or not cswitch_q(2)) and tlb_tag3_q(tagpos_hes) and lru_tag3_dataout_q(4) and not lru_tag3_dataout_q(6) ) or
( lru_tag3_dataout_q(3) and (lru_tag3_dataout_q(11) or not cswitch_q(2)) and tlb_tag3_q(tagpos_hes) and lru_tag3_dataout_q(4) and lru_tag3_dataout_q(6) );
tlbwe_tag4_back_inv_attr_d(19) <= '0';
tlbwe_back_inv_valid <= tlbwe_tag4_back_inv_q(thdid_width) and (not(tlb_tag4_way_rw_or(waypos_ind)) or cswitch_q(4));
tlbwe_back_inv_thdid <= tlbwe_tag4_back_inv_q(0 to thdid_width-1);
tlbwe_back_inv_addr <= tlb_tag4_way_rw_or(waypos_epn to waypos_epn+51);
tlbwe_back_inv_attr <= '1' & "011" &
tlb_tag4_way_rw_or(waypos_gs) & tlb_tag4_way_rw_or(waypos_ts) &
tlb_tag4_way_rw_or(waypos_tid+6 to waypos_tid+13) &
tlb_tag4_way_rw_or(waypos_size to waypos_size+3) &
tlbwe_tag4_back_inv_attr_q(18 to 19) &
tlb_tag4_way_rw_or(waypos_tid to waypos_tid+5) &
tlb_tag4_way_rw_or(waypos_lpid to waypos_lpid+lpid_width-1) &
tlb_tag4_way_rw_or(waypos_ind);
lru_write <= lru_write_q and (0 to lru_width-1 => not or_reduce(tlb_tag5_except_q));
lru_wr_addr <= lru_wr_addr_q;
lru_datain <= lru_datain_q;
tlb_htw_req_valid <= '1' when (tlb_tag4_q(tagpos_type_derat to tagpos_type_ierat)/="00" and tlb_tag4_q(tagpos_type_ptereload)='0' and
tlb_tag4_q(tagpos_ind)='1' and tlb_tag4_wayhit_q(tlb_ways)='1' and multihit='0')
else '0';
tlb_htw_req_way <= tlb_tag4_way_or(tlb_word_width to tlb_way_width-1);
tlb_htw_req_tag(0 TO epn_width-1) <= tlb_tag4_q(0 to epn_width-1);
tlb_htw_req_tag(tagpos_pid TO tagpos_pid+pid_width-1) <= tlb_tag4_way_or(waypos_tid to waypos_tid+pid_width-1);
tlb_htw_req_tag(tagpos_is TO tagpos_class+1) <= tlb_tag4_q(tagpos_is to tagpos_class+1);
tlb_htw_req_tag(tagpos_pr) <= tlb_tag4_q(tagpos_pr);
tlb_htw_req_tag(tagpos_gs) <= tlb_tag4_way_or(waypos_gs);
tlb_htw_req_tag(tagpos_as) <= tlb_tag4_way_or(waypos_ts);
tlb_htw_req_tag(tagpos_cm) <= tlb_tag4_q(tagpos_cm);
tlb_htw_req_tag(tagpos_thdid TO tagpos_lpid-1) <= tlb_tag4_q(tagpos_thdid to tagpos_lpid-1);
tlb_htw_req_tag(tagpos_lpid TO tagpos_lpid+lpid_width-1) <= tlb_tag4_way_or(waypos_lpid to waypos_lpid+lpid_width-1);
tlb_htw_req_tag(tagpos_ind) <= tlb_tag4_q(tagpos_ind);
tlb_htw_req_tag(tagpos_atsel) <= tlb_tag4_way_or(waypos_thdid);
tlb_htw_req_tag(tagpos_esel TO tagpos_esel+2) <= tlb_tag4_way_or(waypos_thdid+1 to waypos_thdid+3);
tlb_htw_req_tag(tagpos_hes TO tlb_tag_width-1) <= tlb_tag4_q(tagpos_hes to tlb_tag_width-1);
tlb_cmp_perf_event_t0(0) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t0(1) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t0(2) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t0(3) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t0(4) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t0(5) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t0(6) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t0(7) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t0(8) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t0(9) <= tlb_tag4_q(tagpos_thdid+0) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t1(0) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t1(1) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t1(2) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t1(3) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t1(4) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t1(5) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t1(6) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t1(7) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t1(8) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t1(9) <= tlb_tag4_q(tagpos_thdid+1) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t2(0) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t2(1) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t2(2) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t2(3) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t2(4) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t2(5) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t2(6) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t2(7) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t2(8) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t2(9) <= tlb_tag4_q(tagpos_thdid+2) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t3(0) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t3(1) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t3(2) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_ierat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t3(3) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t3(4) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_ierat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t3(5) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_event_t3(6) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_event_t3(7) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_derat) and not tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
tlb_tag4_q(tagpos_endflag);
tlb_cmp_perf_event_t3(8) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
tlb_tag4_q(tagpos_is);
tlb_cmp_perf_event_t3(9) <= tlb_tag4_q(tagpos_thdid+3) and tlb_tag4_q(tagpos_type_derat) and tlb_tag4_q(tagpos_type_ptereload) and
not tlb_tag4_q(tagpos_is);
tlb_cmp_perf_state <= tlb_tag4_q(tagpos_gs) & tlb_tag4_q(tagpos_pr);
tlb_cmp_perf_miss_direct <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_ierat)) and
not tlb_tag4_q(tagpos_type_ptereload) and not tlb_tag4_q(tagpos_ind) and not tlb_tag4_wayhit_q(tlb_ways) and
(tlb_tag3_q(tagpos_ind) or tlb_tag4_q(tagpos_endflag));
tlb_cmp_perf_hit_indirect <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_ierat)) and
not tlb_tag4_q(tagpos_type_ptereload) and tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit;
tlb_cmp_perf_hit_first_page <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1)) and or_reduce(tlb_tag4_q(tagpos_type_derat to tagpos_type_ierat)) and
not tlb_tag4_q(tagpos_type_ptereload) and not tlb_tag4_q(tagpos_ind) and tlb_tag4_wayhit_q(tlb_ways) and not multihit and
Eq(tlb_tag4_q(tagpos_esel to tagpos_esel+2),"001");
tlb_cmp_perf_pt_fault <= or_reduce(pt_fault_q);
tlb_cmp_perf_pt_inelig <= or_reduce(tlb_inelig_q);
tlb_cmp_perf_lrat_miss <= or_reduce(lrat_miss_q);
tlb_cmp_perf_ptereload_noexcep <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))
when ( tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_is)='1' and
tlb_tag4_q(tagpos_wq to tagpos_wq+1)="10" and
tlb_tag4_q(tagpos_pt)='1' and
or_reduce(pt_fault_d or tlb_inelig_d or lrat_miss_d)='0' )
else '0';
tlb_cmp_perf_lrat_request <= or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and not(tlb_ctl_tag4_flush))
when ( ((or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1) and tlb_resv_match_vec)='1'
and tlb_tag4_q(tagpos_wq to tagpos_wq+1)="01" and mmucfg_twc='1')
or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="00" or tlb_tag4_q(tagpos_wq to tagpos_wq+1)="11") and
tlb_tag4_q(tagpos_type_tlbwe)='1' and tlb_tag4_q(tagpos_gs)='1' and tlb_tag4_q(tagpos_pr)='0' and
tlb_tag4_epcr_dgtmi='0' and mmucfg_lrat='1' and
tlb_tag4_q(tagpos_is)='1' )
else or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))
when (tlb_tag4_q(tagpos_type_ptereload)='1' and tlb_tag4_q(tagpos_gs)='1' and mmucfg_lrat='1' and
tlb_tag4_q(tagpos_is)='1' and
tlb_tag4_q(tagpos_wq to tagpos_wq+1)="10" and
tlb_tag4_q(tagpos_pt)='1')
else '0';
tlb_cmp_dbg_tag4 <= tlb_tag4_q;
tlb_cmp_dbg_tag4_wayhit <= tlb_tag4_wayhit_q;
tlb_cmp_dbg_addr4 <= tlb_addr4_q;
tlb_cmp_dbg_tag4_way <= tlb_tag4_way_rw_or when ( or_reduce(tlb_tag4_q(tagpos_thdid to tagpos_thdid+thdid_width-1))='1' and
(tlb_tag4_q(tagpos_type_tlbre) or tlb_tag4_q(tagpos_type_tlbwe) or tlb_tag4_q(tagpos_type_ptereload))='1' )
else tlb_tag4_way_or;
tlb_cmp_dbg_tag4_parerr <= tag4_parerr_q;
tlb_cmp_dbg_tag4_lru_dataout_q <= lru_tag4_dataout_q(0 to lru_width-5);
tlb_cmp_dbg_tag5_lru_datain_q <= lru_datain_q(0 to lru_width-5);
tlb_cmp_dbg_tag5_lru_write <= lru_write_q(0);
tlb_cmp_dbg_tag5_any_exception <= or_reduce(tlb_miss_q) or or_reduce(hv_priv_q) or or_reduce(lrat_miss_q) or or_reduce(pt_fault_q) or or_reduce(tlb_inelig_q);
tlb_cmp_dbg_tag5_except_type_q <= or_reduce(hv_priv_q) & or_reduce(lrat_miss_q) & or_reduce(pt_fault_q) & or_reduce(tlb_inelig_q);
tlb_cmp_dbg_tag5_except_thdid_q(0) <= hv_priv_q(2) or hv_priv_q(3) or lrat_miss_q(2) or lrat_miss_q(3) or
pt_fault_q(2) or pt_fault_q(3) or tlb_inelig_q(2) or tlb_inelig_q(3) or
tlb_miss_q(2) or tlb_miss_q(3);
tlb_cmp_dbg_tag5_except_thdid_q(1) <= hv_priv_q(1) or hv_priv_q(3) or lrat_miss_q(1) or lrat_miss_q(3) or
pt_fault_q(1) or pt_fault_q(3) or tlb_inelig_q(1) or tlb_inelig_q(3) or
tlb_miss_q(1) or tlb_miss_q(3);
tlb_cmp_dbg_tag5_erat_rel_val <= tlb_erat_val_q;
tlb_cmp_dbg_tag5_erat_rel_data <= tlb_erat_rel_q;
tlb_cmp_dbg_erat_dup_q <= tlb_erat_dup_q;
tlb_cmp_dbg_addr_enable <= addr_enable;
tlb_cmp_dbg_pgsize_enable <= pgsize_enable;
tlb_cmp_dbg_class_enable <= class_enable;
tlb_cmp_dbg_extclass_enable <= extclass_enable;
tlb_cmp_dbg_state_enable <= state_enable;
tlb_cmp_dbg_thdid_enable <= thdid_enable;
tlb_cmp_dbg_pid_enable <= pid_enable;
tlb_cmp_dbg_lpid_enable <= lpid_enable;
tlb_cmp_dbg_ind_enable <= ind_enable;
tlb_cmp_dbg_iprot_enable <= iprot_enable;
tlb_cmp_dbg_way0_entry_v <= lru_tag3_dataout_q(0);
tlb_cmp_dbg_way0_addr_match <= tlb_way0_addr_match;
tlb_cmp_dbg_way0_pgsize_match <= tlb_way0_pgsize_match;
tlb_cmp_dbg_way0_class_match <= tlb_way0_class_match;
tlb_cmp_dbg_way0_extclass_match <= tlb_way0_extclass_match;
tlb_cmp_dbg_way0_state_match <= tlb_way0_state_match;
tlb_cmp_dbg_way0_thdid_match <= tlb_way0_thdid_match;
tlb_cmp_dbg_way0_pid_match <= tlb_way0_pid_match;
tlb_cmp_dbg_way0_lpid_match <= tlb_way0_lpid_match;
tlb_cmp_dbg_way0_ind_match <= tlb_way0_ind_match;
tlb_cmp_dbg_way0_iprot_match <= tlb_way0_iprot_match;
tlb_cmp_dbg_way1_entry_v <= lru_tag3_dataout_q(1);
tlb_cmp_dbg_way1_addr_match <= tlb_way1_addr_match;
tlb_cmp_dbg_way1_pgsize_match <= tlb_way1_pgsize_match;
tlb_cmp_dbg_way1_class_match <= tlb_way1_class_match;
tlb_cmp_dbg_way1_extclass_match <= tlb_way1_extclass_match;
tlb_cmp_dbg_way1_state_match <= tlb_way1_state_match;
tlb_cmp_dbg_way1_thdid_match <= tlb_way1_thdid_match;
tlb_cmp_dbg_way1_pid_match <= tlb_way1_pid_match;
tlb_cmp_dbg_way1_lpid_match <= tlb_way1_lpid_match;
tlb_cmp_dbg_way1_ind_match <= tlb_way1_ind_match;
tlb_cmp_dbg_way1_iprot_match <= tlb_way1_iprot_match;
tlb_cmp_dbg_way2_entry_v <= lru_tag3_dataout_q(2);
tlb_cmp_dbg_way2_addr_match <= tlb_way2_addr_match;
tlb_cmp_dbg_way2_pgsize_match <= tlb_way2_pgsize_match;
tlb_cmp_dbg_way2_class_match <= tlb_way2_class_match;
tlb_cmp_dbg_way2_extclass_match <= tlb_way2_extclass_match;
tlb_cmp_dbg_way2_state_match <= tlb_way2_state_match;
tlb_cmp_dbg_way2_thdid_match <= tlb_way2_thdid_match;
tlb_cmp_dbg_way2_pid_match <= tlb_way2_pid_match;
tlb_cmp_dbg_way2_lpid_match <= tlb_way2_lpid_match;
tlb_cmp_dbg_way2_ind_match <= tlb_way2_ind_match;
tlb_cmp_dbg_way2_iprot_match <= tlb_way2_iprot_match;
tlb_cmp_dbg_way3_entry_v <= lru_tag3_dataout_q(3);
tlb_cmp_dbg_way3_addr_match <= tlb_way3_addr_match;
tlb_cmp_dbg_way3_pgsize_match <= tlb_way3_pgsize_match;
tlb_cmp_dbg_way3_class_match <= tlb_way3_class_match;
tlb_cmp_dbg_way3_extclass_match <= tlb_way3_extclass_match;
tlb_cmp_dbg_way3_state_match <= tlb_way3_state_match;
tlb_cmp_dbg_way3_thdid_match <= tlb_way3_thdid_match;
tlb_cmp_dbg_way3_pid_match <= tlb_way3_pid_match;
tlb_cmp_dbg_way3_lpid_match <= tlb_way3_lpid_match;
tlb_cmp_dbg_way3_ind_match <= tlb_way3_ind_match;
tlb_cmp_dbg_way3_iprot_match <= tlb_way3_iprot_match;
unused_dc(0) <= or_reduce(LCB_DELAY_LCLKR_DC(1 TO 4));
unused_dc(1) <= or_reduce(LCB_MPW1_DC_B(1 TO 4));
unused_dc(2) <= PC_FUNC_SL_FORCE;
unused_dc(3) <= PC_FUNC_SL_THOLD_0_B;
unused_dc(4) <= TC_SCAN_DIS_DC_B;
unused_dc(5) <= TC_SCAN_DIAG_DC;
unused_dc(6) <= TC_LBIST_EN_DC;
unused_dc(7) <= TLB_TAG3_CLONE1_Q(70);
unused_dc(8) <= TLB_TAG3_CLONE1_Q(73);
unused_dc(9) <= or_reduce(TLB_TAG3_CLONE1_Q(99 TO 100));
unused_dc(10) <= or_reduce(TLB_TAG3_CLONE1_Q(104 TO 109));
unused_dc(11) <= TLB_TAG3_CLONE2_Q(70);
unused_dc(12) <= TLB_TAG3_CLONE2_Q(73);
unused_dc(13) <= or_reduce(TLB_TAG3_CLONE2_Q(99 TO 100));
unused_dc(14) <= or_reduce(TLB_TAG3_CLONE2_Q(104 TO 109));
unused_dc(15) <= '0';
unused_dc(16) <= TLB_TAG3_CMPMASK_Q(4);
unused_dc(17) <= TLB_TAG3_CMPMASK_CLONE_Q(4);
unused_dc(18) <= or_reduce(MMUCR1_CLONE_Q(11) & MMUCR1_CLONE_Q(17));
unused_dc(19) <= or_reduce(TLB_TAG4_TYPE_SIG(0 TO 3) & TLB_TAG4_TYPE_SIG(5));
unused_dc(20) <= TLB_TAG4_ESEL_SIG(0);
unused_dc(21) <= or_reduce(TLB_TAG4_WQ_SIG);
unused_dc(22) <= or_reduce(TLB_TAG4_IS_SIG(1 TO 3));
unused_dc(23) <= or_reduce(PTERELOAD_REQ_PTE_LAT(0 TO 9));
unused_dc(24) <= or_reduce(PTERELOAD_REQ_PTE_LAT(50) & PTERELOAD_REQ_PTE_LAT(55) & PTERELOAD_REQ_PTE_LAT(62));
unused_dc(25) <= or_reduce(MMUCR3_0(53) & MMUCR3_0(59));
unused_dc(26) <= or_reduce(MMUCR3_1(53) & MMUCR3_1(59));
unused_dc(27) <= or_reduce(MMUCR3_2(53) & MMUCR3_2(59));
unused_dc(28) <= or_reduce(MMUCR3_3(53) & MMUCR3_3(59));
unused_dc(29) <= TLB0CFG_PT;
unused_dc(30) <= or_reduce(TLB_DSI_Q);
unused_dc(31) <= or_reduce(TLB_ISI_Q);
unused_dc(32) <= or_reduce(LRAT_TAG3_LPN_SIG);
unused_dc(33) <= or_reduce(LRAT_TAG3_RPN_SIG);
unused_dc(34) <= or_reduce(LRAT_TAG4_LPN_SIG);
unused_dc(35) <= LRAT_TAG3_HIT_STATUS(0);
unused_dc(36) <= LRAT_TAG3_HIT_STATUS(3);
unused_dc(37) <= or_reduce(LRAT_TAG3_HIT_ENTRY);
unused_dc(38) <= or_reduce(LRAT_TAG4_HIT_ENTRY);
tlb_way0_latch: tri_rlmreg_p
generic map (width => tlb_way0_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_way0_offset to tlb_way0_offset+tlb_way0_q'length-1),
scout => sov_0(tlb_way0_offset to tlb_way0_offset+tlb_way0_q'length-1),
din => tlb_way0_d(0 to tlb_way_width-1),
dout => tlb_way0_q(0 to tlb_way_width-1) );
tlb_way1_latch: tri_rlmreg_p
generic map (width => tlb_way1_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_way1_offset to tlb_way1_offset+tlb_way1_q'length-1),
scout => sov_0(tlb_way1_offset to tlb_way1_offset+tlb_way1_q'length-1),
din => tlb_way1_d(0 to tlb_way_width-1),
dout => tlb_way1_q(0 to tlb_way_width-1) );
tlb_way2_latch: tri_rlmreg_p
generic map (width => tlb_way2_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_way2_offset to tlb_way2_offset+tlb_way2_q'length-1),
scout => sov_1(tlb_way2_offset to tlb_way2_offset+tlb_way2_q'length-1),
din => tlb_way2_d(0 to tlb_way_width-1),
dout => tlb_way2_q(0 to tlb_way_width-1) );
tlb_way3_latch: tri_rlmreg_p
generic map (width => tlb_way3_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_way3_offset to tlb_way3_offset+tlb_way3_q'length-1),
scout => sov_1(tlb_way3_offset to tlb_way3_offset+tlb_way3_q'length-1),
din => tlb_way3_d(0 to tlb_way_width-1),
dout => tlb_way3_q(0 to tlb_way_width-1) );
tlb_tag3_latch: tri_rlmreg_p
generic map (width => tlb_tag3_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(9),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_tag3_offset to tlb_tag3_offset+tlb_tag3_q'length-1),
scout => sov_2(tlb_tag3_offset to tlb_tag3_offset+tlb_tag3_q'length-1),
din => tlb_tag3_d(0 to tlb_tag_width-1),
dout => tlb_tag3_q(0 to tlb_tag_width-1) );
tlb_tag3_clone1_latch: tri_rlmreg_p
generic map (width => tlb_tag3_clone1_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_tag3_clone1_offset to tlb_tag3_clone1_offset+tlb_tag3_clone1_q'length-1),
scout => sov_0(tlb_tag3_clone1_offset to tlb_tag3_clone1_offset+tlb_tag3_clone1_q'length-1),
din => tlb_tag3_clone1_d(0 to tlb_tag_width-1),
dout => tlb_tag3_clone1_q(0 to tlb_tag_width-1) );
tlb_tag3_clone2_latch: tri_rlmreg_p
generic map (width => tlb_tag3_clone2_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_tag3_clone2_offset to tlb_tag3_clone2_offset+tlb_tag3_clone2_q'length-1),
scout => sov_1(tlb_tag3_clone2_offset to tlb_tag3_clone2_offset+tlb_tag3_clone2_q'length-1),
din => tlb_tag3_clone2_d(0 to tlb_tag_width-1),
dout => tlb_tag3_clone2_q(0 to tlb_tag_width-1) );
tlb_addr3_latch: tri_rlmreg_p
generic map (width => tlb_addr3_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(9),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_addr3_offset to tlb_addr3_offset+tlb_addr3_q'length-1),
scout => sov_2(tlb_addr3_offset to tlb_addr3_offset+tlb_addr3_q'length-1),
din => tlb_addr3_d(0 to tlb_addr_width-1),
dout => tlb_addr3_q(0 to tlb_addr_width-1) );
lru_tag3_dataout_latch: tri_rlmreg_p
generic map (width => lru_tag3_dataout_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(9),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(lru_tag3_dataout_offset to lru_tag3_dataout_offset+lru_tag3_dataout_q'length-1),
scout => sov_2(lru_tag3_dataout_offset to lru_tag3_dataout_offset+lru_tag3_dataout_q'length-1),
din => lru_tag3_dataout_d(0 to 15),
dout => lru_tag3_dataout_q(0 to 15) );
tlb_tag3_cmpmask_latch: tri_rlmreg_p
generic map (width => tlb_tag3_cmpmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_tag3_cmpmask_offset to tlb_tag3_cmpmask_offset+tlb_tag3_cmpmask_q'length-1),
scout => sov_0(tlb_tag3_cmpmask_offset to tlb_tag3_cmpmask_offset+tlb_tag3_cmpmask_q'length-1),
din => tlb_tag3_cmpmask_d,
dout => tlb_tag3_cmpmask_q );
tlb_tag3_cmpmask_clone_latch: tri_rlmreg_p
generic map (width => tlb_tag3_cmpmask_clone_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_tag3_cmpmask_clone_offset to tlb_tag3_cmpmask_clone_offset+tlb_tag3_cmpmask_clone_q'length-1),
scout => sov_1(tlb_tag3_cmpmask_clone_offset to tlb_tag3_cmpmask_clone_offset+tlb_tag3_cmpmask_clone_q'length-1),
din => tlb_tag3_cmpmask_clone_d,
dout => tlb_tag3_cmpmask_clone_q );
tlb_way0_cmpmask_latch: tri_rlmreg_p
generic map (width => tlb_way0_cmpmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_way0_cmpmask_offset to tlb_way0_cmpmask_offset+tlb_way0_cmpmask_q'length-1),
scout => sov_0(tlb_way0_cmpmask_offset to tlb_way0_cmpmask_offset+tlb_way0_cmpmask_q'length-1),
din => tlb_way0_cmpmask_d,
dout => tlb_way0_cmpmask_q );
tlb_way1_cmpmask_latch: tri_rlmreg_p
generic map (width => tlb_way1_cmpmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_way1_cmpmask_offset to tlb_way1_cmpmask_offset+tlb_way1_cmpmask_q'length-1),
scout => sov_0(tlb_way1_cmpmask_offset to tlb_way1_cmpmask_offset+tlb_way1_cmpmask_q'length-1),
din => tlb_way1_cmpmask_d,
dout => tlb_way1_cmpmask_q );
tlb_way2_cmpmask_latch: tri_rlmreg_p
generic map (width => tlb_way2_cmpmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_way2_cmpmask_offset to tlb_way2_cmpmask_offset+tlb_way2_cmpmask_q'length-1),
scout => sov_1(tlb_way2_cmpmask_offset to tlb_way2_cmpmask_offset+tlb_way2_cmpmask_q'length-1),
din => tlb_way2_cmpmask_d,
dout => tlb_way2_cmpmask_q );
tlb_way3_cmpmask_latch: tri_rlmreg_p
generic map (width => tlb_way3_cmpmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_way3_cmpmask_offset to tlb_way3_cmpmask_offset+tlb_way3_cmpmask_q'length-1),
scout => sov_1(tlb_way3_cmpmask_offset to tlb_way3_cmpmask_offset+tlb_way3_cmpmask_q'length-1),
din => tlb_way3_cmpmask_d,
dout => tlb_way3_cmpmask_q );
tlb_way0_xbitmask_latch: tri_rlmreg_p
generic map (width => tlb_way0_xbitmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_way0_xbitmask_offset to tlb_way0_xbitmask_offset+tlb_way0_xbitmask_q'length-1),
scout => sov_0(tlb_way0_xbitmask_offset to tlb_way0_xbitmask_offset+tlb_way0_xbitmask_q'length-1),
din => tlb_way0_xbitmask_d,
dout => tlb_way0_xbitmask_q );
tlb_way1_xbitmask_latch: tri_rlmreg_p
generic map (width => tlb_way1_xbitmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(12),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_way1_xbitmask_offset to tlb_way1_xbitmask_offset+tlb_way1_xbitmask_q'length-1),
scout => sov_0(tlb_way1_xbitmask_offset to tlb_way1_xbitmask_offset+tlb_way1_xbitmask_q'length-1),
din => tlb_way1_xbitmask_d,
dout => tlb_way1_xbitmask_q );
tlb_way2_xbitmask_latch: tri_rlmreg_p
generic map (width => tlb_way2_xbitmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_way2_xbitmask_offset to tlb_way2_xbitmask_offset+tlb_way2_xbitmask_q'length-1),
scout => sov_1(tlb_way2_xbitmask_offset to tlb_way2_xbitmask_offset+tlb_way2_xbitmask_q'length-1),
din => tlb_way2_xbitmask_d,
dout => tlb_way2_xbitmask_q );
tlb_way3_xbitmask_latch: tri_rlmreg_p
generic map (width => tlb_way3_xbitmask_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(13),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_way3_xbitmask_offset to tlb_way3_xbitmask_offset+tlb_way3_xbitmask_q'length-1),
scout => sov_1(tlb_way3_xbitmask_offset to tlb_way3_xbitmask_offset+tlb_way3_xbitmask_q'length-1),
din => tlb_way3_xbitmask_d,
dout => tlb_way3_xbitmask_q );
tlb_tag4_latch: tri_rlmreg_p
generic map (width => tlb_tag4_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(10),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_tag4_offset to tlb_tag4_offset+tlb_tag4_q'length-1),
scout => sov_2(tlb_tag4_offset to tlb_tag4_offset+tlb_tag4_q'length-1),
din => tlb_tag4_d(0 to tlb_tag_width-1),
dout => tlb_tag4_q(0 to tlb_tag_width-1) );
tlb_tag4_wayhit_latch: tri_rlmreg_p
generic map (width => tlb_tag4_wayhit_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(10),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_tag4_wayhit_offset to tlb_tag4_wayhit_offset+tlb_tag4_wayhit_q'length-1),
scout => sov_2(tlb_tag4_wayhit_offset to tlb_tag4_wayhit_offset+tlb_tag4_wayhit_q'length-1),
din => tlb_tag4_wayhit_d(0 to tlb_ways),
dout => tlb_tag4_wayhit_q(0 to tlb_ways) );
tlb_addr4_latch: tri_rlmreg_p
generic map (width => tlb_addr4_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(10),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_addr4_offset to tlb_addr4_offset+tlb_addr4_q'length-1),
scout => sov_2(tlb_addr4_offset to tlb_addr4_offset+tlb_addr4_q'length-1),
din => tlb_addr4_d(0 to tlb_addr_width-1),
dout => tlb_addr4_q(0 to tlb_addr_width-1) );
tlb_dataina_latch: tri_rlmreg_p
generic map (width => tlb_dataina_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(14),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_dataina_offset to tlb_dataina_offset+tlb_dataina_q'length-1),
scout => sov_0(tlb_dataina_offset to tlb_dataina_offset+tlb_dataina_q'length-1),
din => tlb_dataina_d(0 to tlb_way_width-1),
dout => tlb_dataina_q(0 to tlb_way_width-1) );
tlb_datainb_latch: tri_rlmreg_p
generic map (width => tlb_datainb_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(15),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_datainb_offset to tlb_datainb_offset+tlb_datainb_q'length-1),
scout => sov_1(tlb_datainb_offset to tlb_datainb_offset+tlb_datainb_q'length-1),
din => tlb_datainb_d(0 to tlb_way_width-1),
dout => tlb_datainb_q(0 to tlb_way_width-1) );
lru_tag4_dataout_latch: tri_rlmreg_p
generic map (width => lru_tag4_dataout_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(10),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(lru_tag4_dataout_offset to lru_tag4_dataout_offset+lru_tag4_dataout_q'length-1),
scout => sov_2(lru_tag4_dataout_offset to lru_tag4_dataout_offset+lru_tag4_dataout_q'length-1),
din => lru_tag4_dataout_d(0 to 15),
dout => lru_tag4_dataout_q(0 to 15) );
tlb_tag4_way_latch: tri_rlmreg_p
generic map (width => tlb_tag4_way_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_tag4_way_act,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_tag4_way_offset to tlb_tag4_way_offset+tlb_tag4_way_q'length-1),
scout => sov_0(tlb_tag4_way_offset to tlb_tag4_way_offset+tlb_tag4_way_q'length-1),
din => tlb_tag4_way_d(0 to tlb_way_width-1),
dout => tlb_tag4_way_q(0 to tlb_way_width-1) );
tlb_tag4_way_clone_latch: tri_rlmreg_p
generic map (width => tlb_tag4_way_clone_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_tag4_way_clone_act,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_tag4_way_clone_offset to tlb_tag4_way_clone_offset+tlb_tag4_way_clone_q'length-1),
scout => sov_1(tlb_tag4_way_clone_offset to tlb_tag4_way_clone_offset+tlb_tag4_way_clone_q'length-1),
din => tlb_tag4_way_clone_d(0 to tlb_way_width-1),
dout => tlb_tag4_way_clone_q(0 to tlb_way_width-1) );
tlb_tag4_way_rw_latch: tri_rlmreg_p
generic map (width => tlb_tag4_way_rw_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_tag4_way_rw_act,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_tag4_way_rw_offset to tlb_tag4_way_rw_offset+tlb_tag4_way_rw_q'length-1),
scout => sov_0(tlb_tag4_way_rw_offset to tlb_tag4_way_rw_offset+tlb_tag4_way_rw_q'length-1),
din => tlb_tag4_way_rw_d(0 to tlb_way_width-1),
dout => tlb_tag4_way_rw_q(0 to tlb_way_width-1) );
tlb_tag4_way_rw_clone_latch: tri_rlmreg_p
generic map (width => tlb_tag4_way_rw_clone_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_tag4_way_rw_clone_act,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_tag4_way_rw_clone_offset to tlb_tag4_way_rw_clone_offset+tlb_tag4_way_rw_clone_q'length-1),
scout => sov_1(tlb_tag4_way_rw_clone_offset to tlb_tag4_way_rw_clone_offset+tlb_tag4_way_rw_clone_q'length-1),
din => tlb_tag4_way_rw_clone_d(0 to tlb_way_width-1),
dout => tlb_tag4_way_rw_clone_q(0 to tlb_way_width-1) );
tlbwe_tag4_back_inv_latch: tri_rlmreg_p
generic map (width => tlbwe_tag4_back_inv_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(10),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlbwe_tag4_back_inv_offset to tlbwe_tag4_back_inv_offset+tlbwe_tag4_back_inv_q'length-1),
scout => sov_2(tlbwe_tag4_back_inv_offset to tlbwe_tag4_back_inv_offset+tlbwe_tag4_back_inv_q'length-1),
din => tlbwe_tag4_back_inv_d,
dout => tlbwe_tag4_back_inv_q );
tlbwe_tag4_back_inv_attr_latch: tri_rlmreg_p
generic map (width => tlbwe_tag4_back_inv_attr_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(10),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlbwe_tag4_back_inv_attr_offset to tlbwe_tag4_back_inv_attr_offset+tlbwe_tag4_back_inv_attr_q'length-1),
scout => sov_2(tlbwe_tag4_back_inv_attr_offset to tlbwe_tag4_back_inv_attr_offset+tlbwe_tag4_back_inv_attr_q'length-1),
din => tlbwe_tag4_back_inv_attr_d,
dout => tlbwe_tag4_back_inv_attr_q );
tlb_erat_val_latch: tri_rlmreg_p
generic map (width => tlb_erat_val_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(14),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_erat_val_offset to tlb_erat_val_offset+tlb_erat_val_q'length-1),
scout => sov_2(tlb_erat_val_offset to tlb_erat_val_offset+tlb_erat_val_q'length-1),
din => tlb_erat_val_d(0 to 2*thdid_width+1),
dout => tlb_erat_val_q(0 to 2*thdid_width+1) );
tlb_erat_rel_latch: tri_rlmreg_p
generic map (width => tlb_erat_rel_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(14),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(tlb_erat_rel_offset to tlb_erat_rel_offset+tlb_erat_rel_q'length-1),
scout => sov_0(tlb_erat_rel_offset to tlb_erat_rel_offset+tlb_erat_rel_q'length-1),
din => tlb_erat_rel_d(0 to erat_rel_data_width-1),
dout => tlb_erat_rel_q(0 to erat_rel_data_width-1) );
tlb_erat_rel_clone_latch: tri_rlmreg_p
generic map (width => tlb_erat_rel_clone_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(15),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(tlb_erat_rel_clone_offset to tlb_erat_rel_clone_offset+tlb_erat_rel_clone_q'length-1),
scout => sov_1(tlb_erat_rel_clone_offset to tlb_erat_rel_clone_offset+tlb_erat_rel_clone_q'length-1),
din => tlb_erat_rel_clone_d(0 to erat_rel_data_width-1),
dout => tlb_erat_rel_clone_q(0 to erat_rel_data_width-1) );
tlb_erat_dup_latch: tri_rlmreg_p
generic map (width => tlb_erat_dup_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => xu_mm_ccr2_notlb_b,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_erat_dup_offset to tlb_erat_dup_offset+tlb_erat_dup_q'length-1),
scout => sov_2(tlb_erat_dup_offset to tlb_erat_dup_offset+tlb_erat_dup_q'length-1),
din => tlb_erat_dup_d,
dout => tlb_erat_dup_q );
lru_write_latch: tri_rlmreg_p
generic map (width => lru_write_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(11),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(lru_write_offset to lru_write_offset+lru_write_q'length-1),
scout => sov_2(lru_write_offset to lru_write_offset+lru_write_q'length-1),
din => lru_write_d(0 to 15),
dout => lru_write_q(0 to 15) );
lru_wr_addr_latch: tri_rlmreg_p
generic map (width => lru_wr_addr_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(11),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(lru_wr_addr_offset to lru_wr_addr_offset+lru_wr_addr_q'length-1),
scout => sov_2(lru_wr_addr_offset to lru_wr_addr_offset+lru_wr_addr_q'length-1),
din => lru_wr_addr_d(0 to tlb_addr_width-1),
dout => lru_wr_addr_q(0 to tlb_addr_width-1) );
lru_datain_latch: tri_rlmreg_p
generic map (width => lru_datain_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(11),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(lru_datain_offset to lru_datain_offset+lru_datain_q'length-1),
scout => sov_2(lru_datain_offset to lru_datain_offset+lru_datain_q'length-1),
din => lru_datain_d(0 to 15),
dout => lru_datain_q(0 to 15) );
eratmiss_done_latch: tri_rlmreg_p
generic map (width => eratmiss_done_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(eratmiss_done_offset to eratmiss_done_offset+eratmiss_done_q'length-1),
scout => sov_2(eratmiss_done_offset to eratmiss_done_offset+eratmiss_done_q'length-1),
din => eratmiss_done_d(0 to thdid_width-1),
dout => eratmiss_done_q(0 to thdid_width-1));
tlb_miss_latch: tri_rlmreg_p
generic map (width => tlb_miss_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_miss_offset to tlb_miss_offset+tlb_miss_q'length-1),
scout => sov_2(tlb_miss_offset to tlb_miss_offset+tlb_miss_q'length-1),
din => tlb_miss_d(0 to thdid_width-1),
dout => tlb_miss_q(0 to thdid_width-1));
tlb_inelig_latch: tri_rlmreg_p
generic map (width => tlb_inelig_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_inelig_offset to tlb_inelig_offset+tlb_inelig_q'length-1),
scout => sov_2(tlb_inelig_offset to tlb_inelig_offset+tlb_inelig_q'length-1),
din => tlb_inelig_d(0 to thdid_width-1),
dout => tlb_inelig_q(0 to thdid_width-1));
lrat_miss_latch: tri_rlmreg_p
generic map (width => lrat_miss_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(lrat_miss_offset to lrat_miss_offset+lrat_miss_q'length-1),
scout => sov_2(lrat_miss_offset to lrat_miss_offset+lrat_miss_q'length-1),
din => lrat_miss_d(0 to thdid_width-1),
dout => lrat_miss_q(0 to thdid_width-1));
pt_fault_latch: tri_rlmreg_p
generic map (width => pt_fault_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(pt_fault_offset to pt_fault_offset+pt_fault_q'length-1),
scout => sov_2(pt_fault_offset to pt_fault_offset+pt_fault_q'length-1),
din => pt_fault_d(0 to thdid_width-1),
dout => pt_fault_q(0 to thdid_width-1));
hv_priv_latch: tri_rlmreg_p
generic map (width => hv_priv_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(hv_priv_offset to hv_priv_offset+hv_priv_q'length-1),
scout => sov_2(hv_priv_offset to hv_priv_offset+hv_priv_q'length-1),
din => hv_priv_d(0 to thdid_width-1),
dout => hv_priv_q(0 to thdid_width-1));
tlb_tag5_except_latch: tri_rlmreg_p
generic map (width => tlb_tag5_except_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(11),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_tag5_except_offset to tlb_tag5_except_offset+tlb_tag5_except_q'length-1),
scout => sov_2(tlb_tag5_except_offset to tlb_tag5_except_offset+tlb_tag5_except_q'length-1),
din => tlb_tag5_except_d(0 to thdid_width-1),
dout => tlb_tag5_except_q(0 to thdid_width-1));
tlb_dsi_latch: tri_rlmreg_p
generic map (width => tlb_dsi_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_dsi_offset to tlb_dsi_offset+tlb_dsi_q'length-1),
scout => sov_2(tlb_dsi_offset to tlb_dsi_offset+tlb_dsi_q'length-1),
din => tlb_dsi_d(0 to thdid_width-1),
dout => tlb_dsi_q(0 to thdid_width-1));
tlb_isi_latch: tri_rlmreg_p
generic map (width => tlb_isi_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_isi_offset to tlb_isi_offset+tlb_isi_q'length-1),
scout => sov_2(tlb_isi_offset to tlb_isi_offset+tlb_isi_q'length-1),
din => tlb_isi_d(0 to thdid_width-1),
dout => tlb_isi_q(0 to thdid_width-1));
esr_pt_latch: tri_rlmreg_p
generic map (width => esr_pt_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(esr_pt_offset to esr_pt_offset+esr_pt_q'length-1),
scout => sov_2(esr_pt_offset to esr_pt_offset+esr_pt_q'length-1),
din => esr_pt_d(0 to thdid_width-1),
dout => esr_pt_q(0 to thdid_width-1));
esr_data_latch: tri_rlmreg_p
generic map (width => esr_data_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(esr_data_offset to esr_data_offset+esr_data_q'length-1),
scout => sov_2(esr_data_offset to esr_data_offset+esr_data_q'length-1),
din => esr_data_d(0 to thdid_width-1),
dout => esr_data_q(0 to thdid_width-1));
esr_st_latch: tri_rlmreg_p
generic map (width => esr_st_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(esr_st_offset to esr_st_offset+esr_st_q'length-1),
scout => sov_2(esr_st_offset to esr_st_offset+esr_st_q'length-1),
din => esr_st_d(0 to thdid_width-1),
dout => esr_st_q(0 to thdid_width-1));
esr_epid_latch: tri_rlmreg_p
generic map (width => esr_epid_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(esr_epid_offset to esr_epid_offset+esr_epid_q'length-1),
scout => sov_2(esr_epid_offset to esr_epid_offset+esr_epid_q'length-1),
din => esr_epid_d(0 to thdid_width-1),
dout => esr_epid_q(0 to thdid_width-1));
cr0_eq_latch: tri_rlmreg_p
generic map (width => cr0_eq_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(cr0_eq_offset to cr0_eq_offset+cr0_eq_q'length-1),
scout => sov_2(cr0_eq_offset to cr0_eq_offset+cr0_eq_q'length-1),
din => cr0_eq_d(0 to thdid_width-1),
dout => cr0_eq_q(0 to thdid_width-1));
cr0_eq_valid_latch: tri_rlmreg_p
generic map (width => cr0_eq_valid_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(cr0_eq_valid_offset to cr0_eq_valid_offset+cr0_eq_valid_q'length-1),
scout => sov_2(cr0_eq_valid_offset to cr0_eq_valid_offset+cr0_eq_valid_q'length-1),
din => cr0_eq_valid_d(0 to thdid_width-1),
dout => cr0_eq_valid_q(0 to thdid_width-1));
tlb_multihit_err_latch: tri_rlmreg_p
generic map (width => tlb_multihit_err_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_multihit_err_offset to tlb_multihit_err_offset+tlb_multihit_err_q'length-1),
scout => sov_2(tlb_multihit_err_offset to tlb_multihit_err_offset+tlb_multihit_err_q'length-1),
din => tlb_multihit_err_d(0 to thdid_width-1),
dout => tlb_multihit_err_q(0 to thdid_width-1));
tag4_parerr_latch: tri_rlmreg_p
generic map (width => tag4_parerr_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(10),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tag4_parerr_offset to tag4_parerr_offset+tag4_parerr_q'length-1),
scout => sov_2(tag4_parerr_offset to tag4_parerr_offset+tag4_parerr_q'length-1),
din => tag4_parerr_d,
dout => tag4_parerr_q );
tlb_par_err_latch: tri_rlmreg_p
generic map (width => tlb_par_err_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(tlb_par_err_offset to tlb_par_err_offset+tlb_par_err_q'length-1),
scout => sov_2(tlb_par_err_offset to tlb_par_err_offset+tlb_par_err_q'length-1),
din => ECO107332_tlb_par_err_d(0 to thdid_width-1),
dout => tlb_par_err_q(0 to thdid_width-1));
lru_par_err_latch: tri_rlmreg_p
generic map (width => lru_par_err_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(lru_par_err_offset to lru_par_err_offset+lru_par_err_q'length-1),
scout => sov_2(lru_par_err_offset to lru_par_err_offset+lru_par_err_q'length-1),
din => ECO107332_lru_par_err_d(0 to thdid_width-1),
dout => lru_par_err_q(0 to thdid_width-1));
mmucr1_latch: tri_rlmreg_p
generic map (width => mmucr1_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => xu_mm_ccr2_notlb_b,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(mmucr1_offset to mmucr1_offset+mmucr1_q'length-1),
scout => sov_0(mmucr1_offset to mmucr1_offset+mmucr1_q'length-1),
din => mmucr1,
dout => mmucr1_q );
mmucr1_clone_latch: tri_rlmreg_p
generic map (width => mmucr1_clone_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => xu_mm_ccr2_notlb_b,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(mmucr1_clone_offset to mmucr1_clone_offset+mmucr1_clone_q'length-1),
scout => sov_1(mmucr1_clone_offset to mmucr1_clone_offset+mmucr1_clone_q'length-1),
din => mmucr1,
dout => mmucr1_clone_q );
spare_a_latch: tri_rlmreg_p
generic map (width => spare_a_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(14),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_0(spare_a_offset to spare_a_offset+spare_a_q'length-1),
scout => sov_0(spare_a_offset to spare_a_offset+spare_a_q'length-1),
din => spare_a_q,
dout => spare_a_q );
spare_b_latch: tri_rlmreg_p
generic map (width => spare_b_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(15),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_1(spare_b_offset to spare_b_offset+spare_b_q'length-1),
scout => sov_1(spare_b_offset to spare_b_offset+spare_b_q'length-1),
din => spare_b_q,
dout => spare_b_q );
cswitch_latch: tri_rlmreg_p
generic map (width => cswitch_q'length, init => mmq_tlb_cmp_cswitch_0to7, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tiup,
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(cswitch_offset to cswitch_offset+cswitch_q'length-1),
scout => sov_2(cswitch_offset to cswitch_offset+cswitch_q'length-1),
din => cswitch_q,
dout => cswitch_q );
spare_c_latch: tri_rlmreg_p
generic map (width => spare_c_q'length, init => 0, needs_sreset => 1, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
act => tlb_delayed_act(16),
thold_b => pc_func_slp_sl_thold_0_b,
sg => pc_sg_0,
forcee => pc_func_slp_sl_force,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
d_mode => lcb_d_mode_dc,
scin => siv_2(spare_c_offset to spare_c_offset+spare_c_q'length-1),
scout => sov_2(spare_c_offset to spare_c_offset+spare_c_q'length-1),
din => spare_c_q,
dout => spare_c_q );
spare_nsl_latch : tri_regk
generic map (width => spare_nsl_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => xu_mm_ccr2_notlb_b,
forcee => pc_func_slp_nsl_force(0),
d_mode => lcb_d_mode_dc,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
thold_b => pc_func_slp_nsl_thold_0_b(0),
din => spare_nsl_q,
dout => spare_nsl_q);
spare_nsl_clone_latch : tri_regk
generic map (width => spare_nsl_clone_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => xu_mm_ccr2_notlb_b,
forcee => pc_func_slp_nsl_force(1),
d_mode => lcb_d_mode_dc,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
thold_b => pc_func_slp_nsl_thold_0_b(1),
din => spare_nsl_clone_q,
dout => spare_nsl_clone_q);
epcr_dmiuh_latch : tri_regk
generic map (width => epcr_dmiuh_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => xu_mm_ccr2_notlb_b,
forcee => pc_func_slp_nsl_force(0),
d_mode => lcb_d_mode_dc,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
thold_b => pc_func_slp_nsl_thold_0_b(0),
din => xu_mm_spr_epcr_dmiuh,
dout => epcr_dmiuh_q);
msr_gs_latch : tri_regk
generic map (width => msr_gs_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => xu_mm_ccr2_notlb_b,
forcee => pc_func_slp_nsl_force(0),
d_mode => lcb_d_mode_dc,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
thold_b => pc_func_slp_nsl_thold_0_b(0),
din => xu_mm_msr_gs,
dout => msr_gs_q);
msr_pr_latch : tri_regk
generic map (width => msr_pr_q'length, init => 0, expand_type => expand_type, needs_sreset => 0)
port map (nclk => nclk, vd => vdd, gd => gnd,
act => xu_mm_ccr2_notlb_b,
forcee => pc_func_slp_nsl_force(0),
d_mode => lcb_d_mode_dc,
delay_lclkr => lcb_delay_lclkr_dc(0),
mpw1_b => lcb_mpw1_dc_b(0),
mpw2_b => lcb_mpw2_dc_b,
thold_b => pc_func_slp_nsl_thold_0_b(0),
din => xu_mm_msr_pr,
dout => msr_pr_q);
perv_2to1_reg: tri_plat
generic map (width => 5, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
flush => tc_ccflush_dc,
din(0) => pc_func_sl_thold_2,
din(1) => pc_func_slp_sl_thold_2,
din(2) => pc_func_slp_nsl_thold_2,
din(3) => pc_sg_2,
din(4) => pc_fce_2,
q(0) => pc_func_sl_thold_1,
q(1) => pc_func_slp_sl_thold_1,
q(2) => pc_func_slp_nsl_thold_1,
q(3) => pc_sg_1,
q(4) => pc_fce_1);
perv_1to0_reg: tri_plat
generic map (width => 5, expand_type => expand_type)
port map (vd => vdd,
gd => gnd,
nclk => nclk,
flush => tc_ccflush_dc,
din(0) => pc_func_sl_thold_1,
din(1) => pc_func_slp_sl_thold_1,
din(2) => pc_func_slp_nsl_thold_1,
din(3) => pc_sg_1,
din(4) => pc_fce_1,
q(0) => pc_func_sl_thold_0,
q(1) => pc_func_slp_sl_thold_0,
q(2) => pc_func_slp_nsl_thold_0,
q(3) => pc_sg_0,
q(4) => pc_fce_0);
perv_lcbor_func_sl: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => lcb_clkoff_dc_b,
thold => pc_func_sl_thold_0,
sg => pc_sg_0,
act_dis => lcb_act_dis_dc,
forcee => pc_func_sl_force,
thold_b => pc_func_sl_thold_0_b);
perv_lcbor_func_slp_sl: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => lcb_clkoff_dc_b,
thold => pc_func_slp_sl_thold_0,
sg => pc_sg_0,
act_dis => lcb_act_dis_dc,
forcee => pc_func_slp_sl_force,
thold_b => pc_func_slp_sl_thold_0_b);
perv_nsl_lcbor: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => lcb_clkoff_dc_b,
thold => pc_func_slp_nsl_thold_0,
sg => pc_fce_0,
act_dis => tidn,
forcee => pc_func_slp_nsl_force(0),
thold_b => pc_func_slp_nsl_thold_0_b(0));
perv_nsl_lcbor_clone: tri_lcbor
generic map (expand_type => expand_type)
port map (clkoff_b => lcb_clkoff_dc_b,
thold => pc_func_slp_nsl_thold_0,
sg => pc_fce_0,
act_dis => tidn,
forcee => pc_func_slp_nsl_force(1),
thold_b => pc_func_slp_nsl_thold_0_b(1));
siv_0(0 TO scan_right_0) <= sov_0(1 to scan_right_0) & ac_func_scan_in(0);
ac_func_scan_out(0) <= sov_0(0);
siv_1(0 TO scan_right_1) <= sov_1(1 to scan_right_1) & ac_func_scan_in(1);
ac_func_scan_out(1) <= sov_1(0);
siv_2(0 TO scan_right_2) <= sov_2(1 to scan_right_2) & ac_func_scan_in(2);
ac_func_scan_out(2) <= sov_2(0);
END MMQ_TLB_CMP;