我正在使用Altera Quartus 2来做一个自定义的8位处理器,并且需要永远在我的笔记本电脑上进行编译.我只是使用模拟并在原理图(框图)和VHDL中制作我的处理器.现在编译需要大约10分钟,这是一个痛苦,因为我更多的是在项目的调试阶段,我必须修复内部时间并进行很多很少的更改,看看会发生什么.
我实际上并没有把它放在FPGA上,所以我需要"fitter"和"assembler"的编译阶段吗?
我可以更改一个lpm_ram_dq的内存文件的内容并在模拟中测试它而无需重新编译吗?
总之,任何人都知道如何使其编译更快?
如果您不关心完全优化您的结果而只想得到一个悲观的估计或进行比较,那么一些有用的标志可以使 Quartus 综合得更快。
set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT FAST
Run Code Online (Sandbox Code Playgroud)
指定物理综合应该使用的编译时间方面的工作量。快速使用较少的编译时间,但可能会降低物理综合能够实现的性能增益。
set_global_assignment -name FITTER_EFFORT FAST_FIT
Run Code Online (Sandbox Code Playgroud)
Fast Fit 减少了优化工作以减少编译时间,这可能会降低设计性能。
而不是execute_flow -compile
,使用:
execute_flow -implement
Run Code Online (Sandbox Code Playgroud)
运行编译直到路由阶段并跳过所有时间密集型算法的选项。
在与 Intel/Altera 工程师的一次会议上,使用-implement
它被认为比 快 20% -compile
,并在迭代时序收敛结果时被推荐使用。
您还可以尝试以下操作:
set_global_assignment -name SYNTHESIS_EFFORT FAST
Run Code Online (Sandbox Code Playgroud)
注意:尽管我倾向于在某些设计中看到整体运行速度更快,但下面有一个警告。
设置为Fast时,省略一些步骤以更快地完成合成;但是,可能会有一些性能和资源成本。Altera 建议仅在运行早期时序估计时将此选项设置为 Fast。运行“快速”综合会产生一个网表,该网表对于 Fitter 来说稍微难以布线,从而使整体拟合过程变慢,这抵消了“快速”综合所带来的任何性能提升。
编辑:
以下设置会影响您的时序,但它们也可以显着缩短编译时间,尤其是在较新的 Stratix 10/Agilex 设计中:
set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE COMPILE TIME"
set_global_assignment -name ALLOW_REGISTER_RETIMING "OFF"
set_global_assignment -name HYPER_RETIMER_FAST_FORWARD "OFF"
Run Code Online (Sandbox Code Playgroud)
您还可以使用以下命令关闭时序分析:
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS "OFF"
Run Code Online (Sandbox Code Playgroud)
按重要程度递减的顺序排列。
2分钟真的很短,我同意前面的帖子。一个门就需要很长时间。