From 52d8b0554f7bbd960e3b5c0c4594538a6c12e09e Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 3 Nov 2008 10:49:10 +0100 Subject: [PATCH] make getDestAddr() return a BitVector --- src/edu/berkeley/fleet/fpga/Fpga.java | 15 +++----- .../berkeley/fleet/interpreter/Interpreter.java | 4 +-- .../fleet/interpreter/InterpreterDock.java | 16 +++++---- src/edu/berkeley/fleet/two/FleetTwoFleet.java | 37 +++++++++++--------- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/edu/berkeley/fleet/fpga/Fpga.java b/src/edu/berkeley/fleet/fpga/Fpga.java index ec45ab3..7566cee 100644 --- a/src/edu/berkeley/fleet/fpga/Fpga.java +++ b/src/edu/berkeley/fleet/fpga/Fpga.java @@ -51,6 +51,10 @@ public class Fpga extends FleetTwoFleet { } catch (Exception e) { throw new RuntimeException(e); } } + public BitVector getDestAddr(Path path) { + return ((FpgaPath)path).toBitVector(); + } + // Setup ////////////////////////////////////////////////////////////////////////////// public Ship createShip(String type, String name) throws IOException { @@ -402,15 +406,4 @@ public class Fpga extends FleetTwoFleet { } catch (Exception e) { throw new RuntimeException(e); } } - public long getDestAddr(Path path) { - return ((FpgaPath)path).toLong(); - } - public Dock getBoxByInstAddr(long dest) { - for(Ship ship : Fpga.this) - for(Dock bb : ship) - if (((FpgaDestination)((FpgaDock)bb).getInstructionDestination()).getAddr() == dest) - return bb; - return null; - } - } diff --git a/src/edu/berkeley/fleet/interpreter/Interpreter.java b/src/edu/berkeley/fleet/interpreter/Interpreter.java index 9f0f6af..3cd2558 100644 --- a/src/edu/berkeley/fleet/interpreter/Interpreter.java +++ b/src/edu/berkeley/fleet/interpreter/Interpreter.java @@ -74,14 +74,14 @@ public class Interpreter extends FleetTwoFleet implements Parser.FleetWithDynami // Instruction Encoding ///////////////////////////////////////////////////////////////////////// - public long getDestAddr(Path path) { + public BitVector getDestAddr(Path path) { long ret = ((InterpreterDestination)path.getDestination()).addr; BitVector bv = path.getSignal(); if (bv != null) { if (bv.length() > 1) throw new RuntimeException("signal was " + bv.length() + " bits long!"); if (bv.length() > 0 && bv.get(0)) ret |= 1; } - return ret; + throw new RuntimeException("fixme"); } diff --git a/src/edu/berkeley/fleet/interpreter/InterpreterDock.java b/src/edu/berkeley/fleet/interpreter/InterpreterDock.java index b83d26f..d1c6968 100644 --- a/src/edu/berkeley/fleet/interpreter/InterpreterDock.java +++ b/src/edu/berkeley/fleet/interpreter/InterpreterDock.java @@ -5,7 +5,6 @@ import edu.berkeley.fleet.two.*; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.api.Instruction; import static edu.berkeley.fleet.api.Predicate.*; -import static edu.berkeley.fleet.two.FleetTwoFleet.SHIFT; /** anything that has a source (instruction horn) address on the switch fabric */ class InterpreterDock extends FleetTwoDock { @@ -164,13 +163,16 @@ class InterpreterDock extends FleetTwoDock { instructions.add(executing); if (executing instanceof Instruction.Shift) { + /* Instruction.Shift shift = (Instruction.Shift)executing; - for(int i=dataLatch.length()-1; i>=SHIFT.valmaskwidth; i--) - dataLatch.set(i, dataLatch.get(i-SHIFT.valmaskwidth)); - for(int i=SHIFT.valmaskwidth-1; i>=0; i--) + for(int i=dataLatch.length()-1; i>=getShip().getFleet().getShiftWidth(); i--) + dataLatch.set(i, dataLatch.get(i-getShip().getFleet().getShiftWidth())); + for(int i=getShip().getFleet().getShiftWidth()-1; i>=0; i--) dataLatch.set(i, shift.immediate.get(i)); executing = null; return; + */ + throw new RuntimeException("FIXME"); } if (executing instanceof Instruction.Set) { @@ -186,7 +188,7 @@ class InterpreterDock extends FleetTwoDock { break; case DataLatch: ilc = 0; - for(int i=0; i