实施设计
在非项目中运行实施模式
在非项目中的目标AMD设备上实现合成设计或网表模式下,您必须运行与实现子进程对应的Tcl命令:
•Opt Design(Opt_Design):优化逻辑设计,使其更容易适应目标AMD设备。
•Power Opt设计(Power_Opt_Design)(可选):优化设计元素以减少目标AMD设备的功率需求。
•放置设计(Place_Design):将设计放置到目标AMD设备上并进行复制逻辑以改进时序。
•放置后电源选择设计(Power_Opt_Design)(可选):额外优化放置后降低功率。
•放置后物理选项设计(Phys_Opt_Design)(可选):优化逻辑和放置使用基于放置的估计定时。包括复制高扇出驱动程序。
•路由设计(Route_Design):将设计路由到目标AMD设备上。
•路由后物理选择设计(Phys_Opt_Design)(可选):优化逻辑、布局,以及使用实际路由延迟进行路由。
•写入比特流(Write_Bitstream):为AMD设备配置生成比特流AMD Versal™自适应SoC除外。通常,比特流生成如下实施
•写入设备映像(Write_Device_Image):为生成可编程设备映像对Versal设备进行编程。
有关写入比特流或创建设备映像的更多信息,请参阅第节在Vivado设计套件中生成比特流用户指南:编程和调试(UG908)。这些步骤统称为实施。在任意中输入命令以下方式:
•在AMD Vivado™IDE的Tcl控制台中。
•从Vivado Design Suite Tcl外壳中的Tcl提示符。
•将Tcl脚本与实现命令一起使用,并在Vivado中获取脚本设计套件。
非项目模式示例脚本
以下脚本是在非项目模式下运行实现的示例。假设该脚本名为run.tcl,您可以使用tcl中的source命令调用该脚本壳
注意:read_xdc步骤从xdc文件中读取xdc约束,并将约束应用于设计物体。因此,所有网表文件都必须读取到Vivado中,并且应在之前运行link_designread_xdc,以确保xdc约束可以应用于其预期的设计对象。
非项目模式中的关键步骤示例脚本
非项目模式示例脚本中的关键步骤如下:
•步骤1:读取设计源文件
•第2步:构建内存设计
•第3步:阅读设计约束
•第4步:执行逻辑优化
•第5步:放置设计
•第6步:设计路线
•步骤7:运行所需报告
•步骤8:保存设计检查点
步骤1:读取设计源文件
通过使用read_EDIF命令将EDIF网表设计源读取到存储器中。非项目模式还支持RTL设计流,它允许您读取源文件和在实现之前运行合成。使用read_checkpoint命令可以将合成的设计检查点文件添加为源。read_*Tcl命令设计用于非项目模式。读数_*Tcl命令允许Vivado工具读取磁盘上的文件并构建内存中的设计而无需复制该文件或创建对该文件的依赖关系。
这种方法使非项目模式在设计方面具有高度的灵活性。
重要!您必须监视对源设计文件的任何更改,并根据需要更新设计。
步骤2:构建内存中的设计
Vivado工具使用link_design构建设计的内存视图。这个link_design命令将读取到工具中的基于网表的源文件与AMD零件信息,在内存中创建设计数据库。有两个重要的链接设计选项:
•-part选项指定目标设备。
•-top选项指定了实现的顶层设计。如果顶级网表是EDIF
并且没有指定-top选项,Vivado工具将使用嵌入EDIF网表。如果顶级网表不是EDIF而是结构Verilog,则-top选项为必修的。-top选项也可以用于指定子模块作为顶部,例如当运行模块分析流以估计性能和利用率时。在非项目模式下执行的所有操作都指向Vivado中的内存数据库工具。
内存中的设计驻留在Vivado IDE中,用于与图形形式工具,无论是在批处理模式下运行,还是在交互式Tcl的Tcl shell模式下运行命令,或在
步骤3:阅读设计约束
Vivado Design Suite使用设计约束来定义物理和设计的时序特性。有关更多信息,请参阅使用设计约束进行指导实施。
read_xdc命令读取xdc约束文件,然后将其应用于内存中的设计。
提示:尽管“项目模式”支持定义约束集,但包含多个约束文件出于不同的目的,非项目模式使用多个readxdc命令来实现相同的效果。
步骤4:执行逻辑优化
运行逻辑优化是为了准备放置和布线。优化简化了在承诺目标部件上的物理资源之前进行逻辑设计。Vivado网表优化器包括许多不同类型的优化,以满足不同的需求设计要求。有关详细信息,请参见逻辑优化。
第5步:放置设计
place_design命令用于放置设计。有关详细信息,请参见放置。之后放置时,使用write_checkpoint将进度保存到设计检查点文件中命令
第6步:设计路线
route_design命令用于路由设计。有关详细信息,请参阅路由。
步骤7:运行必需的报告
report_timing_summary命令运行时序分析并生成时序报告以及时间违规的详细信息。report_utilization命令生成的摘要所使用的设备资源的百分比以及其他利用率统计信息。在非项目模式下,必须使用适当的Tcl命令指定要想要创建。每个报告命令都支持-file选项,以将输出定向到文件。有关的更多信息,请参阅Vivado Design Suite Tcl命令参考指南(UG835)report_timing_summary命令和report_utilization命令。您可以将报告输出到文件中供以后查看,也可以将报告直接发送到VivadoIDE现在进行审查。有关更多信息,请参阅查看实施报告。
步骤8:保存设计检查点
将内存中的设计保存到设计检查点文件中。保存在内存中的设计包括以下内容:
•逻辑网表
•物理和时间相关限制
•AMD零件数据
•位置和路线信息
在非项目模式下,设计检查点文件保存设计并允许重新加载
进一步分析和修改。有关详细信息,请参阅使用检查点保存和恢复设计快照。