vivado 物理优化约束、交互式物理优化

物理优化约束

Vivado Design Suite在物理优化过程中尊重DONT_TOUCH特性。它不在具有这些属性的网络或小区上执行物理优化。要加快网络选择过程中,具有DONT_TOUCH属性的网络经过预过滤,不被考虑用于物理优化。此外,还遵守Pblock分配,以便复制逻辑继承原始逻辑的Pblock赋值。定时异常也从复制从原始细胞到复制细胞。有关更多信息,请参阅《Vivado Design Suite用户指南》中的“合成属性”一节:合成(UG901)。DONT_TOUCH属性通常放置在叶细胞上,以防止它们优化。分层单元格上的DONT_TOUCH保留了单元格边界,但进行了优化仍然可以发生在细胞内。

工具会自动将值为TRUE的DONT_TOUCH属性添加到具有值为TRUE的MARK_DEBUG属性。这样做是为了在整个实现流程,以便可以在任何设计阶段对其进行探索。这是推荐的MARK_DEBUG的使用。但是,DONT_TOUCH限制性太强,阻止了复制和重定时等优化,导致关闭时机困难。在这些情况下,DONT_TOUCH可以设置为FALSE值,而保持MARK_DEBUG为真。删除DONT_TOUCH属性的结果是DEBUG的网络可以被优化掉并且不再被探测。如果MARK_DEBUGnet被复制,只有原始的net保留MARK_DEBUG,而不是被复制的net。

物理优化报告

Tcl报告命令report_phys_opt提供了执行的每个优化的详细信息通过phys_opt_design在非常精细的细节级别上实现。它必须在与相同的Vivado会话中运行phys_opt_design,而优化历史存在于存储器中。因此,如果需要报告,建议包括report_phys_opt命令在最后一个phys_ opt_design命令之后的Tcl脚本中。这些报告仅可用于放置后的phys_opt_design优化。这个报告不是累积的。每个phys_pt运行都有一个不同的phys_pt报告,仅说明在phys_opt_design的特定运行期间所做的更改。以下报告示例显示了涉及寄存器的扇出优化的第一个条目命名为pipeline_en。报告中显示了以下详细信息:

1.原始驱动器pipeline_en驱动816负载和包含该高扇出网络的路径WNS为-1.057 ns的故障定时。

2.复制驱动程序pipeline_en以创建一个新的单元pipeline_en_replica。

3.816个负载在pipeline_en_replica和原始负载之间分配,前者占用386个负载驱动程序pipeline_en,它承担剩余的430个负载。

4.在复制和放置pipeline_en_replica之后,pipeline_en _replica路径的WNS是+0.464ns,并且pipeline_en路径的WNS减少到零。

5.改变了原始驱动程序pipeline_en的位置,以改进基于其减少的一组负载的位置。

交互式物理优化

从2015.3版本开始,物理优化具有“回放”功能使用交互式Tcl命令iphys_opt_design进行优化。iphys_opt_design命令描述特定的优化事件,例如关键单元的复制或者从块RAM中提取一组寄存器。该命令包括所有信息重新创建网表和优化所需的位置更改所必需的发生交互式物理优化可以通过两种方式使用:

•将放置后物理优化应用于放置前网表,以改进整体布局结果并提高设计性能。

•将物理优化保存在Tcl脚本中,以便根据需要重复修改phys_opt_design网表更改涉及改造的设计流程如下图所示。

涉及两个运行,即“原始运行”,其中phys_opt_design在之后运行place_design和“重播运行”,其中执行phys_opt_design网表更改放置之前。在原始运行之后,phys_opt_design优化将使用保存到Tcl脚本文件中Tcl命令write_ iphys_。该脚本包含一系列iphys_opt_design Tcl命令以精确地重新创建由执行的设计更改原始运行中的phys_opt_design。您可以保存当前设计中的优化在内存中或打开实现的设计或检查点之后,其中phys_opt_design已经进行了优化。

重播运行使用相同的设计和约束。在place_design运行之前read_iphys_opt_tcl命令处理iphys_opt_design命令脚本应用原始运行中的网表更改。由于网表的更改,中的设计重播运行可能比原始运行更适合放置。现在的设计在放置之前结合了phys_opt_design优化的好处,例如复制后更少的高扇出网络和来自块RAM输出的更少的长距离路径。与phys_opt_design命令类似,read_iphys_opt_tcl命令具有将重播的设计步骤限制为某些类型的选项,如扇出优化、块RAM寄存器优化和重新布线。

重复phys_opt_design设计更改

重复phys_opt_design设计更改的设计流程如下所示图形

该流程与改造流程在两个方面不同:

•iphys_opt_design更改包含在place_design之后,而不是预先

•布局更改和网表更改都会在iphys_opt_design中捕获Tcl脚本。

通常,您会使用此流来获得对放置后phys_opt_design的更多控制步自定义“配方”是由重播的优化和新的组合创建的优化为探索设计闭包带来了许多可能性。write_iphys_opt_tcl和read_iphys_pt_tcl命令有一个-place选项以回放phys_opt_design中的位置更改。此选项应用于流以在放置之后重复phys_opt_design步骤。

交互式物理优化命令参考

交互式物理优化命令以及相应的选项包括如下所述。

write_iphys_opt_tcl

此命令写入一个文件,其中包含与当前设计中执行的物理优化。

语法:

write_iphys_opt_tcl [-place] [-quiet] [-verbose] <output file>

-place选项指示命令将放置信息包括在iphys_opt_tcl命令。当您打算使用网表应用放置时,请使用此选项iphys_opt_design命令重播期间的更改。write_iphys_opt_tcl命令可以在phys_opt_design已运行。read_iphys_opt_tcl此命令读取一个文件,该文件包含与上次运行中执行的物理优化。

语法:

read_iphys_opt_tcl [-fanout_opt] [-critical_cell_opt] [-replicate_cell]
[-placement_opt] [ -restruct_opt] [-forward_retime]
[-backward_retime] [-dsp_register_opt]
[-bram_register_opt]
[-uram_register_opt] [-shift_register_opt]
[-shift_register_to_pipeline] [-auto_pipeline]
[-pipeline_to_shift_register] [-critical_pin_opt]
[-restruct_opt] [-equ_drivers_opt]
[-include_skipped_optimizations] [-create_bufg]
[-insert_negative_edge_ffs] [-hold_fix]
[-slr_crossing_opt] [-quiet]
[-verbose] [<input>]

read_iphys_opt_tcl命令具有许多与phys_opt_design相同的选项将重播优化的范围限制为仅指定的优化。这些选项包括:

-fanout_opt
-critical_cell_opt
-placement_opt
-restruct_opt
-dsp_register_opt
-bram_register_opt
-uram_register_opt
-shift_register_opt
-insert_negative_edge_ffs
-slr_crossing_opt
-critical_pin_opt
-replicate_cell
-forward_retime
-backward_retime
-shift_register_to_pipeline
-auto_pipeline
-pipeline_to_shift_register
-restruct_opt-equ_drivers_opt
-create_bufg

应用输入Tcl脚本中定义的跳过的优化,以及标准优化。这些是由跳过的phys_opt_design标识的优化因为无法找到用于优化逻辑的合适位置。当指定此选项时iphys_opt_design命令将尝试在预放置网表。

iphys_opt_design

iphys_opt_design命令是一个低级别的Tcl命令,用于执行物理优化。所有默认的phys_opt_design优化都可以使用iphys_opt_design。尽管可以修改iphys_opt_design命令,并且即使是从头开始创建它们,通常也会将它们写入脚本并在单独运行。

建议:避免使用Tcl source命令执行iphys_opt_design的脚本命令。为了获得最高效的命令处理和最快的运行时间,请使用改为read_iphys_opt_tcl命令。

语法

iphys_opt_design [-fanout_opt] [-critical_cell_opt] [-replicate_cell]
[-reconnect] [-placement_opt] [-forward_retime]
[-backward_retime] [-net <arg>] -cluster <args>
-place_cell <args> [-dsp_register_opt] [-
bram_register_opt]
[-uram_register_opt] [-shift_register_opt] [-cell <arg>]
[-packing] [-unpacking] [-port <arg>] [-critical_pin_opt]
[-restruct_opt] [-equ_drivers_opt] [-skipped_optimization]
[-create_bufg] [-insert_negative_edge_ffs] [-hold_fix]
[-slr_crossing_opt] [-shift_register_to_pipeline]
[-auto_pipeline] [-pipeline_to_shift_register] [-quiet]
[-verbose]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ClickHouse--13--springboot+mybatis配置clickhouse

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 ClickHouse1.添加maven依赖2.配属数据源3.参数配置4.Druid连接池配置5.entity6.Mapper接口7.Mapper.xml8.controller接口9.创建一个clickhouse表10.测试 ClickHouse…

MySQL数据库概念及MySQL的安装

文章目录 MySQL数据库一、数据库基本概念1、数据2、数据表3、数据库4、数据库管理系统&#xff08;DBMS&#xff09;4.1 数据库的建立和维护功能4.2 数据库的定义功能4.3 数据库的操纵功能4.4 数据库的运行管理功能4.5 数据库的通信功能&#xff08;数据库与外界对接&#xff0…

网络简略总结

目录 一、三次握手 四次挥手 1、三次握手:为了建立长链接进行交互即建立一个会话,使用http/https协议 2、四次挥手是一个断开连接释放服务器资源的过程 3、如果已经建立了连接,但是客户端突然出现故障了怎么办? 4、谁可以中断连接?客户端还是服务端还是都可以? 5、…

小朋友排队(蓝桥杯,acwing,归并)

题目描述&#xff1a; n 个小朋友站成一排。 现在要把他们按身高从低到高的顺序排列&#xff0c;但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。 开始的时候&#xff0c;所有小朋友的不高兴程度都是 0。 如果某个小朋友第一次被要求交换&#…

解决NameError:name ‘file‘ is not defined 方法

方法1&#xff1a; import os base_diros.path.dirname(os.path.realpath(_file_) print(base_dir)方法2&#xff1a; import os base_diros.getcwd() print(base_dir)

PTA一笔画

作者 张志梅 单位 青岛大学 小丁最近迷恋上一个游戏&#xff0c;传说中的“一笔画”游戏。 那么什么是一笔画&#xff1f;如下图&#xff0c;顾名思义就是一笔可以完成的图。一笔画最基本的要求是在画图的过程中&#xff0c;笔不能离开纸&#xff0c;且笔所画过的线不能重复…

SAR ADC系列6——比较器输入失调电压仿真

ADC中比较器输入失调电压的仿真方法 比较器输入端输入一个共模电平&#xff08;1.65V&#xff09;&#xff0c;一个斜坡信号&#xff08;1.64V-1.66V&#xff09; 时序大概长下面这样 测量在发生翻转时的输入电压之间的差值&#xff0c;进行多次蒙特卡洛的仿真 用公式计算发…

【DNDC模型】土壤碳储量、温室气体排放、农田减排、土地变化、气候变化

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到&#xff0c;要把“双碳”纳入经济社会发展和生态文明建设整体布局。同时&#xff0c;提到要把减污降碳协同增效作为促…

mapstruct学习笔记-pojo之间的转换

1、前言 mapstruct中常用注解如Mapping,AfterMapping,BeanMapping等的使用,通过案例说明各式各样的业务pojo对象之间如何借助mapstruct完成相互之间的转换,减少代码量的同时也能突出业务逻辑流程,让你的代码里写起来更有规范可言。 2、简介 Reference Guide – MapStruct 3…

mysql中的非空间数据导入sqlserver中空间化

以下操作都在Navicat Premium 15软件中操作 1、mysql导出数据 以导出csv为例 不修改导出路径的话默认就是在桌面 设置编码UTF-8 这边还是默认,最好不要修改,如果文本识别符号为空,导入的时候可能字段会错乱 开始即可 2、导入sqlserver数据库中

排序——直接插入排序

排序之——直接插入排序 插入排序的基本思想 每次将一个待排序的记录按其关键字大小插入前面已经排好序的子序列&#xff0c;直到全部记录插入完成。 步骤&#xff08;从小到大排序&#xff09; 找到没有排序的元素标记元素将已排好序的序列中大于标记元素的往后移插入元素 …

从Excel到山海鲸:我的数据可视化升级之旅

作为一名新用户&#xff0c;我最近有幸体验了山海鲸可视化软件&#xff0c;近期山海鲸可视化产品开放了可视化编辑全部功能&#xff0c;并支持本地化部署功能&#xff0c;在使用过程中它不仅打开了我对数据可视化全新世界的大门&#xff0c;而且在实际操作中为我带来了不少惊喜…

深圳市蕾奥规划设计咨询股份有限公司入围《信用中国》栏目

为进一步推进商业信用体系建设,促进企业诚实守信经营,面向企业普及诚信与品牌建设的意义,指导企业加强诚信品牌建设,提升其整体竞争力,《信用中国》栏目组以诚信为内涵,在全国范围内遴选出有行业代表性的民营企业作为扶持对象,旨在通过大力宣传自主品牌,提高自主品牌影响力和认…

牛客NC241 计算器(二)【中等 dfs+双端队列 Java】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/a9c170bfaf7349e3acb475d786ab1c7d 核心 DFS双端队列参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定…

算法学习(持续更新中)

时间复杂度 一个操作如果和样本的数据量没有关系&#xff0c;每次都是固定时间内完成的操作&#xff0c;叫做常数操作。 时间复杂度为一个算法流程中&#xff0c;常数操作数量的一个指标。常用O&#xff08;读作big O&#xff09;来表示。具体来说&#xff0c;先要对一个算法…

2024同城定位付费进群完整源码支付也能用

2024同城定位付费进群完整源码支付也能用 最近有几个朋友和我咨询这个项目&#xff0c;但是找了几个后大多都不完整不能用&#xff0c;好吧&#xff0c;给大家找了一套完美修复的出来&#xff0c;并且对接好了免签支付&#xff0c;可以直接使用&#xff0c;搭建简单&#xff0…

equals与时间序列攻击

引言 随着信息技术的迅速发展&#xff0c;网络安全和隐私问题变得愈发重要。黑客和攻击者不断寻找新的攻击方法&#xff0c;其中之一是时间序列攻击&#xff08;Timing Attack&#xff09;。时间序列攻击是一种侧信道攻击&#xff0c;攻击者试图通过测量程序的执行时间来推断程…

408-数据结构笔记(自用)

1.绪论 数据结构的概念&#xff1a;即数据的 逻辑结构、存储结构和运算 数据的基本单位是数据元素&#xff0c;一个数据元素由若干数据项组成&#xff0c;比如Student是一个数据元素&#xff0c;年龄、性别、学号等都是数据项 &#xff08;1&#xff09;逻辑结构 数据的逻辑…

【计算机考研】408全年复习保姆级规划+资料

基础阶段 408一共只分为选择题和大题&#xff0c;选择题80分&#xff0c;大题70分。 基础阶段应该要形成相对完整的知识体系&#xff0c;基础知识大概都需要有印象。 在基础阶段&#xff0c;建议不做大题&#xff0c;把课后选择题都好好的做一遍 第一遍的正确率无需过于关注…

WEB搭建LNMP环境-Discuz论坛

目录 一、安装PHP并修改配置文件(nginx自行安装) 二、安装MySQL数据库并配置文件 三、 搭建discuz论坛 一、安装PHP并修改配置文件(nginx自行安装) yum install php php-gd php-fpm php-mysqlnd php-xml -y vim /etc/nginx/nginx.conf #配置nginx和PHP交互location …
最新文章