如何为J1 CPU编译Forth代码



我有兴趣在FPGA项目中使用J1 CPU。

我知道要使用J1 CPU本身,我需要合成(等(Verilog代码,并将比特流加载到我的FPGA中。我可以使用IceStorm或FPGA供应商自己的工具来完成这项工作。没有问题。

我不知道如何编译一个可以上传到FPGA存储器并执行的Forth程序。

运行什么命令将Forth程序编译为.hex文件?

我知道SwapForth,我认为它是一个在J1 CPU本身上运行的Forth解释器

你错了。SwapForth是一个交互式编译器,而不是解释器。

也许它做的比你需要的更多——处理字典,接受来自UART的新代码(毕竟,这是一个完整的Forth系统(,你可能根本不需要,但这并不意味着它是一个解释器。

要编译自己的代码,请运行gforth cross.fs basewords.fs your_prog.fs。注意,cross.fs是非常简约的,甚至不提供variable/value单词。但是您可以很容易地将这些(以及更多(直接添加到cross.fs中。

请查看带有swapforth的github存储库。它包含了像J1A和J1B这样的FPGA的完整实现。

使用J1B,我甚至创建了一个用于初始化和诊断相对复杂的基于FPGA的板的完整系统——AFCK_J1B_FORTH。

为了用新词编译代码,我使用J1B的Verilator仿真。因此,您不需要在硬件中使用真正的J1B来准备代码。整个过程也在AFCK_J1B_FORTH的README中进行了描述。

它是一个解释器,也可以编译,在你的电脑上尝试模拟的swapforth,在python上运行。或者你可以在电脑上编写源代码来加载/解释/编译。

最新更新