设计创建简介 在规划器件 I/O 管脚,规划如何布局 PCB 以及决定 Vivado ® Design Suite 的使用模型后,就可以开始创建设计。设计 创建包括: • 规划设计的层级 • 确定设计中所需要的 IP 核并定制这些 IP 的配置 • 对于无法找到合适 IP 的互联逻辑和功能,为其创建定制 RTL ; • 创建时序约束,功耗,和物理约束 • 指定综合与实现阶段所使用的额外约束、属性及其它元件 创建设计时,主要的考虑因素包括: • 实现所需的功能 • 在预期的频率上工作 • 按预期可靠地工作 • 符合芯片资源和功耗预算要求 在此阶段做出的决策将影响最终产品。在这一阶段的错误决策会导致后续阶段问题层出不穷,进而造成整个设计周期 中不断返工。在过程的早期花费时间仔细规划您的设计有助于确保您实现您的设计目标,并尽量减少实验室中的调试 时间。 定义理想的设计层级 设计创建的第一步是决定如何对设计进行逻辑分区。定义层级时主要考虑的是如何将含有特定功能的设计部分进行分 区。这样便于特定设计人员单独设计 IP ,以及隔离一段代码以供重用。 但仅根据功能来确定层级,会导致对时序收敛、运行时间和调试的优化方法考虑不周。在层级规划过程考虑到如下因 素也有助于时序收敛。 靠近顶层添加 I/O 组件 尽可能地靠近顶层添加 I/O 组件,以实现设计可靠性。引用组件时,提供要完成功能的描述。然后,使用综合工具解 释 HDL 代码以确定使用哪些硬件组件来执行该功能。可引用的组件有简单的单端 I/O ( IBUF 、 OBUF 、 OBUFT 与 IOBUF )以及 I/O 中的单数据速率寄存器。 需要例化的 I/O 组件也应该于靠近顶层处进行例化,如差分 I/O ( IBUFDS 、 OBUFDS )和双数据速率寄存器 ( IDDR 、 ODDR 、 ISERDES 、 OSERDES )。例化组件时,将组件的示例添加到 HDL 文件。例化可以让您完全控制组件的使用方 式。因此,你就知道逻辑是如何使用的。 在顶层附近插入时钟元件 朝顶层方向插入时钟元件便于模块间的时钟共享。时钟共享可以减少时钟资源占用,从而提高资源利用率,提升性能, 并降低功耗。 除了创建有时钟的模块之外,时钟路径只能驱动进入模块。任何自上而下,然后又自下而上贯穿的路径会在 VHDL 仿 真中造成 delta cycle 问题,也就是说调试工作既艰难又费时。 在逻辑边界上寄存数据路径 层级边界输出加寄存器是为了将关键路径限定在单个模块或边界之内。也可以在层级边界考虑输入加寄存器。通常而 言,分析并修复位于一个模块中的时序路径比跨多个模块的路径要容易得多。任何在层级边界上的路径为寄存器化, 都应在重建层级或扁平化层级的条件下完成综合,以实现跨层级优化。在逻辑边界上寄存数据路径有助于在整个设计 进程中保持 (用于调试的)可跟踪性,因为这样可以尽量避免跨层级优化,逻辑也不必跨模块移动。 妥善考虑布局规划事项 布局规划可确保属于设计网表中特定区域的单元布局在器件的特定位置。可以使用手动布局规划来完成以下操作: • 在使用 SSI 器件时,要为特定 SLR 分区逻辑。 • 在使用标准流程无法满足时序要求时,收敛时序。 如果有单元未限定在一个层级上,所有对象必须分别纳入布局规划约束中。如果这些对象的名称在综合后发生改变, 必须更新约束。理想的布局规划应限定在一个层级上,因为这样做只需要一行约束。 不是随时都需要布局规划。必要时才进行布局规划。 如需了解更多布局规划的信息,请参阅 《 Vivado Design Suite 用户指南:设计分析和收敛技术》 (UG906) [ 参照 23] 中 的 链接 。 建议: 虽然 Vivado 工具允许跨层级布局规划,但维护工作也由此增加。应尽量避免跨层级布局规划。 针对功能和时序调试优化层级 如本章前文所述,把关键路径限定在同一层级边界内有助于时序的调试和满足时序要求。同样,出于功能调试 (及修 改)目的,相关信号应限定在同一层级上。这允许相对容易地探测和修改相关信号,因为当包含在单个层级中时,通 过综合优化的信号名称更容易跟踪。 在模块级应用属性 在模块级应用属性可让代码更加简洁和更具可扩展性。不应在信号级应用属性,而应在模块级应用属性,然后把属性 传输给这个区域内调用的所有信号。在模块级应用属性还能覆盖全局综合选项。因此,为在 RTL 中应用模块级约束, 有时增加一个层级会比较好。 注意! 某些属性 (例如 DONT_TOUCH )不会从一个模块传输到该模块内的所有信号。 针对高级设计技术优化层级 自下而上综合、部分重配置和无关联 (OOC) 设计等高级设计技术要求在层级上进行规划。设计必须根据使用的设计技 术选择合适的层级。本文不对这些技术做详细介绍。如需了解更多信息,请参阅 《 Vivado Design Suite 用户指南:层 级设计》 (UG905) [ 参照 22] 中的 链接 。
标签:层级,创建,时序,vivado,模块,组件,设计,规划 From: https://blog.csdn.net/cckkppll/article/details/143815984