data/full_repos/permissive/524616929/src/core/biriscv_decode.v
1: b"%Error: data/full_repos/permissive/524616929/src/core/biriscv_decode.v:88: Cannot find file containing module: 'fetch_fifo'\nfetch_fifo\n^~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/524616929/src/core,data/full_repos/permissive/524616929/fetch_fifo\n             data/full_repos/permissive/524616929/src/core,data/full_repos/permissive/524616929/fetch_fifo.v\n             data/full_repos/permissive/524616929/src/core,data/full_repos/permissive/524616929/fetch_fifo.sv\n             fetch_fifo\n             fetch_fifo.v\n             fetch_fifo.sv\n             obj_dir/fetch_fifo\n             obj_dir/fetch_fifo.v\n             obj_dir/fetch_fifo.sv\n%Error: data/full_repos/permissive/524616929/src/core/biriscv_decode.v:115: Cannot find file containing module: 'biriscv_decoder'\nbiriscv_decoder\n^~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/524616929/src/core/biriscv_decode.v:131: Cannot find file containing module: 'biriscv_decoder'\nbiriscv_decoder\n^~~~~~~~~~~~~~~\n%Error: Exiting due to 3 error(s)\n"
module biriscv_decode



#(
     parameter SUPPORT_MULDIV   = 1
    ,parameter EXTRA_DECODE_STAGE = 0
)



(

     input           clk_i
    ,input           rst_i
    ,input           fetch_in_valid_i
    ,input  [ 63:0]  fetch_in_instr_i
    ,input  [  1:0]  fetch_in_pred_branch_i
    ,input           fetch_in_fault_fetch_i
    ,input           fetch_in_fault_page_i
    ,input  [ 31:0]  fetch_in_pc_i
    ,input           fetch_out0_accept_i
    ,input           fetch_out1_accept_i
    ,input           branch_request_i


    ,output          fetch_in_accept_o
    ,output          fetch_out0_valid_o
    ,output [ 31:0]  fetch_out0_instr_o
    ,output [ 31:0]  fetch_out0_pc_o
    ,output          fetch_out0_fault_fetch_o
    ,output          fetch_out0_fault_page_o
    ,output          fetch_out0_instr_exec_o
    ,output          fetch_out0_instr_lsu_o
    ,output          fetch_out0_instr_branch_o
    ,output          fetch_out0_instr_mul_o
    ,output          fetch_out0_instr_div_o
    ,output          fetch_out0_instr_csr_o
    ,output          fetch_out0_instr_rd_valid_o
    ,output          fetch_out0_instr_invalid_o
    ,output          fetch_out1_valid_o
    ,output [ 31:0]  fetch_out1_instr_o
    ,output [ 31:0]  fetch_out1_pc_o
    ,output          fetch_out1_fault_fetch_o
    ,output          fetch_out1_fault_page_o
    ,output          fetch_out1_instr_exec_o
    ,output          fetch_out1_instr_lsu_o
    ,output          fetch_out1_instr_branch_o
    ,output          fetch_out1_instr_mul_o
    ,output          fetch_out1_instr_div_o
    ,output          fetch_out1_instr_csr_o
    ,output          fetch_out1_instr_rd_valid_o
    ,output          fetch_out1_instr_invalid_o
);



wire        enable_muldiv_w     = SUPPORT_MULDIV;




fetch_fifo
#( .OPC_INFO_W(2) )
u_fifo
(
     .clk_i(clk_i)
    ,.rst_i(rst_i)
    ,.flush_i(branch_request_i)

    ,.push_i(fetch_in_valid_i)
    ,.pc_in_i(fetch_in_pc_i)
    ,.pred_in_i(fetch_in_pred_branch_i)
    ,.data_in_i((fetch_in_fault_page_i | fetch_in_fault_fetch_i) ? 64'b0 : fetch_in_instr_i)
    ,.info0_in_i({fetch_in_fault_page_i, fetch_in_fault_fetch_i})
    ,.info1_in_i({fetch_in_fault_page_i, fetch_in_fault_fetch_i})
    ,.accept_o(fetch_in_accept_o)

    ,.valid0_o(fetch_out0_valid_o)
    ,.pc0_out_o(fetch_out0_pc_o)
    ,.data0_out_o(fetch_out0_instr_o)
    ,.info0_out_o({fetch_out0_fault_page_o, fetch_out0_fault_fetch_o})
    ,.pop0_i(fetch_out0_accept_i)
    ,.valid1_o(fetch_out1_valid_o)
    ,.pc1_out_o(fetch_out1_pc_o)
    ,.data1_out_o(fetch_out1_instr_o)
    ,.info1_out_o({fetch_out1_fault_page_o, fetch_out1_fault_fetch_o})
    ,.pop1_i(fetch_out1_accept_i)
);
biriscv_decoder
u_dec0
(
     .valid_i(fetch_out0_valid_o)
    ,.fetch_fault_i(fetch_out0_fault_fetch_o | fetch_out0_fault_page_o)
    ,.enable_muldiv_i(enable_muldiv_w)
    ,.opcode_i(fetch_out0_instr_o)
    ,.invalid_o(fetch_out0_instr_invalid_o)
    ,.exec_o(fetch_out0_instr_exec_o)
    ,.lsu_o(fetch_out0_instr_lsu_o)
    ,.branch_o(fetch_out0_instr_branch_o)
    ,.mul_o(fetch_out0_instr_mul_o)
    ,.div_o(fetch_out0_instr_div_o)
    ,.csr_o(fetch_out0_instr_csr_o)
    ,.rd_valid_o(fetch_out0_instr_rd_valid_o)
);
biriscv_decoder
u_dec1
(
     .valid_i(fetch_out1_valid_o)
    ,.fetch_fault_i(fetch_out1_fault_fetch_o | fetch_out1_fault_page_o)
    ,.enable_muldiv_i(enable_muldiv_w)
    ,.opcode_i(fetch_out1_instr_o)
    ,.invalid_o(fetch_out1_instr_invalid_o)
    ,.exec_o(fetch_out1_instr_exec_o)
    ,.lsu_o(fetch_out1_instr_lsu_o)
    ,.branch_o(fetch_out1_instr_branch_o)
    ,.mul_o(fetch_out1_instr_mul_o)
    ,.div_o(fetch_out1_instr_div_o)
    ,.csr_o(fetch_out1_instr_csr_o)
    ,.rd_valid_o(fetch_out1_instr_rd_valid_o)
);

endmodule
module biriscv_decode



#(
     parameter SUPPORT_MULDIV   = 1
    ,parameter EXTRA_DECODE_STAGE = 0
)



(

     input           clk_i
    ,input           rst_i
    ,input           fetch_in_valid_i
    ,input  [ 63:0]  fetch_in_instr_i
    ,input  [  1:0]  fetch_in_pred_branch_i
    ,input           fetch_in_fault_fetch_i
    ,input           fetch_in_fault_page_i
    ,input  [ 31:0]  fetch_in_pc_i
    ,input           fetch_out0_accept_i
    ,input           fetch_out1_accept_i
    ,input           branch_request_i


    ,output          fetch_in_accept_o
    ,output          fetch_out0_valid_o
    ,output [ 31:0]  fetch_out0_instr_o
    ,output [ 31:0]  fetch_out0_pc_o
    ,output          fetch_out0_fault_fetch_o
    ,output          fetch_out0_fault_page_o
    ,output          fetch_out0_instr_exec_o
    ,output          fetch_out0_instr_lsu_o
    ,output          fetch_out0_instr_branch_o
    ,output          fetch_out0_instr_mul_o
    ,output          fetch_out0_instr_div_o
    ,output          fetch_out0_instr_csr_o
    ,output          fetch_out0_instr_rd_valid_o
    ,output          fetch_out0_instr_invalid_o
    ,output          fetch_out1_valid_o
    ,output [ 31:0]  fetch_out1_instr_o
    ,output [ 31:0]  fetch_out1_pc_o
    ,output          fetch_out1_fault_fetch_o
    ,output          fetch_out1_fault_page_o
    ,output          fetch_out1_instr_exec_o
    ,output          fetch_out1_instr_lsu_o
    ,output          fetch_out1_instr_branch_o
    ,output          fetch_out1_instr_mul_o
    ,output          fetch_out1_instr_div_o
    ,output          fetch_out1_instr_csr_o
    ,output          fetch_out1_instr_rd_valid_o
    ,output          fetch_out1_instr_invalid_o
);




wire        enable_muldiv_w     = SUPPORT_MULDIV;




fetch_fifo
#( .OPC_INFO_W(2) )
u_fifo
(
     .clk_i(clk_i)
    ,.rst_i(rst_i)
    ,.flush_i(branch_request_i)

    ,.push_i(fetch_in_valid_i)
    ,.pc_in_i(fetch_in_pc_i)
    ,.pred_in_i(fetch_in_pred_branch_i)
    ,.data_in_i((fetch_in_fault_page_i | fetch_in_fault_fetch_i) ? 64'b0 : fetch_in_instr_i)
    ,.info0_in_i({fetch_in_fault_page_i, fetch_in_fault_fetch_i})
    ,.info1_in_i({fetch_in_fault_page_i, fetch_in_fault_fetch_i})
    ,.accept_o(fetch_in_accept_o)

    ,.valid0_o(fetch_out0_valid_o)
    ,.pc0_out_o(fetch_out0_pc_o)
    ,.data0_out_o(fetch_out0_instr_o)
    ,.info0_out_o({fetch_out0_fault_page_o, fetch_out0_fault_fetch_o})
    ,.pop0_i(fetch_out0_accept_i)
    ,.valid1_o(fetch_out1_valid_o)
    ,.pc1_out_o(fetch_out1_pc_o)
    ,.data1_out_o(fetch_out1_instr_o)
    ,.info1_out_o({fetch_out1_fault_page_o, fetch_out1_fault_fetch_o})
    ,.pop1_i(fetch_out1_accept_i)
);
biriscv_decoder
u_dec0
(
     .valid_i(fetch_out0_valid_o)
    ,.fetch_fault_i(fetch_out0_fault_fetch_o | fetch_out0_fault_page_o)
    ,.enable_muldiv_i(enable_muldiv_w)
    ,.opcode_i(fetch_out0_instr_o)
    ,.invalid_o(fetch_out0_instr_invalid_o)
    ,.exec_o(fetch_out0_instr_exec_o)
    ,.lsu_o(fetch_out0_instr_lsu_o)
    ,.branch_o(fetch_out0_instr_branch_o)
    ,.mul_o(fetch_out0_instr_mul_o)
    ,.div_o(fetch_out0_instr_div_o)
    ,.csr_o(fetch_out0_instr_csr_o)
    ,.rd_valid_o(fetch_out0_instr_rd_valid_o)
);
biriscv_decoder
u_dec1
(
     .valid_i(fetch_out1_valid_o)
    ,.fetch_fault_i(fetch_out1_fault_fetch_o | fetch_out1_fault_page_o)
    ,.enable_muldiv_i(enable_muldiv_w)
    ,.opcode_i(fetch_out1_instr_o)
    ,.invalid_o(fetch_out1_instr_invalid_o)
    ,.exec_o(fetch_out1_instr_exec_o)
    ,.lsu_o(fetch_out1_instr_lsu_o)
    ,.branch_o(fetch_out1_instr_branch_o)
    ,.mul_o(fetch_out1_instr_mul_o)
    ,.div_o(fetch_out1_instr_div_o)
    ,.csr_o(fetch_out1_instr_csr_o)
    ,.rd_valid_o(fetch_out1_instr_rd_valid_o)
);

endmodule