Vivado工程收敛之报告分析大全

news2024/9/29 15:32:40

目录

一、前言

二、分析报告

2.1 时钟分析

2.1.1 时钟报告

2.1.2 时钟网络报告

2.1.3 时钟利用率报告

2.1.4 跨时钟域报告

2.2 时序分析

2.3 约束分析

2.4 资源分析

2.5 逻辑级数分析

2.6 扇出分析

2.7 进位链分析

2.8 控制集分析

2.9 复杂度分析

2.10 pipeline分析

2.11 时序分析配置报告

2.12 参数配置报告

三、参考资料


一、前言

    在大型工程设计中,为了设计时序收敛,往往需要对初步运行的结果进行调试,调试的很重要的依据就是各种报告的分析,下面将介绍一些常用的分析报告,演示的器件为xcku3p-ffvb676-2-i

二、分析报告

2.1 时钟分析

    时钟分析主要包含四部分:时钟,时钟网络,时钟利用率,跨时钟域

2.1.1 时钟报告

    Tcl console使用命令report_clocks可以报告设计中使用的时钟信息(名称,周期,波形,属性,来源),包括主时钟和生成时钟

 

report_clocks "clk_name"命令可以对指定名称的时钟进行报告,此时示例时钟名称为clk1

2.1.2 时钟网络报告

    时钟网络报告使用界面的report_clock_networks生成,也可以tcl console窗口执行report_clock_networks命令生成,报告与时钟周期约束无关,为物理存在的,通过时钟网络报告可以查看时钟是否遗漏约束以及时钟驱动的load的信息。

2.1.3 时钟利用率报告

    使用命令report_clock_utilization -name utilizer即会打开一个名称为utilizer的窗口,显示设计的时钟资源利用率,内容为时钟原语利用率,全局时钟资源利用率,全局时钟资源使用细节,本地时钟细节,时钟区域(时钟资源按区域分布的情况),全局时钟

 

2.1.4 跨时钟域报告

    通过左侧综合与实现栏中的report_clock_interaction或tcl console输入report_clock_interaction都可进行源时钟和目标时钟关系分析,分析结果如下图

 

各颜色块名称含义如下

No path(黑色):指定的两个时钟间无时序路径

Timed(绿色):源时钟和目的时钟有同步关系,该路径的时序是安全的

User Ignored path(蓝色):在该源时钟与目的时钟的路径上,用户设置了false path或时钟组约束,

Partial False Path (淡蓝色):用户对源时钟和目的时钟间的部分路径设置false path约束,并且目的时钟与源时钟是同步时钟

Timed (Unsafe) (红色):源时钟和目的时钟是异步关系,它们没有共同的主时钟

Partial False Path (Unsafe) (橘黄色):源时钟和目的时钟至少有一条路径设置了false path约束

Max Delay Datapath Only (灰色):源时钟和目的时钟间的路径都设置了set_max_delay -datapath_only约束。

2.2 时序分析

    时序分析主要是通过report_timing或report_timing_summary产生,后者是生成时序总结报告,report_timing更多的是用于指定路径进行时序分析。同时report_timing还可将时序报告以指定格式输出,可指定为.rpx和.rpt,其中.rpx是和网表文件dcp同时打开。

 

关于report_timing_summary可参见文章https://blog.csdn.net/zyp626/article/details/136436191?spm=1001.2014.3001.5501

2.3 约束分析

    在时序例外约束中,如set_clock_groups,set_false_path,set_max_path,set_min_path,set_multicycle_path中,存在着优先级关系,一步小心就被覆盖,vivado使用report_exceptions来检查是否存在覆盖或合并的情况,可通过菜单栏路径“Reports->Timing->Report Exceptions”运行,也可tcl console窗口执行report_exceptions -name exception运行。

    如下图,exceptions中显示了用户设置的约束,右侧为约束的实际情况,在position为24的status可以看到,该条约束已被第14条约束所覆盖。

 

在status列看到有缩写FP表示set_false_path,同时可能出现其他缩写,CG(set_clock_groups),MXD(set_max_path),MND(set_min_path),MCP(set_multicycle_path),DPO(set_max_path -datapath_only)。

2.4 资源分析

    资源分析可以通过综合和实现中的Report Utiliation运行,也可以在tcl console窗口执行命令report_utilization -name utiliza运行,其中utiliza为自定义的窗口标签名称,结果如下图,包含CLB资源,I/O,时钟,BlockRAM等

 

在summary中已直方图形式展示了LUT,FF,IO,BUFG,MMCM的使用率,primitive则展示了使用资源对应的原语。

2.5 逻辑级数分析

    逻辑级数是指时序路径中起点与终点中间的组合逻辑门个数,包括LUT,进位链,和Slice中的F7MUX/F8MUX/F9MUX,通常,逻辑级数越大,传输的延迟就越大。假设LUT和连接的网线的延迟为tns,时钟周期为Tns,则最大的LUT级数不能超过T/t,即在一个时钟周期内数据必须到达终点。

    逻辑级数的分析使用命令report_design_analysis -name design_name来分析,以下图为例

Setup_Path_Characteristics显示时序路径中setup最差的信息,在schematic中,显示了起点到终点的连接关系

 

在logic level distribution中,右侧0-5分别为逻辑级数,下面的数字表示对应逻辑级数下时序路径的数量。

 

2.6 扇出分析

    Vivado中针对扇出也有专门的分析报告,通过执行report_high_fanout_nets生成报告,下图报告中,summary中显示了具体信息,包含了设计中所有net的fanout数量以及对应的Driver类型

 

也可以通过参数-fanout_greater_than和-fanout_lesser_than来设置显示指定fanout数量范围的net,以显示fanout大于4的位列,执行report_high_fanout_nets -name fanout -fanout_greater_than 4

 

也可以显示指定时钟的fanout,report_high_fanout_nets -name fanout -clocks clk1

 

更多的设置参数可以在tcl console使用help report_high_fanout_nets查看使用

2.7 进位链分析

    进位链分析使用命令report_carry_chains进行报告,不同于扇出和逻辑级数可以窗口显示,进位链分析结果只能tcl窗口显示,报告中统计了进位链的数量,长度

2.8 控制集分析

    通常,由同一组控制信号,如时钟信号,使能信号,置位/复位信号相同的触发器为一个控制集,这些触发器可以放置在一个slice中,时序效果将更好,但需要更多的LUT资源。使用命令report_control_sets来报告,下图为添加了参数-hierarchical按层级展示控制集,下图为使用参数-hierarchical按层级来显示控制集的结果。报告中由四类信息

1. Summary

2. Histogram

3. Control Sets by Hierarchy

4. Flip-Flop Distribution

主要看Flip-Flop Distribution,Total registers类即显示对应控制集下的寄存器数量,Total slices为占用的slice数目

 

2.9 复杂度分析

    复杂度分析主要用于评估设计的收敛难度,使用report_design_analysis命令可以生成对应报告。

    setup path characteristics显示setup值最差的路径

 

logic level distribution中按时钟展示对应的logic level

 

在命令后再加入参数-complexity,会计算设计的rent value,该值表示模块之间的关联性强弱,越大则关联性越大,此处因为工程太小,所以未计算rent value

 

rent value值在0-0.65表示正常范围,在0.65-0.85时则要关注了,收敛存在一定难度,如果大于0.85并且模块的total instances也超过15000,表示布局布线将失败

2.10 pipeline分析

    对于较长的组合逻辑,可以通过插入寄存器改善时序,对于插入的位置,可以参考pipeline报告的Pipeline insertion startpoint,Clock 为分析路径的时钟,Added Latency 为增加的pipeline阶段的数目,Ideal Fmax 为当前的最大频率,Ideal Delay 为当前最小的时钟周期,

Added Pipe Reg 在给定的added latency下,需要添加pipeline寄存器的最大数目,Requirement为在当前时序约束下需要的最大时延,WNS 为要求的最小时延,Pipeline Insertion Startpoint 为最长时延路径的起点单元,Pipeline Insertion Endpoint 为最长时延路径的终点。

 

2.11 时序分析配置报告

    使用report_config_timing 查看时序分析的配置项

 

2.12 参数配置报告

使用命令report_param查看设计中参数相关的配置,description由参数功能的描述

 

三、参考资料

《Vivado/tcl 零基础入门与案例实战》

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

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

相关文章

运筹学基础(一)求解线性规划的单纯形法详解

文章目录 前言线性规划的标准形式一个例子理解单纯形法1. 将线性规划转化为标准形式2. 找到一个初始可行解3. 旋转操作4. 重复旋转 一些badcase退化初始解不是可行解以及无解的情况找不到有限制条件的替入变量——无界解 时间复杂度参考资料 前言 大学的《运筹学》课程中&…

【分享】Word文档的5个隐藏功能

编辑Word文档的过程中,有时候我们需要隐藏一些格式,或者重要信息,今天小编来分享4个Word文档的隐藏功能,记得收藏哦! 功能1:隐藏文本内容 对于不想被他人看到的文本内容,可以设置隐藏起来。 首…

备份SQLserver数据库到本地位置

怎么选择合适的数据库备份方案? 有人可能会说SSMS,确实,SSMS作为一个微软官方提供的SQLserver数据库管理工具,是可以帮助我们完成对数据库的备份还原任务的,但是它也有一些局限性,比如不能进行批量化的备份…

区块链技术与大数据结合的商业模式探索

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着区块链技术和大数据技术的不断发展,两者的结合为企业带来了新的商业模式…

大话设计模式之装饰模式

装饰模式(Decorator Pattern)是一种结构型设计模式,它允许向现有对象动态地添加新功能,同时又不改变其结构。装饰模式通过将对象放入包装器中来实现,在包装器中可以动态地添加功能。 在装饰模式中,通常会有…

碳素光线疗法与宠物健康

碳素光线与宠物健康 生息在地球上的所有动物、在自然太阳光奇妙的作用下、生长发育。太阳光的能量使它们不断进化、繁衍种族。现在、生物能够生存、全仰仗于太阳的光线。太阳光线中、包含有动物健康所需要的极为重要的波长。因此、和户外饲养的动物相比、在室内喂养的观赏动物、…

基于深度学习的心律异常分类算法

基于深度学习的心律异常分类系统——算法设计 第一章 研究背景算法流程本文研究内容 第二章 心电信号分类理论基础心电信号产生机理MIT-BIH 心律失常数据库 第三章 心电信号预处理心电信号噪声来源与特点基线漂移工频干扰肌电干扰 心电信号读取与加噪基于小波阈值去噪技术的应用…

JetBrains全家桶激活,分享 WebStorm 2024 激活的方案

大家好,欢迎来到金榜探云手! WebStorm公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具…

Tire树-不学面试后悔

先来一张图,看多少同学在面试中遇到这个题,然后被迫放弃,那就太可惜,因为这个题只要你往下看就会了 Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字…

追光而遇 沐光同行——锐捷网络召开2024教育行业核心合作伙伴论坛

3月21日,主题为“追光而遇 沐光同行”的2024锐捷网络教育行业核心伙伴论坛在福州启幕。论坛汇聚了教育行业的精英与合作伙伴,议题主要聚焦于教育行业的数字化转型与创新发展,以及如何通过技术驱动,构建智慧教育生态,推动教育事业的高质量发展。作为行业领先的ICT基础设施及解决…

AXI Memory Mapped to PCI Express学习笔记(三)——IP核参数配置

在配置 AXI Memory Mapped to PCI Express core的过程中,需要根据设计需求调整各种参数,如数据位宽、时钟频率、输入输出接口等。这些参数将直接影响IP核的行为和性能,因此请务必仔细选择和配置。完成配置后,IP核生成,…

[激光原理与应用-77]:基于激光器加工板卡的二次开发软件的系统软硬件架构

目录 一、1个板卡、1个激光器、1个振镜的应用架构、1个工位 (1)PLC (2)MES (3)加工板卡 (4)激光加工板卡与激光器之间的转接卡 (5)DB25、DB15 &#x…

手机termux免root安装kali:一步到位+图形界面_termux安装kali-

1.工具 安卓包括鸿蒙手机、WiFi、充足的电量、脑子 2.浏览器搜索termuxvnc viewer下载安装。 3.对抗华为纯净模式需要一些操作先断网弹窗提示先不开等到继续安装的时候连上网智能检测过后就可以了 termux正常版本可以通过智能监测失败了就说明安装包是盗版 4.以后出现类似…

OpenCV初识

1、OpenCV简介 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它由一系列的C函数和少量C类构成,同时提供Python、Java和MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算…

【前端学习——js篇】11.元素可见区域

具体见:https://github.com/febobo/web-interview 11.元素可见区域 ①offsetTop、scrollTop offsetTop,元素的上外边框至包含元素的上内边框之间的像素距离,其他offset属性如下图所示: 下面再来了解下clientWidth、clientHeight…

Memcached非关系型数据库介绍

使用背景 Memcached 不是一个数据库,而是一个高性能的分布式内存对象缓存系统。它主要用于减轻数据库负载,提高动态Web应用的速度、可扩展性和性能。Memcached 的工作原理是将数据存储在内存中,以提供快速的数据访问。当应用程序需要访问数据…

android 11 SystemUI 状态栏打开之后的界面层级关系说明之一

比如WiFi 图标的父layout为: Class Name: ButtonRelativeLayout Class Name: QSTileView Class Name: TilePage Class Name: PagedTileLayout Class Name: QSPanel Class Name: NonInterceptingScrollView Class Name: QSContainerImpl Class Name: FrameLayout Cl…

Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令 此处列举了docker及docker-compose的常用命令,一方面可以做个了解,另一方面可以在需要的时候进行查阅。不一定要强行记忆,用多了就熟悉了。 1、…

Qt扫盲-QAssisant 集成其他qch帮助文档

QAssisant 集成其他qch帮助文档 一、概述二、Cmake qch例子1. 下载 Cmake.qch2. 添加qch1. 直接放置于Qt 帮助的目录下2. 在 QAssisant中添加 一、概述 QAssisant是一个很好的帮助文档,他提供了供我们在外部添加新的 qch帮助文档的功能接口,一般有两中添…

无人机+AI平安校园系统在天津大学成功运行

8月17日,北方天途航空联合天津大学,运用天途平安校园管理平台和大疆无人机场,开展无人机智能监控试点任务,协助学校保卫处监控人员和车辆情况,进行安全疏导和分流。 观看天途平安校园系统演示 现场工程师把天途平安校园…