关于Vivado的实施过程
AMD Vivado™设计套件可实现以下AMD设备体系结构:AMD Versal™自适应计算加速平台(自适应SoC),AMDUltraScale™、AMD UltraScale+™和AMD 7系列FPGA。各种设计来源如下支持,包括:
•RTL设计
•网表设计
•以IP为中心的设计流程
图1:Vivado Design Suite高级设计流程显示了Vivado工具的流程。
Vivado实现包括将网表放置并路由到设备上所需的所有步骤资源,在设计的逻辑、物理和时间限制内。有关Vivado工具支持的设计流程的更多信息,请参阅Vivado设计套件用户指南:设计流程概述(UG892)。
SDC和XDC约束支持
Vivado设计套件的实现是一个定时驱动的流程。它支持行业标准Synopsys设计约束(SDC)命令,用于指定设计要求和限制,像以及Xilinx设计约束格式(XDC)的附加命令。
Vivado实施子流程
Vivado设计套件的实现过程将逻辑网表和约束转换为放置和路由的设计,为比特流生成做好准备。实施过程步行通过以下子过程:
1.Opt设计:优化逻辑设计,使其更容易安装到目标AMD设备上。
2.功率选择设计(可选):优化设计元素以降低的功率需求目标AMD设备。
3.放置设计:将设计放置到目标AMD设备上并执行扇出复制以改进时机。
4.放置后功率选择设计(可选):额外优化,以降低放置后的功率安置
5.放置后Phys Opt设计(可选):使用估计的时间优化逻辑和放置基于位置。包括复制高扇出驱动程序。
6.路由设计:将设计路由到目标AMD设备上。
7.路由后物理选择设计(可选):使用实际路由优化逻辑、布局和路由路由延迟。
8.写入比特流:为AMD设备配置生成比特流。通常,比特流生成遵循实现。
有关写入比特流的更多信息,请参阅生成比特流一节或Vivado Design Suite用户指南中的设备映像:编程和调试(UG908)。
注:Vivado设计套件支持模块分析,这是设计的一部分的实现以评估性能。跳过此流的I/O缓冲区插入,以防止I/O的过度利用。对于更多信息,请在Vivado Design Suite用户指南:分层设计中搜索“模块分析”(UG905)。
使用Vivado Tools的多线程
在多处理器系统上,Vivado工具使用多线程来加快某些进程,包括DRC报告、静态时序分析、布局和路由。的最大数量同时执行的线程会有所不同,这取决于处理器和任务的数量。最大值按任务划分的线程数为:
•DRC报告:8
•静态时序分析:8
•位置:8
•路由:8
•物理优化:8
默认的最大同时线程数取决于操作系统。对于Windows系统,极限为2;对于Linux系统,默认值为8。可以使用更改限制名为general.maxThreads的参数。要更改限制,请使用以下Tcl命令:
其中,新的限制必须是从1到8(包括1到8)的整数。
Tcl在Windows系统上的示例:
这意味着所有任务都被限制为两个线程,而不考虑处理器数量或任务正在执行。如果系统至少有八个处理器,则可以将限制设置为8并允许每个任务使用最大线程数。
总之,同时执行的线程数是以下值中最小的一个:
•处理器的最大数量
•任务的线程数限制
•螺纹的一般限制
平行管路
Vivado通过提供launch_runs-jobs选项来支持并行启动设计运行指定同时运行的次数。每个同时运行是一个独立的过程,需要其自己的CPU和存储器资源。分配足够的资源来处理总的峰值计算需求是很重要的。例如,考虑一个设计运行,它通常报告20 GB RAM的峰值使用general.maxThreads设置为8。并行启动4次类似的运行需要32个处理器核心和大约80 GB的RAM,以避免由于竞争而导致的性能下降4个进程的计算资源。
Tcl API支持脚本
Vivado设计套件包括一个工具命令语言(Tcl)应用程序编程接口(API)。Tcl API支持所有设计流的脚本编写,允许您自定义设计流程以满足您的特定要求。
注意:有关Tcl命令的更多信息,请参阅Vivado Design Suite Tcl命令参考指南(UG835)或键入<command>-help。
按设计过程导航内容
AMD自适应计算文档是围绕一组标准设计组织的流程,帮助您找到当前开发任务的相关内容。所有AMD Versal™自适应SoC设计过程可以找到设计中心和设计流助手材料在Xilinx.com网站上。本文件涵盖以下设计过程:
•硬件、IP和平台开发:为硬件创建PL IP块平台,创建PL内核,功能模拟,并评估AMD Vivado™时序,资源使用和电源关闭。还包括开发系统的硬件平台整合。本文档中适用于此设计过程的主题包括:
•Vivado ECO Flow
•配置、实施和验证IP
•自动流水线