Line 506... |
Line 506... |
//
|
//
|
//
|
//
|
`ifdef OPT_SINGLE_FETCH
|
`ifdef OPT_SINGLE_FETCH
|
wire pf_ce;
|
wire pf_ce;
|
|
|
assign pf_ce = (~pf_valid)&&(~dcdvalid)&&(~opvalid)&&(~alu_valid);
|
assign pf_ce = (~pf_valid)&&(~dcdvalid)&&(~opvalid)&&(~alu_busy)&&(~mem_busy)&&(~alu_pc_valid)&&(~mem_pc_valid);
|
prefetch #(ADDRESS_WIDTH)
|
prefetch #(ADDRESS_WIDTH)
|
pf(i_clk, (i_rst), (pf_ce), (~dcd_stalled), pf_pc, gie,
|
pf(i_clk, (i_rst), (pf_ce), (~dcd_stalled), pf_pc, gie,
|
instruction, instruction_pc, instruction_gie,
|
instruction, instruction_pc, instruction_gie,
|
pf_valid, pf_illegal,
|
pf_valid, pf_illegal,
|
pf_cyc, pf_stb, pf_we, pf_addr, pf_data,
|
pf_cyc, pf_stb, pf_we, pf_addr, pf_data,
|
Line 1740... |
Line 1740... |
|
|
o_break, i_wb_err, o_wb_gbl_cyc, o_wb_gbl_stb,
|
o_break, i_wb_err, o_wb_gbl_cyc, o_wb_gbl_stb,
|
pf_valid, dcdvalid, opvalid, alu_valid,
|
pf_valid, dcdvalid, opvalid, alu_valid,
|
mem_valid, dcd_ce, op_ce, alu_ce,
|
mem_valid, dcd_ce, op_ce, alu_ce,
|
mem_ce,
|
mem_ce,
|
dcd_illegal, gie, sleep,
|
pf_ce, gie, sleep,
|
{ ((o_wb_gbl_cyc)&&(o_wb_gbl_stb)&&(o_wb_we))
|
{ ((o_wb_gbl_cyc)&&(o_wb_gbl_stb)&&(o_wb_we))
|
? o_wb_data[15:0]
|
? o_wb_data[15:0]
|
: ((o_wb_gbl_cyc)&&(o_wb_gbl_stb)&&(~o_wb_we)&&(i_wb_ack))
|
: ((o_wb_gbl_cyc)&&(~o_wb_we)&&(i_wb_ack))
|
? i_wb_data[15:0]
|
? i_wb_data[15:0]
|
: o_wb_addr[15:0]
|
: o_wb_addr[15:0]
|
}
|
}
|
/*
|
/*
|
i_rst, master_ce, (new_pc),
|
i_rst, master_ce, (new_pc),
|