【发布时间】:2020-11-02 13:04:20
【问题描述】:
我尝试使用 Mem(1024,UInt(width=xLen));但是在Xilinx vivado中合成生成的verilog文件后,内存映射为分布式ram。 理解和编辑生成的 RTL 文件真的很难。是否有任何明确的方法来定义可以推断为块 ram 的内存?
感谢和问候,
【问题讨论】:
标签: riscv chisel rocket-chip
我尝试使用 Mem(1024,UInt(width=xLen));但是在Xilinx vivado中合成生成的verilog文件后,内存映射为分布式ram。 理解和编辑生成的 RTL 文件真的很难。是否有任何明确的方法来定义可以推断为块 ram 的内存?
感谢和问候,
【问题讨论】:
标签: riscv chisel rocket-chip
看起来凿子正在优化内存。如果您希望将内存作为单个单元DontTouch,请尝试使用 DontTouch 构造。另一种解决方案是在 Mem 周围使用包装器。在 Mem 周围创建一个 Module,然后使用 DontTouch 构造,使其保持为一个单元。你确定要使用 Mem 构造吗? Mem 是 Asynchronous ,如果你想要 Synchronous Memory 使用 SyncReadMem Chisel 构造。还要在合成之前和之后检查您的 Verilog 文件,也许 Chisel 不是这里的罪魁祸首。检查 Xilinx Vivado 是否没有对其进行优化。
【讨论】:
: not found: value SyncMem。请帮忙。