// Setup //////////////////////////////////////////////////////////////////////////////
Ship createShip(String type) throws IOException {
- ShipDescription sd = new ShipDescription(type, new BufferedReader(new InputStreamReader(new FileInputStream("ships/"+type+".ship"))));
+ ShipDescription sd = new ShipDescription(this, type, new BufferedReader(new InputStreamReader(new FileInputStream("ships/"+type+".ship"))));
int count = 0;
for(Ship ship : ships.values()) if (ship.getType().equals(type)) count++;
String name = type+count;
this.top = top;
debugShip = createShip("Debug");
- boolean small = true;
- //boolean small = false;
+ //boolean small = true;
+ boolean small = false;
if (small) {
for(int i=0; i<2; i++) createShip("Alu");
createShip("CarrySaveAdder");
createShip("Rotator");
createShip("Lut3");
- createShip("Timer");
- createShip("DDR2");
- createShip("Dvi");
- createShip("ZBT");
} else {
- for(int i=0; i<3; i++) createShip("Memory");
- for(int i=0; i<3; i++) createShip("Alu");
- for(int i=0; i<2; i++) createShip("Fifo");
- for(int i=0; i<11; i++) createShip("Counter");
-
- /*
- for(int i=0; i<3; i++) createShip("Memory");
- for(int i=0; i<3; i++) createShip("Alu");
- for(int i=0; i<2; i++) createShip("Fifo");
- for(int i=0; i<14; i++) createShip("Counter");
-
- // "really big" configuration: 138 docks
- for(int i=0; i<4; i++) createShip("Alu");
- */
+ for(int i=0; i<2; i++) createShip("Memory");
+ for(int i=0; i<6; i++) createShip("Alu");
+ //for(int i=0; i<2; i++) createShip("Fifo");
+ for(int i=0; i<12; i++) createShip("Counter");
+ //for(int i=0; i<2; i++) createShip("Null");
//createShip("CarrySaveAdder");
//createShip("Rotator");
- //createShip("Lut3");
+ createShip("Random");
+ createShip("Button");
- createShip("Timer");
- createShip("DDR2");
- createShip("Dvi");
- createShip("ZBT");
}
+ createShip("Timer");
+ createShip("DDR2");
+ createShip("Dvi");
+
// for FifoShip
new Module.InstantiatedModule(top, new FifoModule(8, WIDTH_WORD));
final Module.SourcePort sp = sp0;
sources.add(new FabricElement.AbstractFabricElement() {
private FabricElement upstream;
+ public int getPathLength(FpgaDestination dest) { return upstream.getPathLength(dest); }
public FpgaPath getPath(FpgaDestination dest, BitVector signal) { return upstream.getPath(dest, signal); }
public void addOutput(FabricElement out, Module.Port outPort) {
this.upstream = out;