From 4245fd351f2b57e6881c9ef1d81b4af44c87c467 Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 10 Nov 2008 10:01:13 +0100 Subject: [PATCH] eliminate explicit torpedoWaiting state wire --- src/edu/berkeley/fleet/fpga/FpgaDock.java | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/edu/berkeley/fleet/fpga/FpgaDock.java b/src/edu/berkeley/fleet/fpga/FpgaDock.java index 285f2d0..d3448c2 100644 --- a/src/edu/berkeley/fleet/fpga/FpgaDock.java +++ b/src/edu/berkeley/fleet/fpga/FpgaDock.java @@ -74,8 +74,6 @@ public class FpgaDock extends FleetTwoDock implements FabricElement { Module.StateWire busy = new StateWire("busy", false); out.forceNoLatch = true; - // FIXME: okay to eliminate torpedoWaiting - new Event(new Object[] { in, busy.isFull(), out }, new Action[] { in, busy.doDrain() }); new Event(new Object[] { in, busy.isEmpty(), out, torpedo, fpga.PACKET_TOKEN.verilogVal("in") }, @@ -179,8 +177,6 @@ public class FpgaDock extends FleetTwoDock implements FabricElement { Module.Latch flag_c = new Latch("flag_c", 1); Module.Latch flag_z = new Latch("flag_z", 1); - Module.StateWire torpedoWaiting = new StateWire("torpedoWaiting", false); - Module.SinkPort token_out = fabric_out; Module.SourcePort token_in = dfifo_out; Module.SinkPort data_out = inbox ? ship_in : fabric_out; @@ -225,10 +221,6 @@ public class FpgaDock extends FleetTwoDock implements FabricElement { String magic_standing_value = "(1<<"+fpga.SET_ILC_FROM_IMMEDIATE.valmaskwidth+")"; String done_executing = "(ilc==0 || ilc==1 || !"+fpga.MOVE.verilog(ondeck.getName())+")"; - // Torpedo Arrival - new Event(new Object[] { torpedo_branch_torpedo, torpedoWaiting.isEmpty() }, - new Action[] { torpedo_branch_torpedo, torpedoWaiting.doFill() }); - String predicate_met = "("+ "("+ @@ -256,11 +248,11 @@ public class FpgaDock extends FleetTwoDock implements FabricElement { predicate_met, fpga.MOVE.verilog(ondeck.getName()), "!"+fpga.NOT_INTERRUPTIBLE.verilog(ondeck.getName()), - torpedoWaiting.isFull() + torpedo_branch_torpedo }, new Object[] { ondeck, - torpedoWaiting.doDrain(), + torpedo_branch_torpedo, new AssignAction(olc, "0"), new AssignAction(flag_z, "1"), new AssignAction(ilc, "1") @@ -276,7 +268,7 @@ public class FpgaDock extends FleetTwoDock implements FabricElement { data_out, token_out, predicate_met, - "(!"+fpga.MOVE.verilog(ondeck.getName())+" || "+fpga.NOT_INTERRUPTIBLE.verilog(ondeck.getName())+" || !"+torpedoWaiting.isFull()+")", + "(!"+fpga.MOVE.verilog(ondeck.getName())+" || "+fpga.NOT_INTERRUPTIBLE.verilog(ondeck.getName())+" || !"+torpedo_branch_torpedo.isFull()+")", new ConditionalTrigger(fpga.DI.verilog(ondeck.getName()), data_in), new ConditionalTrigger(fpga.TI.verilog(ondeck.getName()), token_in) }, -- 1.7.10.4