【问题标题】:Loading of .hex file in SB_RAM2048x2 ROM and loading of .hex file in BRAM memory在 SB_RAM2048x2 ROM 中加载 .hex 文件并在 BRAM 存储器中加载 .hex 文件
【发布时间】:2019-10-18 17:10:37
【问题描述】:

我不知道 iCE40 设备的 SB_RAM2048x2 内存使用情况。我发现 iceimage.hex mecrisp-ice 0.8 ,一个内存初始化文件,正在加载到 ram.v 中。并且 ram.v 正在其他verilog文件中使用。我想使用 bram 而不是这个 ram.v,这样我就可以在 zynq fpga(zybo board) 中使用 bram。我有点怀疑,是否可以在 zynq fpga(zybo board) 中直接使用 SB_RAM2048x2(在 ram.v 中提到) )?还是仅适用于 iCE40 设备。

【问题讨论】:

  • 如果你打开 mecrisp-ice 0.8 文件夹,你可能会找到一个 python 文件,该文件夹在内存中加载了 icecream.hex 文件。通过运行 python 文件可以让你生成 ram.v 。

标签: memory ice40


【解决方案1】:

SB_RAM2048x2 是 iCE40 特定的原语,它不适用于 Zynq。

您很可能希望使用 Verilog 数组来推断内存,例如

reg [1:0] mem[0:2047];
always @(posedge clk) begin
    if (wen) mem[waddr] <= wdata;
    rdata <= mem[raddr];
end

这将适用于任何 FPGA 系列。

【讨论】:

  • 基本上,我有一个名为 abc.hex 的内存初始化文件。如何将内存文件加载到定义的 verilog 数组中?
  • 可以合成吗?我想将我的指令数据加载到内存中并使用处理器在 zynq fpga 上运行它。你有什么建议?
  • 它是可合成的,但请记住合成器在合成时读取文件,然后有效地烘焙到比特流中。如果你想从 Zynq 的 ARM 内核动态加载内存,你需要实现一个 AXI 从端口到你的内存
  • 很抱歉,我无法理解我推断出内存 reg [7:0] mem[0:4095];总是@(posedge clk) 开始 if (wen) mem[waddr]
猜你喜欢
  • 1970-01-01
  • 2012-04-03
  • 2012-05-09
  • 2014-11-14
  • 2018-08-30
  • 2017-12-28
  • 2011-02-14
  • 2012-03-06
  • 1970-01-01
相关资源
最近更新 更多