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

news2024/11/28 2:47:55
对于顶层设计和 / 或包含 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.coloradmin.cn/o/1259377.html

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

相关文章

Ubuntu+Tesla V100环境配置

系统基本信息 nvidia-smi’ nvidia-smi 470.182.03 driver version:470.182.03 cuda version: 11.4 查看系统体系结构 uname -aUTC 2023 x86_64 x86_64 x86_64 GNU/Linux 下载miniconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CM&OA https://mi…

无效的目标发行版: 21 和springboot爆错

目录 问题描述 原因分析: 问题描述 springboot爆红 调整一下这个:把这里的version调低一点应该就可以了 无效的目标发行版: 21 调整一下这个把这里的Java version调整一下,我是调整到1.8(其他没有试过) 原因分析&a…

数据结构 / day05 作业

1. 双向循环链表作图 双向循环链表节点创建 双向循环链表节点头部插入 双向循环链表节点尾插 双向循环链表节点头部删除 双向循环链表节点尾部删除 2.思维导图

入侵redis之准备---VMware安装部署kail镜像服务器【详细包含云盘镜像】

入侵redis之准备—VMware安装部署kail镜像服务器【详细包含云盘镜像】 kail是一个很好玩的操作系统,不多说了哈 下载kail镜像 kail官网:https://www.kali.org/get-kali/#kali-platforms 百度云盘下载: 链接:https://pan.baidu.com/s/1PRjo…

用Zoho Projects项目管理系统进行直播管理的策略与方法

使用Zoho Projects项目管理系统进行直播管理。优化团队直播流程,明确职责,增进默契!助力团队一丝不苟,确保无懈可击的直播效果。汲取经验,固化流程,多角度剖析关键数据,深入复盘,便于…

C++标准模板库 STL 简介(standard template library)

在 C 语言中,很多东西都是由我们自己去实现的,例如自定义数组,线程文件操作,排序算法等等,有些复杂的东西实现不好很容易留下不易发现的 bug。而 C为使用者提供了一套标准模板库 STL,其中封装了很多实用的容器&#xf…

任意文件上传漏洞挖掘(getshell)

任意文件上传漏洞挖掘(getshell) 1.在漏洞挖掘过程中进行找到该子域名页面, 2.没有内容就扫目录,成功发现filemanager/,点击访问 看到upload页面感觉有惊喜, 果然有上传功能,点击上传抓包,经测试发现普通j…

【第六节:微信小程序 小程序UI组件C】微信小程序入门,以思维导图的方式展开6

如果图文字看不清,可以私信我给发大图哈。 6、小程序UI组件C 导航(Navigation) navigator 应用链接 url String 应用内的跳转链接 open-type String navigate 可选值 navigate、redirect、switchTab、reLaunch&#…

RAM++(recognize anything++)—— 论文详解

一、概述 1、是什么 RAM(RAM plus plus)论文全称 《Open-Set Image Tagging with Multi-Grained Text Supervision》。区别于图像领域常见的分类、检测、分割,他是标记任务——多标签分类任务(一张图片命中一个类别)&…

【我的创作纪念日】

机缘 大家好,我是圥忈ゼ, 2023 年 07 月 20 日,我撰写了第 1 篇技术博客:《我的编程未来规划》,也是由于我高考后的专业选择,和就业方向的选择,加上想立志成为一名专业 IT 作者,我结…

Docker | Docker部署MySQL

Docker | Docker部署MySQL ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:Docker系列…

Python交互式解释器及用法

为了让开发者能快速学习、测试 Python 的各种功能,Python 提供的“python”命令不仅能用于运行 Python 程序,也可作为一个交互式解释器一一开发者逐行输入 Python 代码,它逐行解释执行。 当输入“python”命令时,可以看到如下输出…

IDEA的安装与删除插件

不小心安装了一个英文转中文的插件,看不习惯,决定重新变回英文 先点击这个settings的安装 然后就看到这个下面这张图了 如果是安装就点install,不用了就和我一样把这个勾给去掉

计算计能力挑战赛选择题真题(2020、2021、2022)

2020 1.关于联合体和结构体错误的是(a) a.联合体union的存放顺序是所有成员都从高地址开始存放的(x) (ps:联合体union的存放顺序是所有成员都从低地址开始存放的) b.联合体中可以定义多个成员,联合体的大小由最大的成员的大小决定。 c.可以使用匿名…

ChatGLM2详细安装部署(chatglm2大模型安装步骤三)

ChatGLM2安装部署 1.服务器配置 服务器系统:Centos7.9 x64 显卡:RTX3090 (24G) 虚拟环境:Miniconda3 2.安装部署 2.1 ChatGLM2下载 输入命令:git clone https://github.moeyy.xyz/https://github.com/THUDM/ChatGLM2-6B.git 输入命令:cd ChatGLM2-6B 注:https://g…

瓶盖内的条码需要注意哪些?,才能帮助企业有效搭建与消费者沟通~

在不断发展的消费品领域,特别是饮料行业,组织不断寻求创造性的方法来扩大客户参与度、增强品牌忠诚度并消除假冒产品。一种获得认可的新兴方法是在瓶盖和瓶盖上实施DataMatrix 条形码扫描。这种创新方法提供了许多好处,从改善消费者互动到强化…

idea 旧项目替换成新项目(项目名称,模块,代码)

文章目录 修改项目名替换模块、文件前缀全局替换包名局部替换xml、yml等其他文件 修改项目名 右击项目名称->Refactor->Rename(shiftF6) ctrlaltshifts 替换模块、文件前缀 git bash执行如下脚本 #/bin/bash # 单目录替换 for f in old-prefix*; do mv "$f…

用java实现王者荣耀

第一步是创建项目 项目名自拟 第二部创建个包名 来规范class 然后是创建类 GameFrame 运行类 package com.sxt; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impo…

openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项

文章目录 openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项133.1 检查openGauss状态133.2 检查锁信息133.3 统计事件数据133.4 对象检查133.5 SQL报告检查133.6 备份133.7 基本信息检查 openGauss学习笔记-133 openGauss 数据库运维-例行维护-日维护检查项 …

SEOAI每周资讯和Linus思考 231127

欢迎查看 Linus筋斗云SEO 的每周资讯整理,本周的一些要点: Google11月核心更新和评论更新仍然没有结束9个搜索结果页的主要变化:图标、品牌、粉丝数、新模块GSC已索引页面狂掉?Google的问题,已修复黑五网一期间的搜索…