1
0

add stall logic for vector command queues

This commit is contained in:
Yunsup Lee
2012-02-15 14:48:41 -08:00
parent 32bdf5098a
commit 258d050e1b
2 changed files with 19 additions and 5 deletions

View File

@ -572,6 +572,8 @@ class rocketCtrl extends Component
io.fpu.dec.wen && fp_sboard.io.r(3).data
}
var vec_replay = Bool(false)
if (HAVE_VEC)
{
// vector control
@ -579,6 +581,7 @@ class rocketCtrl extends Component
io.vec_dpath <> vec.io.dpath
io.vec_iface <> vec.io.iface
vec_replay = vec.io.replay
vec.io.sr_ev := io.dpath.status(SR_EV)
}
@ -655,7 +658,7 @@ class rocketCtrl extends Component
mem_reg_replay := replay_ex && !take_pc_wb;
mem_reg_kill := kill_ex;
wb_reg_replay := replay_mem && !take_pc_wb;
wb_reg_replay := replay_mem && !take_pc_wb || vec_replay;
wb_reg_exception := mem_exception && !take_pc_wb;
wb_reg_cause := mem_cause;