From d39eeb7d17721ed50253a5c791a7152febff427c Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 28 Aug 2007 01:24:45 +0100 Subject: [PATCH] fix a bug in repeat kill on fpga --- src/edu/berkeley/fleet/fpga/Generator.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/edu/berkeley/fleet/fpga/Generator.java b/src/edu/berkeley/fleet/fpga/Generator.java index 8810fbf..38d6229 100644 --- a/src/edu/berkeley/fleet/fpga/Generator.java +++ b/src/edu/berkeley/fleet/fpga/Generator.java @@ -580,11 +580,13 @@ public class Generator { // First Kill box.new Event( - new Object[] { instr, ififo_out, + new Object[] { instr, "`instruction_is_kill(instr)", "!`instruction_is_unclog(instr)", - newMayProceed.isFull() }, - new Action[] { instr, ififo_out, + ondeckFull.isFull() + }, + new Action[] { instr, + ondeckFull.doDrain(), new ConditionalAction("`instruction_count(instr)!=0", new AssignAction(repcount, instruction_count_instr+"-1")), new ConditionalAction("`instruction_count(instr)!=0", doRepeatKill.doFill()), new ConditionalAction("`instruction_count(instr)!=0", newMayProceed.doDrain()), @@ -595,9 +597,9 @@ public class Generator { box.new Event( new Object[] { doKill.isFull() }, new Action[] { doKill.doDrain(), - new ConditionalAction("`instruction_count(instr)!=0", new AssignAction(repcount, instruction_count_instr+"-1")), - new ConditionalAction("`instruction_count(instr)!=0", doRepeatKill.doFill()), - new ConditionalAction("`instruction_count(instr)==0", newMayProceed.doFill()) + new ConditionalAction("`instruction_count(ondeck)!=0", new AssignAction(repcount, instruction_count_ondeck+"-1")), + new ConditionalAction("`instruction_count(ondeck)!=0", doRepeatKill.doFill()), + new ConditionalAction("`instruction_count(ondeck)==0", newMayProceed.doFill()) }); // RepKill -- 1.7.10.4