主要内容

自动迭代优化

自动迭代优化允许您在不指定单个优化选项(如输入或输出流水线、分布式流水线或循环展开)的情况下优化时钟频率。

有两种使用方法hdlcoder.optimizeDesign要优化您的时钟频率:

  • 最佳时钟频率:您指定希望HDL Coder™执行的最大迭代次数,编码器迭代以最小化设计中的关键路径。

  • 目标时钟频率:为您的设计指定一个时钟频率目标,以及您希望HDL Coder执行的最大迭代次数。编码器迭代,直到它满足您的目标时钟频率或达到迭代的最大次数。

    HDL编码器还可以确定您的目标时钟频率是不可达到的,因为您的目标时钟周期小于您的设计中最大的原子组合逻辑组的延迟。

自动迭代优化如何工作

您可以指定时钟频率目标和最大迭代次数。HDL编码器对每个迭代执行以下步骤:

  1. 分析设计中的逻辑。

  2. 生成的代码。

  3. 使用合成工具对生成的代码进行分析,得到后图时序分析数据。

  4. 使用时序分析数据对设计进行反向注释。

  5. 插入管道寄存器以中断关键路径。

  6. 平衡延迟。

  7. 将迭代数据保存在一个新文件夹中。

当HDL Coder达到了您的时钟频率目标或者达到了最大迭代次数时,它将生成的代码和迭代数据保存在一个新文件夹中,并生成描述最终关键路径的报告。

自动迭代优化输出

当HDL Coder退出优化循环时,它将最终迭代的结果保存在一个文件夹中,hdlsrc /your_model_name/ hdlexpl /最后的-时间戳

最终的迭代文件夹包含:

  • 生成的HDL代码,在hdlsrc /your_model_name

  • 一个数据文件,cpGuidance.mat,您可以使用原始模型重新生成代码,而无需重新运行迭代优化。

  • 优化报告,summary.html

HDL编码器也可以节省

自动迭代优化报告

HDL Coder为最终的优化迭代生成一个报告,并保存在最终的迭代文件夹中,hdlsrc /your_model_name/ hdlexpl /最后的-时间戳

最终的优化报告,summary.html,载有以下内容:

  • 总结部分,与:

    • 最终关键路径延迟。

    • 每个迭代的关键路径延迟时间和运行时间。

  • 诊断部分,:

    • 在最后的迭代中停止的原因。

    • 模型或块设置,可以降低关键路径分析的准确性。

      如果您的模型有这些设置,请在可能的地方删除它们,然后重新运行hdlcoder.optimizeDesign。一些优化,如分布式管道和约束输出管道,在编码器分析关键路径后更改管道寄存器的位置。

    • 关键路径描述,它显示了作为关键路径一部分的原始模型和生成模型中的信号和组件。

      您可能会看到一条消息,说关键路径上的信号或组件无法追溯到原始模型。HDL编码器可能无法将您的设计的内部表示映射回原始设计。每次优化迭代都会改变内部表示,因此最终的表示可能具有不同于最初设计的结构。

自动迭代优化的需求

您的合成工具必须是Xilinx®ISE或Xilinx Vivado®,目标设备必须是Xilinx FPGA。

自动迭代优化的局限性

  • 在当前版本中,自动迭代优化不支持Altera金宝app®硬件。

  • 运行自动迭代优化可能需要很长时间,这取决于设计的复杂性。为了减少时间成本,hdlcoder.optimizeDesign可以从以前的运行中重新生成代码,或从中断的运行中恢复。

  • 自动迭代优化只能从命令行中获得。

  • HDL编码器使用后地图计时信息,这是合成工具在执行地点和路线之前生成的。地图后时序信息的准确性不如合成工具在位置和路径后生成的时序信息,但获取速度更快。

另请参阅