【问题标题】:how to cascade blockrams in verilog code using xilinx attributes?如何使用xilinx属性在verilog代码中级联blockrams?
【发布时间】:2016-09-21 04:54:37
【问题描述】:

我正在尝试在我的 VERILOG 代码中使用块 ram 来实现更大的 ram,它已经超过了设备中特定块 ram 的深度限制(我需要一个深度为 4500 的 ram,一个块 ram 的最大深度是 512 )。如何使用我的verilog代码中的属性级联块ram。 在此先感谢

【问题讨论】:

    标签: verilog xilinx synthesis vivado


    【解决方案1】:

    如果有良好的综合工具,您可以简单地推断出较大的 RAM,而不需要依赖于技术的属性。因此,请查看您的综合手册以了解您的推断块 ram 的技术。那里的典型错误是例如在内存上添加一个重置,这在大多数技术中是不可用的。

    【讨论】:

    • 我正在使用 vivado 来合成我的代码。并且它花费了很多时间来生成一个位文件,并且在日志中我观察到 ram 是在寄存器中而不是在块 ram 中实现的。我应该怎么做才能在块 ram 中实现我的 ram
    • @vlsi_user 工具合成、映射和生成位文件所需的时间量通常取决于您的设计大小。关于作为寄存器而不是 Block RAM 实现的 RAM,如果您可以发布代码的 sn-ps 以显示您编写的 Block RAM 模块或您正在实例化 RAM 的代码的 sn-ps,这将很有帮助。跨度>
    • @vlsi_user fpga 中的 Block ram 与 A​​SIC 中的 SRAM 不同。也就是说,您需要允许 2 个周期延迟而不是 1 个周期来推断 FPGA 块 ram。总是@(posedge clk) begin addr_reg
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多