【问题标题】:How do I make Quartus II compile faster如何使 Quartus II 编译更快
【发布时间】:2010-09-26 04:18:34
【问题描述】:

我正在使用 Altera Quartus 2 做一个定制的 8 位处理器,在我的笔记本电脑上编译需要很长时间。我只使用模拟并将我的处理器制作成原理图(框图)和 VHDL。现在编译大约需要 10 分钟,这很痛苦,因为我更多地处于项目的调试阶段,我必须修复内部时序并进行大量非常小的更改以查看会发生什么。

我实际上并没有把它放在FPGA上,所以我需要“fitter”和“assembler”的编译阶段吗?

我可以更改一个lpm_ram_dq的内存文件的内容并在模拟中测试它而不重新编译吗?

总之,有人知道如何让它编译得更快吗?

【问题讨论】:

    标签: vhdl quartus


    【解决方案1】:

    如果您不关心完全优化您的结果而只是想获得一个悲观的估计或进行比较,一些有用的标志可以使 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"
    

    【讨论】:

    • 我想你会因为这样的事情获得“掘墓人”徽章。这个问题是9岁!但是 QA 正在谈论进行时序优化。如果更改综合工作设置,则无法进行这些优化。实现将不同于完整的编译。
    • 这是真的,因为您不会真正优化已编译的设计并看到真实的结果,但是当您迭代时序收敛修改并希望看到您的进度时,您可以仍然使用这些标志进行逐个比较,以查看您的更新是否提高了 Fmax。
    • 您在哪里更改这些设置?
    • @bdbasinger 在 QSF 文件中
    【解决方案2】:

    按重要性降序排列。

    • 更多内存。 32 位操作系统为 4 GB。 有些设计需要更多,而且 需要 64 位操作系统。
    • 不要过度约束设计。
    • 将编译选项更改为 not try as 难的。那是在分配中> 设置>Fitter 设置>Fast Fit (或自动调整)
    • 8.1 支持多核。
    • 分层编译帮助,尤其是当您有同一块的多个实例时。

    2分钟真的很短,我同意之前的海报。一个门需要很长时间。

    【讨论】:

    • 1:我的笔记本有 2GB 内存,对于我的项目应该足够了 2:你的意思是? 3:那没用,Fitter 中仍然需要很多时间 4:我该怎么做?我无法让它 100% 使用我的 CPU 5:我确实有很多相同块的实例,我该如何进行分层编译?
    • 对不起,我的错误。第二个观察确实有效。它将 Fitter 时间减半,从 8 分钟减少到 4 分钟。谢谢!
    【解决方案3】:

    一些事情:

    • 如果您不将其放在 FPGA 上,为什么要使用 Quartus 进行编译?只需使用 Modelsim 或 ActiveHDL 或您拥有的任何模拟器对其进行模拟。
    • 2 分钟是 非常 短的编译时间。真的:-)
    • 试试 Quartus 8,它比 7 和更早版本快得多
    • 要检查您的代码是否正确合成并查看网表,您确实不需要安装程序和汇编程序步骤

    【讨论】:

    • 1:不可以,我正在做大学作业,教授需要 Quartus II Simulation。 2:我的项目现在编译时间为 10 分钟,大约 6 分钟处于 fitter 阶段。 3:我使用的是Quartus 8.1 4:我没看懂,你能解释一下吗?我是硬件设计师菜鸟...
    • 只需使用 Altera 版本的 ModelSim 进行一些迭代仿真,然后在您认为一切正常时运行 Quartus 仿真器。如前所述,如果您的目标不是 FPGA,请不要进行完整编译,只需进行分析和综合部分。
    【解决方案4】:

    如果您只需要在 Quartus 中进行仿真,则不必运行完整的编译。如果按 Ctrl-K,则仅执行分析和详细说明。 quartus 模拟器应该会为您执行此操作。

    其他几个人提到的 OTH:10 分钟非常短的编译时间。对于真正的设计,让它运行至少一个小时并不罕见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      相关资源
      最近更新 更多