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

news2024/11/29 13:39:20

物理优化约束

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

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

相关文章

MySQL与金蝶云星空对接集成SELECT语句连通销售订单新增(销售订单集成测试)

MySQL与金蝶云星空对接集成SELECT语句连通销售订单新增(销售订单集成测试) ​​ ​​ 数据源系统:MySQL MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQLAB公司开发&#xff0c;属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一&#xff0c;在WEB应用方…

Nginx实现原理全解析:构建高效Web服务器的关键

1、Nginx是什么 Nginx&#xff08;engine X&#xff09;是一个开源的轻量级的HTTP服务器&#xff0c;能够提供高性能的HTTP和反向代理服务。与传统的Apache服务器相比&#xff0c;在性能上Nginx占用系统资源更小、支持高并发&#xff0c;访问效率更高&#xff1b;在功能上&…

Linux课程_____网络管理

一、查看接口信息 1. ifconfig 查看所有活动网络接口的信息 ifconfig -a 查看所有网络接口信息 ifconfig 直接加网络接口 查看指定网络接口信息 1.1查看指定接口IP [rootlocalhost ~]# ip addr show ens160 1.2设置网络接口的IP地址 # ifconfig eth0 192.168.152.133 …

(一)Linux+Windows下安装ffmpeg

一丶前言 FFmpeg是一个开源的音视频处理工具集&#xff0c;由多个命令行工具组成。它可以在跨平台的环境中处理、转换、编辑和流媒体处理音视频文件。 FFmpeg支持多种常见的音视频格式和编解码器&#xff0c;可以对音视频文件进行编码、解码、转码、剪辑、合并等操作。它具有广…

HQYJ 2024-3-14 作业

TCP通信三次握手和四次挥手&#xff1a; 并行和并发的区别&#xff1a;并发是单核处理器处理多个线程任务&#xff0c;并行是多核处理器同时处理多个线程任务。并发过程中会抢占CPU资源&#xff0c;轮流使用&#xff1b;并行过程不会抢占CPU资源。 阻塞IO和非阻塞IO&#xff…

HarmonyOS开发:超详细介绍如何开源静态共享包,实现远程依赖

前言 当我们开发了一个独立的功能&#xff0c;想让他人进行使用&#xff0c;一般的方式就是开源出去&#xff0c;有源码的方式&#xff0c;也有文件包的形式&#xff0c;当然了也有远程依赖的方式&#xff0c;比如在Android中&#xff0c;我们可以提供源码&#xff0c;也可以打…

开源离线语音识别输入工具CapsWriter v1.0——支持无限时长语音、音视频文件转录字幕。

分享一款开源离线语音识别输入工具&#xff0c;支持无限时长语音、音视频文件转录字幕。 软件简介&#xff1a; CapsWriter是一款免费开源且可完全离线识别的语音输入工具&#xff0c;无需担心因在线版本识别带来的各种隐私泄露问题。支持win7及以上的系统&#xff0c;已经更…

华为中心AP 配置入侵防御实验

配置入侵防御示例 组网图形 图1 入侵防御组网图 组网需求配置思路操作步骤中心AP的配置文件 组网需求 如图1所示&#xff0c;某企业部署了WLAN网络&#xff0c;内网用户可以访问Internet的Web服务器。现需要在中心AP上配置入侵防御功能&#xff0c;具体要求如下&#xff1a; 保…

打印机怎么扫描文件到电脑?正确步骤在这里

在现代办公和生活中&#xff0c;打印机不再仅仅是用于输出纸质文件的工具&#xff0c;它还充当了功能强大的扫描仪&#xff0c;使我们能够方便地将纸质文件数字化并存储到电脑中。 如果您正在寻找如何正确将打印机用作扫描仪&#xff0c;以便轻松地将文件传输到电脑中&#xf…

【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024)

【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024) 大会主题: (主题包括但不限于, 更多主题请咨询会务组苏老师) 区块链&#xff1a; 区块链技术和系统 分布式一致性算法和协议 块链性能 信息储存系统 区块链可扩展性 区块…

智能合约语言(eDSL)—— 使用rust实现eDSL的原理

为理解rust变成eDSL的实现原理&#xff0c;我们需要简单了解元编程与宏的概念,元编程被描述成一种计算机程序可以将代码看待成数据的能力&#xff0c;使用元编程技术编写的程序能够像普通程序在运行时更新、替换变量那样操作更新、替换代码。宏在 Rust 语言中是一种功能&#x…

【QT+QGIS跨平台编译】之八十四:【QGIS_Gui跨平台编译】—【错误处理:未实例化QgsMapLayer - QgsHighlight】

文章目录 一、未实例化QgsMapLayer二、错误处理 一、未实例化QgsMapLayer 报错信息&#xff1a; 二、错误处理 第31行修改为&#xff1a; #include "qgsmaplayer.h"

【Web技术应用基础】HTML(2)——文本练习

题目1&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>HTML链接</title><meta name"description" content"HTML链接知识讲解"><meta name"keywords" content&qu…

(undone) 斯坦福机器学习 讨论课4 (分类器评估指标 TODO:暂时不知道内容是啥)

从标题来看这堂课跟评估指标有关&#xff0c;而且是专门针对分类器的评估指标 如下图&#xff0c;解释了 “为什么 metrics 很重要” 1.训练目标 (成本函数) 仅仅是现实世界目标的一个代理 (proxy) 2.理想的训练目标应该是指标 metric&#xff0c;但这并不总是可能的。metric…

Stability AI 3D:开创3D视觉技术新篇章,提升多视角连贯性与生成质量

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

ASPICE规范之系统追溯矩阵

系统追溯矩阵的需求来自 ISO26262 举例在描述系统追溯矩阵时&#xff1a;客户需求->系统需求&#xff1b;系统需求->客户需求&#xff1b;系统需求->软件需求&#xff1b;系统需求->硬件需求

有实际意义的伦敦金交易策略参考

一谈起有实际意义的伦敦金交易策略参考&#xff0c;很多人以为是讨论的是什么飞天遁地的技术&#xff0c;其实这些都是没有实际意义。对普通投资者来说&#xff0c;什么才是有实际意义的呢&#xff1f;那就是生存。要讨论实际有意义的伦敦金交易策略参考&#xff0c;就是投资者…

【计算机网络_网络层】IP协议

文章目录 1. IP的基本概念1.1 什么是IP协议1.2 为什么要有IP协议 2. IP的协议格式3. 网段划分&#xff08;重要&#xff09;3.1 为什么要进行网段划分3.2 网段划分的规则3.2.1 古老的划分方案3.2.2 现代的划分方案 4. 特殊的IP地址5. 解决IP地址的数量限制问题6. 私有IP和公网I…

【视频异常检测】Real-world Anomaly Detection in Surveillance Videos 论文阅读

Real-world Anomaly Detection in Surveillance Videos 论文阅读 Abstract1. Introduction2. Related Work3. Proposed Anomaly Detection Method3.1. Multiple Instance Learning3.2. Deep MIL Ranking Model 4. Dataset4.1. Previous datasets4.2. Our dataset 5. Experiment…

java8:LinkedList的实现原理

概述 先来看看源码中的这一段注释&#xff0c;我们先尝试从中提取一些信息&#xff1a; Doubly-linked list implementation of the List and Deque interfaces. Implements all optional list operations, and permits all elements (including null).All of the operations …