【问题标题】:Replace dual-port RAM with two single port RAMs for J1 Forth CPU on Altera FPGA用两个单端口 RAM 替换双端口 RAM,用于 Altera FPGA 上的 J1 Forth CPU
【发布时间】:2013-10-22 11:53:29
【问题描述】:

出色的 J1 Forth CPU (Verilog source code) 可用于 Xilinx FPGA。我试图将它移植到 Altera Cyclone II FPGA。

我很难让 Altera 双端口 RAM 宏功能正常工作。从 Verilog 代码来看,我可以使用两个单端口 RAM,而不是一个双端口 RAM?

真正的问题是,J1 Forth 在运行时会修改自己的代码吗?如果不是,为什么不将双口 RAM 分成代码 RAM(由 {_pc} 寻址)和数据 RAM(由 _st0[15:1] 寻址)?

【问题讨论】:

  • 您是否可以访问可以并行读写任意两个地址的单端口内存?

标签: verilog forth


【解决方案1】:

现在,为 J1 生成代码的编译器(您应该已经获得了一些在 Gforth 下运行的 Forth 代码)假设数据和代码都来自同一个 RAM 空间。为了分离代码和数据(您必须这样做以便为每个代码和数据使用单独的 RAM 组),您必须修改编译器以将 CREATE 完成的任何操作放入数据 RAM。

您还必须更改 ! 的定义和 @ 从适当的 RAM 库中获取。并且忘记实现允许您定义任何新单词的任何类型的交互式提示,因为这将需要写入包含代码的 RAM 库,或者能够将 PC 指向数据 RAM 库,这违背了拥有首先是两个 RAM bank。

否则,您将不得不连接某种逻辑来保持两个 RAM 组同步。

J1 与拥有双端口 RAM 组的想法紧密相关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多