vivado Placement、时钟和I/O放置、全局布局、详细布局和布局后优化

安置

Vivado Design Suite放置程序将网表中的单元放置到目标AMD中的特定站点上装置与其他实现命令一样,Vivado放置程序工作于并更新,内存中的设计。

设计布局优化

Vivado砂矿器同时优化了以下方面的设计布局:

•定时松弛:选择在定时关键路径中放置单元,以最大限度地减少负松弛。

•电线长度:驱动整体放置,以最大限度地减少连接的整体电线长度。

•堵塞:Vivado砂矿器监测引脚密度并传播细胞以降低潜力路由拥塞。

设计规则检查

在开始放置之前,Vivado实现运行设计规则检查(DRCs),包括用户从report_drc中选择的DRCs,以及Vivado放置程序内部的内置DRCs。内部的DRCs检查非法放置,例如没有LOC约束和I/O的内存IP单元IOSTANDARD冲突的银行。

时钟和I/O放置

在设计规则检查之后,Vivado放置器在放置其他逻辑之前放置时钟和I/O单元细胞。时钟和I/O单元是同时放置的,因为它们通常通过复杂的特定于目标AMD设备的放置规则。对于UltraScale、UltraScale+和Versal设备,放置器还分配时钟轨道并预先路由时钟。向IOB注册单元格在此阶段处理属性,以确定哪些寄存器的IOB值为TRUE应映射到I/O逻辑站点。如果砂矿商未能兑现TRUE的IOB财产,则发出严重警告。

Placer目标

此放置阶段的放置目标是:

•I/O端口及其相关逻辑

•全局时钟缓冲器

•时钟管理瓦片(MMCM和PLL)

•千兆收发器(GT)电池

放置非固定逻辑当在放置的这个阶段放置未固定的逻辑时,放置器坚持物理约束,例如LOC属性和Pb块分配

重要!由于设备I/O架构的原因,LOC属性通常会约束单元以外的单元LOC已被应用于其。输入端口上的LOC也固定其相关I/O缓冲器的位置,IDELAY和ILOGIC。冲突的LOC约束不能应用于输入路径中的单个单元格。这同样适用于输出和GT相关单元。

时钟资源放置规则

时钟资源必须遵循7系列FPGA时钟中描述的放置规则

《资源用户指南》(UG472)、《UltraScale体系结构时钟资源用户指南”(UG572)和Versal自适应SoC时钟资源体系结构手册(AM003)。例如,一个输入驱动器全局时钟缓冲区必须位于具有时钟功能的I/O站点,必须位于对于7个串联器件,器件的相同上半部分或下半部分,以及对于UltraScale设备。这些时钟放置规则也会根据逻辑网表进行验证连接和设备站点。

当时钟和I/O放置失败时

如果Vivado放置程序无法找到时钟和I/O放置的解决方案,则放置程序会报告违反的放置规则,并简要描述了受影响的单元格。安置可能会因为以下几个原因而失败:

•冲突约束导致的时钟树问题

•时钟树问题过于复杂,砂矿商无法解决

•RAM和DSP块的放置与其他约束冲突,如Pb块

•资源过度利用

•I/O银行要求和规则

在某些情况下,Vivado放置器会临时在现场放置细胞,并试图放置其他细胞单元,因为它试图解决放置问题。临时安置往往会确定时钟和I/O放置故障的来源。手动放置临时失败的单元格放置可能有助于放置收敛。

提示:首先使用place_ports运行时钟和I/O放置步骤。然后运行place_design。如果端口放置失败,放置为

全局布局、详细布局和布局后优化

在时钟和I/O放置之后,剩余的放置阶段包括全局放置,详细放置和放置后优化。

Global Placement

全球布局包括两个主要阶段:布局规划和物理合成。

平面布置阶段

在布局规划过程中,将设计划分为相关逻辑和初始位置的集群是基于I/O和时钟资源的放置来选择的。Pblock约束被视为即使将IS_SOFT属性设置为True。针对SSI时该设计还被划分为不同的SLR,以最大限度地减少SLR交叉及其相关的延迟处罚。可以应用软SLR平面布置图约束来指导逻辑在此阶段进行分区。有关使用软SLR平面图约束的更多信息,请参阅《FPGA和SoC的超快设计方法指南》(UG949)。

物理合成阶段

在物理合成过程中,放置器可以执行各种物理优化基于之后设计的初始布局,优化网表以用于后续布局阶段平面布置阶段。例如,对于基于扇出的复制,复制的驱动程序可以与其负载位于同一位置,因为初始位置是已知的。这可以缓解拥堵在之前不知道放置的情况下进行复制时引入place_design。优化是基于内部参数和时间来考虑的基于优化,如果时间为改进。如中所示,提供了以下优化,如下图所示。

•LUT分解和组合:如果LUT分解有所改善,则会破坏LUT形状定时(仅考虑具有SOFT_LUTNM属性的LUT)。LUT组合组合LUT,如果它提高了利用率。

•基于属性的重定时:基于属性的重新定时通过在寄存器或LUT上设置属性。这种优化非常适合具有在计时起点或终点上有足够的裕度。两个属性控制PSIP中的重定时。值为TRUE的PSIP_RETIMING_BACKWARD执行反向重定时,并且值为TRUE的PSIP_RETIMING_FORWARD执行正向重定时。属性可以应用于寄存器或LUT。当值为TRUE的PSIP_RETIMING_FORWARD为施加到寄存器,PSIP在由的Q引脚驱动的所有LUT负载上正向重定时登记当具有值TRUE的PSIP_ RETIMING_,驱动LUT的寄存器将被移动到LUT的输出。

当值为TRUE的PSIP_RETIMING_BACKWARD应用于LUT基元时由LUT驱动的寄存器将被移动到LUT输入。支持多级重定时将所述特性应用于沿着所述路径的所有LUT基元。所有重定时的单元格都将具有PHYS_OPT_MODIFIED属性设置为RETIMING。以下情况不适用于退休:

•在宏之间移动逻辑,如BRAM、UltraRAM和DSP

•在I/O站点中打包注册

•具有不同起点/终点时钟的路径

•有定时例外的路径

•阻止优化的属性,如DONT_TOUCH、ASYNC_REG等。

•极高扇出优化:极高扇出最优化复制寄存器驱动高扇出网(扇出>1000,松弛<2.0 ns)。

•关键细胞优化:关键细胞优化在故障路径中复制细胞。如果特定单元格上的负载相距很远,该单元格可能会使用新的驱动程序进行复制放置得更靠近负载集群。这种优化通常适用于驱动大块RAM的网络或URAM阵列或大量DSP,因为这些块的位置分布在更宽的范围内设备的区域。这种优化不需要高扇出(间隙<0.5ns)。

•扇出优化:MAX_Fanout属性值小于实际值的网络网络的扇出被考虑用于扇出优化。用户可以强制复制通过将FORCE_ MAX_。FORCE_MAX_FANOUT的值指定网络的最大物理扇出应该在复制优化后进行。在这种情况下,物理扇出是指实际的站点引脚负载,而不是逻辑负载。例如,如果复制副本驱动多个LUTRAM所有分组在同一切片中的负载,所有的组合扇出将为1同一切片中的LUTRAM。FORCE_MAX_FANOUT在物理过程中强制复制合成,而不管信号的松弛。用户可以基于物理具有MAX_FANOUT_MODE属性的设备属性。该物业可以承担CLOCK_REGION、SLR或MACRO的值。例如,MAX_FANOUT_MODE特性值为CLOCK_REGION的情况下,基于物理时钟区域复制驱动器放置在同一时钟区域中的负载将聚集在一起。MAX_FANOUT_MODE属性优先于FORCE_MAX_FANOUT属性和物理合成将尝试通过首先应用基于MAX_FANOUT_MODE的优化,然后全部其复制的驱动程序将继承FORCE_MAX_FANOUT属性以进行进一步的复制在时钟区域内。下图示例中说明了这一点,其中寄存器驱动四个载荷;两个寄存器和两个MACRO负载(块RAM、UltraRAM或DSP)。复制为寄存器加载和MACRO加载提供单独的驱动程序,然后为将复制MACRO加载,直到满足FORCE_MAX_FANOUT属性值。

注意:此优化发生在砂矿的早期。在放置器的后期阶段作为时间精度提高,复制的源寄存器和/或加载寄存器都可以移动到不同的时钟区域或SLR。

•DSP寄存器优化:DSP寄存器优化可以将寄存器移出DSP单元进入逻辑阵列或从逻辑到DSP单元,如果它改善了关键路径上的延迟的话。

•移位寄存器到流水线优化:移位寄存器到管线优化转换移位将具有固定长度的寄存器添加到动态调整的寄存器管道并放置管道以最佳方式改善定时。仅PHYS_SRL2PPIPELINE属性设置为TRUE的SRL被考虑用于该优化。FF的拉动/推动发生在SRL的Q引脚上。这个SRL长度需要固定,并且此优化不支持动态SRL。

•移位寄存器优化:移位寄存器优化改善了负间隙的定时移位寄存器单元(SRL)和其他逻辑单元之间的路径。

•块RAM寄存器优化:块RAM寄存器的优化可以将寄存器移出将块RAM单元转换为逻辑阵列或从逻辑转换为块RAM单元(如果它改进了关键路径上的延迟。

•URAM寄存器优化:UltraRAM寄存器优化可以将寄存器移出UltraRAM单元插入逻辑阵列或从逻辑单元到UltraRAM单元(如果它改善了上的延迟)关键路径。

•动态/静态区域接口网络复制:优化以在静态上复制驱动程序DFX流中可重构模块边界路径的设计。

•等效驱动器重新布线优化:此优化在以最小化路由重叠并提供驱动器和负载的更优化的协同定位。这有助于减少利用率和拥塞,并允许以后放置阶段,以更优化地移动驱动器和负载,从而提高QoR。有关这些优化的更多信息,请参阅物理优化部分。砂矿中的物理合成默认在所有砂矿中运行指令。在物理合成阶段结束时,一个表显示了优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/541556.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

扩展资料主机名到IP地址的有两种方式:DNS

中国联通的DNS地址有两种。 主 DNS 为“210.21.4.130”&#xff0c;备用 DNS 为“221.5.88.88”。 每个 IP 地址可以有一个主机名。 主机名由一串或多串字符组成。 用小数点分隔字符串。 对于中国联通宽带用户&#xff0c;主DNS设置为&#xff1a;210.21.4.130&#xff0c;备用…

【CTF笔记】 CTF web方向笔记分享 免费 附预览图

个人不怎么记东西&#xff0c;笔记不多&#xff0c;师傅们凑合看… 百度网盘&#xff1a;https://pan.baidu.com/s/1PspihUX28Y_AOQZPurHqKA 麻烦各位师傅帮忙填写一下问卷&#xff0c;提取码在问卷填写结束后显示~ 【https://www.wjx.cn/vm/mBBTTKm.aspx# 】 &#xff08;…

C++面试题和笔试题(四)

一、intx[6][4],(*p)[4];px;则*(p2)指向哪里&#xff1f; A X[0][1]B X[0][2]C X[1][0]D X[2][0] 官方解释&#xff1a; D int x[6][4], (*p)[4]; p x; 在这里&#xff0c;x 是一个二维数组&#xff0c;它有6行和4列。p 是一个指向具有4个整数的数组的指针。 当你执行…

鸿蒙Next学习-Flex布局

Entry Component struct FlexCase {build() {//需要在构造参数上传Flex({ direction: FlexDirection.Row,justifyContent:FlexAlign.Center }) {//flex布局Row().width(100).height(100).backgroundColor(Color.Red)Row().width(100).height(100).backgroundColor(Color.Yellow…

【DL经典回顾】激活函数大汇总(十三)(Sinc SwiGLU附代码和详细公式)

激活函数大汇总&#xff08;十三&#xff09;&#xff08;Sinc & SwiGLU附代码和详细公式&#xff09; 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里&#xff0c;激活函数扮演着不可…

使用智能型档案密集架的原因及意义是什么

智能密集架是一种具有智能化功能的存储设备&#xff0c;用于存放和管理各种物品或设备。它通常采用高度集成的设计&#xff0c;能够最大限度地利用储物空间&#xff0c;实现物品的紧凑存放。 使用专久智能智能型档案密集架的原因和意义有以下几点&#xff1a; 1. 节省空間&…

外卖平台订餐流程架构的实践

当我们想要在外卖平台上订餐时&#xff0c;背后其实涉及到复杂的技术架构和流程设计。本文将就外卖平台订餐流程的架构进行介绍&#xff0c;并探讨其中涉及的关键技术和流程。 ## 第一步&#xff1a;用户端体验 用户通过手机应用或网页访问外卖平台&#xff0c;浏览菜单、选择…

openGauss学习笔记-243 openGauss性能调优-SQL调优-典型SQL调优点-子查询调优

文章目录 openGauss学习笔记-243 openGauss性能调优-SQL调优-典型SQL调优点-子查询调优243.1 子查询调优243.1.1 子查询背景介绍243.1.2 openGauss对SubLink的优化243.1.3 更多优化示例 openGauss学习笔记-243 openGauss性能调优-SQL调优-典型SQL调优点-子查询调优 SQL调优是一…

解决安装 unbantu 后,桌面字体太小,无法调节的问题

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 一、问题描…

什么软件可以剪辑录音?录音剪辑推荐3款工具

随着数字技术的发展&#xff0c;录音已经成为我们日常生活和工作中不可或缺的一部分。无论是会议记录、课堂笔记&#xff0c;还是音乐创作、语音聊天&#xff0c;我们都需要用到录音功能。然而&#xff0c;单纯的录音往往不能满足我们的需求&#xff0c;我们还需要对录音进行剪…

C++进阶之路---手把手带你学习AVL树

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、AVL树的概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#…

HTML—CSS盒子模型(Box Model)

基本介绍&#xff1a; CSS处理网页时&#xff0c;HTML的每一个标签可以看作是一个盒子&#xff0c;网页布局将指定的标签放到指定的位置上摆放&#xff0c;相当于摆放盒子。 每一个标签(盒子)所包含的内容&#xff1a;从外到内 ①外边距(margin)—规定盒子与盒子之间的距离&…