如何在合成后将火箭映射为FPGA的火箭芯片生成器中创建内存?

问题描述

我尝试使用Mem(1024,UInt(width = xLen));但是在Xilinx vivado中合成生成的Verilog文件之后。内存映射为分布式ram。 要理解和编辑生成的RTL文件确实很困难。是否有任何明确的方法来定义可以推断为块ram的内存??

感谢与问候,

解决方法

看起来凿子正在优化内存。如果要将内存作为单个单元DontTouch,请尝试使用DontTouch构造。另一种解决方案是在Mem周围使用包装器。在Mem周围创建一个Module,然后使用DontTouch构造使它保持为单个单元。而且您确定要使用Mem构造吗? Mem是异步的,如果您想使用SynReadMem Chisel构造同步内存。还要在合成前后检查您的Verilog文件,也许Chisel不是这里的罪魁祸首。检查Xilinx Vivado是否没有对其进行优化。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...