| // Generated by SandPiper(TM) 1.12-2022/01/27-beta from Redwood EDA, LLC. |
| // Redwood EDA, LLC does not claim intellectual property rights to this file and provides no warranty regarding its correctness or quality. |
| |
| |
| `include "sandpiper_gen.vh" |
| |
| |
| genvar instr_mem, pipe_ctrl_instr, pipe_ctrl_stage, regs, src; |
| |
| |
| // |
| // Signals declared top-level. |
| // |
| |
| // For |fetch/instr$BranchState. |
| wire [1:0] FETCH_Instr_BranchState_a1; |
| reg [1:0] FETCH_Instr_BranchState_a2; |
| reg [1:1] FETCH_Instr_BranchState_a3; |
| |
| // For |fetch/instr$Cnt. |
| wire [7:0] FETCH_Instr_Cnt_n2; |
| reg [7:0] FETCH_Instr_Cnt_n1; |
| |
| // For |fetch/instr$GoodPathMask. |
| wire [3+1:0] FETCH_Instr_GoodPathMask_n1; |
| reg [3+1:0] FETCH_Instr_GoodPathMask_a0, |
| FETCH_Instr_GoodPathMask_a1, |
| FETCH_Instr_GoodPathMask_a2, |
| FETCH_Instr_GoodPathMask_a3; |
| |
| // For |fetch/instr$NoFetch. |
| wire FETCH_Instr_NoFetch_n1; |
| reg FETCH_Instr_NoFetch_a0, |
| FETCH_Instr_NoFetch_a1, |
| FETCH_Instr_NoFetch_a2, |
| FETCH_Instr_NoFetch_a3; |
| |
| // For |fetch/instr$Pc. |
| wire [31:2] FETCH_Instr_Pc_n1; |
| reg [31:2] FETCH_Instr_Pc_a0, |
| FETCH_Instr_Pc_a1, |
| FETCH_Instr_Pc_a2, |
| FETCH_Instr_Pc_a3; |
| |
| // For |fetch/instr$RemainingCyclesWithinTimeUnit. |
| wire [30-1:0] FETCH_Instr_RemainingCyclesWithinTimeUnit_a1; |
| reg [30-1:0] FETCH_Instr_RemainingCyclesWithinTimeUnit_a2; |
| |
| // For |fetch/instr$abort. |
| wire FETCH_Instr_abort_a2; |
| |
| // For |fetch/instr$aborting_isa_trap. |
| wire FETCH_Instr_aborting_isa_trap_a2; |
| |
| // For |fetch/instr$aborting_trap. |
| wire FETCH_Instr_aborting_trap_a2; |
| reg FETCH_Instr_aborting_trap_a3; |
| |
| // For |fetch/instr$add_rslt. |
| wire [31:0] FETCH_Instr_add_rslt_a2; |
| |
| // For |fetch/instr$add_sub_rslt. |
| wire [31:0] FETCH_Instr_add_sub_rslt_a2; |
| |
| // For |fetch/instr$addi_rslt. |
| wire [31:0] FETCH_Instr_addi_rslt_a2; |
| |
| // For |fetch/instr$addr. |
| wire [31:0] FETCH_Instr_addr_a2; |
| reg [31:0] FETCH_Instr_addr_a3; |
| |
| // For |fetch/instr$and_rslt. |
| wire [31:0] FETCH_Instr_and_rslt_a2; |
| |
| // For |fetch/instr$andi_rslt. |
| wire [31:0] FETCH_Instr_andi_rslt_a2; |
| |
| // For |fetch/instr$auipc_rslt. |
| wire [31:0] FETCH_Instr_auipc_rslt_a2; |
| |
| // For |fetch/instr$branch. |
| wire FETCH_Instr_branch_a1; |
| reg FETCH_Instr_branch_a2; |
| |
| // For |fetch/instr$branch_or_reset. |
| wire FETCH_Instr_branch_or_reset_a2; |
| reg FETCH_Instr_branch_or_reset_a3; |
| |
| // For |fetch/instr$branch_redir_pc. |
| wire [31:2] FETCH_Instr_branch_redir_pc_a2; |
| |
| // For |fetch/instr$branch_target. |
| wire [31:2] FETCH_Instr_branch_target_a1; |
| reg [31:2] FETCH_Instr_branch_target_a2; |
| |
| // For |fetch/instr$bypass_avail1. |
| wire FETCH_Instr_bypass_avail1_a1; |
| reg FETCH_Instr_bypass_avail1_a2, |
| FETCH_Instr_bypass_avail1_a3; |
| |
| // For |fetch/instr$bypass_avail2. |
| wire FETCH_Instr_bypass_avail2_a1; |
| reg FETCH_Instr_bypass_avail2_a2, |
| FETCH_Instr_bypass_avail2_a3; |
| |
| // For |fetch/instr$commit. |
| wire FETCH_Instr_commit_a2; |
| reg FETCH_Instr_commit_a3; |
| |
| // For |fetch/instr$conditional_branch. |
| wire FETCH_Instr_conditional_branch_a1; |
| reg FETCH_Instr_conditional_branch_a2; |
| |
| // For |fetch/instr$csr_cycle. |
| wire [31:0] FETCH_Instr_csr_cycle_a1; |
| reg [31:0] FETCH_Instr_csr_cycle_a2, |
| FETCH_Instr_csr_cycle_a3; |
| |
| // For |fetch/instr$csr_cycle_hw_wr. |
| wire FETCH_Instr_csr_cycle_hw_wr_a2; |
| reg FETCH_Instr_csr_cycle_hw_wr_a3; |
| |
| // For |fetch/instr$csr_cycle_hw_wr_en_mask. |
| wire [31:0] FETCH_Instr_csr_cycle_hw_wr_en_mask_a2; |
| |
| // For |fetch/instr$csr_cycle_hw_wr_mask. |
| wire [31:0] FETCH_Instr_csr_cycle_hw_wr_mask_a2; |
| |
| // For |fetch/instr$csr_cycle_hw_wr_value. |
| wire [31:0] FETCH_Instr_csr_cycle_hw_wr_value_a2; |
| |
| // For |fetch/instr$csr_cycle_masked_wr_value. |
| wire [31:0] FETCH_Instr_csr_cycle_masked_wr_value_a2; |
| |
| // For |fetch/instr$csr_cycleh. |
| wire [31:0] FETCH_Instr_csr_cycleh_a1; |
| reg [31:0] FETCH_Instr_csr_cycleh_a2, |
| FETCH_Instr_csr_cycleh_a3; |
| |
| // For |fetch/instr$csr_cycleh_hw_wr. |
| wire FETCH_Instr_csr_cycleh_hw_wr_a2; |
| reg FETCH_Instr_csr_cycleh_hw_wr_a3; |
| |
| // For |fetch/instr$csr_cycleh_hw_wr_en_mask. |
| wire [31:0] FETCH_Instr_csr_cycleh_hw_wr_en_mask_a2; |
| |
| // For |fetch/instr$csr_cycleh_hw_wr_mask. |
| wire [31:0] FETCH_Instr_csr_cycleh_hw_wr_mask_a2; |
| |
| // For |fetch/instr$csr_cycleh_hw_wr_value. |
| wire [31:0] FETCH_Instr_csr_cycleh_hw_wr_value_a2; |
| |
| // For |fetch/instr$csr_cycleh_masked_wr_value. |
| wire [31:0] FETCH_Instr_csr_cycleh_masked_wr_value_a2; |
| |
| // For |fetch/instr$csr_instret. |
| wire [31:0] FETCH_Instr_csr_instret_a1; |
| reg [31:0] FETCH_Instr_csr_instret_a2, |
| FETCH_Instr_csr_instret_a3; |
| |
| // For |fetch/instr$csr_instret_hw_wr. |
| wire FETCH_Instr_csr_instret_hw_wr_a2; |
| reg FETCH_Instr_csr_instret_hw_wr_a3; |
| |
| // For |fetch/instr$csr_instret_hw_wr_en_mask. |
| wire [31:0] FETCH_Instr_csr_instret_hw_wr_en_mask_a2; |
| |
| // For |fetch/instr$csr_instret_hw_wr_mask. |
| wire [31:0] FETCH_Instr_csr_instret_hw_wr_mask_a2; |
| |
| // For |fetch/instr$csr_instret_hw_wr_value. |
| wire [31:0] FETCH_Instr_csr_instret_hw_wr_value_a2; |
| |
| // For |fetch/instr$csr_instret_masked_wr_value. |
| wire [31:0] FETCH_Instr_csr_instret_masked_wr_value_a2; |
| |
| // For |fetch/instr$csr_instreth. |
| wire [31:0] FETCH_Instr_csr_instreth_a1; |
| reg [31:0] FETCH_Instr_csr_instreth_a2, |
| FETCH_Instr_csr_instreth_a3; |
| |
| // For |fetch/instr$csr_instreth_hw_wr. |
| wire FETCH_Instr_csr_instreth_hw_wr_a2; |
| reg FETCH_Instr_csr_instreth_hw_wr_a3; |
| |
| // For |fetch/instr$csr_instreth_hw_wr_en_mask. |
| wire [31:0] FETCH_Instr_csr_instreth_hw_wr_en_mask_a2; |
| |
| // For |fetch/instr$csr_instreth_hw_wr_mask. |
| wire [31:0] FETCH_Instr_csr_instreth_hw_wr_mask_a2; |
| |
| // For |fetch/instr$csr_instreth_hw_wr_value. |
| wire [31:0] FETCH_Instr_csr_instreth_hw_wr_value_a2; |
| |
| // For |fetch/instr$csr_instreth_masked_wr_value. |
| wire [31:0] FETCH_Instr_csr_instreth_masked_wr_value_a2; |
| |
| // For |fetch/instr$csr_time. |
| wire [31:0] FETCH_Instr_csr_time_a1; |
| reg [31:0] FETCH_Instr_csr_time_a2, |
| FETCH_Instr_csr_time_a3; |
| |
| // For |fetch/instr$csr_time_hw_wr. |
| wire FETCH_Instr_csr_time_hw_wr_a2; |
| reg FETCH_Instr_csr_time_hw_wr_a3; |
| |
| // For |fetch/instr$csr_time_hw_wr_en_mask. |
| wire [31:0] FETCH_Instr_csr_time_hw_wr_en_mask_a2; |
| |
| // For |fetch/instr$csr_time_hw_wr_mask. |
| wire [31:0] FETCH_Instr_csr_time_hw_wr_mask_a2; |
| |
| // For |fetch/instr$csr_time_hw_wr_value. |
| wire [31:0] FETCH_Instr_csr_time_hw_wr_value_a2; |
| |
| // For |fetch/instr$csr_time_masked_wr_value. |
| wire [31:0] FETCH_Instr_csr_time_masked_wr_value_a2; |
| |
| // For |fetch/instr$csr_timeh. |
| wire [31:0] FETCH_Instr_csr_timeh_a1; |
| reg [31:0] FETCH_Instr_csr_timeh_a2, |
| FETCH_Instr_csr_timeh_a3; |
| |
| // For |fetch/instr$csr_timeh_hw_wr. |
| wire FETCH_Instr_csr_timeh_hw_wr_a2; |
| reg FETCH_Instr_csr_timeh_hw_wr_a3; |
| |
| // For |fetch/instr$csr_timeh_hw_wr_en_mask. |
| wire [31:0] FETCH_Instr_csr_timeh_hw_wr_en_mask_a2; |
| |
| // For |fetch/instr$csr_timeh_hw_wr_mask. |
| wire [31:0] FETCH_Instr_csr_timeh_hw_wr_mask_a2; |
| |
| // For |fetch/instr$csr_timeh_hw_wr_value. |
| wire [31:0] FETCH_Instr_csr_timeh_hw_wr_value_a2; |
| |
| // For |fetch/instr$csr_timeh_masked_wr_value. |
| wire [31:0] FETCH_Instr_csr_timeh_masked_wr_value_a2; |
| |
| // For |fetch/instr$csr_trap. |
| wire FETCH_Instr_csr_trap_a1; |
| reg FETCH_Instr_csr_trap_a2; |
| |
| // For |fetch/instr$csr_wr_value. |
| wire [31:0] FETCH_Instr_csr_wr_value_a2; |
| |
| // For |fetch/instr$csrrc_rslt. |
| wire [31:0] FETCH_Instr_csrrc_rslt_a2; |
| |
| // For |fetch/instr$csrrci_rslt. |
| wire [31:0] FETCH_Instr_csrrci_rslt_a2; |
| |
| // For |fetch/instr$csrrs_rslt. |
| wire [31:0] FETCH_Instr_csrrs_rslt_a2; |
| |
| // For |fetch/instr$csrrsi_rslt. |
| wire [31:0] FETCH_Instr_csrrsi_rslt_a2; |
| |
| // For |fetch/instr$csrrw_rslt. |
| wire [31:0] FETCH_Instr_csrrw_rslt_a2; |
| |
| // For |fetch/instr$csrrwi_rslt. |
| wire [31:0] FETCH_Instr_csrrwi_rslt_a2; |
| |
| // For |fetch/instr$dest_pending. |
| wire FETCH_Instr_dest_pending_a1; |
| |
| // For |fetch/instr$dest_reg. |
| wire [4:0] FETCH_Instr_dest_reg_a1; |
| reg [4:0] FETCH_Instr_dest_reg_a2, |
| FETCH_Instr_dest_reg_a3; |
| |
| // For |fetch/instr$dest_reg_valid. |
| wire FETCH_Instr_dest_reg_valid_a1; |
| reg FETCH_Instr_dest_reg_valid_a2, |
| FETCH_Instr_dest_reg_valid_a3; |
| |
| // For |fetch/instr$div_mul. |
| wire FETCH_Instr_div_mul_a1; |
| reg FETCH_Instr_div_mul_a2; |
| |
| // For |fetch/instr$equal. |
| wire FETCH_Instr_equal_a2; |
| |
| // For |fetch/instr$fetch. |
| wire FETCH_Instr_fetch_a0; |
| reg FETCH_Instr_fetch_a1; |
| |
| // For |fetch/instr$first_issue. |
| wire FETCH_Instr_first_issue_a3; |
| |
| // For |fetch/instr$full_csr_cycle_hw_wr_value. |
| wire [63:0] FETCH_Instr_full_csr_cycle_hw_wr_value_a2; |
| |
| // For |fetch/instr$full_csr_instret_hw_wr_value. |
| wire [63:0] FETCH_Instr_full_csr_instret_hw_wr_value_a2; |
| |
| // For |fetch/instr$full_csr_time_hw_wr_value. |
| wire [63:0] FETCH_Instr_full_csr_time_hw_wr_value_a2; |
| |
| // For |fetch/instr$good_path. |
| wire FETCH_Instr_good_path_a2; |
| |
| // For |fetch/instr$illegal. |
| wire FETCH_Instr_illegal_a1; |
| reg FETCH_Instr_illegal_a2; |
| |
| // For |fetch/instr$illegal_itype_with_funct7. |
| wire FETCH_Instr_illegal_itype_with_funct7_a1; |
| |
| // For |fetch/instr$imm_valid. |
| wire FETCH_Instr_imm_valid_a3; |
| |
| // For |fetch/instr$imm_value. |
| wire [31:0] FETCH_Instr_imm_value_a3; |
| |
| // For |fetch/instr$indirect_jump. |
| wire FETCH_Instr_indirect_jump_a1; |
| reg FETCH_Instr_indirect_jump_a2, |
| FETCH_Instr_indirect_jump_a3; |
| |
| // For |fetch/instr$indirect_jump_full_target. |
| wire [31:0] FETCH_Instr_indirect_jump_full_target_a2; |
| |
| // For |fetch/instr$indirect_jump_target. |
| wire [31:2] FETCH_Instr_indirect_jump_target_a2; |
| |
| // For |fetch/instr$is___type. |
| wire FETCH_Instr_is___type_a1; |
| |
| // For |fetch/instr$is_add_instr. |
| wire FETCH_Instr_is_add_instr_a1; |
| reg FETCH_Instr_is_add_instr_a2, |
| FETCH_Instr_is_add_instr_a3; |
| |
| // For |fetch/instr$is_addi_instr. |
| wire FETCH_Instr_is_addi_instr_a1; |
| reg FETCH_Instr_is_addi_instr_a2, |
| FETCH_Instr_is_addi_instr_a3; |
| |
| // For |fetch/instr$is_and_instr. |
| wire FETCH_Instr_is_and_instr_a1; |
| reg FETCH_Instr_is_and_instr_a2, |
| FETCH_Instr_is_and_instr_a3; |
| |
| // For |fetch/instr$is_andi_instr. |
| wire FETCH_Instr_is_andi_instr_a1; |
| reg FETCH_Instr_is_andi_instr_a2, |
| FETCH_Instr_is_andi_instr_a3; |
| |
| // For |fetch/instr$is_auipc_instr. |
| wire FETCH_Instr_is_auipc_instr_a1; |
| reg FETCH_Instr_is_auipc_instr_a2, |
| FETCH_Instr_is_auipc_instr_a3; |
| |
| // For |fetch/instr$is_b_type. |
| wire FETCH_Instr_is_b_type_a1; |
| reg FETCH_Instr_is_b_type_a2, |
| FETCH_Instr_is_b_type_a3; |
| |
| // For |fetch/instr$is_beq_instr. |
| wire FETCH_Instr_is_beq_instr_a1; |
| reg FETCH_Instr_is_beq_instr_a2, |
| FETCH_Instr_is_beq_instr_a3; |
| |
| // For |fetch/instr$is_bge_instr. |
| wire FETCH_Instr_is_bge_instr_a1; |
| reg FETCH_Instr_is_bge_instr_a2, |
| FETCH_Instr_is_bge_instr_a3; |
| |
| // For |fetch/instr$is_bgeu_instr. |
| wire FETCH_Instr_is_bgeu_instr_a1; |
| reg FETCH_Instr_is_bgeu_instr_a2, |
| FETCH_Instr_is_bgeu_instr_a3; |
| |
| // For |fetch/instr$is_blt_instr. |
| wire FETCH_Instr_is_blt_instr_a1; |
| reg FETCH_Instr_is_blt_instr_a2, |
| FETCH_Instr_is_blt_instr_a3; |
| |
| // For |fetch/instr$is_bltu_instr. |
| wire FETCH_Instr_is_bltu_instr_a1; |
| reg FETCH_Instr_is_bltu_instr_a2, |
| FETCH_Instr_is_bltu_instr_a3; |
| |
| // For |fetch/instr$is_bne_instr. |
| wire FETCH_Instr_is_bne_instr_a1; |
| reg FETCH_Instr_is_bne_instr_a2, |
| FETCH_Instr_is_bne_instr_a3; |
| |
| // For |fetch/instr$is_csr_clear. |
| wire FETCH_Instr_is_csr_clear_a1; |
| reg FETCH_Instr_is_csr_clear_a2; |
| |
| // For |fetch/instr$is_csr_cycle. |
| wire FETCH_Instr_is_csr_cycle_a1; |
| reg FETCH_Instr_is_csr_cycle_a2; |
| |
| // For |fetch/instr$is_csr_cycleh. |
| wire FETCH_Instr_is_csr_cycleh_a1; |
| reg FETCH_Instr_is_csr_cycleh_a2; |
| |
| // For |fetch/instr$is_csr_instr. |
| wire FETCH_Instr_is_csr_instr_a1; |
| |
| // For |fetch/instr$is_csr_instret. |
| wire FETCH_Instr_is_csr_instret_a1; |
| reg FETCH_Instr_is_csr_instret_a2; |
| |
| // For |fetch/instr$is_csr_instreth. |
| wire FETCH_Instr_is_csr_instreth_a1; |
| reg FETCH_Instr_is_csr_instreth_a2; |
| |
| // For |fetch/instr$is_csr_set. |
| wire FETCH_Instr_is_csr_set_a1; |
| reg FETCH_Instr_is_csr_set_a2; |
| |
| // For |fetch/instr$is_csr_time. |
| wire FETCH_Instr_is_csr_time_a1; |
| reg FETCH_Instr_is_csr_time_a2; |
| |
| // For |fetch/instr$is_csr_timeh. |
| wire FETCH_Instr_is_csr_timeh_a1; |
| reg FETCH_Instr_is_csr_timeh_a2; |
| |
| // For |fetch/instr$is_csr_write. |
| wire FETCH_Instr_is_csr_write_a1; |
| reg FETCH_Instr_is_csr_write_a2; |
| |
| // For |fetch/instr$is_csrrc_instr. |
| wire FETCH_Instr_is_csrrc_instr_a1; |
| reg FETCH_Instr_is_csrrc_instr_a2, |
| FETCH_Instr_is_csrrc_instr_a3; |
| |
| // For |fetch/instr$is_csrrci_instr. |
| wire FETCH_Instr_is_csrrci_instr_a1; |
| reg FETCH_Instr_is_csrrci_instr_a2, |
| FETCH_Instr_is_csrrci_instr_a3; |
| |
| // For |fetch/instr$is_csrrs_instr. |
| wire FETCH_Instr_is_csrrs_instr_a1; |
| reg FETCH_Instr_is_csrrs_instr_a2, |
| FETCH_Instr_is_csrrs_instr_a3; |
| |
| // For |fetch/instr$is_csrrsi_instr. |
| wire FETCH_Instr_is_csrrsi_instr_a1; |
| reg FETCH_Instr_is_csrrsi_instr_a2, |
| FETCH_Instr_is_csrrsi_instr_a3; |
| |
| // For |fetch/instr$is_csrrw_instr. |
| wire FETCH_Instr_is_csrrw_instr_a1; |
| reg FETCH_Instr_is_csrrw_instr_a2, |
| FETCH_Instr_is_csrrw_instr_a3; |
| |
| // For |fetch/instr$is_csrrwi_instr. |
| wire FETCH_Instr_is_csrrwi_instr_a1; |
| reg FETCH_Instr_is_csrrwi_instr_a2, |
| FETCH_Instr_is_csrrwi_instr_a3; |
| |
| // For |fetch/instr$is_dest_condition. |
| wire FETCH_Instr_is_dest_condition_a1; |
| |
| // For |fetch/instr$is_i_type. |
| wire FETCH_Instr_is_i_type_a1; |
| reg FETCH_Instr_is_i_type_a2, |
| FETCH_Instr_is_i_type_a3; |
| |
| // For |fetch/instr$is_j_type. |
| wire FETCH_Instr_is_j_type_a1; |
| reg FETCH_Instr_is_j_type_a2, |
| FETCH_Instr_is_j_type_a3; |
| |
| // For |fetch/instr$is_jal_instr. |
| wire FETCH_Instr_is_jal_instr_a1; |
| reg FETCH_Instr_is_jal_instr_a2, |
| FETCH_Instr_is_jal_instr_a3; |
| |
| // For |fetch/instr$is_jalr_instr. |
| wire FETCH_Instr_is_jalr_instr_a1; |
| reg FETCH_Instr_is_jalr_instr_a2, |
| FETCH_Instr_is_jalr_instr_a3; |
| |
| // For |fetch/instr$is_lb_instr. |
| wire FETCH_Instr_is_lb_instr_a1; |
| reg FETCH_Instr_is_lb_instr_a2, |
| FETCH_Instr_is_lb_instr_a3; |
| |
| // For |fetch/instr$is_lbu_instr. |
| wire FETCH_Instr_is_lbu_instr_a1; |
| reg FETCH_Instr_is_lbu_instr_a2, |
| FETCH_Instr_is_lbu_instr_a3; |
| |
| // For |fetch/instr$is_lh_instr. |
| wire FETCH_Instr_is_lh_instr_a1; |
| reg FETCH_Instr_is_lh_instr_a2, |
| FETCH_Instr_is_lh_instr_a3; |
| |
| // For |fetch/instr$is_lhu_instr. |
| wire FETCH_Instr_is_lhu_instr_a1; |
| reg FETCH_Instr_is_lhu_instr_a2, |
| FETCH_Instr_is_lhu_instr_a3; |
| |
| // For |fetch/instr$is_lui_instr. |
| wire FETCH_Instr_is_lui_instr_a1; |
| reg FETCH_Instr_is_lui_instr_a2, |
| FETCH_Instr_is_lui_instr_a3; |
| |
| // For |fetch/instr$is_lw_instr. |
| wire FETCH_Instr_is_lw_instr_a1; |
| reg FETCH_Instr_is_lw_instr_a2, |
| FETCH_Instr_is_lw_instr_a3; |
| |
| // For |fetch/instr$is_or_instr. |
| wire FETCH_Instr_is_or_instr_a1; |
| reg FETCH_Instr_is_or_instr_a2, |
| FETCH_Instr_is_or_instr_a3; |
| |
| // For |fetch/instr$is_ori_instr. |
| wire FETCH_Instr_is_ori_instr_a1; |
| reg FETCH_Instr_is_ori_instr_a2, |
| FETCH_Instr_is_ori_instr_a3; |
| |
| // For |fetch/instr$is_r2_type. |
| wire FETCH_Instr_is_r2_type_a1; |
| |
| // For |fetch/instr$is_r4_type. |
| wire FETCH_Instr_is_r4_type_a1; |
| |
| // For |fetch/instr$is_r_type. |
| wire FETCH_Instr_is_r_type_a1; |
| reg FETCH_Instr_is_r_type_a2, |
| FETCH_Instr_is_r_type_a3; |
| |
| // For |fetch/instr$is_s_type. |
| wire FETCH_Instr_is_s_type_a1; |
| reg FETCH_Instr_is_s_type_a2, |
| FETCH_Instr_is_s_type_a3; |
| |
| // For |fetch/instr$is_sb_instr. |
| wire FETCH_Instr_is_sb_instr_a1; |
| reg FETCH_Instr_is_sb_instr_a2, |
| FETCH_Instr_is_sb_instr_a3; |
| |
| // For |fetch/instr$is_sh_instr. |
| wire FETCH_Instr_is_sh_instr_a1; |
| reg FETCH_Instr_is_sh_instr_a2, |
| FETCH_Instr_is_sh_instr_a3; |
| |
| // For |fetch/instr$is_sll_instr. |
| wire FETCH_Instr_is_sll_instr_a1; |
| reg FETCH_Instr_is_sll_instr_a2, |
| FETCH_Instr_is_sll_instr_a3; |
| |
| // For |fetch/instr$is_slli_instr. |
| wire FETCH_Instr_is_slli_instr_a1; |
| reg FETCH_Instr_is_slli_instr_a2, |
| FETCH_Instr_is_slli_instr_a3; |
| |
| // For |fetch/instr$is_slt_instr. |
| wire FETCH_Instr_is_slt_instr_a1; |
| reg FETCH_Instr_is_slt_instr_a2, |
| FETCH_Instr_is_slt_instr_a3; |
| |
| // For |fetch/instr$is_slti_instr. |
| wire FETCH_Instr_is_slti_instr_a1; |
| reg FETCH_Instr_is_slti_instr_a2, |
| FETCH_Instr_is_slti_instr_a3; |
| |
| // For |fetch/instr$is_sltiu_instr. |
| wire FETCH_Instr_is_sltiu_instr_a1; |
| reg FETCH_Instr_is_sltiu_instr_a2, |
| FETCH_Instr_is_sltiu_instr_a3; |
| |
| // For |fetch/instr$is_sltu_instr. |
| wire FETCH_Instr_is_sltu_instr_a1; |
| reg FETCH_Instr_is_sltu_instr_a2, |
| FETCH_Instr_is_sltu_instr_a3; |
| |
| // For |fetch/instr$is_sra_instr. |
| wire FETCH_Instr_is_sra_instr_a1; |
| reg FETCH_Instr_is_sra_instr_a2, |
| FETCH_Instr_is_sra_instr_a3; |
| |
| // For |fetch/instr$is_srai_instr. |
| wire FETCH_Instr_is_srai_instr_a1; |
| reg FETCH_Instr_is_srai_instr_a2, |
| FETCH_Instr_is_srai_instr_a3; |
| |
| // For |fetch/instr$is_srl_instr. |
| wire FETCH_Instr_is_srl_instr_a1; |
| reg FETCH_Instr_is_srl_instr_a2, |
| FETCH_Instr_is_srl_instr_a3; |
| |
| // For |fetch/instr$is_srli_instr. |
| wire FETCH_Instr_is_srli_instr_a1; |
| reg FETCH_Instr_is_srli_instr_a2, |
| FETCH_Instr_is_srli_instr_a3; |
| |
| // For |fetch/instr$is_srli_srai_instr. |
| wire FETCH_Instr_is_srli_srai_instr_a1; |
| |
| // For |fetch/instr$is_sub_instr. |
| wire FETCH_Instr_is_sub_instr_a1; |
| reg FETCH_Instr_is_sub_instr_a2, |
| FETCH_Instr_is_sub_instr_a3; |
| |
| // For |fetch/instr$is_sw_instr. |
| wire FETCH_Instr_is_sw_instr_a1; |
| reg FETCH_Instr_is_sw_instr_a2, |
| FETCH_Instr_is_sw_instr_a3; |
| |
| // For |fetch/instr$is_u_type. |
| wire FETCH_Instr_is_u_type_a1; |
| reg FETCH_Instr_is_u_type_a2, |
| FETCH_Instr_is_u_type_a3; |
| |
| // For |fetch/instr$is_xor_instr. |
| wire FETCH_Instr_is_xor_instr_a1; |
| reg FETCH_Instr_is_xor_instr_a2, |
| FETCH_Instr_is_xor_instr_a3; |
| |
| // For |fetch/instr$is_xori_instr. |
| wire FETCH_Instr_is_xori_instr_a1; |
| reg FETCH_Instr_is_xori_instr_a2, |
| FETCH_Instr_is_xori_instr_a3; |
| |
| // For |fetch/instr$jal_rslt. |
| wire [31:0] FETCH_Instr_jal_rslt_a2; |
| |
| // For |fetch/instr$jalr_rslt. |
| wire [31:0] FETCH_Instr_jalr_rslt_a2; |
| |
| // For |fetch/instr$jump. |
| wire FETCH_Instr_jump_a1; |
| reg FETCH_Instr_jump_a2, |
| FETCH_Instr_jump_a3; |
| |
| // For |fetch/instr$jump_target. |
| wire [31:2] FETCH_Instr_jump_target_a1; |
| reg [31:2] FETCH_Instr_jump_target_a2; |
| |
| // For |fetch/instr$lb_rslt. |
| wire [31:0] FETCH_Instr_lb_rslt_a2; |
| |
| // For |fetch/instr$lbu_rslt. |
| wire [31:0] FETCH_Instr_lbu_rslt_a2; |
| |
| // For |fetch/instr$ld. |
| wire FETCH_Instr_ld_a1; |
| reg FETCH_Instr_ld_a2; |
| |
| // For |fetch/instr$ld_data. |
| wire [31:0] FETCH_Instr_ld_data_a4; |
| |
| // For |fetch/instr$ld_st. |
| wire FETCH_Instr_ld_st_a1; |
| reg FETCH_Instr_ld_st_a2; |
| |
| // For |fetch/instr$ld_st_cond. |
| wire FETCH_Instr_ld_st_cond_a2; |
| |
| // For |fetch/instr$ld_st_half. |
| wire FETCH_Instr_ld_st_half_a1; |
| reg FETCH_Instr_ld_st_half_a2, |
| FETCH_Instr_ld_st_half_a3; |
| |
| // For |fetch/instr$ld_st_word. |
| wire FETCH_Instr_ld_st_word_a1; |
| reg FETCH_Instr_ld_st_word_a2, |
| FETCH_Instr_ld_st_word_a3; |
| |
| // For |fetch/instr$lh_rslt. |
| wire [31:0] FETCH_Instr_lh_rslt_a2; |
| |
| // For |fetch/instr$lhu_rslt. |
| wire [31:0] FETCH_Instr_lhu_rslt_a2; |
| |
| // For |fetch/instr$lui_rslt. |
| wire [31:0] FETCH_Instr_lui_rslt_a2; |
| |
| // For |fetch/instr$lw_rslt. |
| wire [31:0] FETCH_Instr_lw_rslt_a2; |
| |
| // For |fetch/instr$misaligned_indirect_jump_target. |
| wire FETCH_Instr_misaligned_indirect_jump_target_a2; |
| |
| // For |fetch/instr$misaligned_jump_target. |
| wire FETCH_Instr_misaligned_jump_target_a1; |
| reg FETCH_Instr_misaligned_jump_target_a2; |
| |
| // For |fetch/instr$misaligned_pc. |
| wire FETCH_Instr_misaligned_pc_a1; |
| reg FETCH_Instr_misaligned_pc_a2; |
| |
| // For |fetch/instr$mispred_branch. |
| wire FETCH_Instr_mispred_branch_a2; |
| reg FETCH_Instr_mispred_branch_a3; |
| |
| // For |fetch/instr$mnemonic. |
| wire [10*8-1:0] FETCH_Instr_mnemonic_a3; |
| |
| // For |fetch/instr$multype_instr. |
| wire FETCH_Instr_multype_instr_a1; |
| |
| // For |fetch/instr$next_good_path_mask. |
| wire [3+1:0] FETCH_Instr_next_good_path_mask_a0; |
| |
| // For |fetch/instr$next_no_fetch. |
| wire FETCH_Instr_next_no_fetch_a0; |
| |
| // For |fetch/instr$next_pc. |
| wire [31:2] FETCH_Instr_next_pc_a0; |
| |
| // For |fetch/instr$non_aborting_isa_trap. |
| wire FETCH_Instr_non_aborting_isa_trap_a2; |
| |
| // For |fetch/instr$non_aborting_trap. |
| wire FETCH_Instr_non_aborting_trap_a2; |
| reg FETCH_Instr_non_aborting_trap_a3; |
| |
| // For |fetch/instr$non_pipelined. |
| wire FETCH_Instr_non_pipelined_a2; |
| reg FETCH_Instr_non_pipelined_a3; |
| |
| // For |fetch/instr$or_rslt. |
| wire [31:0] FETCH_Instr_or_rslt_a2; |
| |
| // For |fetch/instr$ori_rslt. |
| wire [31:0] FETCH_Instr_ori_rslt_a2; |
| |
| // For |fetch/instr$pc. |
| wire [31:2] FETCH_Instr_pc_a2; |
| reg [31:2] FETCH_Instr_pc_a3; |
| |
| // For |fetch/instr$pc_inc. |
| wire [31:2] FETCH_Instr_pc_inc_a0; |
| reg [31:2] FETCH_Instr_pc_inc_a1, |
| FETCH_Instr_pc_inc_a2, |
| FETCH_Instr_pc_inc_a3; |
| |
| // For |fetch/instr$pending_replay. |
| wire FETCH_Instr_pending_replay_a1; |
| |
| // For |fetch/instr$pred_taken. |
| wire FETCH_Instr_pred_taken_a1; |
| reg FETCH_Instr_pred_taken_a2; |
| |
| // For |fetch/instr$pred_taken_branch. |
| wire FETCH_Instr_pred_taken_branch_a1; |
| reg FETCH_Instr_pred_taken_branch_a2, |
| FETCH_Instr_pred_taken_branch_a3; |
| |
| // For |fetch/instr$raw. |
| wire [31:0] FETCH_Instr_raw_a1; |
| |
| // For |fetch/instr$raw_aq. |
| wire FETCH_Instr_raw_aq_a1; |
| |
| // For |fetch/instr$raw_b_imm. |
| wire [31:0] FETCH_Instr_raw_b_imm_a1; |
| reg [31:0] FETCH_Instr_raw_b_imm_a2, |
| FETCH_Instr_raw_b_imm_a3; |
| |
| // For |fetch/instr$raw_funct3. |
| wire [2:0] FETCH_Instr_raw_funct3_a1; |
| reg [2:2] FETCH_Instr_raw_funct3_a2, |
| FETCH_Instr_raw_funct3_a3; |
| |
| // For |fetch/instr$raw_funct7. |
| wire [6:0] FETCH_Instr_raw_funct7_a1; |
| reg [6:0] FETCH_Instr_raw_funct7_a2, |
| FETCH_Instr_raw_funct7_a3; |
| |
| // For |fetch/instr$raw_i_imm. |
| wire [31:0] FETCH_Instr_raw_i_imm_a1; |
| reg [31:0] FETCH_Instr_raw_i_imm_a2, |
| FETCH_Instr_raw_i_imm_a3; |
| |
| // For |fetch/instr$raw_j_imm. |
| wire [31:0] FETCH_Instr_raw_j_imm_a1; |
| reg [31:0] FETCH_Instr_raw_j_imm_a2, |
| FETCH_Instr_raw_j_imm_a3; |
| |
| // For |fetch/instr$raw_op2. |
| wire [1:0] FETCH_Instr_raw_op2_a1; |
| |
| // For |fetch/instr$raw_op5. |
| wire [4:0] FETCH_Instr_raw_op5_a1; |
| |
| // For |fetch/instr$raw_rd. |
| wire [4:0] FETCH_Instr_raw_rd_a1; |
| reg [4:0] FETCH_Instr_raw_rd_a2, |
| FETCH_Instr_raw_rd_a3; |
| |
| // For |fetch/instr$raw_rl. |
| wire FETCH_Instr_raw_rl_a1; |
| |
| // For |fetch/instr$raw_rm. |
| wire [2:0] FETCH_Instr_raw_rm_a1; |
| |
| // For |fetch/instr$raw_rs1. |
| wire [4:0] FETCH_Instr_raw_rs1_a1; |
| reg [4:0] FETCH_Instr_raw_rs1_a2, |
| FETCH_Instr_raw_rs1_a3; |
| |
| // For |fetch/instr$raw_rs2. |
| wire [4:0] FETCH_Instr_raw_rs2_a1; |
| reg [4:0] FETCH_Instr_raw_rs2_a2, |
| FETCH_Instr_raw_rs2_a3; |
| |
| // For |fetch/instr$raw_rs3. |
| wire [4:0] FETCH_Instr_raw_rs3_a1; |
| reg [4:0] FETCH_Instr_raw_rs3_a2, |
| FETCH_Instr_raw_rs3_a3; |
| |
| // For |fetch/instr$raw_s_imm. |
| wire [31:0] FETCH_Instr_raw_s_imm_a1; |
| reg [31:0] FETCH_Instr_raw_s_imm_a2, |
| FETCH_Instr_raw_s_imm_a3; |
| |
| // For |fetch/instr$raw_shamt. |
| wire [6:0] FETCH_Instr_raw_shamt_a1; |
| |
| // For |fetch/instr$raw_u_imm. |
| wire [31:0] FETCH_Instr_raw_u_imm_a1; |
| reg [31:0] FETCH_Instr_raw_u_imm_a2, |
| FETCH_Instr_raw_u_imm_a3; |
| |
| // For |fetch/instr$reg_wr_pending. |
| wire FETCH_Instr_reg_wr_pending_a1; |
| reg FETCH_Instr_reg_wr_pending_a2, |
| FETCH_Instr_reg_wr_pending_a3; |
| |
| // For |fetch/instr$replay. |
| wire FETCH_Instr_replay_a1; |
| reg FETCH_Instr_replay_a2, |
| FETCH_Instr_replay_a3; |
| |
| // For |fetch/instr$replay_trap. |
| wire FETCH_Instr_replay_trap_a2; |
| |
| // For |fetch/instr$reset. |
| wire FETCH_Instr_reset_n1; |
| reg FETCH_Instr_reset_a0, |
| FETCH_Instr_reset_a1, |
| FETCH_Instr_reset_a2, |
| FETCH_Instr_reset_a3; |
| |
| // For |fetch/instr$rslt. |
| wire [31:0] FETCH_Instr_rslt_a2; |
| reg [31:0] FETCH_Instr_rslt_a3; |
| |
| // For |fetch/instr$second_issue. |
| wire FETCH_Instr_second_issue_a0; |
| reg FETCH_Instr_second_issue_a1, |
| FETCH_Instr_second_issue_a2, |
| FETCH_Instr_second_issue_a3; |
| |
| // For |fetch/instr$second_issue_ld. |
| wire FETCH_Instr_second_issue_ld_a0; |
| reg FETCH_Instr_second_issue_ld_a1, |
| FETCH_Instr_second_issue_ld_a2; |
| |
| // For |fetch/instr$sll_rslt. |
| wire [31:0] FETCH_Instr_sll_rslt_a2; |
| |
| // For |fetch/instr$slli_rslt. |
| wire [31:0] FETCH_Instr_slli_rslt_a2; |
| |
| // For |fetch/instr$slt_rslt. |
| wire [31:0] FETCH_Instr_slt_rslt_a2; |
| |
| // For |fetch/instr$slti_rslt. |
| wire [31:0] FETCH_Instr_slti_rslt_a2; |
| |
| // For |fetch/instr$sltiu_rslt. |
| wire [31:0] FETCH_Instr_sltiu_rslt_a2; |
| |
| // For |fetch/instr$sltu_rslt. |
| wire [31:0] FETCH_Instr_sltu_rslt_a2; |
| |
| // For |fetch/instr$soft_reset. |
| wire FETCH_Instr_soft_reset_n1; |
| |
| // For |fetch/instr$spec_ld. |
| wire FETCH_Instr_spec_ld_a1; |
| reg FETCH_Instr_spec_ld_a2, |
| FETCH_Instr_spec_ld_a3; |
| |
| // For |fetch/instr$sra_rslt. |
| wire [31:0] FETCH_Instr_sra_rslt_a2; |
| |
| // For |fetch/instr$srai_intermediate_rslt. |
| wire [31:0] FETCH_Instr_srai_intermediate_rslt_a2; |
| |
| // For |fetch/instr$srai_rslt. |
| wire [31:0] FETCH_Instr_srai_rslt_a2; |
| |
| // For |fetch/instr$srl_rslt. |
| wire [31:0] FETCH_Instr_srl_rslt_a2; |
| |
| // For |fetch/instr$srli_intermediate_rslt. |
| wire [31:0] FETCH_Instr_srli_intermediate_rslt_a2; |
| |
| // For |fetch/instr$srli_rslt. |
| wire [31:0] FETCH_Instr_srli_rslt_a2; |
| |
| // For |fetch/instr$st. |
| wire FETCH_Instr_st_a1; |
| reg FETCH_Instr_st_a2, |
| FETCH_Instr_st_a3; |
| |
| // For |fetch/instr$st_cond. |
| wire FETCH_Instr_st_cond_a2; |
| |
| // For |fetch/instr$st_mask. |
| wire [3:0] FETCH_Instr_st_mask_a2; |
| reg [3:0] FETCH_Instr_st_mask_a3; |
| |
| // For |fetch/instr$st_reg_value. |
| wire [31:0] FETCH_Instr_st_reg_value_a2; |
| |
| // For |fetch/instr$st_value. |
| wire [31:0] FETCH_Instr_st_value_a2; |
| reg [31:0] FETCH_Instr_st_value_a3; |
| |
| // For |fetch/instr$sub_rslt. |
| wire [31:0] FETCH_Instr_sub_rslt_a2; |
| |
| // For |fetch/instr$taken. |
| wire FETCH_Instr_taken_a2; |
| |
| // For |fetch/instr$time_unit_expires. |
| wire FETCH_Instr_time_unit_expires_a2; |
| |
| // For |fetch/instr$trap_target. |
| wire [31:2] FETCH_Instr_trap_target_a2; |
| reg [31:2] FETCH_Instr_trap_target_a3; |
| |
| // For |fetch/instr$unnatural_addr_trap. |
| wire FETCH_Instr_unnatural_addr_trap_a2; |
| |
| // For |fetch/instr$upd_csr_cycle. |
| wire [31:0] FETCH_Instr_upd_csr_cycle_a2; |
| |
| // For |fetch/instr$upd_csr_cycleh. |
| wire [31:0] FETCH_Instr_upd_csr_cycleh_a2; |
| |
| // For |fetch/instr$upd_csr_instret. |
| wire [31:0] FETCH_Instr_upd_csr_instret_a2; |
| |
| // For |fetch/instr$upd_csr_instreth. |
| wire [31:0] FETCH_Instr_upd_csr_instreth_a2; |
| |
| // For |fetch/instr$upd_csr_time. |
| wire [31:0] FETCH_Instr_upd_csr_time_a2; |
| |
| // For |fetch/instr$upd_csr_timeh. |
| wire [31:0] FETCH_Instr_upd_csr_timeh_a2; |
| |
| // For |fetch/instr$valid_csr. |
| wire FETCH_Instr_valid_csr_a1; |
| |
| // For |fetch/instr$valid_decode. |
| wire FETCH_Instr_valid_decode_a1; |
| reg FETCH_Instr_valid_decode_a2, |
| FETCH_Instr_valid_decode_a3; |
| |
| // For |fetch/instr$valid_decode_branch. |
| wire FETCH_Instr_valid_decode_branch_a1; |
| reg FETCH_Instr_valid_decode_branch_a2; |
| |
| // For |fetch/instr$valid_dest_reg_valid. |
| wire FETCH_Instr_valid_dest_reg_valid_a2; |
| reg FETCH_Instr_valid_dest_reg_valid_a3; |
| |
| // For |fetch/instr$valid_exe. |
| wire FETCH_Instr_valid_exe_a2; |
| |
| // For |fetch/instr$valid_ld. |
| wire FETCH_Instr_valid_ld_a2; |
| reg FETCH_Instr_valid_ld_a3; |
| |
| // For |fetch/instr$valid_st. |
| wire FETCH_Instr_valid_st_a2; |
| reg FETCH_Instr_valid_st_a3; |
| |
| // For |fetch/instr$xor_rslt. |
| wire [31:0] FETCH_Instr_xor_rslt_a2; |
| |
| // For |fetch/instr$xori_rslt. |
| wire [31:0] FETCH_Instr_xori_rslt_a2; |
| |
| // For |fetch/instr/orig_inst$dest_reg. |
| wire [4:0] FETCH_Instr_OrigInst_dest_reg_a0; |
| reg [4:0] FETCH_Instr_OrigInst_dest_reg_a1; |
| |
| // For |fetch/instr/orig_inst$pc. |
| wire [31:2] FETCH_Instr_OrigInst_pc_a0; |
| reg [31:2] FETCH_Instr_OrigInst_pc_a1, |
| FETCH_Instr_OrigInst_pc_a2, |
| FETCH_Instr_OrigInst_pc_a3; |
| |
| // For |fetch/instr/orig_load_inst$addr. |
| wire [1:0] FETCH_Instr_OrigLoadInst_addr_a0; |
| reg [1:0] FETCH_Instr_OrigLoadInst_addr_a1, |
| FETCH_Instr_OrigLoadInst_addr_a2; |
| |
| // For |fetch/instr/orig_load_inst$dest_reg. |
| wire [4:0] FETCH_Instr_OrigLoadInst_dest_reg_a0; |
| |
| // For |fetch/instr/orig_load_inst$g0_spec_ld_cond. |
| wire FETCH_Instr_OrigLoadInst_g0_spec_ld_cond_a2; |
| |
| // For |fetch/instr/orig_load_inst$ld_mask. |
| wire [3:0] FETCH_Instr_OrigLoadInst_ld_mask_a2; |
| |
| // For |fetch/instr/orig_load_inst$ld_rslt. |
| wire [31:0] FETCH_Instr_OrigLoadInst_ld_rslt_a2; |
| |
| // For |fetch/instr/orig_load_inst$ld_st_half. |
| wire FETCH_Instr_OrigLoadInst_ld_st_half_a0; |
| reg FETCH_Instr_OrigLoadInst_ld_st_half_a1, |
| FETCH_Instr_OrigLoadInst_ld_st_half_a2; |
| |
| // For |fetch/instr/orig_load_inst$ld_st_word. |
| wire FETCH_Instr_OrigLoadInst_ld_st_word_a0; |
| reg FETCH_Instr_OrigLoadInst_ld_st_word_a1, |
| FETCH_Instr_OrigLoadInst_ld_st_word_a2; |
| |
| // For |fetch/instr/orig_load_inst$ld_value. |
| wire [31:0] FETCH_Instr_OrigLoadInst_ld_value_a0; |
| reg [31:0] FETCH_Instr_OrigLoadInst_ld_value_a1, |
| FETCH_Instr_OrigLoadInst_ld_value_a2; |
| |
| // For |fetch/instr/orig_load_inst$pc. |
| wire [31:2] FETCH_Instr_OrigLoadInst_pc_a0; |
| |
| // For |fetch/instr/orig_load_inst$raw_funct3. |
| wire [2:2] FETCH_Instr_OrigLoadInst_raw_funct3_a0; |
| reg [2:2] FETCH_Instr_OrigLoadInst_raw_funct3_a1, |
| FETCH_Instr_OrigLoadInst_raw_funct3_a2; |
| |
| // For |fetch/instr/orig_load_inst$sign_bit. |
| wire FETCH_Instr_OrigLoadInst_sign_bit_a2; |
| |
| // For |fetch/instr/orig_load_inst$spec_ld. |
| wire FETCH_Instr_OrigLoadInst_spec_ld_a0; |
| reg FETCH_Instr_OrigLoadInst_spec_ld_a1, |
| FETCH_Instr_OrigLoadInst_spec_ld_a2; |
| |
| // For |fetch/instr/orig_load_inst$spec_ld_cond. |
| wire FETCH_Instr_OrigLoadInst_spec_ld_cond_a2; |
| |
| // For |fetch/instr/regs$pending. |
| wire FETCH_Instr_Regs_pending_a2 [31:1]; |
| reg FETCH_Instr_Regs_pending_a3 [31:1]; |
| |
| // For |fetch/instr/regs$value. |
| reg [31:0] FETCH_Instr_Regs_value_a3 [31:1]; |
| |
| // For |fetch/instr/src$replay. |
| wire [2:1] FETCH_Instr_Src_replay_a1; |
| |
| // For |fetch/instr/src$unconditioned_is_reg. |
| wire FETCH_Instr_Src_unconditioned_is_reg_a3 [2:1]; |
| |
| // For |fetch/instr/src$unconditioned_reg. |
| wire [4:0] FETCH_Instr_Src_unconditioned_reg_a3 [2:1]; |
| |
| // For |fetch/instr/src$unconditioned_reg_value. |
| wire [31:0] FETCH_Instr_Src_unconditioned_reg_value_a3 [2:1]; |
| |
| // For |mem/data$addr. |
| wire [1:0] MEM_Data_addr_a3; |
| reg [1:0] MEM_Data_addr_a4; |
| |
| // For |mem/data$dest_reg. |
| wire [4:0] MEM_Data_dest_reg_a3; |
| reg [4:0] MEM_Data_dest_reg_a4; |
| |
| // For |mem/data$ld_st_half. |
| wire MEM_Data_ld_st_half_a3; |
| reg MEM_Data_ld_st_half_a4; |
| |
| // For |mem/data$ld_st_word. |
| wire MEM_Data_ld_st_word_a3; |
| reg MEM_Data_ld_st_word_a4; |
| |
| // For |mem/data$ld_value. |
| wire [31:0] MEM_Data_ld_value_a4; |
| |
| // For |mem/data$pc. |
| wire [31:2] MEM_Data_pc_a3; |
| reg [31:2] MEM_Data_pc_a4; |
| |
| // For |mem/data$raw_funct3. |
| wire [2:2] MEM_Data_raw_funct3_a3; |
| reg [2:2] MEM_Data_raw_funct3_a4; |
| |
| // For |mem/data$spec_ld. |
| wire MEM_Data_spec_ld_a3; |
| reg MEM_Data_spec_ld_a4; |
| |
| // For |mem/data$valid_ld. |
| wire MEM_Data_valid_ld_a3; |
| reg MEM_Data_valid_ld_a4; |
| |
| |
| // |
| // Scope: |fetch |
| // |
| |
| // |
| // Scope: |fetch/instr |
| // |
| |
| // Clock signals. |
| wire clkF_FETCH_Instr_branch_or_reset_a3 ; |
| wire clkF_FETCH_Instr_branch_or_reset_a4 ; |
| wire clkP_FETCH_Instr_branch_a2 ; |
| wire clkP_FETCH_Instr_jump_a2 ; |
| wire clkP_FETCH_Instr_ld_st_cond_a3 ; |
| wire clkP_FETCH_Instr_second_issue_a1 ; |
| wire clkP_FETCH_Instr_second_issue_a2 ; |
| wire clkP_FETCH_Instr_second_issue_a3 ; |
| wire clkP_FETCH_Instr_second_issue_ld_a1 ; |
| wire clkP_FETCH_Instr_second_issue_ld_a2 ; |
| wire clkP_FETCH_Instr_st_cond_a3 ; |
| wire clkP_FETCH_Instr_valid_decode_a2 ; |
| wire clkP_FETCH_Instr_valid_decode_a3 ; |
| wire clkP_FETCH_Instr_valid_decode_branch_a2 ; |
| |
| // |
| // Scope: |fetch/instr/src[2:1] |
| // |
| |
| // Clock signals. |
| wire clkP_FETCH_Instr_Src_is_reg_condition_a2 [2:1]; |
| wire clkP_FETCH_Instr_Src_is_reg_condition_a3 [2:1]; |
| |
| |
| generate |
| |
| |
| // |
| // Scope: |fetch |
| // |
| |
| |
| // |
| // Scope: /instr |
| // |
| |
| // For $BranchState. |
| always @(posedge clkF_FETCH_Instr_branch_or_reset_a3) FETCH_Instr_BranchState_a2[1:0] <= FETCH_Instr_BranchState_a1[1:0]; |
| always @(posedge clkF_FETCH_Instr_branch_or_reset_a4) FETCH_Instr_BranchState_a3[1] <= FETCH_Instr_BranchState_a2[1]; |
| |
| // For $Cnt. |
| always @(posedge clk) FETCH_Instr_Cnt_n1[7:0] <= FETCH_Instr_Cnt_n2[7:0]; |
| |
| // For $GoodPathMask. |
| always @(posedge clk) FETCH_Instr_GoodPathMask_a0[3+1:0] <= FETCH_Instr_GoodPathMask_n1[3+1:0]; |
| always @(posedge clk) FETCH_Instr_GoodPathMask_a1[3+1:0] <= FETCH_Instr_GoodPathMask_a0[3+1:0]; |
| always @(posedge clk) FETCH_Instr_GoodPathMask_a2[3+1:0] <= FETCH_Instr_GoodPathMask_a1[3+1:0]; |
| always @(posedge clk) FETCH_Instr_GoodPathMask_a3[3+1:0] <= FETCH_Instr_GoodPathMask_a2[3+1:0]; |
| |
| // For $NoFetch. |
| always @(posedge clk) FETCH_Instr_NoFetch_a0 <= FETCH_Instr_NoFetch_n1; |
| always @(posedge clk) FETCH_Instr_NoFetch_a1 <= FETCH_Instr_NoFetch_a0; |
| always @(posedge clk) FETCH_Instr_NoFetch_a2 <= FETCH_Instr_NoFetch_a1; |
| always @(posedge clk) FETCH_Instr_NoFetch_a3 <= FETCH_Instr_NoFetch_a2; |
| |
| // For $Pc. |
| always @(posedge clk) FETCH_Instr_Pc_a0[31:2] <= FETCH_Instr_Pc_n1[31:2]; |
| always @(posedge clk) FETCH_Instr_Pc_a1[31:2] <= FETCH_Instr_Pc_a0[31:2]; |
| always @(posedge clk) FETCH_Instr_Pc_a2[31:2] <= FETCH_Instr_Pc_a1[31:2]; |
| always @(posedge clk) FETCH_Instr_Pc_a3[31:2] <= FETCH_Instr_Pc_a2[31:2]; |
| |
| // For $RemainingCyclesWithinTimeUnit. |
| always @(posedge clk) FETCH_Instr_RemainingCyclesWithinTimeUnit_a2[30-1:0] <= FETCH_Instr_RemainingCyclesWithinTimeUnit_a1[30-1:0]; |
| |
| // For $aborting_trap. |
| always @(posedge clk) FETCH_Instr_aborting_trap_a3 <= FETCH_Instr_aborting_trap_a2; |
| |
| // For $addr. |
| always @(posedge clkP_FETCH_Instr_ld_st_cond_a3) FETCH_Instr_addr_a3[31:0] <= FETCH_Instr_addr_a2[31:0]; |
| |
| // For $branch. |
| always @(posedge clk) FETCH_Instr_branch_a2 <= FETCH_Instr_branch_a1; |
| |
| // For $branch_or_reset. |
| always @(posedge clk) FETCH_Instr_branch_or_reset_a3 <= FETCH_Instr_branch_or_reset_a2; |
| |
| // For $branch_target. |
| always @(posedge clkP_FETCH_Instr_valid_decode_branch_a2) FETCH_Instr_branch_target_a2[31:2] <= FETCH_Instr_branch_target_a1[31:2]; |
| |
| // For $bypass_avail1. |
| always @(posedge clk) FETCH_Instr_bypass_avail1_a2 <= FETCH_Instr_bypass_avail1_a1; |
| always @(posedge clk) FETCH_Instr_bypass_avail1_a3 <= FETCH_Instr_bypass_avail1_a2; |
| |
| // For $bypass_avail2. |
| always @(posedge clk) FETCH_Instr_bypass_avail2_a2 <= FETCH_Instr_bypass_avail2_a1; |
| always @(posedge clk) FETCH_Instr_bypass_avail2_a3 <= FETCH_Instr_bypass_avail2_a2; |
| |
| // For $commit. |
| always @(posedge clk) FETCH_Instr_commit_a3 <= FETCH_Instr_commit_a2; |
| |
| // For $conditional_branch. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_conditional_branch_a2 <= FETCH_Instr_conditional_branch_a1; |
| |
| // For $csr_cycle. |
| always @(posedge clk) FETCH_Instr_csr_cycle_a2[31:0] <= FETCH_Instr_csr_cycle_a1[31:0]; |
| always @(posedge clk) FETCH_Instr_csr_cycle_a3[31:0] <= FETCH_Instr_csr_cycle_a2[31:0]; |
| |
| // For $csr_cycle_hw_wr. |
| always @(posedge clk) FETCH_Instr_csr_cycle_hw_wr_a3 <= FETCH_Instr_csr_cycle_hw_wr_a2; |
| |
| // For $csr_cycleh. |
| always @(posedge clk) FETCH_Instr_csr_cycleh_a2[31:0] <= FETCH_Instr_csr_cycleh_a1[31:0]; |
| always @(posedge clk) FETCH_Instr_csr_cycleh_a3[31:0] <= FETCH_Instr_csr_cycleh_a2[31:0]; |
| |
| // For $csr_cycleh_hw_wr. |
| always @(posedge clk) FETCH_Instr_csr_cycleh_hw_wr_a3 <= FETCH_Instr_csr_cycleh_hw_wr_a2; |
| |
| // For $csr_instret. |
| always @(posedge clk) FETCH_Instr_csr_instret_a2[31:0] <= FETCH_Instr_csr_instret_a1[31:0]; |
| always @(posedge clk) FETCH_Instr_csr_instret_a3[31:0] <= FETCH_Instr_csr_instret_a2[31:0]; |
| |
| // For $csr_instret_hw_wr. |
| always @(posedge clk) FETCH_Instr_csr_instret_hw_wr_a3 <= FETCH_Instr_csr_instret_hw_wr_a2; |
| |
| // For $csr_instreth. |
| always @(posedge clk) FETCH_Instr_csr_instreth_a2[31:0] <= FETCH_Instr_csr_instreth_a1[31:0]; |
| always @(posedge clk) FETCH_Instr_csr_instreth_a3[31:0] <= FETCH_Instr_csr_instreth_a2[31:0]; |
| |
| // For $csr_instreth_hw_wr. |
| always @(posedge clk) FETCH_Instr_csr_instreth_hw_wr_a3 <= FETCH_Instr_csr_instreth_hw_wr_a2; |
| |
| // For $csr_time. |
| always @(posedge clk) FETCH_Instr_csr_time_a2[31:0] <= FETCH_Instr_csr_time_a1[31:0]; |
| always @(posedge clk) FETCH_Instr_csr_time_a3[31:0] <= FETCH_Instr_csr_time_a2[31:0]; |
| |
| // For $csr_time_hw_wr. |
| always @(posedge clk) FETCH_Instr_csr_time_hw_wr_a3 <= FETCH_Instr_csr_time_hw_wr_a2; |
| |
| // For $csr_timeh. |
| always @(posedge clk) FETCH_Instr_csr_timeh_a2[31:0] <= FETCH_Instr_csr_timeh_a1[31:0]; |
| always @(posedge clk) FETCH_Instr_csr_timeh_a3[31:0] <= FETCH_Instr_csr_timeh_a2[31:0]; |
| |
| // For $csr_timeh_hw_wr. |
| always @(posedge clk) FETCH_Instr_csr_timeh_hw_wr_a3 <= FETCH_Instr_csr_timeh_hw_wr_a2; |
| |
| // For $csr_trap. |
| always @(posedge clk) FETCH_Instr_csr_trap_a2 <= FETCH_Instr_csr_trap_a1; |
| |
| // For $dest_reg. |
| always @(posedge clk) FETCH_Instr_dest_reg_a2[4:0] <= FETCH_Instr_dest_reg_a1[4:0]; |
| always @(posedge clk) FETCH_Instr_dest_reg_a3[4:0] <= FETCH_Instr_dest_reg_a2[4:0]; |
| |
| // For $dest_reg_valid. |
| always @(posedge clk) FETCH_Instr_dest_reg_valid_a2 <= FETCH_Instr_dest_reg_valid_a1; |
| always @(posedge clk) FETCH_Instr_dest_reg_valid_a3 <= FETCH_Instr_dest_reg_valid_a2; |
| |
| // For $div_mul. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_div_mul_a2 <= FETCH_Instr_div_mul_a1; |
| |
| // For $fetch. |
| always @(posedge clk) FETCH_Instr_fetch_a1 <= FETCH_Instr_fetch_a0; |
| |
| // For $illegal. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_illegal_a2 <= FETCH_Instr_illegal_a1; |
| |
| // For $indirect_jump. |
| always @(posedge clk) FETCH_Instr_indirect_jump_a2 <= FETCH_Instr_indirect_jump_a1; |
| always @(posedge clk) FETCH_Instr_indirect_jump_a3 <= FETCH_Instr_indirect_jump_a2; |
| |
| // For $is_add_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_add_instr_a2 <= FETCH_Instr_is_add_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_add_instr_a3 <= FETCH_Instr_is_add_instr_a2; |
| |
| // For $is_addi_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_addi_instr_a2 <= FETCH_Instr_is_addi_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_addi_instr_a3 <= FETCH_Instr_is_addi_instr_a2; |
| |
| // For $is_and_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_and_instr_a2 <= FETCH_Instr_is_and_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_and_instr_a3 <= FETCH_Instr_is_and_instr_a2; |
| |
| // For $is_andi_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_andi_instr_a2 <= FETCH_Instr_is_andi_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_andi_instr_a3 <= FETCH_Instr_is_andi_instr_a2; |
| |
| // For $is_auipc_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_auipc_instr_a2 <= FETCH_Instr_is_auipc_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_auipc_instr_a3 <= FETCH_Instr_is_auipc_instr_a2; |
| |
| // For $is_b_type. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_b_type_a2 <= FETCH_Instr_is_b_type_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_b_type_a3 <= FETCH_Instr_is_b_type_a2; |
| |
| // For $is_beq_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_beq_instr_a2 <= FETCH_Instr_is_beq_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_beq_instr_a3 <= FETCH_Instr_is_beq_instr_a2; |
| |
| // For $is_bge_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_bge_instr_a2 <= FETCH_Instr_is_bge_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_bge_instr_a3 <= FETCH_Instr_is_bge_instr_a2; |
| |
| // For $is_bgeu_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_bgeu_instr_a2 <= FETCH_Instr_is_bgeu_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_bgeu_instr_a3 <= FETCH_Instr_is_bgeu_instr_a2; |
| |
| // For $is_blt_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_blt_instr_a2 <= FETCH_Instr_is_blt_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_blt_instr_a3 <= FETCH_Instr_is_blt_instr_a2; |
| |
| // For $is_bltu_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_bltu_instr_a2 <= FETCH_Instr_is_bltu_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_bltu_instr_a3 <= FETCH_Instr_is_bltu_instr_a2; |
| |
| // For $is_bne_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_bne_instr_a2 <= FETCH_Instr_is_bne_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_bne_instr_a3 <= FETCH_Instr_is_bne_instr_a2; |
| |
| // For $is_csr_clear. |
| always @(posedge clk) FETCH_Instr_is_csr_clear_a2 <= FETCH_Instr_is_csr_clear_a1; |
| |
| // For $is_csr_cycle. |
| always @(posedge clk) FETCH_Instr_is_csr_cycle_a2 <= FETCH_Instr_is_csr_cycle_a1; |
| |
| // For $is_csr_cycleh. |
| always @(posedge clk) FETCH_Instr_is_csr_cycleh_a2 <= FETCH_Instr_is_csr_cycleh_a1; |
| |
| // For $is_csr_instret. |
| always @(posedge clk) FETCH_Instr_is_csr_instret_a2 <= FETCH_Instr_is_csr_instret_a1; |
| |
| // For $is_csr_instreth. |
| always @(posedge clk) FETCH_Instr_is_csr_instreth_a2 <= FETCH_Instr_is_csr_instreth_a1; |
| |
| // For $is_csr_set. |
| always @(posedge clk) FETCH_Instr_is_csr_set_a2 <= FETCH_Instr_is_csr_set_a1; |
| |
| // For $is_csr_time. |
| always @(posedge clk) FETCH_Instr_is_csr_time_a2 <= FETCH_Instr_is_csr_time_a1; |
| |
| // For $is_csr_timeh. |
| always @(posedge clk) FETCH_Instr_is_csr_timeh_a2 <= FETCH_Instr_is_csr_timeh_a1; |
| |
| // For $is_csr_write. |
| always @(posedge clk) FETCH_Instr_is_csr_write_a2 <= FETCH_Instr_is_csr_write_a1; |
| |
| // For $is_csrrc_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_csrrc_instr_a2 <= FETCH_Instr_is_csrrc_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_csrrc_instr_a3 <= FETCH_Instr_is_csrrc_instr_a2; |
| |
| // For $is_csrrci_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_csrrci_instr_a2 <= FETCH_Instr_is_csrrci_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_csrrci_instr_a3 <= FETCH_Instr_is_csrrci_instr_a2; |
| |
| // For $is_csrrs_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_csrrs_instr_a2 <= FETCH_Instr_is_csrrs_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_csrrs_instr_a3 <= FETCH_Instr_is_csrrs_instr_a2; |
| |
| // For $is_csrrsi_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_csrrsi_instr_a2 <= FETCH_Instr_is_csrrsi_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_csrrsi_instr_a3 <= FETCH_Instr_is_csrrsi_instr_a2; |
| |
| // For $is_csrrw_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_csrrw_instr_a2 <= FETCH_Instr_is_csrrw_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_csrrw_instr_a3 <= FETCH_Instr_is_csrrw_instr_a2; |
| |
| // For $is_csrrwi_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_csrrwi_instr_a2 <= FETCH_Instr_is_csrrwi_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_csrrwi_instr_a3 <= FETCH_Instr_is_csrrwi_instr_a2; |
| |
| // For $is_i_type. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_i_type_a2 <= FETCH_Instr_is_i_type_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_i_type_a3 <= FETCH_Instr_is_i_type_a2; |
| |
| // For $is_j_type. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_j_type_a2 <= FETCH_Instr_is_j_type_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_j_type_a3 <= FETCH_Instr_is_j_type_a2; |
| |
| // For $is_jal_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_jal_instr_a2 <= FETCH_Instr_is_jal_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_jal_instr_a3 <= FETCH_Instr_is_jal_instr_a2; |
| |
| // For $is_jalr_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_jalr_instr_a2 <= FETCH_Instr_is_jalr_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_jalr_instr_a3 <= FETCH_Instr_is_jalr_instr_a2; |
| |
| // For $is_lb_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_lb_instr_a2 <= FETCH_Instr_is_lb_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_lb_instr_a3 <= FETCH_Instr_is_lb_instr_a2; |
| |
| // For $is_lbu_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_lbu_instr_a2 <= FETCH_Instr_is_lbu_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_lbu_instr_a3 <= FETCH_Instr_is_lbu_instr_a2; |
| |
| // For $is_lh_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_lh_instr_a2 <= FETCH_Instr_is_lh_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_lh_instr_a3 <= FETCH_Instr_is_lh_instr_a2; |
| |
| // For $is_lhu_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_lhu_instr_a2 <= FETCH_Instr_is_lhu_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_lhu_instr_a3 <= FETCH_Instr_is_lhu_instr_a2; |
| |
| // For $is_lui_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_lui_instr_a2 <= FETCH_Instr_is_lui_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_lui_instr_a3 <= FETCH_Instr_is_lui_instr_a2; |
| |
| // For $is_lw_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_lw_instr_a2 <= FETCH_Instr_is_lw_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_lw_instr_a3 <= FETCH_Instr_is_lw_instr_a2; |
| |
| // For $is_or_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_or_instr_a2 <= FETCH_Instr_is_or_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_or_instr_a3 <= FETCH_Instr_is_or_instr_a2; |
| |
| // For $is_ori_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_ori_instr_a2 <= FETCH_Instr_is_ori_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_ori_instr_a3 <= FETCH_Instr_is_ori_instr_a2; |
| |
| // For $is_r_type. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_r_type_a2 <= FETCH_Instr_is_r_type_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_r_type_a3 <= FETCH_Instr_is_r_type_a2; |
| |
| // For $is_s_type. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_s_type_a2 <= FETCH_Instr_is_s_type_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_s_type_a3 <= FETCH_Instr_is_s_type_a2; |
| |
| // For $is_sb_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sb_instr_a2 <= FETCH_Instr_is_sb_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sb_instr_a3 <= FETCH_Instr_is_sb_instr_a2; |
| |
| // For $is_sh_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sh_instr_a2 <= FETCH_Instr_is_sh_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sh_instr_a3 <= FETCH_Instr_is_sh_instr_a2; |
| |
| // For $is_sll_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sll_instr_a2 <= FETCH_Instr_is_sll_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sll_instr_a3 <= FETCH_Instr_is_sll_instr_a2; |
| |
| // For $is_slli_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_slli_instr_a2 <= FETCH_Instr_is_slli_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_slli_instr_a3 <= FETCH_Instr_is_slli_instr_a2; |
| |
| // For $is_slt_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_slt_instr_a2 <= FETCH_Instr_is_slt_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_slt_instr_a3 <= FETCH_Instr_is_slt_instr_a2; |
| |
| // For $is_slti_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_slti_instr_a2 <= FETCH_Instr_is_slti_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_slti_instr_a3 <= FETCH_Instr_is_slti_instr_a2; |
| |
| // For $is_sltiu_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sltiu_instr_a2 <= FETCH_Instr_is_sltiu_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sltiu_instr_a3 <= FETCH_Instr_is_sltiu_instr_a2; |
| |
| // For $is_sltu_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sltu_instr_a2 <= FETCH_Instr_is_sltu_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sltu_instr_a3 <= FETCH_Instr_is_sltu_instr_a2; |
| |
| // For $is_sra_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sra_instr_a2 <= FETCH_Instr_is_sra_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sra_instr_a3 <= FETCH_Instr_is_sra_instr_a2; |
| |
| // For $is_srai_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_srai_instr_a2 <= FETCH_Instr_is_srai_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_srai_instr_a3 <= FETCH_Instr_is_srai_instr_a2; |
| |
| // For $is_srl_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_srl_instr_a2 <= FETCH_Instr_is_srl_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_srl_instr_a3 <= FETCH_Instr_is_srl_instr_a2; |
| |
| // For $is_srli_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_srli_instr_a2 <= FETCH_Instr_is_srli_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_srli_instr_a3 <= FETCH_Instr_is_srli_instr_a2; |
| |
| // For $is_sub_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sub_instr_a2 <= FETCH_Instr_is_sub_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sub_instr_a3 <= FETCH_Instr_is_sub_instr_a2; |
| |
| // For $is_sw_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_sw_instr_a2 <= FETCH_Instr_is_sw_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_sw_instr_a3 <= FETCH_Instr_is_sw_instr_a2; |
| |
| // For $is_u_type. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_u_type_a2 <= FETCH_Instr_is_u_type_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_u_type_a3 <= FETCH_Instr_is_u_type_a2; |
| |
| // For $is_xor_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_xor_instr_a2 <= FETCH_Instr_is_xor_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_xor_instr_a3 <= FETCH_Instr_is_xor_instr_a2; |
| |
| // For $is_xori_instr. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_is_xori_instr_a2 <= FETCH_Instr_is_xori_instr_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_is_xori_instr_a3 <= FETCH_Instr_is_xori_instr_a2; |
| |
| // For $jump. |
| always @(posedge clk) FETCH_Instr_jump_a2 <= FETCH_Instr_jump_a1; |
| always @(posedge clk) FETCH_Instr_jump_a3 <= FETCH_Instr_jump_a2; |
| |
| // For $jump_target. |
| always @(posedge clkP_FETCH_Instr_jump_a2) FETCH_Instr_jump_target_a2[31:2] <= FETCH_Instr_jump_target_a1[31:2]; |
| |
| // For $ld. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_ld_a2 <= FETCH_Instr_ld_a1; |
| |
| // For $ld_st. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_ld_st_a2 <= FETCH_Instr_ld_st_a1; |
| |
| // For $ld_st_half. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_ld_st_half_a2 <= FETCH_Instr_ld_st_half_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_ld_st_half_a3 <= FETCH_Instr_ld_st_half_a2; |
| |
| // For $ld_st_word. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_ld_st_word_a2 <= FETCH_Instr_ld_st_word_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_ld_st_word_a3 <= FETCH_Instr_ld_st_word_a2; |
| |
| // For $misaligned_jump_target. |
| always @(posedge clkP_FETCH_Instr_jump_a2) FETCH_Instr_misaligned_jump_target_a2 <= FETCH_Instr_misaligned_jump_target_a1; |
| |
| // For $misaligned_pc. |
| always @(posedge clkP_FETCH_Instr_valid_decode_branch_a2) FETCH_Instr_misaligned_pc_a2 <= FETCH_Instr_misaligned_pc_a1; |
| |
| // For $mispred_branch. |
| always @(posedge clk) FETCH_Instr_mispred_branch_a3 <= FETCH_Instr_mispred_branch_a2; |
| |
| // For $non_aborting_trap. |
| always @(posedge clk) FETCH_Instr_non_aborting_trap_a3 <= FETCH_Instr_non_aborting_trap_a2; |
| |
| // For $non_pipelined. |
| always @(posedge clk) FETCH_Instr_non_pipelined_a3 <= FETCH_Instr_non_pipelined_a2; |
| |
| // For $pc. |
| always @(posedge clk) FETCH_Instr_pc_a3[31:2] <= FETCH_Instr_pc_a2[31:2]; |
| |
| // For $pc_inc. |
| always @(posedge clk) FETCH_Instr_pc_inc_a1[31:2] <= FETCH_Instr_pc_inc_a0[31:2]; |
| always @(posedge clk) FETCH_Instr_pc_inc_a2[31:2] <= FETCH_Instr_pc_inc_a1[31:2]; |
| always @(posedge clk) FETCH_Instr_pc_inc_a3[31:2] <= FETCH_Instr_pc_inc_a2[31:2]; |
| |
| // For $pred_taken. |
| always @(posedge clkP_FETCH_Instr_branch_a2) FETCH_Instr_pred_taken_a2 <= FETCH_Instr_pred_taken_a1; |
| |
| // For $pred_taken_branch. |
| always @(posedge clk) FETCH_Instr_pred_taken_branch_a2 <= FETCH_Instr_pred_taken_branch_a1; |
| always @(posedge clk) FETCH_Instr_pred_taken_branch_a3 <= FETCH_Instr_pred_taken_branch_a2; |
| |
| // For $raw_b_imm. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_b_imm_a2[31:0] <= FETCH_Instr_raw_b_imm_a1[31:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_b_imm_a3[31:0] <= FETCH_Instr_raw_b_imm_a2[31:0]; |
| |
| // For $raw_funct3. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_funct3_a2[2] <= FETCH_Instr_raw_funct3_a1[2]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_funct3_a3[2] <= FETCH_Instr_raw_funct3_a2[2]; |
| |
| // For $raw_funct7. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_funct7_a2[6:0] <= FETCH_Instr_raw_funct7_a1[6:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_funct7_a3[6:0] <= FETCH_Instr_raw_funct7_a2[6:0]; |
| |
| // For $raw_i_imm. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_i_imm_a2[31:0] <= FETCH_Instr_raw_i_imm_a1[31:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_i_imm_a3[31:0] <= FETCH_Instr_raw_i_imm_a2[31:0]; |
| |
| // For $raw_j_imm. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_j_imm_a2[31:0] <= FETCH_Instr_raw_j_imm_a1[31:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_j_imm_a3[31:0] <= FETCH_Instr_raw_j_imm_a2[31:0]; |
| |
| // For $raw_rd. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_rd_a2[4:0] <= FETCH_Instr_raw_rd_a1[4:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_rd_a3[4:0] <= FETCH_Instr_raw_rd_a2[4:0]; |
| |
| // For $raw_rs1. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_rs1_a2[4:0] <= FETCH_Instr_raw_rs1_a1[4:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_rs1_a3[4:0] <= FETCH_Instr_raw_rs1_a2[4:0]; |
| |
| // For $raw_rs2. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_rs2_a2[4:0] <= FETCH_Instr_raw_rs2_a1[4:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_rs2_a3[4:0] <= FETCH_Instr_raw_rs2_a2[4:0]; |
| |
| // For $raw_rs3. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_rs3_a2[4:0] <= FETCH_Instr_raw_rs3_a1[4:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_rs3_a3[4:0] <= FETCH_Instr_raw_rs3_a2[4:0]; |
| |
| // For $raw_s_imm. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_s_imm_a2[31:0] <= FETCH_Instr_raw_s_imm_a1[31:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_s_imm_a3[31:0] <= FETCH_Instr_raw_s_imm_a2[31:0]; |
| |
| // For $raw_u_imm. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_raw_u_imm_a2[31:0] <= FETCH_Instr_raw_u_imm_a1[31:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_raw_u_imm_a3[31:0] <= FETCH_Instr_raw_u_imm_a2[31:0]; |
| |
| // For $reg_wr_pending. |
| always @(posedge clk) FETCH_Instr_reg_wr_pending_a2 <= FETCH_Instr_reg_wr_pending_a1; |
| always @(posedge clk) FETCH_Instr_reg_wr_pending_a3 <= FETCH_Instr_reg_wr_pending_a2; |
| |
| // For $replay. |
| always @(posedge clk) FETCH_Instr_replay_a2 <= FETCH_Instr_replay_a1; |
| always @(posedge clk) FETCH_Instr_replay_a3 <= FETCH_Instr_replay_a2; |
| |
| // For $reset. |
| always @(posedge clk) FETCH_Instr_reset_a0 <= FETCH_Instr_reset_n1; |
| always @(posedge clk) FETCH_Instr_reset_a1 <= FETCH_Instr_reset_a0; |
| always @(posedge clk) FETCH_Instr_reset_a2 <= FETCH_Instr_reset_a1; |
| always @(posedge clk) FETCH_Instr_reset_a3 <= FETCH_Instr_reset_a2; |
| |
| // For $rslt. |
| always @(posedge clk) FETCH_Instr_rslt_a3[31:0] <= FETCH_Instr_rslt_a2[31:0]; |
| |
| // For $second_issue. |
| always @(posedge clk) FETCH_Instr_second_issue_a1 <= FETCH_Instr_second_issue_a0; |
| always @(posedge clk) FETCH_Instr_second_issue_a2 <= FETCH_Instr_second_issue_a1; |
| always @(posedge clk) FETCH_Instr_second_issue_a3 <= FETCH_Instr_second_issue_a2; |
| |
| // For $second_issue_ld. |
| always @(posedge clk) FETCH_Instr_second_issue_ld_a1 <= FETCH_Instr_second_issue_ld_a0; |
| always @(posedge clk) FETCH_Instr_second_issue_ld_a2 <= FETCH_Instr_second_issue_ld_a1; |
| |
| // For $spec_ld. |
| always @(posedge clk) FETCH_Instr_spec_ld_a2 <= FETCH_Instr_spec_ld_a1; |
| always @(posedge clk) FETCH_Instr_spec_ld_a3 <= FETCH_Instr_spec_ld_a2; |
| |
| // For $st. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) FETCH_Instr_st_a2 <= FETCH_Instr_st_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) FETCH_Instr_st_a3 <= FETCH_Instr_st_a2; |
| |
| // For $st_mask. |
| always @(posedge clkP_FETCH_Instr_st_cond_a3) FETCH_Instr_st_mask_a3[3:0] <= FETCH_Instr_st_mask_a2[3:0]; |
| |
| // For $st_value. |
| always @(posedge clkP_FETCH_Instr_st_cond_a3) FETCH_Instr_st_value_a3[31:0] <= FETCH_Instr_st_value_a2[31:0]; |
| |
| // For $trap_target. |
| always @(posedge clk) FETCH_Instr_trap_target_a3[31:2] <= FETCH_Instr_trap_target_a2[31:2]; |
| |
| // For $valid_decode. |
| always @(posedge clk) FETCH_Instr_valid_decode_a2 <= FETCH_Instr_valid_decode_a1; |
| always @(posedge clk) FETCH_Instr_valid_decode_a3 <= FETCH_Instr_valid_decode_a2; |
| |
| // For $valid_decode_branch. |
| always @(posedge clk) FETCH_Instr_valid_decode_branch_a2 <= FETCH_Instr_valid_decode_branch_a1; |
| |
| // For $valid_dest_reg_valid. |
| always @(posedge clk) FETCH_Instr_valid_dest_reg_valid_a3 <= FETCH_Instr_valid_dest_reg_valid_a2; |
| |
| // For $valid_ld. |
| always @(posedge clk) FETCH_Instr_valid_ld_a3 <= FETCH_Instr_valid_ld_a2; |
| |
| // For $valid_st. |
| always @(posedge clk) FETCH_Instr_valid_st_a3 <= FETCH_Instr_valid_st_a2; |
| |
| |
| // |
| // Scope: /orig_inst |
| // |
| |
| // For $dest_reg. |
| always @(posedge clkP_FETCH_Instr_second_issue_a1) FETCH_Instr_OrigInst_dest_reg_a1[4:0] <= FETCH_Instr_OrigInst_dest_reg_a0[4:0]; |
| |
| // For $pc. |
| always @(posedge clkP_FETCH_Instr_second_issue_a1) FETCH_Instr_OrigInst_pc_a1[31:2] <= FETCH_Instr_OrigInst_pc_a0[31:2]; |
| always @(posedge clkP_FETCH_Instr_second_issue_a2) FETCH_Instr_OrigInst_pc_a2[31:2] <= FETCH_Instr_OrigInst_pc_a1[31:2]; |
| always @(posedge clkP_FETCH_Instr_second_issue_a3) FETCH_Instr_OrigInst_pc_a3[31:2] <= FETCH_Instr_OrigInst_pc_a2[31:2]; |
| |
| |
| // |
| // Scope: /src[2:1] |
| // |
| for (src = 1; src <= 2; src=src+1) begin : L1gen_FETCH_Instr_OrigInst_Src |
| // For $dummy. |
| always @(posedge clkP_FETCH_Instr_second_issue_a1) L1_FETCH_Instr_OrigInst_Src[src].L1_dummy_a1 <= L1_FETCH_Instr_OrigInst_Src[src].L1_dummy_a0; |
| always @(posedge clkP_FETCH_Instr_second_issue_a2) L1_FETCH_Instr_OrigInst_Src[src].L1_dummy_a2 <= L1_FETCH_Instr_OrigInst_Src[src].L1_dummy_a1; |
| always @(posedge clkP_FETCH_Instr_second_issue_a3) L1_FETCH_Instr_OrigInst_Src[src].L1_dummy_a3 <= L1_FETCH_Instr_OrigInst_Src[src].L1_dummy_a2; |
| |
| end |
| |
| |
| // |
| // Scope: /orig_load_inst |
| // |
| |
| // For $addr. |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a1) FETCH_Instr_OrigLoadInst_addr_a1[1:0] <= FETCH_Instr_OrigLoadInst_addr_a0[1:0]; |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a2) FETCH_Instr_OrigLoadInst_addr_a2[1:0] <= FETCH_Instr_OrigLoadInst_addr_a1[1:0]; |
| |
| // This is an unconditioned version of the condition signal. |
| assign FETCH_Instr_OrigLoadInst_g0_spec_ld_cond_a2 = FETCH_Instr_OrigLoadInst_spec_ld_cond_a2 && FETCH_Instr_second_issue_ld_a2; |
| |
| // For $ld_st_half. |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a1) FETCH_Instr_OrigLoadInst_ld_st_half_a1 <= FETCH_Instr_OrigLoadInst_ld_st_half_a0; |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a2) FETCH_Instr_OrigLoadInst_ld_st_half_a2 <= FETCH_Instr_OrigLoadInst_ld_st_half_a1; |
| |
| // For $ld_st_word. |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a1) FETCH_Instr_OrigLoadInst_ld_st_word_a1 <= FETCH_Instr_OrigLoadInst_ld_st_word_a0; |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a2) FETCH_Instr_OrigLoadInst_ld_st_word_a2 <= FETCH_Instr_OrigLoadInst_ld_st_word_a1; |
| |
| // For $ld_value. |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a1) FETCH_Instr_OrigLoadInst_ld_value_a1[31:0] <= FETCH_Instr_OrigLoadInst_ld_value_a0[31:0]; |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a2) FETCH_Instr_OrigLoadInst_ld_value_a2[31:0] <= FETCH_Instr_OrigLoadInst_ld_value_a1[31:0]; |
| |
| // For $raw_funct3. |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a1) FETCH_Instr_OrigLoadInst_raw_funct3_a1[2] <= FETCH_Instr_OrigLoadInst_raw_funct3_a0[2]; |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a2) FETCH_Instr_OrigLoadInst_raw_funct3_a2[2] <= FETCH_Instr_OrigLoadInst_raw_funct3_a1[2]; |
| |
| // For $spec_ld. |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a1) FETCH_Instr_OrigLoadInst_spec_ld_a1 <= FETCH_Instr_OrigLoadInst_spec_ld_a0; |
| always @(posedge clkP_FETCH_Instr_second_issue_ld_a2) FETCH_Instr_OrigLoadInst_spec_ld_a2 <= FETCH_Instr_OrigLoadInst_spec_ld_a1; |
| |
| |
| |
| // |
| // Scope: /regs[31:1] |
| // |
| for (regs = 1; regs <= 31; regs=regs+1) begin : L1gen_FETCH_Instr_Regs |
| // For $pending. |
| always @(posedge clk) FETCH_Instr_Regs_pending_a3[regs] <= FETCH_Instr_Regs_pending_a2[regs]; |
| |
| end |
| |
| // |
| // Scope: /src[2:1] |
| // |
| for (src = 1; src <= 2; src=src+1) begin : L1gen_FETCH_Instr_Src |
| // For $dummy. |
| always @(posedge clk) L1c_FETCH_Instr_Src[src].L1_dummy_a2 <= L1c_FETCH_Instr_Src[src].L1_dummy_a1; |
| always @(posedge clk) L1c_FETCH_Instr_Src[src].L1_dummy_a3 <= L1c_FETCH_Instr_Src[src].L1_dummy_a2; |
| |
| // For $is_reg. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) L1_FETCH_Instr_Src[src].L1_is_reg_a2 <= L1_FETCH_Instr_Src[src].L1_is_reg_a1; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) L1_FETCH_Instr_Src[src].L1_is_reg_a3 <= L1_FETCH_Instr_Src[src].L1_is_reg_a2; |
| |
| // For $is_reg_condition. |
| always @(posedge clk) L1b_FETCH_Instr_Src[src].L1_is_reg_condition_a2 <= L1b_FETCH_Instr_Src[src].L1_is_reg_condition_a1; |
| |
| // For $reg. |
| always @(posedge clkP_FETCH_Instr_valid_decode_a2) L1_FETCH_Instr_Src[src].L1_reg_a2[4:0] <= L1_FETCH_Instr_Src[src].L1_reg_a1[4:0]; |
| always @(posedge clkP_FETCH_Instr_valid_decode_a3) L1_FETCH_Instr_Src[src].L1_reg_a3[4:0] <= L1_FETCH_Instr_Src[src].L1_reg_a2[4:0]; |
| |
| // For $reg_value. |
| always @(posedge clkP_FETCH_Instr_Src_is_reg_condition_a2[src]) L1b_FETCH_Instr_Src[src].L1_reg_value_a2[31:0] <= L1b_FETCH_Instr_Src[src].L1_reg_value_a1[31:0]; |
| always @(posedge clkP_FETCH_Instr_Src_is_reg_condition_a3[src]) L1b_FETCH_Instr_Src[src].L1_reg_value_a3[31:0] <= L1b_FETCH_Instr_Src[src].L1_reg_value_a2[31:0]; |
| |
| end |
| |
| |
| |
| // |
| // Scope: |mem |
| // |
| |
| |
| // |
| // Scope: /data |
| // |
| |
| // For $addr. |
| always @(posedge clk) MEM_Data_addr_a4[1:0] <= MEM_Data_addr_a3[1:0]; |
| |
| // For $dest_reg. |
| always @(posedge clk) MEM_Data_dest_reg_a4[4:0] <= MEM_Data_dest_reg_a3[4:0]; |
| |
| // For $ld_st_half. |
| always @(posedge clk) MEM_Data_ld_st_half_a4 <= MEM_Data_ld_st_half_a3; |
| |
| // For $ld_st_word. |
| always @(posedge clk) MEM_Data_ld_st_word_a4 <= MEM_Data_ld_st_word_a3; |
| |
| // For $pc. |
| always @(posedge clk) MEM_Data_pc_a4[31:2] <= MEM_Data_pc_a3[31:2]; |
| |
| // For $raw_funct3. |
| always @(posedge clk) MEM_Data_raw_funct3_a4[2] <= MEM_Data_raw_funct3_a3[2]; |
| |
| // For $spec_ld. |
| always @(posedge clk) MEM_Data_spec_ld_a4 <= MEM_Data_spec_ld_a3; |
| |
| // For $valid_ld. |
| always @(posedge clk) MEM_Data_valid_ld_a4 <= MEM_Data_valid_ld_a3; |
| |
| |
| // |
| // Scope: /src[2:1] |
| // |
| for (src = 1; src <= 2; src=src+1) begin : L1gen_MEM_Data_Src |
| // For $dummy. |
| always @(posedge clk) L1_MEM_Data_Src[src].L1_dummy_a4 <= L1_MEM_Data_Src[src].L1_dummy_a3; |
| |
| end |
| |
| |
| |
| |
| endgenerate |
| |
| |
| |
| // |
| // Gated clocks. |
| // |
| |
| generate |
| |
| |
| |
| // |
| // Scope: |fetch |
| // |
| |
| |
| // |
| // Scope: /instr |
| // |
| |
| clk_gate gen_clkF_FETCH_Instr_branch_or_reset_a3(clkF_FETCH_Instr_branch_or_reset_a3, clk, FETCH_Instr_branch_or_reset_a2, 1'b1, 1'b0); |
| clk_gate gen_clkF_FETCH_Instr_branch_or_reset_a4(clkF_FETCH_Instr_branch_or_reset_a4, clk, FETCH_Instr_branch_or_reset_a3, 1'b1, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_branch_a2(clkP_FETCH_Instr_branch_a2, clk, 1'b1, FETCH_Instr_branch_a1, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_jump_a2(clkP_FETCH_Instr_jump_a2, clk, 1'b1, FETCH_Instr_jump_a1, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_ld_st_cond_a3(clkP_FETCH_Instr_ld_st_cond_a3, clk, 1'b1, FETCH_Instr_ld_st_cond_a2, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_second_issue_a1(clkP_FETCH_Instr_second_issue_a1, clk, 1'b1, FETCH_Instr_second_issue_a0, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_second_issue_a2(clkP_FETCH_Instr_second_issue_a2, clk, 1'b1, FETCH_Instr_second_issue_a1, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_second_issue_a3(clkP_FETCH_Instr_second_issue_a3, clk, 1'b1, FETCH_Instr_second_issue_a2, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_second_issue_ld_a1(clkP_FETCH_Instr_second_issue_ld_a1, clk, 1'b1, FETCH_Instr_second_issue_ld_a0, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_second_issue_ld_a2(clkP_FETCH_Instr_second_issue_ld_a2, clk, 1'b1, FETCH_Instr_second_issue_ld_a1, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_st_cond_a3(clkP_FETCH_Instr_st_cond_a3, clk, 1'b1, FETCH_Instr_st_cond_a2, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_valid_decode_a2(clkP_FETCH_Instr_valid_decode_a2, clk, 1'b1, FETCH_Instr_valid_decode_a1, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_valid_decode_a3(clkP_FETCH_Instr_valid_decode_a3, clk, 1'b1, FETCH_Instr_valid_decode_a2, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_valid_decode_branch_a2(clkP_FETCH_Instr_valid_decode_branch_a2, clk, 1'b1, FETCH_Instr_valid_decode_branch_a1, 1'b0); |
| |
| // |
| // Scope: /src[2:1] |
| // |
| for (src = 1; src <= 2; src=src+1) begin : L1clk_FETCH_Instr_Src |
| clk_gate gen_clkP_FETCH_Instr_Src_is_reg_condition_a2(clkP_FETCH_Instr_Src_is_reg_condition_a2[src], clk, 1'b1, L1b_FETCH_Instr_Src[src].L1_is_reg_condition_a1, 1'b0); |
| clk_gate gen_clkP_FETCH_Instr_Src_is_reg_condition_a3(clkP_FETCH_Instr_Src_is_reg_condition_a3[src], clk, 1'b1, L1b_FETCH_Instr_Src[src].L1_is_reg_condition_a2, 1'b0); |
| end |
| |
| |
| |
| |
| endgenerate |
| |
| |
| |
| generate // This is awkward, but we need to go into 'generate' context in the line that `includes the declarations file. |