From: adam Date: Thu, 28 Aug 2008 09:55:21 +0000 (+0100) Subject: bugfix in FpgaDock: treat ignore-olc instructions properly X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=bc4394cf654143e9ab2cb8da7d0b560a89e858e3;p=fleet.git bugfix in FpgaDock: treat ignore-olc instructions properly --- diff --git a/src/edu/berkeley/fleet/fpga/FpgaDock.java b/src/edu/berkeley/fleet/fpga/FpgaDock.java index 8a53829..5315f78 100644 --- a/src/edu/berkeley/fleet/fpga/FpgaDock.java +++ b/src/edu/berkeley/fleet/fpga/FpgaDock.java @@ -176,38 +176,24 @@ public class FpgaDock extends FleetTwoDock implements FabricElement { new Event(new Object[] { instruction, PACKET_TOKEN.verilogVal("instruction"), ififo_out, - token_out, - I.verilog("ondeck"), - }, + I.verilog("ondeck") }, new Action[] { instruction, ififo_out, new AssignAction(loop_counter, "0"), new AssignAction(repeat_counter, "1"), - isHatchOpen.doFill(), - }); + isHatchOpen.doFill() }); // Non-Torpedo Arrival - new Event(new Object[] { instruction, - efifo_in, - "!("+PACKET_TOKEN.verilogVal("instruction")+")" - }, - new Action[] { - efifo_in, - }); + new Event(new Object[] { instruction, efifo_in, "!("+PACKET_TOKEN.verilogVal("instruction")+")" }, + new Action[] { efifo_in }); new Event(new Object[] { efifo_in.getName()+"_a" }, new Action[] { new SimpleAction(instruction.getName()+"_a <= 1;") }); // Tail - new Event(new Object[] { efifo_out, TAIL.verilog(efifo_out.getName()) }, - new Action[] { efifo_out, isHatchOpen.doDrain() } ); + new Event(new Object[] { efifo_out, ififo_in, isHatchOpen.isFull(), TAIL.verilog(efifo_out.getName()) }, + new Action[] { efifo_out, isHatchOpen.doDrain() } ); // Enqueue - new Event(new Object[] { efifo_out, - ififo_in, - "!("+TAIL.verilog(efifo_out.getName())+")", - isHatchOpen.isFull() }, - new Action[] { efifo_out, - ififo_in, - } - ); + new Event(new Object[] { efifo_out, ififo_in, isHatchOpen.isFull(), "!("+TAIL.verilog(efifo_out.getName())+")" }, + new Action[] { efifo_out, ififo_in } ); // Execute new Event(new Object[] { ififo_out, ififo_in, proceed.isFull() }, @@ -322,7 +308,11 @@ public class FpgaDock extends FleetTwoDock implements FabricElement { "("+ "!`instruction_is_normal(i) || repeat_counter!=0"+ ") && ("+ + "("+ + P_ALWAYS.verilog("i")+ + ") || ("+ P_OLC_ZERO.verilog("i")+"==(loop_counter==0)"+ + ")"+ ") && ("+ " " + P_A.verilog("i")+" ? flag_a"+ ":" + P_B.verilog("i")+" ? flag_b"+