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

news2025/1/14 19:29:06

安置

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.coloradmin.cn/o/1519497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1本“On Hold”期刊被剔除!3月Scopus期刊目录已更新!

【SciencePub学术】 2024年3月&#xff0c;Scopus数据库迎来本年度第三次更新&#xff01;此次更新后&#xff0c;有86本期刊发生变动&#xff1a; • 剔除&#xff1a;有5本期刊不再被Scopus数据库收录&#xff08;Discontinued titles Feb. 2024&#xff09;&#xff1b; •…

OJ_点菜问题(背包问题)

题干 C实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<vector> using namespace std;int main() {int c, n;scanf("%d%d", &c, &n);int p[101];int v[101];for (int i 0; i < n; i){scanf("%d%d", &p[i],…

swagger踩坑之请求类不显示具体字段

swagger踩坑之请求类不显示具体字段 省流&#xff1a;枚举字段需要加上ApiModelProperty注解 过程复现&#xff1a; TestEnum 枚举不加注解&#xff0c;swagger的UI类不显示详细字段 Data Accessors(chain true) ApiModel(value "test对象", description &quo…

“优化消费环境 维护消费者权”荥阳市城关乡社工站开展3·15宣传志愿活动

又是一年“315”&#xff0c;为提高辖区群众消费维权意识&#xff0c;让他们可以学会运用政策法律知识维护自身合法权益&#xff0c;同时也为营造出辖区良好营商环境。2024年3月15日&#xff0c;在荥阳市民政局、荥阳市市场监督管理局、城关乡人民政府的支持下&#xff0c;城关…

Gitee 实战配置

一、Gitee 注册帐号 官网:https://gitee.com点击注册按钮。填写姓名。填写手机号。填写密码。点击立即注册按钮二、安装GIT获取公钥 1.官网下载git下载地址:https://git-scm.com/download/win 2.安装git,双击运行程序,然后一直下一步,直至完成。 3.安装完成后,在 CMD 命令…

YOLOv8 | 有效涨点,添加GAM注意力机制,使用Wise-IoU有效提升目标检测效果(附报错解决技巧,全网独家)

目录 摘要 基本原理 通道注意力机制 空间注意力机制 GAM代码实现 Wise-IoU WIoU代码实现 yaml文件编写 完整代码分享&#xff08;含多种注意力机制&#xff09; 摘要 人们已经研究了各种注意力机制来提高各种计算机视觉任务的性能。然而&#xff0c;现有方法忽视了…

【SQL Server】实验六 数据安全性

1 实验目的 掌握用户管理的基本方法&#xff0c;包括创建用户、删除用户和设置用户密码。掌握用户授权和回收权限的基本方法。掌握系统级权限和对象级权限的授权和回收方法掌握角色的使用方法 2 实验内容 2.1 掌握用户管理的基本使用方法 创建用户&#xff08;带密码&#…

vue3项目随笔1

1,Eslint Prettier 报错情况&#xff1a; 解决办法&#xff1a; &#xff08;1&#xff09;下载Prettier - code formatter &#xff08;2&#xff09;配置setting.json文件 文件 -> 首选项 -> 设置 -> 用户 -> Eslint "editor.defaultFormatter":…

C语言函数—递归理解和练习

练习&#xff1a; 编写函数不允许创建临时变量&#xff0c;求字符串的长度。 我们看到这道题&#xff0c;第一个想到的是不是strlen int main() {char[] "bit";//[b][i][t][\0]//里面一共4个字符&#xff08;包括结尾的、0&#xff09;但是我们的strlen函数并不会计…

谷歌网络营销方案有几种?​

谷歌作为海外的头部工具&#xff0c;本身其实就有多种工具可以供你使用&#xff0c;在这里说说谷歌那些工具 Google My Business&#xff0c;对于小企业或者本地服务来说&#xff0c;把自己的业务信息优化并完善在Google My Business上是个不错的选择。这样当人们在附近搜索相…

可视化场景(4):财务场景,公司经营的晴雨表。

在财务场景中&#xff0c;可视化大屏具有以下8个应用价值&#xff1a; 销售和收入分析 可视化大屏可以展示销售额、收入来源、销售渠道等数据&#xff0c;帮助财务团队分析销售趋势和收入结构&#xff0c;发现潜在的增长机会和问题。 成本和费用管理 可视化大屏可以显示成本…

蓝桥杯2022年第十三届省赛真题-裁纸刀

443 对于m行n列 次数 4 m - 1 (n-1)*m 其中4是裁掉边缘&#xff1b;行需要裁m-1次&#xff1b;每个小长条需要裁n-1次&#xff0c;一共有m个小长条

MFMailComposeViewController 发送邮件

通过 MFMailComposeViewController 发送邮件,需预先登录邮箱账号的情况下; 具体实现与配置参数请参考如下: 首先,引入 MFMailComposeViewController 库 #import <MessageUI/MessageUI.h> 其次,实现相关 api 方法 if ([MFMailComposeViewController canSendMail]) {MFM…

通过spring boot/redis/aspect 防止表单重复提交【防抖】

一、啥是防抖 所谓防抖&#xff0c;一是防用户手抖&#xff0c;二是防网络抖动。在Web系统中&#xff0c;表单提交是一个非常常见的功能&#xff0c;如果不加控制&#xff0c;容易因为用户的误操作或网络延迟导致同一请求被发送多次&#xff0c;进而生成重复的数据记录。要针…

解决ubuntu 22.04新内核6.5.0-15无法编译NVIDIA显卡驱动

这里的新内核应该包括6.5.*系列的 文章目录 遇到的问题&#xff1a; 遇到的问题&#xff1a; 今天我在安装NVIDIA显卡驱动发现了一个问题&#xff0c;主要日志如下所示&#xff1a; make[3]: *** [scripts/Makefile.build:251: /tmp/selfgz1310041/NVIDIA-Linux-x86_64-550.5…

综合利用Cisco Packet Tracer模拟器配置园区网

1. 内容 1.在课室交换机中创建各个课室的VLAN&#xff0c;并将1-20端口平均分配给各个课室。 2.使用课室交换机的每个端口只能接入一台计算机&#xff0c;发现违规就丢弃未定义地址的包。3.网络内部使用DHCP分配各课室的IP地址&#xff0c;在课室交换机按照第一题划分的VLAN地…

蜡烛图K线图采用PictureBox控件绘制是实现量化交易的第一步非python量化

用vb6.0开发的量化交易软件 VB6量化交易软件的演示视频演示如上 股票软件中的蜡烛图是非常重要的一个东西&#xff0c;这里用VB6.0自带的Picture1控件的Line方法就可以实现绘制。 关于PictureBox 中的line 用法 msdn 上的说明为如下所示 object.Line [Step] …

C#使用迭代算法计算斐波那契数列通项

目录 1.斐波纳契数列 2.迭代一次产生1个新的通项 3.迭代一次产生2个新的通项 1.斐波纳契数列 斐波纳契数列的定义是&#xff0c;它的第一项和第二项均为1&#xff0c;以后各项都为前两项之和。 公式如下&#xff1a; F(n) F(n-1) F(n-2) 其中&#xff0c;F(1) 0,…

CTP-API开发系列之十:v6.7.0-Python版封装(Windows/Linux)(附源码)

CTP-API开发系列之十&#xff1a;v6.7.0-Python版封装&#xff08;Windows/Linux&#xff09;&#xff08;附源码&#xff09; CTP-API开发系列之十&#xff1a;v6.7.0-Python版封装&#xff08;Windows/Linux&#xff09;&#xff08;附源码&#xff09;资源获取准备工作Windo…

实验2 芯片测试算法设计

一、【实验目的】 &#xff08;1&#xff09;理解分治策略的设计思想&#xff1b; &#xff08;2&#xff09;熟悉将伪码转换为可运行的程序的方法&#xff1b; &#xff08;3&#xff09;能够根据算法的要求设计具体的实例。 二、【实验内容】 有n片芯片&#xff0c;其中好芯片…