我正在努力熟悉RISC-V ISA和Rocket Chip。我在CONFIG=DefaultSmallConfig
目录中使用make verilog
命令设置了vsim
并生成了Verilog代码。我有几个关于输出以及如何使用Design Compiler(DC)合成系统的问题。
如何删除与调试相关的端口和连线?我只需要合成核心及其外设,而不是调试相关的模块/电线。
是顶级模块ExampleRocketSystem
吗?我必须在DC中设置current_design
,并且需要知道顶级模块是什么。
除freechips.rocketchip.system.DefaultSmallConfig.v
输出文件外,运行完整的DC合成需要什么?
假设我使用输出Verilog文件而没有其他文件用于DC合成,我得到了很多未解析的引用和寄存器,由于它们是不变的而被删除。我在这里想念的是什么?
答案 0 :(得分:2)
1)一般来说很难删除调试端口,我不确定如何干净利落地完成调试。还值得注意的是,如果你没有包含一个外设来启动,你将需要保留调试端口来帮助你加载测试程序。
2)是ExampleRocketSystem
是顶级模块
3)您还需要实现设计中使用的内存。默认情况下,你应该在generated-src中有一个*.behav_srams.v
文件,它有一个简单的可以包含的rams的verilog行为模型,它应该变成DC中的一堆触发器。如果您可以访问SRAM,则可能会用这些触发器替换这些触发器。
4)你不应该得到未解决的引用,但是由于它是不变的,因此删除寄存器是合理的。