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,一经查实,立即删除!

相关文章

JDK8-AudioClip无法播放音乐

异常现象 在 JDK 8 中&#xff0c;AudioClip 类用于播放音频片段。然而&#xff0c;有时候你可能发现需要在调用 AudioClip 的播放方法后线程休眠一段时间&#xff0c;音频才能正常播放。 基础概念 AudioClip接口&#xff0c;它的实现类是JavaSoundAudioClip&#xff0c;位…

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函数的…

Redis 的5种数据类型的基本命令

目录 String的基本命令 1. SET 2. GET 3. GETSET 4. STRLEN 5. APPEND 6. SETRANGE 7. GETRANGE 8. SETEX 9. SETNX 10. MSET 11. MGET 12. INCR 13. DECR 14. INCRBY 15. DECRBY 16. INCRBYFLOAT Map的基本命令 1. HSET 2. HGET 3. HMSET 4. HMGET 5. …

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;如下 去中心化…

调试嵌入式linux时,出现ssh不能远程登录的解决方法

如题&#xff0c;最近在调试stm32mp157的板卡时&#xff0c;出现了ssh不能登录的问题&#xff0c;主要有两种情况&#xff0c;表现的都是不能ssh登录&#xff0c;现在具体描述一下&#xff0c;记录一下过程&#xff1a; 情况一&#xff1a; 调试过程中&#xff0c;使用ssh登录…

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;否则…

docker-compose(mysql5.6、mysql8、neo4j3.5、redis)

docker-compose常用配置 docker-compose.ymlmysql5.6 配置文件 my.cnfmysql8 配置文件 my.cnfredis 配置文件 redis.conf docker-compose.yml version: 3 services: # 所有卷挂载在/home/docker/vol目录&#xff0c;不同应用建立不同子目录存放挂载数据 # 图数据库 neo4j:cont…

elementUI Tree 树形控件单选实现

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

vue3中reactive详解

在Vue 3中&#xff0c;reactive函数是一个非常重要的工具&#xff0c;它用于将普通的JavaScript对象或数组转换为响应式对象。这意味着当这些对象的属性发生变化时&#xff0c;Vue可以自动检测和更新相关的DOM。 使用方法 使用reactive函数&#xff0c;你可以将任意对象或数组…

底盘运动模型及里程计

主要研究底盘运动模型及里程计 目录 1.底盘模型1.1 两轮差分底盘的运动学模型1.2 二、三轮全向底盘的运动学模型2.航迹推算1.3 阿克曼底盘运动学模型1.3.1 阿克曼结构1.3.2 阿克曼结构运动学模型3.里程计标定3.1 线性最小二乘的基本原理3.1 最小二乘在里程计标定中的应用1.底盘…

Go 语言Web开发-模板(template)快速入门教程

模板基础 Go语言模板包是用于生成文本输出的工具&#xff0c;它通过解析模板文本并结合数据生成最终的输出文本。模板语法简洁而强大&#xff0c;包括模板标记、变量输出、控制结构和模板函数等。模板对象表示已解析和编译的模板&#xff0c;可以执行并输出最终文本。模板包的…

React【Day1】

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