function hubClkBusEna_Sx:
    useregset hub
    body:
        let bus_q_reg_pre (arrayAccess hub_mem_ext (add32 acshr2 (and32 acshr2 0I2000)))
        call (hubClkBusMacroNack )

function hubClkBusEna_SE:
    useregset hub
    body:
        let bus_q_reg_pre (arrayAccess hub_mem_ext (add32 acshr2 (and32 acshr2 0I2000)))
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx0A0_Rx0A4:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I0)
        call (hubClkBusMacroNack )

function hubClkBusEna_RER0A0_RER0A4:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I0)
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx0A1_Rx0A5:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I1)
        call (hubClkBusMacroNack )

function hubClkBusEna_RER0A1_RER0A5:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I1)
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx0A2_Rx0A6:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I2)
        call (hubClkBusMacroNack )

function hubClkBusEna_RER0A2_RER0A6:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I2)
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx0A3_Rx0A7:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I3)
        call (hubClkBusMacroNack )

function hubClkBusEna_RER0A3_RER0A7:
    useregset hub
    body:
        let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I3)
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx1A0_Rx1A1_Rx1A4_Rx1A5:
    useregset hub
    body:
        let bus_q_reg_pre (wordArrayAccess hub_mem_ext acshr2 0I0)
        call (hubClkBusMacroNack )

function hubClkBusEna_RER1A0_RER1A1_RER1A4_RER1A5:
    useregset hub
    body:
        let bus_q_reg_pre (wordArrayAccess hub_mem_ext acshr2 0I0)
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx1A2_Rx1A3_Rx1A6_Rx1A7:
    useregset hub
    body:
        let bus_q_reg_pre (wordArrayAccess hub_mem_ext acshr2 0I2)
        call (hubClkBusMacroNack )

function hubClkBusEna_RER1A2_RER1A3_RER1A6_RER1A7:
    useregset hub
    body:
        let bus_q_reg_pre (wordArrayAccess hub_mem_ext acshr2 0I2)
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx2A0_Rx2A1_Rx2A2_Rx2A3_Rx2A4_Rx2A5_Rx2A6_Rx2A7:
    useregset hub
    body:
        let bus_q_reg_pre (arrayAccess hub_mem_ext acshr2)
        call (hubClkBusMacroNack )

function hubClkBusEna_RER2A0_RER2A1_RER2A2_RER2A3_RER2A4_RER2A5_RER2A6_RER2A7:
    useregset hub
    body:
        let bus_q_reg_pre (arrayAccess hub_mem_ext acshr2)
        call (hubClkBusMacroAck )

function hubClkBusEna_Rx3A0_Rx3A1_Rx3A2_Rx3A3_Rx3A4_Rx3A5_Rx3A6_Rx3A7:
    useregset hub
    body:
        let bus_q_reg_pre sys_q
        call (hubClkBusMacroNack )

function hubClkBusEna_RER3A0_REW3A0:
    useregset hub
    local I sys_q_loc
    local I cog_e_loc
    local I bus_sel_idx_loc
    body:
        let cog_e_loc cog_e
        let sys_c (eq32 cog_e_loc 0Iff)
        let cfg_reg (and32 dc 0Iff)
        let sys_q_loc (and32 dc 0I7)
        let bus_q_reg_pre sys_q_loc
        let sys_q sys_q_loc
        let bus_sel_idx_loc bus_sel_idx
        call (hubClkBusMacroAckCustom cog_e_loc bus_sel_idx_loc)

function hubClkBusEna_RER3A1_REW3A1:
    useregset hub
    local I cog_e_loc
    local I bus_sel_idx_loc
    body:
        let bus_sel_idx_loc bus_sel_idx
        let cog_e_loc cog_e
        let sys_c (eq32 cog_e_loc 0Iff)
        let bus_q_reg_pre (and32 (sub32 bus_sel_idx_loc 0I1) 0I7)
        call (hubClkBusMacroAckCustom cog_e_loc bus_sel_idx_loc)

function hubClkBusEna_RER3A2_REW3A2:
    useregset hub
    local I num_loc
    local I num_dcd_loc
    local B sys_c_loc
    local I cog_e_loc
    local I bus_sel_idx_loc
    body:
        if (testBit32 dc 0I3):
            true:
                let sys_c_loc (eq32 cog_e 0Iff)
                let sys_c sys_c_loc
                let num_loc (mux32 (testBit32 cog_e 0I0) (mux32 (testBit32 cog_e 0I1) (mux32 (testBit32 cog_e 0I2) (mux32 (testBit32 cog_e 0I3) (mux32 (testBit32 cog_e 0I4) (mux32 (testBit32 cog_e 0I5) (mux32 (testBit32 cog_e 0I6) 0I7 0I6) 0I5) 0I4) 0I3) 0I2) 0I1) 0I0)
                let num_dcd_loc (shl32 0I1 num_loc)
                let cog_e_loc cog_e
                let cog_e (or32 cog_e_loc num_dcd_loc)
                let sys_q num_loc
                let bus_q_reg_pre num_loc
                let bus_sel_idx_loc bus_sel_idx
                if sys_c_loc:
                    true:
                        call (hubClkBusMacroAckCustom cog_e_loc bus_sel_idx_loc)
                    false:
                        call (hubClkBusMacroAckStartCog cog_e_loc bus_sel_idx_loc num_loc)
            false:
                let sys_c_loc (eq32 cog_e 0Iff)
                let sys_c sys_c_loc
                let num_loc (and32 dc 0I7)
                let num_dcd_loc (shl32 0I1 num_loc)
                let cog_e_loc (and32 cog_e (invert32 num_dcd_loc))
                let cog_e (or32 cog_e num_dcd_loc)
                let sys_q num_loc
                let bus_q_reg_pre num_loc
                let bus_sel_idx_loc bus_sel_idx
                call (hubClkBusMacroAckStartCog cog_e_loc bus_sel_idx_loc num_loc)

function hubClkBusEna_RER3A3_REW3A3:
    useregset hub
    local I num_loc
    local I cog_e_loc
    local I bus_sel_idx_loc
    body:
        let cog_e_loc cog_e
        let sys_c (eq32 cog_e_loc 0Iff)
        let num_loc (and32 dc 0I7)
        let sys_q num_loc
        let bus_q_reg_pre num_loc
        let cog_e (and32 cog_e_loc (invert32 (shl32 0I1 num_loc)))
        let bus_sel_idx_loc bus_sel_idx
        call (hubClkBusMacroAckCustom cog_e_loc bus_sel_idx_loc)

function hubClkBusEna_RER3A4_REW3A4:
    useregset hub
    local I num_loc
    local I num_dcd_loc
    body:
        let sys_c (eq32 lock_e 0Iff)
        let num_loc (mux32 (testBit32 lock_e 0I0) (mux32 (testBit32 lock_e 0I1) (mux32 (testBit32 lock_e 0I2) (mux32 (testBit32 lock_e 0I3) (mux32 (testBit32 lock_e 0I4) (mux32 (testBit32 lock_e 0I5) (mux32 (testBit32 lock_e 0I6) 0I7 0I6) 0I5) 0I4) 0I3) 0I2) 0I1) 0I0)
        let num_dcd_loc (shl32 0I1 num_loc)
        let lock_e (or32 (and32 lock_e (invert32 num_dcd_loc)) (and32 0Iff num_dcd_loc))
        let sys_q num_loc
        let bus_q_reg_pre num_loc
        call (hubClkBusMacroAck )

function hubClkBusEna_RER3A5_REW3A5:
    useregset hub
    local I num_loc
    body:
        let sys_c (eq32 lock_e 0Iff)
        let num_loc (and32 dc 0I7)
        let lock_e (and32 lock_e (invert32 (shl32 0I1 num_loc)))
        let sys_q num_loc
        let bus_q_reg_pre num_loc
        call (hubClkBusMacroAck )

function hubClkBusEna_RER3A6_REW3A6:
    useregset hub
    local I num_loc
    local I num_dcd_loc
    body:
        let sys_c (testBit32 (shr32 lock_state (and32 dc 0I7)) 0I0)
        let num_loc (and32 dc 0I7)
        let num_dcd_loc (shl32 0I1 num_loc)
        let sys_q num_loc
        let lock_state (or32 (and32 lock_state (invert32 num_dcd_loc)) (and32 0Iff num_dcd_loc))
        let bus_q_reg_pre num_loc
        call (hubClkBusMacroAck )

function hubClkBusEna_RER3A7_REW3A7:
    useregset hub
    local I num_loc
    body:
        let sys_c (testBit32 (shr32 lock_state (and32 dc 0I7)) 0I0)
        let num_loc (and32 dc 0I7)
        let sys_q num_loc
        let lock_state (and32 lock_state (invert32 (shl32 0I1 num_loc)))
        let bus_q_reg_pre num_loc
        call (hubClkBusMacroAck )

function hubClkBusEna_REW0A0_REW0A4:
    useregset hub
    local I dc_masked
    body:
        if (testBit32 acshr2 0Id):
            false:
                let dc_masked (and32 dc 0Iff)
                let bus_q_reg_pre dc_masked
                letbytearr hub_mem_ext acshr2 dc_masked 0I0
            true:
                let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I0)
        call (hubClkBusMacroAck )

function hubClkBusEna_REW0A1_REW0A5:
    useregset hub
    local I dc_masked
    body:
        if (testBit32 acshr2 0Id):
            false:
                let dc_masked (and32 dc 0Iff)
                let bus_q_reg_pre dc_masked
                letbytearr hub_mem_ext acshr2 dc_masked 0I1
            true:
                let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I1)
        call (hubClkBusMacroAck )

function hubClkBusEna_REW0A2_REW0A6:
    useregset hub
    local I dc_masked
    body:
        if (testBit32 acshr2 0Id):
            false:
                let dc_masked (and32 dc 0Iff)
                let bus_q_reg_pre dc_masked
                letbytearr hub_mem_ext acshr2 dc_masked 0I2
            true:
                let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I2)
        call (hubClkBusMacroAck )

function hubClkBusEna_REW0A3_REW0A7:
    useregset hub
    local I dc_masked
    body:
        if (testBit32 acshr2 0Id):
            false:
                let dc_masked (and32 dc 0Iff)
                let bus_q_reg_pre dc_masked
                letbytearr hub_mem_ext acshr2 dc_masked 0I3
            true:
                let bus_q_reg_pre (byteArrayAccess hub_mem_ext acshr2 0I3)
        call (hubClkBusMacroAck )

function hubClkBusEna_REW1A0_REW1A1_REW1A4_REW1A5:
    useregset hub
    local I dc_masked
    body:
        if (testBit32 acshr2 0Id):
            false:
                let dc_masked (and32 dc 0Iffff)
                let bus_q_reg_pre dc_masked
                letwordarr hub_mem_ext acshr2 dc_masked 0I0
            true:
                let bus_q_reg_pre (wordArrayAccess hub_mem_ext acshr2 0I0)
        call (hubClkBusMacroAck )

function hubClkBusEna_REW1A2_REW1A3_REW1A6_REW1A7:
    useregset hub
    local I dc_masked
    body:
        if (testBit32 acshr2 0Id):
            false:
                let dc_masked (and32 dc 0Iffff)
                let bus_q_reg_pre dc_masked
                letwordarr hub_mem_ext acshr2 dc_masked 0I2
            true:
                let bus_q_reg_pre (wordArrayAccess hub_mem_ext acshr2 0I2)
        call (hubClkBusMacroAck )

function hubClkBusEna_REW2A0_REW2A1_REW2A2_REW2A3_REW2A4_REW2A5_REW2A6_REW2A7:
    useregset hub
    body:
        if (testBit32 acshr2 0Id):
            false:
                let bus_q_reg_pre dc
                letarr hub_mem_ext acshr2 dc
            true:
                let bus_q_reg_pre (arrayAccess hub_mem_ext acshr2)
        call (hubClkBusMacroAck )
