Quartus 20.1逻辑单元占用过高及布局布线耗时陡增问题咨询
问题根因
从你提供的两个版本日志对比可明确:Quartus 20.1 未正常推断并映射代码中的存储逻辑到FPGA内置RAM块,而是用逻辑单元(LC)搭建了等效存储电路,直接导致LC用量飙升6倍,这就是布局布线耗时陡增的核心原因。
解决配置调整方案
- 开启自动RAM识别约束
打开工程后依次进入Assignments > Settings > Compiler Settings > Analysis & Synthesis > Advanced Settings (Synthesis),确认以下选项已开启:- Auto RAM Replacement
- Allow Any RAM Size for Recognition
- Auto ROM Replacement(若代码中包含ROM逻辑)
若仍不生效,可以在代码中对应数组的定义位置添加Verilog属性(* ramstyle = "M9K" *),强制指定用Cyclone IV的M9K RAM块实现。
- 调整综合优化策略
在上述同一设置页中,将Optimization Goal改为面积优先或平衡,同时关闭Perform WYSIWYG Primitive Resynthesis等过度优化选项,避免工具为了微小的时序提升放弃RAM块映射。 - 确认器件型号约束正确
进入Assignments > Device,确认选中的器件完全匹配DE2-115板载的EP4CE115F29C7,型号选错会导致工具错误判断内置RAM资源总量,放弃RAM映射。 - 重新生成旧版本IP核
如果你是直接导入Quartus 19.1的工程,需要将工程中所有自定义IP核全部重新生成一次,旧版本生成的RAM、FIFO类IP在20.1中可能出现适配异常,被软实现为逻辑电路。
效果验证
调整配置后重新运行全编译,先查看Analysis & Synthesis阶段的资源统计,如果逻辑单元用量回落至2万左右、RAM段占用回升到300左右,说明配置已生效,布局布线耗时会恢复到19.1版本的相近水平。
内容的提问来源于stack exchange,提问作者Lehrlii
相关产品推荐
相关产品推荐

