vivado 增量实施

增量实施

增量实现是指增量编译的实现阶段设计流程:

•通过重用参考设计中的先前布局和布线,保持QoR的可预测性。

•加快地点和路线的编制时间或尝试最后一英里的计时关闭。

下图提供了增量实现设计流程图。该图还说明了增量合成流程。有关增量的更多详细信息合成流程,请参阅Vivado Design Suite用户指南中的“增量合成”部分:合成(UG901)。

增量实施术语

增量流使用以前运行的变体以及当前设计变体。在里面为了保持清晰的理解,使用了以下术语:

参考设计

参考设计优选地是来自相同的最近迭代的完全路由检查点设计要使用不同的设计变体,重要的是参考设计与增量设计相匹配。虽然可以将放置的检查点用作作为参考,与路由检查点相比,效益会降低;计时将不那么一致,编译时间会更高。参考设计必须与设备相匹配,建议与工具版本相匹配但不是一个严格的要求。

增量设计

增量设计是要通过实现工具运行的更新设计。它可以包括RTL更改、网表更改或两者兼而有之,但这些更改通常应小于5%。在发出read_checkpoint-incremental命令之前,不知道正在使用增量实现流。因此,重要的是不要引入当与参考设计进行了比较。允许更改约束条件,但约束条件的普遍收紧将产生重大影响放置和路由,并且通常最好添加到增量流之外。运行增量地点和路线将增量设计加载到内存中后,通过加载使用read_checkpoint-incredential<dcp>命令参考设计检查点。Vivado读取参考检查点后,将采取以下操作:

•与参考运行中的物理优化相匹配的物理优化是在自动增量设计。

•将增量设计中的网表与参考设计进行比较,以确定匹配细胞和网。

•重复使用参考设计检查点的放置,将匹配单元格放置在增量设计。

•路由被重新用于在每个负载引脚的基础上路由匹配网络。如果负载销由于如果网表发生更改,则其路由将被丢弃,否则将被重用。有可能部分重复使用的路由。如果它提高了性能或有助于可路由性。参考设计和当前设计之间不匹配的设计对象为在增量放置完成后放置,并在布线完成后布线。

增量模式

当用户选择增量模式时,该工具可能仍然无法运行完整的增量流,如果它确定设计更改过多。增量实施通常运行如果细胞重复使用率高于80%。所选流量为:

•使用增量优化算法的完整位置和路线。放置和布线尽可能多地重复使用。目标WNS由以下两者的组合确定引用检查点和指令。根据提供的指令选择指令到read_checkpoint-incremental-directional<directional>开关。

•使用默认算法的完整位置和路线。放置和布管不会重复使用。目标WNS始终为0.000。指令取自提供给以下任意一个的指令开关place_design-指令<directive>或route_design-指令<指令>命令。

这一决定是在设计修改和小区匹配过程之后做出的read_checkpoint-增量命令。由于此评估是在更改后进行的设计是为了改进匹配,因此它与运行纯默认流不同这些变化是持久的。当进入增量模式时,可以看到以下消息:

INFO: [Place 46-42] Incremental Compile tool flow is being used. Default
place and route algorithms are bypassed.

自动增量

自动增量实现旨在利用的更快编译时间增量实施,同时不影响WNS等结果的质量。它是的子集具有更严格控制的完整增量流量,以确保性能不会降低。它有效符合以下标准:

1.仅当WNS>=-0.250 ns时才更新参考检查点。这只是主动的以项目模式管理。在非项目流中,用户必须遵循下面提供的脚本。

2.在read_checkpoint-incremental期间为WNS和重用设置更高的目标阶段

•94%的细胞匹配

•90%的净匹配

•WNS>=-0.250 ns

使用以下命令激活流:

read_checkpoint -incremental -auto_incremental <reference>.dcp

更新检查点时,以下脚本将确保WNS没有降级超出可接受的限度:

if {[get_property SLACK [get_timing_path]] > -0.250} {
file copy -force <postroute>.dcp <reference>.dcp
}

增量指令

有三个指令可以控制增量流的行为。增量指令使用命令设置:

read_checkpoint -incremental -directive <directiveName> <reference>.dcp

运行时间优化

RuntimeOptimized指令试图重复使用来自参考运行尽可能。计时目标将与参考运行相同。如果参考运行的WNS为-0.050,则增量运行不会尝试关闭此时间设计,而且也以-0.050为目标。这只会影响设置时间。这是默认行为当没有指定指令时。

计时结束

TimingClosure指令将重用引用中的放置和布线,但它会撕毁不符合时间安排的路径,并尝试关闭它们。运行一些运行时密集型算法以获得尽可能多的时间改进,但由于位置很大程度上被提前放弃收益有限。该技术在参考WNS>-0.250 ns的设计中是有效的。

注意:为了获得更多的关闭时间,请运行report_qor_advances以生成自动设计增强。

快的

快速是一种特殊模式,在放置和路线期间不调用计时器,而是使用相关逻辑的放置作为指导。这是最快的模式,但不适用于大多数设计。设计需要WNS>1.000 ns才能有效。这些通常是ASIC仿真或原型设计。

注意:在2019.1及之前的版本中,通过的指令映射实现了相同的行为place_design和route_design。Explore指令已映射到TimingClosure,Quick映射到映射到RuntimeOptimized的Quick和其他指令。

小心!从2019.1及更早版本升级的用户,他们正在为指定Explore或Quick指令place_design将需要指定增量指令以实现中的等效功能2020.1.

其他选项

使用read_checkpoint-incremental时,以下选项可用命令

-auto_incremental选项

这将启用自动增量中所述的自动增量流。

-fix_objects Option
-fix_objects <cell objects>

-fix_objects选项可用于锁定单元格的子集。这些细胞不会被增量放置和布线工具。-fix_objects选项仅适用于匹配并且被识别用于小区重用。

示例

以下是-fix_objects用法的示例:

•要重用所有对象并仅修复块内存位置,请执行以下操作:

read_checkpoint -incremental routed.dcp -fix_objects [all_rams]
• To reuse all objects and fix only DSP placement:
read_checkpoint -incremental routed.dcp -fix_objects [all_dsps]

-force_incr选项

-force_incr选项可用于强制增量实现流而与递增标准检查无关。如果未指定增量实现流可能退出并以非增量流或默认流继续。可以使用此选项,而不是修改增量实现配置更新中的小区匹配、网络匹配和WNS的最小阈值的值自动递增流量。

注意:-force_incr仅与-increative开关一起使用。

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

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

相关文章

P8786 [蓝桥杯 2022 省 B] 李白打酒加强版

我的代码&#xff1a; #include <iostream> using namespace std;int dp[101][101][101]; const int mod 1e9 7; //题中说了&#xff0c;答案要取模 int main() {int n, m; //定义遇到店n次&#xff0c;遇花m次cin >> n >> m;dp[0][0][2] 1; //因为题目…

C语言内存函数之 memcmp函数

memcmp函数的记忆&#xff1a;mem表示内存&#xff0c;单位是字节&#xff0c;表示以单位字节来进行操作&#xff1b;头文件是string.h&#xff0c;cmp是compare的缩写&#xff0c;表示比较。总的意思就是在规定的内存下以字节为单位一个字节一个字节的进行比较。 memcmp函数的…

MySQL之索引与事务

一 索引的概念 一种帮助系统查找信息的数据 数据库索引 是一个排序的列表&#xff0c;存储着索引值和这个值所对应的物理地址无须对整个表进行扫描&#xff0c;通过物理地 址就可以找到所需数据是表中一列或者若干列值排序的方法 需要额外的磁盘空间 索引的作用 1 数据库…

Vue3项目部署安装

Vue3ts部署 查看官网安装项目vue3的命令&#xff08;四个&#xff09;其中有&#xff1a; yarn create vuelatest 我执行时遇到报错&#xff0c;可能是我yarn版本不是最新 的问题&#xff0c; 改用这个命令去掉latest即可 yarn create vue 新项目先要安装yarn依赖,才能yarn …

数值分析(三) Lagrange(拉格朗日)插值法及Matlab代码实现

目录 前言一、Lagrange&#xff08;拉格朗日&#xff09;插值1. 线性插值2. 抛物插值3. 拉格朗日插值多项式 二、Lagrange插值算法及matlab代码1. Lagrange 插值算法matlab实现2 实例3. 线性插值示意图代码4. 抛物插值示意图代码 三、总结四、插值法专栏 前言 本篇为插值法专栏…

Java 在PDF中插入页眉、页脚

在处理PDF文档时&#xff0c;有时需要为文档中的每一页添加页眉和页脚&#xff0c;以包含一些有用的信息&#xff0c;如文档标题、章节名称、日期、页码等。对于需要自动化处理的场景&#xff0c;或者需要在大量文档中添加一致的页眉和页脚&#xff0c;可以通过编程的方式来实现…

Django日志(三)

内置TimedRotatingFileHandler 按时间自动切分的log文件,文件后缀 %Y-%m-%d_%H-%M-%S , 初始化参数: 注意 发送邮件的邮箱,开启SMTP服务 filename when=h 时间间隔类型,不区分大小写 S:秒 M:分钟 H:小时 D:天 W0-W6:星期几(0 = 星期一) midnight:如果atTime未指定,…

C++的内存管理

目录 1. C/C内存分布 2. C语言中动态内存管理方式 3. C内存管理方式 3.1 new/delete操作内置类型 4. operator new与operator delete函数 4.1 连续开辟空间(尽力了解) 5. new和delete的实现原理 5.1 内置类型 5.2 自定义类型 6. 深入理解 6.1malloc/free和new/delete的区…

SLAM 求解IPC算法

基础知识&#xff1a;方差&#xff0c;协方差&#xff0c;协方差矩阵 方差&#xff1a;描述了一组随机变量的离散程度 方差 每个样本值 与 全部样本的平均值 相差的平方和 再求平均数&#xff0c;记作&#xff1a; 例如&#xff1a;计算数字1-5的方差&#xff0c;如下 去中心化…

Power BI ----SVG(圆环图)

圆环图助力矩阵图 定义度量值放置视觉对象 SVG是什么鬼&#xff0c;在现在的Web世界中越来越凸显这一标准的优势。关于SVG&#xff0c;我们只需要知道一点就好 ---- SVG 意为可缩放矢量图形&#xff08;Scalable Vector Graphics&#xff09;。它是使用 XML 格式定义的图像。 由…

【LeetCode 算法刷题笔记-路径篇】

1.0112. 路径总和 1.1 题目大意 描述&#xff1a;给定一个二叉树的根节点 root 和一个值 targetSum。 要求&#xff1a;判断该树中是否存在从根节点到叶子节点的路径&#xff0c;使得这条路径上所有节点值相加等于 targetSum。如果存在&#xff0c;返回 True&#xff1b;否则…

elementUI Tree 树形控件单选实现

文章目录 展示效果代码实现elementui Tree树形控件其他详细数据 在Element UI中&#xff0c;树形控件&#xff08;el-tree&#xff09;本身不支持单选功能。但是&#xff0c;你可以通过监听节点点击事件并手动更新选中状态来实现单选树。 以下是一个简单的例子&#xff0c;展示…

React【Day1】

B站视频链接 一、React介绍 React由Meta公司开发&#xff0c;是一个用于 构建Web和原生交互界面的库 React的优势 相较于传统基于DOM开发的优势 组件化的开发方式不错的性能 相较于其它前端框架的优势 丰富的生态跨平台支持 React的市场情况 全球最流行&#xff0c;大…

pandas读写excel,csv

1.读excel 1.to_dict() 函数基本语法 DataFrame.to_dict (self, orientdict , into ) --- 官方文档 函数种只需要填写一个参数&#xff1a;orient 即可 &#xff0c;但对于写入orient的不同&#xff0c;字典的构造方式也不同&#xff0c;官网一共给出了6种&#xff0c…

API(时间类)

一、Date类 java.util.Date类 表示特定的瞬间&#xff0c;精确到毫秒。 Date常用方法&#xff1a; public long getTime() 把日期对象转换成对应的时间毫秒值。 public void setTime(long time) 把方法参数给定的毫秒值设…

python网络爬虫实战教学——requests的使用(1)

文章目录 专栏导读1、前言2、get请求3、抓取网页4、抓取二进制数据5、请求头 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN 数据分析领域优质创作者&#xff0c;专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》&#xff0c;本专栏针对…

部署Prometheus+grafana详解

目录 一、prometheus 介绍 二、prometheus 对比 zabbix 三、prometheus 监控插件 四、部署 1、下载所需的包 2.编辑prometheus的配置文件 3、编辑alertmanager 的配置文件 4、tmpl 模板&#xff08;将此文件创建在/opt/alertmanager/tmpl/&#xff09; 5.启动&#xff0…

探索国内ip切换App:打破网络限制

在国内网络环境中&#xff0c;有时我们会遇到一些限制或者屏蔽&#xff0c;使得我们无法自由访问一些网站或服务。而国内IP切换App的出现&#xff0c;为解决这些问题提供了非常便捷的方式。这些App可以帮助用户切换IP地址&#xff0c;让用户可以轻松地访问被限制或屏蔽的网站&a…

leetcode刷题(javaScript)——BFS广度优先遍历相关场景题总结

广度优先搜索&#xff08;BFS&#xff09;在JavaScript编程中有许多实际应用场景&#xff0c;特别是在解决图、树等数据结构相关问题时非常常见。在JavaScript中&#xff0c;可以使用队列来实现广度优先搜索算法。通过将起始节点加入队列&#xff0c;然后迭代地将节点的邻居节点…

css background-color属性无效

因为工作需要&#xff0c;最近在帮H5同事开发几个页面&#xff0c;在使用H5进行如下布局的时候&#xff0c;发现设置 background-color为白色无效。 代码如下&#xff1a; <div class "bottomBar"><div style"position: fixed; left: 20px;">…