vivado 逻辑优化约束、功率优化、Vivado Tools电源优化

逻辑优化约束

逻辑保护

Vivado设计套件在逻辑优化过程中尊重DONT_TOUCH属性。确实如此不优化具有这些特性的离开网或单元。为了加快网络选择过程,网络具有DONT_TOUCH的属性被预过滤并且不被考虑用于物理优化。对于有关详细信息,请参阅《Vivado Design Suite用户指南:合成》中的“合成属性”一节(UG901)。通常会将DONT_TOUCH属性应用于叶单元,以防止它们优化。分层单元格上的DONT_TOUCH保留了单元格边界,但进行了优化可能仍然发生在单元内,并且常数仍然可以跨越边界传播。到保留分层网络,使用将DONT_TOUCH属性应用于所有网段-get_nets的segments选项。工具会自动将值为TRUE的DONT_TOUCH属性添加到具有值为TRUE的MARK_DEBUG属性。

这样做是为了在整个实现流程,以便可以在任何设计阶段对其进行探索。这是推荐的MARK_DEBUG的使用。然而,在极少数情况下,DONT_TOUCH可能过于严格可能会阻止诸如恒定传播、扫描或重映射之类的优化,从而导致更多关闭时机困难。在这种情况下,可以将DONT_TOUCH设置为FALSE值,而保持MARK_DEBUG为真。这样做的风险在于,带有MARK_DEBUG的网络可能优化后不再探测。

基于属性的逻辑优化

某些优化可以在特定对象上执行,而不是在整个设计上执行。这些优化是由对象属性触发的。逻辑优化检测存在这些属性,并自动运行必要的优化阶段。这适用于除移位寄存器优化属性之外的所有属性,这些属性需要-shift_register_opt选项。以下是属性摘要

功率优化

功率优化是使用时钟门控优化动态功率的可选步骤。可以是用于项目模式和非项目模式,可以在逻辑优化或以减少设计中的功率需求。功率优化包括AMD智能时钟门控解决方案,可以在不改变的情况下降低设计中的动态功耗功能。有关更多信息,请参阅Vivado Design Suite用户指南:功率分析和优化(UG907)。

Vivado Tools电源优化

Vivado电源优化分析了设计的所有部分,包括传统和第三方IP块。它还确定了主动变化信号可以被时钟门控的机会因为它们不是每个时钟周期都被读取的。这减少了切换活动,而切换活动又反过来降低了动态功率。

使用时钟使能(CE)

Vivado功率优化器利用了时钟使能(CE)的丰富供应。功率优化创建门控逻辑以驱动寄存器时钟使能,从而仅寄存器捕获相关时钟周期上的数据。请注意,在实际的硅中,CE实际上是选通时钟,而不是在D之间进行选择触发器的输入和反馈Q输出。这提高了CE输入的性能,但是还降低了时钟功率。

智能时钟门控

智能时钟门控还降低了简单双端口中专用块RAM的功耗或真正的双端口模式,如下图所示。这些块包括几个启用项:

•阵列启用

•写入启用

•输出寄存器时钟启用

大部分节能来自于使用阵列启用。Vivado功率优化器实现了在没有写入数据和输出为没有被使用。

power_opt_design

power_opt_design命令可以分析和优化设计。它分析和默认情况下优化整个设计。该命令还对执行智能时钟门控优化功率。

power_opt_design语法

power_opt_design [-quiet] [-verbose]

如果您不想分析和优化整个设计,请使用配置优化器set_power_opt。这使您可以指定适当的单元类型或层次结构以包括或排除在优化中。也可以使用set_power_opt指定特定的块opt_design中用于优化的RAM单元。

set_power_opt的语法为:

set_power_opt [-include_cells <args>] [-exclude_cells <args>] [-clocks
<args>] [-cell_types <args>] [-quiet] [-verbose]

注意:如果使用opt_design运行块RAM功率优化,则会跳过它。

建议:如果您想在opt_design,使用set_power_opt-exclude_cells[get_cells<bram_insts>]。

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

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

相关文章

知识文档管理系统平台:企业管理的王炸

无论是企业内部的文件共享&#xff0c;还是团队之间的协作编辑&#xff0c;知识文档管理系统都能发挥巨大的作用。它帮助企业整理、存储和查找各种文档资料&#xff0c;这不仅能提高企业的工作效率&#xff0c;还能增强企业的竞争力。今天就跟着LookLook同学一起来深入了解知识…

第2章 信息技术基础

本章学习要点 全面了解医院信息系统建设所涉及的主要信息技术以及这些技术的应用情况。 计算机与网络、信息技术与信息系统、数字媒体与数据存储技术、条形码(二维码)、RFID技术、云计算、APP技术 1.XML 可扩展标记语言与Access&#xff0c;Oracle和SQL Server等数据库不同…

【Qt】从QMainWindow到UI框架

目录 简介UI布局元素Central WidgetMenu BarToolbarsStatus BarDock Widgets 参考文档 简介 如下图所示&#xff0c;我们常见的一些desktop软件&#xff0c;比如VS Code、Smart VCI等&#xff0c;一般都会包含顶部的菜单栏&#xff0c;底部的状态栏&#xff0c;以及一些其他UI…

[蓝桥杯]-最大的通过数-CPP-二分查找、前缀和

目录 一、题目描述&#xff1a; 二、整体思路&#xff1a; 三、代码&#xff1a; 一、题目描述&#xff1a; 二、整体思路&#xff1a; 首先要知道不是他们同时选择序号一样的关卡通关&#xff0c;而是两人同时进行两个入口闯关。就是说两条通道存在相同关卡编号的的关卡被通…

C++(14)——vector

目录 vector是什么&#xff1f; vector的使用 vector的构造 vector iterator的使用 vector空间增长问题 vector的增删查改 push_back和pop_back operator[] 总结 vector是什么&#xff1f; vector是什么呢&#xff1f;按照英文来说&#xff0c;vector的英文是向量、矢…

编译原理学习之-一个简单的语法制导翻译器

第二章 一个简单的语法制导翻译器 将具有代表性的程序设计语言语句翻译为三地址码&#xff08;一种中间表示形式&#xff09;&#xff0c;本章的重点是编译器的前端&#xff0c;特别是词法分析&#xff0c;语法分析和中间代码生产。 建立一个中缀算术表达式转换为后缀表达式的…

腾讯云服务器入站规则端口开放使用指南(CentOS系统)

第一步&#xff1a;开放安全组入站规则 来源处0.0.0.0/0是对IPv4开发&#xff0c;::/0是对IPv6开放&#xff1b; 协议端口按照提示填写即可。云服务器防火墙开放 第三步&#xff1a;本地防火墙开放 sudo firewall-cmd --zonepublic --add-port你的端口号/tcp --perma…

蓝桥杯单片机快速开发笔记——HC573/HC138

一、原理分析 二、思维导图 三、代码参考 #include "HC573.h" #include "reg52.h"void Set_HC573(unsigned char channel, unsigned char dat) {P2 (P2 & 0x1f) | 0x00; //赋值之前&#xff0c;关闭全部锁存器P0 dat; //保存待设置…

医疗企业数字化升级,高效组网方案助力解决痛点

多分支机构间的网络构建问题日益突显源于不同行业、不同企业之间的数字化需求和挑战不尽相同&#xff0c;原有架构亟需升级优化已是愈加紧迫的事项。 在医疗行业中&#xff0c;由于数字化技术与模式的深入应用&#xff0c;企业的生产和协作方式从传统的线下模式转变为高效的线…

【Vue3】Vue3中路由规则的 props 配置

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

XUbuntu22.04之自定义fd+rg极速命令组合(二百二十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

开源堡垒机Jumpserver安装教程

前言:堡垒机的应用场景 公司内有若干台服务器,既有windows的也有linux的, 提供有ERP,OA,Web,报表等等各种服务,往往需要远程登录到服务器上去做运维,但如果给root或者administrator权限,很容易出现不知道谁操作了的问题.如果不同人设置不同账号,又账号过多,权限不足等等其他问题…