Line 67... |
Line 67... |
wb_insn, id_simm, ex_simm, id_branch_addrtarget, ex_branch_addrtarget, sel_a,
|
wb_insn, id_simm, ex_simm, id_branch_addrtarget, ex_branch_addrtarget, sel_a,
|
sel_b, id_lsu_op,
|
sel_b, id_lsu_op,
|
cust5_op, cust5_limm, id_pc, ex_pc, du_hwbkpt,
|
cust5_op, cust5_limm, id_pc, ex_pc, du_hwbkpt,
|
multicycle, wait_on, wbforw_valid, sig_syscall, sig_trap,
|
multicycle, wait_on, wbforw_valid, sig_syscall, sig_trap,
|
force_dslot_fetch, no_more_dslot, id_void, ex_void, ex_spr_read,
|
force_dslot_fetch, no_more_dslot, id_void, ex_void, ex_spr_read,
|
ex_spr_write,
|
ex_spr_write, du_flush_pipe,
|
id_mac_op, id_macrc_op, ex_macrc_op, rfe, except_illegal, dc_no_writethrough
|
id_mac_op, id_macrc_op, ex_macrc_op, rfe, except_illegal, dc_no_writethrough
|
);
|
);
|
|
|
//
|
//
|
// I/O
|
// I/O
|
Line 134... |
Line 134... |
output id_macrc_op;
|
output id_macrc_op;
|
output ex_macrc_op;
|
output ex_macrc_op;
|
output rfe;
|
output rfe;
|
output except_illegal;
|
output except_illegal;
|
output dc_no_writethrough;
|
output dc_no_writethrough;
|
|
input du_flush_pipe;
|
|
|
//
|
//
|
// Internal wires and regs
|
// Internal wires and regs
|
//
|
//
|
reg [`OR1200_BRANCHOP_WIDTH-1:0] id_branch_op;
|
reg [`OR1200_BRANCHOP_WIDTH-1:0] id_branch_op;
|
Line 242... |
Line 242... |
end
|
end
|
|
|
//
|
//
|
// Flush pipeline
|
// Flush pipeline
|
//
|
//
|
assign if_flushpipe = except_flushpipe | pc_we | extend_flush;
|
assign if_flushpipe = except_flushpipe | pc_we | extend_flush | du_flush_pipe;
|
assign id_flushpipe = except_flushpipe | pc_we | extend_flush;
|
assign id_flushpipe = except_flushpipe | pc_we | extend_flush | du_flush_pipe;
|
assign ex_flushpipe = except_flushpipe | pc_we | extend_flush;
|
assign ex_flushpipe = except_flushpipe | pc_we | extend_flush | du_flush_pipe;
|
assign wb_flushpipe = except_flushpipe | pc_we | extend_flush;
|
assign wb_flushpipe = except_flushpipe | pc_we | extend_flush | du_flush_pipe;
|
|
|
//
|
//
|
// EX Sign/Zero extension of immediates
|
// EX Sign/Zero extension of immediates
|
//
|
//
|
always @(posedge clk or `OR1200_RST_EVENT rst) begin
|
always @(posedge clk or `OR1200_RST_EVENT rst) begin
|