How do I compile Forth code for the J1 CPU?

Viewed 860

I am interested in using the J1 CPU in an FPGA project.

I understand that to use the J1 CPU itself, I need to synthesise (etc.) the Verilog code, and load the bitstream into my FPGA. I can do this using IceStorm, or the FPGA vendor's own tools. No problems.

I don't understand how to compile a Forth program which can be uploaded to the FPGA's memory and executed.

What command do I run to compile a Forth program into a .hex file?

3 Answers

I am aware of SwapForth, which I believe is a Forth interpreter which runs on the J1 CPU itself

You are wrong here. SwapForth is an interactive compiler, not the interpreter.

Maybe it does more than you need - handling dictionaries, accepting new code from the UART (after all, it's a complete Forth system), which you might not need at all, but that doesn't make it an interpreter.

To compile your own code, run gforth cross.fs basewords.fs your_prog.fs. Note that cross.fs is quite minimalistic, and doesn't even provide variable/value words. But you can easily add those (and many more) directly to cross.fs.

It is an interpreter, which also compiles, try the simulated swapforth on your pc, running on python. Or you can write forth source on the pc to load/interpret/compile.

Related