vivado产生报告阅读分析25-复杂性报告

对于顶层设计和 / 或包含 1000 个以上叶节点单元的层级单元 复杂性报告会显示每个叶节点单元类型的“ Rent Exponent” Rent 指数 、“ Average Fanout 平均扇出 和分布。 Rent 指数是指在使用最小割 (min-cut) 算法以递归形式对设计进行分区时, 网表分区的端口数量和单元数量之间的关系。其计算方法与在全局布局期间布局器所使用的算法类似。因此, 它可明确指出布局器所遇到的困难 当设计层级与全局布局期间发现的物理分区精确匹配时尤其如此。
Rent 指数根据 Rent 规则定义如下
ports = constant x cells Rent
log(ports) = Rent x log(cells) + constant
Rent 指数较高的设计表示此类设计中包含逻辑紧密相连的分组 并且这些分组与其他分组同样连接紧密。这通常可理解为全局布线资源使用率较高并且布线复杂性也更高。此报告中提供的 Rent 指数是根据未布局和未布线的网表来计算的。
完成布局后 相同设计的 Rent 指数可能改变 因为它基于物理分区而不是逻辑分区。 Report Design Analysis 命令不会报告布局后的 Rent 指数 因为建议改为在设计完成布局后再执行拥塞报告分析。执行以下任一操作时, 将以“ Complexity Mode 复杂性模式 来运行“ Report Design Analysis 设计分析报告):
• 在“ Report Design Analysis ”对话框的“ Options ”选项卡中选中“ Complexity ”选项。
• 执行 report_design_analysis Tcl 命令 并使用下表中所示任意选项。
分析顶层设计复杂性
下图显示的示例报告来自“ Complexity Mode 复杂性模式 下的“ Report Design Analysis 设计分析报告 ), 最多可报告至顶层模块下一层级。
Tcl 命令
report_design_analysis -complexity -hierarchical_depth 1
读取和解释复杂性报告
前例所示的“ Complexity Characteristics 复杂性特性 表显示了顶层以下每个层级的 Rent 指数和平均扇出。一般情况下, 复查这些指标时需要考量的范围包括
Rent 指数
介于 0.0 0.65 之间 判定复杂性处于较低到正常水平 不会导致任何潜在问题。
介于 0.65 0.85 之间 判定复杂性处于较高水平 当实例数量超过 25k 时尤其如此。
高于 0.85 复杂性非常高 如果实例数量同样很高 那么实现期间设计可能失败。
• 平均扇出
低于 4 判定为正常。
介于 4 5 之间 实现工具可能在布局设计时无法避免拥塞。就 SSI 器件而言 当实例总数大于 100k 布局器将难以找到能布局在 1 SLR 内或分布到 2 个以上 SLR 的解决方案。
高于 5 实现期间设计可能失败。
对于重要性较高的大型模块 必须解决 Rent 指数过高和 / 或平均扇出过高的问题。对于较小的模块 尤其是实例总数低于 10k 的情况下 ), Rent 指数和平均扇出可能较高 但仍可轻松成功完成布局布线。因此 必须始终将“ TotalInstances” 实例总数 列与 Rent 指数和平均扇出结合在一起进行审查。复杂性特性有时可能无法预测布线拥塞。诸如目标器件中的 I/O 位置约束、布局规划和宏原语位置等其他因素还会限 制布局解空间, 从而引起拥塞。完成布局后才能通过拥塞报告对此类约束的影响进行更准确的分析。
在解读“ Complexity Characteristics ”表时需要考虑的其他事项
• 模块中 LUT6 所占比例的增高通常会导致平均扇出增大 从而可能导致 Rent 指数增大。
• 大量 RAMB DSP 的存在可能导致 Rent 指数增大 因为这些原语都具有大量连接。
Rent 指数较高或者平均扇出较高的层级实例有时不会导致问题 因为布局器在平面网表上工作 可将这些实例细分为更便于布局的逻辑组。如果存在明显不同寻常的模块, 此报告可提供有关可能存在网表问题的区域的指示信息。 当某个大型模块的 Rent 指数和 / 或平均扇出较高并导致拥塞和时序问题时 请考虑执行如下操作
• 减少模块的连接。保留层级 防止在综合内执行跨边界最优化 这样可减少 LUT6 的使用 从而降低网表密度。
• 尝试在综合中禁用 LUT 组合。
• 在实现期间使用“ Congestion Strategy 拥塞策略 或者使用 SpreadLogic 布局指令 这可能有助于缓解拥塞。如果设计目标为 SSI 器件 请尝试采用多种不同 SSI 布局指令。
• 在 SLR 层次针对 SSI 器件或者在通用时钟区域层次使用简单的布局规划使拥塞的逻辑组保持独立 或者引导全局布局向类似先前明确的良好布局相似的方向发展。

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

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

相关文章

Linux中tar命令的几个高级用法

在Linux世界中,Tar命令是一把解密归档世界的魔法工具。无论是打包、压缩还是解压,Tar命令都能胜任。本文将生动地介绍Tar命令的基本用法,并深入探讨五个常用选项,帮助读者在Linux系统中灵活运用这个强大的工具。 一、命令概述 Ta…

西北大学计算机844考研-23年计网计算题详细解析

西北大学计算机844考研-23年计网计算题详细解析 1.计算无传输差错状态下停止—等待ARQ协议效率,电磁波传播速率为2*10^8m/s,链路长为2000m,帧长度为1000比特,计算传输速率10kbps及10Mbps时的协议效率(即信道利用率) …

[python]离线加载fetch_20newsgroups数据集

首先手动下载这个数据包 http://qwone.com/~jason/20Newsgroups/20news-bydate.tar.gz 下载这个文件后和脚本放一起就行,然后 打开twenty_newsgroups.py文件(在fetch_20newsgroups函数名上,右键转到定义即可找到) 之后运行代码即…

关于mybatis插入返回主键id和SpringBoot事务注解自调用演示

文章目录 一. 插入返回任意规则主键ID二. SpringBoot自调用事务2.1 场景12.2 场景2 自调用结论总结 一. 插入返回任意规则主键ID 实体对象 TableName("bank") Data public class Entity {TableId("id")Integer id;TableField("money")Integer …

TUP通信

一,概括 二,常用方法 三, 实现步骤(一发一收) 四,案例(一接一收) (1),客户端 (2),服务端 (3&…

1.2 C语言之变量与算数运算表达式概述

1.2 C语言之变量与算数运算表达式概述 一、华氏温度与摄氏温度对照二、代码概述三、练习 一、华氏温度与摄氏温度对照 #include <stdio.h>/*当华氏温度为 0,20,40,...300时&#xff0c;打印出华氏温度与摄氏温度对照表华氏温度与摄氏温度 C(5/9)(̧F-32) 其中C表示摄氏温…

8.二维数组——将一个二维数组行和列的元素互换,存到另一个二维数组中。

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 将一个二维数组行和列的元素互换&#xff0c;存到另一个二维数组中。 二、题目分析 三、解题 程序运行代码 #incl…

rdf-file:API

组件架构 intefaces模块&#xff1a;主要包含用户使用接口APItools模块&#xff1a;包含组件内核实现的文件操作工具codec模块&#xff1a;对文件结构&#xff0c;行数据&#xff0c;字段数据进行编码解码meta模块&#xff1a; 元数据配置以及加载loader/extension模块: 对配置…

Linux uname命令教程:如何打印linux操作系统名称和硬件的基本信息(附实例教程和注意事项)

Linux uname命令介绍 uname命令是一个在Linux中常用的命令行工具&#xff0c;用于打印有关操作系统名称和系统硬件的基本信息。uname这个名字来源于"UNIX name"。它最常用于确定处理器架构&#xff0c;系统主机名和系统上运行的内核版本。 Linux uname命令适用的Li…

Linux网络——数据链路层

目录 一.认识以太网 二.以太网帧格式 三.认识MAC地址 四.认识MTU 五.以太局域网的通信原理 六.其他重要协议 1.DNS协议 2.域名简介 3.ICMP协议 4.NAT技术 5.NAT技术的缺陷 6.NAT和代理服务器 一.认识以太网 "以太网" 不是一种具体的网络, 而是一种技术标…

必应的下一个十年:穿越创新的奇点时刻

2023年是微软搜索引擎必应进入中国市场十周年&#xff0c;2024年也将迎来必应上市十五周年。对于风起云涌的互联网公司来说&#xff0c;十年到十五年是一个相当长的创新周期。而在2023年初&#xff0c;以GPT为代表的大语言模型横扫全球科技产业&#xff0c;也对互联网和云计算带…

Docker | Docker部署MySQL

Docker | Docker部署MySQL ✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a;Docker系列…

Excel如何比较两列数据的不同

当遇到exel有两个列表的数据&#xff0c;需要比较得到他们的不同的部分&#xff0c;并且得到一个不同的值的列表。示例如下&#xff1a; 目的是&#xff1a;通过比较&#xff0c;知道Column2的哪些值不在在Column1里。 WPS直接提供了这一个功能&#xff0c;如下图&#xff1a;…

Ubuntu18.04安装Ipopt-3.12.8流程

本文主要介绍在Ubuntu18.04中安装Ipopt库的流程&#xff0c;及过程报错的解决方法&#xff0c;已经有很多关于Ipopt安装的博客&#xff0c;但经过我的测试&#xff0c;很多都失效了&#xff0c;经过探索&#xff0c;找到可流畅的安装Ipopt的方法&#xff0c;总结成本篇博客。 …

【备忘录】软件记录

Anaconda 虚拟环境 创建Python环境 Spyder Python程序编辑 Jupyter Notebook 交互式开发环境

java--单继承、Object

java是单继承的&#xff0c;java中的类不支持多继承&#xff0c;但是支持多层继承。 反证法&#xff1a; 如果一个类同时继承两个类&#xff0c;然后两个类中都有同样的一个方法&#xff0c;哪当我创建这个类里的方法&#xff0c;是调用哪父类的方法 所以java中的类不支持多继…

51单片机的智能窗帘系统【含proteus仿真+程序+报告+原理图】

1、主要功能 该系统由AT89C51单片机LCD1602显示模块DS18B20温度模块DS1302时间模块光敏传感器步进电机蓝牙等模块构成。适用于智能窗帘、智能门窗家具等相似项目。 可实现基本功能: 版本一&#xff1a; 1、LCD1602实时显示北京时间、环境温度、光照强度、手动/自动控制等信息…

SPSS多维尺度分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

window上64位和32位的区别

在电脑上安装系统和软件的时候&#xff0c;经常会出现32位系统和64系统的选项&#xff0c;那么Windows64位系统和32位系统的区别具体在哪里&#xff0c;很多人都是比较模糊&#xff08;比如说我....&#xff09;的&#xff0c;那么今天小黑就来详细的科普下这两个系统究竟有什么…

springboot实现数据脱敏

springboot实现数据脱敏 怎么说呢&#xff0c;写着写着发觉 ”这写的什么玩意“ 。 总的来说就是&#xff0c;这篇文章并不能解决数据脱敏问题&#xff0c;但以下链接可以。 SpringBoot中利用自定义注解优雅地实现隐私数据脱敏 然后回到本文&#xff0c;本来是想基于AOP代理&am…
最新文章