| Rev. | Time | Author | Message |
|---|---|---|---|
| r62 | 2009-05-05 00:06:51 | ohsawa | GC bugs are fixed that PuzzleBox GC module is not check c... |
| r61 | 2009-05-04 02:08:01 | ohsawa | All mark-and-sweep GC functions are implemented in the Pu... |
| r60 | 2009-04-23 00:40:20 | ohsawa | Now free pointer manager can control evaluation stack for... |
| r59 | 2009-04-19 23:57:21 | ohsawa | PuzzleBox Free Pointer module is modified using an alloca... |
| r58 | 2009-04-12 04:17:46 | ohsawa | PuzzleBox VM is updated to get input data before ISBSY be... |
| r57 | 2009-04-12 04:15:59 | ohsawa | PuzzleBox evaluation stack is modified to reduce area and... |
| r56 | 2009-04-11 23:10:01 | ohsawa | Loader supports binary transfer to external memory via se... |
| r55 | 2009-04-11 20:02:43 | ohsawa | Some timing bugs in RTL is fixed. PSEQ now supports binar... |
| r54 | 2009-04-11 02:14:09 | ohsawa | The name of loader changes to zload. Loader supports dete... |
| r53 | 2009-04-10 22:06:19 | ohsawa | Serial device definition is moved to the Makefile. README... |
PuzzleBox alpha: Graph Reduction Machine for LazyK 1. Run a sample program on the PuzzleBox Virtual Machine 1.1 Install requred packages To execute PuzzleBox Virtual machine, following packages are required. SystemC 2.2 Verilator 3.700 CMUCL 19a 1.2 Compile PuzzleBox Virtual Machine % cd vm % (edit Makefile as you like :-) % make 1.3 Comple a sample LazyK code to a SKI combinator file % ../compiler/compile.sh ../src/sample/fact.l fact.lz 1.4 Execute PuzzleBox Virtual Machine with a compiled source. % echo "" | ./lazy fact.lz Finally, the number "6" will be output as the result of (fact 3). Another example, % ../compiler/compile.sh ../src/sample/add7.l add7.lz % ./lazy add7.lz reqires input data from 0 to 255 separated by space or newline, and EOF (Ctrl-D) indicates the end-of-input-data. These outputs are the list of numbers that are the result of +7. 2. Run a sample program on the PuzzleBox implemented on the FPGA 2.1 Prepareing execution environments To execute PuzzleBox on the FPGA, following software and hardware are required. Linux PC with RS-232C serial port for controlling PuzzleBox Nios II Embedded Evaluation Kit(NEEK), Cyclone III Edition QuartusII 8.1 (on windows machine) On the Linux PC, serial port /dev/ttyS? (i.e. /dev/ttyS0) must be accessable and the port must be connected to NEEK via an RS-232C cable. 2.2 Compile PuzzleBox FPGA Design to configure FPGA On the Windows PC, (Install the USB-Blaster Driver in QuartusII) (Connect the Windows PC to the NEEK using a USB cable for configuration) % cd syn\altera % compile.bat % compile.bat program 2.3 Compile Program Loader for PuzzleBox on the FPGA % cd loader % (edit SERIALPORT in Makefile) % make 2.4 Comple a sample LazyK code to a SKI combinator file % ../compiler/compile.sh ../src/sample/fact.l fact.lz 2.5 Execute PuzzleBox on the FPGA with a compiled source. (Connect the Linux PC to the NEEK using a RS-232C cable for execution) % echo "" | ./zload fact.lz Finally, the number "6" will be output as the result of (fact 3). Another example, % ../compiler/compile.sh ../src/sample/add7.l add7.lz % ./zload add7.lz reqires input data from 0 to 255 separated by space or newline, and EOF (Ctrl-D) indicates the end-of-input-data. These outputs are the list of numbers that are the result of +7.