vivado综合分析与收敛技巧2

1、分解深层存储器配置 实现功耗与性能平衡
在深层存储器配置中 可使用综合属性 RAM_DECOMP 实现更好的存储器分解并降低功耗。此属性可在 RTL 中设置。将RAM_DECOMP 属性应用于存储器时 存储器是在较宽的原语配置中设置的 而不是在较深且较窄的配置中设置的。
CASCADE_HEIGHT 属性与 RAM_DECOMP 属性搭配使用时 综合推断对级联具有更细化的控制权 因此可实现平衡的功耗与性能。此方法需要额外的地址解码逻辑, 但可减少任意时间点访问的块 RAM 数量 这有助于降低功耗。下图中的存储器配置 (32 × 16K) 显示了设置 RAM_DECOMP CASCADE_HEIGHT 属性时分解存储器的方式示例。
如果应用属性 RAM_DECOMP = power CASCADE_HEIGHT = 4 那么将按下图所示方式推断 16 RAMB36E2 并对存储器进行分解。
此处使用的基本原语为 32 × 1K 4 个块 RAM 通过内置功能进行级联 组成 32 × 4K 配置。 4 个此类并行结构可创建1 个深度为 16K 的存储器。输出通过多路复用来生成输出数据。
如果仅应用 RAM_DECOMP = power 属性 则将按下图所示方式推断 16 RAMB36E2 并对存储器进行分解。
此处使用的基本原语为 32 × 1K 8 个块 RAM 通过内置功能进行级联 组成 32 × 8K 配置。 2 个此类并行结构可创建1 个深度为 16K 的存储器。输出通过多路复用来生成输出数据。多路复用器为 2:1 MUX
2、当存储器深度不为 2 的幂时 优化 RAMB 使用率
以下测试案例可用于观察由综合工具生成的 log 日志文件 了解是否可通过改进 RTL 来帮助工具改进。以下代码片段显示了 VHDL 中深度 40K 宽度为 36 位的存储器描述。地址总线需占 16 位。
通过使用 report_utilization 命令 可以看到综合工具生成 72 个块 RAM 如下图所示。
如计算针对 40K x 36 配置应推断的块 RAM 数量 所得到的块 RAM 数量将少于综合工具所生成的数量。
以下显示了此存储器配置的手动计算过程
40K x 36 可细分为 2 个存储器 (32K x 36) (8K x 36)
• 需使用基于 MSB 地址位的地址解码器来支持其中一个存储器执行读写操作 并选择正确的输出数据。
32K x 36 存储器可通过 32 RAMB 实现 4 * 8 * (4K x 9)
8K x 36 存储器可通过 8 RAMB 实现 8 * (1K x 36)
• 总计需要 40 RAMB 才能以最优化方式实现 40K x 36 存储器。
为验证是否已推断出 RAMB 的最优数量 综合 log 日志文件包含 1 个会话 其中详列了每个存储器的配置方式及其映 射到 FPGA 原语的方式。如下图所示 存储器深度作为 64K 来处理 这表明深度不等于 2 的幂次方时 无法以最优化方式来加以处理。
综合工具使用的是 64K x 1 2 个具有级联功能的块 RAM ), 36 个此类结构 因为 36 位数据 。因此总计有 36 x 2 =72 个块 RAM 。下图显示的代码片段用于强制综合推断 RAMB 的最优数量。

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

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

相关文章

JRT实现缓存协议

上一篇介绍的借助ORM的增、删、改和DolerGet方法,ORM可以很精准的知道热点数据做内存缓存。那么就有一个问题存在,即部署了多个站点时候,如果用户在一个Web里修改数据了,那么其他Web的ORM是不知道这个变化的,其他Web还…

rpc服务、微服务架构、分布式应用是什么

RPC(Remote Procedure Call)是远程过程调用的简称,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。简单来说,就是调用远程计算机上的函数或方法,就像调用本地的函数或方法一…

webpack如何处理浏览器的样式兼容问题postcss

一、准备工作 css/index.css添加样式 .word {color: red;user-select: none; } 为了兼容不同的浏览器我们需要添加前缀比如: -webkit-user-select: none; 这个工作可以通过postcss的插件postcss-preset-env处理 二、安装依赖 pnpm i -D postcss postcss-loader…

接口测试用例编写和接口测试模板

一、简介 接口测试区别于传统意义上的系统测试,下面介绍接口测试用例和接口测试报告。 二、接口测试用例模板 功能测试用例最重要的两个因素是测试步骤和预期结果,接口测试属于功能测试,所以同理。接口测试的步骤中,最重要的是将…

MySQL中的JOIN与IN:性能对比与最佳实践

文章目录 JOIN与IN的基本介绍JOININ JOIN与IN性能对比使用JOIN的查询使用IN的查询 何时使用JOIN何时使用IN性能优化的其他考虑因素总结 🎉MySQL中的JOIN与IN:性能对比与最佳实践 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈…

nginx: [error] open() “/usr/local/openresty/nginx/logs/nginx.pid“ failed (2:

错误原因:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory),logs目录下缺少pid文件。 解决方法: 使用指定nginx.conf文件的方式重启nginx roothadoop100 conf]# /usr/local/openr…

<蓝桥杯软件赛>零基础备赛20周--第8周第1讲--十大排序

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…

香港服务器运行缓慢的原因是什么_Maizyun

香港服务器运行缓慢的原因是什么? 随着互联网的蓬勃发展,越来越多的企业和个人选择使用香港服务器来托管他们的网站或应用程序。 不过,在使用过程中,你可能会遇到一些问题,其中最常见的就是香港服务器运行缓慢。 本文…

Java中的单元测试,反射和枚举

知识模块 一.Junit单元测试 二.反射 三.枚举一.Junit单元测试a.概述Junit是一种Java写的单元测试框架,专门用来测试Java程序,它可以取代main方法b.Junit环境搭建由于Junit使用的类不属于我们JDK的类库,需要引入第三方jar包才能使用c.Junit使用…

身份验证和电子邮件的网络安全即将迎来地震

任何拥有 Gmail 或 Yahoo 电子邮件帐户的人都清楚,如果不是明确的欺诈企图,他们的收件箱中可能充满了未经请求的邮件。 这些服务的用户很可能多次想知道他们的提供商是否可以采取措施至少减少垃圾邮件的数量以及随之而来的诈骗风险。 好消息是&#xf…

AI查gdb使用

AI查询了一波GDB的使用,发现基础的命令还是很够的,不过给的都是全称,实际使用时都是用首字母查询问题的。 gdb是GNU调试器,是一种基于命令行的调试工具,可以用于调试C、C、Fortran、Assembly等编程语言编写的程序&…

多模态大模型总结1(2021和2022年)

常用损失函数 ITC (image-text contrasctive loss) CLIP中采用的对比损失,最大化配对文本对的余弦相似度,最小化非配对文本对的余弦相似度,采用交叉熵损失实现 MLM (masked language modeling&#xff0…

Elasticsearch 相似度评分模型介绍

前言 Elasticsearch 是基于 Lucene 的世界范围内最流行的全文检索框架,其文档相似度算法包含 TF/IDF 和 BM25,从 ES 5.0开始 BM25 算法已经成为 ES 默认的相似度评分模块。 TF-IDF 与 BM25 的区别 TF-IDF 和 BM25 都是计算文本相似性的常用算法。TF-ID…

ESP32-S3 上电不断输出invalid header: 0xffffffff

现象如下: ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT) invalid header: 0xffffffff invalid header: 0xffffffff invalid header: 0xffffffff invalid header: 0xffffffff 原因:芯片内部固件问题…

统计英语单词

使用Scanner类和正则表达式统计一篇英文中的单词,要求如下: 1、一共出现了多少个单词。 2、有多少个互不相同的单词。 3、按单词出现的频率大小输出单词。 package 第七次; import java.util.*; import java.io.*; import java.util.regex.*;public …

人工智能助力医疗:科技护航健康未来

欢迎大家浏览我的博客。YinKais Blog | YinKais Blog 人工智能的魔法不仅仅体现在解决问题、提供建议的方面,更深刻地改变了医疗领域,成为我们健康的科技守护者。本文将聚焦于人工智能在医疗领域的应用,探讨它是如何助力医疗事业,…

重生奇迹mu召唤师攻略

一、技能系统 1、技能大类:召唤师主要有火焰职业技能和水元素技能。 2、火焰职业技能:主要是使用火焰元素进行攻击,可以攻击单个目标,也可以同时攻击多个目标。 3、水元素技能:主要是对多个敌方单位使用水元素&…

在 Spring Boot 中使用 MyBatis-Plus 进行批量操作数据

引言 MyBatis-Plus 是 MyBatis 的增强工具包,提供了许多便捷的功能来简化 MyBatis 的使用。在实际项目中,我们经常需要进行批量的数据操作,例如批量插入、批量更新和批量删除。本文将介绍如何在 Spring Boot 中使用 MyBatis-Plus 进行这些批…

ZFPlayer 播放视频的时候的视图层级

未播放的时候 首先看正常展示的时候,还没又开始播放 这个时候我们打开图层看一下,发现视频时长和播放按钮都是放在 视频封面图上的 播放的时候 我们看到的播放视频的画面 我们发现,我们之前在未播放状态看到的视图,仍然还在…

Linux入门

什么是Linux? Linux是一种免费、开源的操作系统内核 最初由芬兰计算机科学家 李纳斯托瓦兹 (Linus Torvalds)在1991年创建 Linux内核最初是为个人电脑设计的,如今已普及到服务器、超级计算机、移动设备等各种硬件平台 由于Linux是自由软件(自…