如果您不关心完全优化您的结果而只是想获得一个悲观的估计或进行比较,一些有用的标志可以使 Quartus 合成更快。
set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT FAST
指定工作量,就编译时间而言,物理综合应该使用。快速使用较少的编译时间,但可能会降低物理综合能够实现的性能增益。
set_global_assignment -name FITTER_EFFORT FAST_FIT
Fast Fit 减少了优化工作以减少编译时间,这可能会降低设计性能。
而不是execute_flow -compile,使用:
execute_flow -implement
在路由阶段运行编译并在之后跳过所有时间密集型算法的选项。
在与 Intel/Altera 工程师的一次会议中,使用 -implement 的结果表明,这比 -compile 快了大约 20%,并且在迭代时序收敛结果时被推荐。
您还可以尝试以下方法:
set_global_assignment -name SYNTHESIS_EFFORT FAST
注意:这有以下警告,尽管我倾向于在某些设计中看到总体上更快的运行。
设置为 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"
您还可以使用以下命令关闭时序分析:
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS "OFF"