From: adam Date: Mon, 29 Jan 2007 08:32:45 +0000 (+0100) Subject: updates to make fpga-code instruction generation work again X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=55e51302dd407d263e9c5fcc117d48f8b8349730;p=fleet.git updates to make fpga-code instruction generation work again --- diff --git a/Makefile b/Makefile index da98e04..3a362c1 100644 --- a/Makefile +++ b/Makefile @@ -9,12 +9,12 @@ run: fleet.jar $(java) $(cp) $(interpreter_class) fleet.jar: $(shell find src -name \*.java) src/edu/berkeley/fleet/assembler/fleet.g - mkdir -p bin/edu/berkeley/fleet/assembler/ - cp src/edu/berkeley/fleet/assembler/fleet.g bin/edu/berkeley/fleet/assembler/ - javac -cp lib/edu.berkeley.sbp.jar -d bin $(shell find src -name \*.java) - cd bin; jar xvf ../lib/edu.berkeley.sbp.jar - echo 'Main-Class: $(interpreter_class)' > bin/manifest - cd bin; jar cvmf manifest ../$@ . + mkdir -p build/class/edu/berkeley/fleet/assembler/ + cp src/edu/berkeley/fleet/assembler/fleet.g build/class/edu/berkeley/fleet/assembler/ + javac -cp lib/edu.berkeley.sbp.jar -d build/class/ $(shell find src -name \*.java) + cd build/class/; jar xvf ../../lib/edu.berkeley.sbp.jar + echo 'Main-Class: $(interpreter_class)' > build/class/manifest + cd build/class/; jar cvmf manifest ../../$@ . ## Slipway #################################################################################### @@ -41,13 +41,13 @@ remote_run += gcc test.c; remote_run += echo running; remote_run += ./a.out /dev/selectmap1 fleet.bin -runfpga: build/main.bit +runfpga: fleet.jar build/main.bit $(java) $(cp) $(interpreter_class) --dump-code < contrib/demo.fleet - mv fleet.bin build rsync -zare ssh --progress --verbose build/fleet.bin build/main.bit src/edu/berkeley/fleet/slipway/test.c root@bee441.cs.berkeley.edu: ssh root@bee441.cs.berkeley.edu '$(remote_run)' -build/main.bit: fleet.jar contrib/demo.ships $(shell find src -name \*.v) +build/main.bit: contrib/demo.ships $(shell find src -name \*.v) + make fleet.jar mkdir -p build $(java) $(cp) $(interpreter_class) --dump-fabric < contrib/demo.ships | tee build/fabric.v rsync -zare ssh --progress --delete --verbose ./ ${host}:${remote_dir} @@ -92,15 +92,15 @@ javadoc: ## Misc #################################################################################### clean: - rm -rf bin fleet.jar build + rm -rf fleet.jar build ## Dist #################################################################################### dist: darcs record + darcs push /afs/research.cs.berkeley.edu/class/fleet/website/repos/fleet/ darcs get . --repo-name=fleet-`date +%d.%h.%y` make -C fleet-`date +%d.%h.%y` fleet.jar - rm -rf fleet-`date +%d.%h.%y`/bin rm -rf fleet-`date +%d.%h.%y`/build tar cvzf fleet-`date +%d.%h.%y`.tgz fleet-`date +%d.%h.%y` rm -rf fleet-`date +%d.%h.%y` diff --git a/contrib/demo.fleet b/contrib/demo.fleet index 4d8eed3..f17bbe0 100644 --- a/contrib/demo.fleet +++ b/contrib/demo.fleet @@ -1,20 +1,14 @@ -#import edu.berkeley.fleet.ships -#ship alu : Alu2 -#ship debug : Debug -#ship command : Command +#include "contrib/demo.ships" + + +0: sendto alu2.op; +10: sendto alu2.a; +2: sendto alu2.b; + +alu2.a: take, deliver; +alu2.b: take, deliver; +alu2.op: take, deliver; +alu2.out: take, sendto debug.data; + -0: sendto alu.a; -0: sendto alu.op; -42: sendto alu.b; -1: sendto alu.b; -5: sendto alu.b; -alu.a: [*] take, deliver; -alu.b: [*] take, deliver; -alu.op: take; [*] deliver; -debug.data: [*] take, deliver; -alu.out: - [*] nop; - [*r] take, sendto alu.a; - [*r] sendto debug.data; - kill; diff --git a/contrib/demo.ships b/contrib/demo.ships index 45aa47b..f3f60ed 100644 --- a/contrib/demo.ships +++ b/contrib/demo.ships @@ -13,7 +13,7 @@ // want: memory, fetch, halt -#ship alu1 : Alu1 +//#ship alu1 : Alu1 #ship alu2 : Alu2 #ship debug : Debug #ship command : Command @@ -27,5 +27,3 @@ //#ship demux1 : DeMux //#ship demux2 : DeMux //#ship sort : Sort2 - - diff --git a/src/edu/berkeley/fleet/interpreter/Interpreter.java b/src/edu/berkeley/fleet/interpreter/Interpreter.java index 5e8952c..8ed504d 100644 --- a/src/edu/berkeley/fleet/interpreter/Interpreter.java +++ b/src/edu/berkeley/fleet/interpreter/Interpreter.java @@ -17,8 +17,14 @@ public class Interpreter extends Fleet implements Iterable { public InterpreterBenkoBox resolve(edu.berkeley.fleet.api.BenkoBox bb) { return (InterpreterBenkoBox)bb; } - public void dumpCode() { - throw new RuntimeException("not implemented"); + public void dumpCode(Instruction[] instructions) throws IOException { + DataOutputStream dos = new DataOutputStream(new FileOutputStream("build/fleet.bin")); + for(int i=1; i