FPGA资源评估

news2024/9/22 1:01:29

FPGA资源评估


文章目录

  • FPGA资源评估
  • 前言
  • 一、资源评估
    • 1.1 资源有哪些
    • 1.2 资源统计
  • 二、 FPGA 的基本结构
  • 三、 更为复杂的 FPGA 架构


前言

一、资源评估

大家在项目中一般会要遇到需要资源评估的情况,例如立了新项目,前期需要确定使用什么FPGA片子,做到成本越小越好。这就要对即将要实现的功能进行下资源评估。

  • 全新项目:先把各个模块代码基本上写出来,然后挂上去,再去vivado评估资源,或者至少有一个参考工程
  • 比较成熟的项目换芯片:将之前的代码主要的模块列出来,清楚新的项目中这些模块哪些需要用到,用到的需要例化几次,这样就能够快速得到评估结果。

1.1 资源有哪些

主要是以下四类

LUT 逻辑资源

FF 触发器资源

BRAM 存储器资源

DSP 乘法器资源
在这里插入图片描述

1.2 资源统计

1.首先建议模块例化的时候按照自顶向下的顺序依次编号,这样每个模块的的位置清晰可见,像这样u0、u1、u2等
2.准备好execl表格
在这里插入图片描述
3.打开资源报表
在这里插入图片描述
可以把资源信息一步一步的填入上面准备的EXECL文档中
这样一个一个的填,效率还是有一点低,我们可以用tcl脚本让VIVADO帮我们生成资源报表

整个模块的资源消耗表格,所有模块层次的都会列出来,大而全,但不好用。

report_utilization -hierarchical -file E:/AAA.rpt

用这个只列出顶层模块的资源消耗表格

report_utilization -hierarchical -hierarchical_depth 1  -file E:/AAA.rpt

如果需要对某个重点顶层模块进行进一步分析,则:

report_utilization -cells u0_xxx -hierarchical -hierarchical_depth 2 -file E:/xxx.rpt

那么得到评估结果后是不是这四种资源都不超过100%,就是可以实现的呢。
那肯定不是的了,按照个人经验
一般来说LUT和FF最好在70%左右,再多有可能会出现编译不过的情况了,BRAM和DSP可以更多一点。这个东西没有一个绝对的说法,跟主观经验有关


二、 FPGA 的基本结构

采用一种可以重复配置的结构来实现, 而**查找表(LUT)**可以很好地满足这一要求,目前主流的 FPGA 芯片仍是基于 SRAM 工艺的查找表结构。

FPGA 芯片参数指标:包含可编程逻辑模块的数量、固定功能逻辑模块(如乘法器)的数目及存储器资源(如嵌入式 RAM)的大小。

在最底层的可配置逻辑模块(如片上的逻辑单元) 上,存在着基本的两种部件:触发器查找表( LUT) , 而触发器和查找表的组合方式不同,是各个 FPGA 家族之间区别的重要依据, 并且查找表本身的结构也可能各不相同( 有 4 输入6 输入或其他)。

查找表( Look-Up-Table)简称为 LUT, 其本质上就是一个 RAM。目前 FPGA 内部中多使用 4输入的 LUT,每一个 LUT 可以看成一个有 4 位地址线的 RAM

当用户在 EDA 工具上通过原理图或 硬件描述语言设计了一个逻辑电路以后, FPGA 开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM 中。 这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查找表操作, 通过地址找到对应的 RAM 中的结果, 最后将其输出。以实现数字逻辑 Y=A&B&C 的功能为例。

三、 更为复杂的 FPGA 架构

随着技术的发展和工艺节点的进步, FPGA 的容量和性能在不断提高的同时, 其功耗却不断的优化减少。 2006 年以前四输入查找表一直被广泛使用, 在一些高端器件可能会用上六输入、八输入或更多输入端口的查找表。 而一个多输入的查找表又可以分解成较小输入的查找表, 即能够分裂成许多更小的功能。 例如一个八输入的查找表可以分解成两个四输入的查找表或分解成一个三输入加一个五输入的查找表。在实际的高端器件中,这种可编程构造可以描述相当于百万级(有时甚至千万级)的原始逻辑门。

在 FPGA 内部,利用 FPGA 的可编程性在芯片内部构造实现了一个计数器逻辑,有着“软内核”与“硬内核”之分。

软内核(软功能):在构造计数器逻辑过程中使用到的功能便可以被称为软功能。

硬内核(硬功能):功能若是直接利用芯片实现的,则是利用了芯片内部的硬功能。

软内核与硬内核之间优势互补,软内核的优势在于可以在利用芯片资源的基础上利用编程设计让其完成需要实现的任何功能(注意是数字功能,不包括模拟功能)。 而硬内核由于是实现固定功能的器件,因此其优势在于资源利用率高且功耗较低, 占用硅片的面积也较小, 并具有较高的性能。最重要的区别在于:与软内核相比硬内核可用于实现模拟功能, 例如锁相环的倍频功能,这个功能需要在模拟电路下实现,所以这一部分是在 FPGA 内部用硬件来实现的 。

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

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

相关文章

06 集合

1.集合类的体系结构 接口:Colltion(单列) List(可重复) Set(不可重复) Map(双列) 实现类: ArrayList,LinkedList HashSet,TreeSet HashMap 2. Collection集合 Collection集合概述 1.是单列集合的顶层接口 2.JDK不提供该接口的任何直接实现,提供具体的子接口(Set和List)实…

Leetcode JAVA刷刷站(11)盛最多水的容器

一、题目概述 二、思路方向 这个问题是经典的“盛最多水的容器”问题,通常使用双指针法来解决。基本思路是,我们初始化两个指针,一个指向数组的起始位置,另一个指向数组的末尾位置。然后,我们计算当前两个指针所指向…

工业智能网关在汽车制造企业的应用价值及功能-天拓四方

随着工业互联网的飞速发展,工业智能网关作为连接物理世界与数字世界的桥梁,正逐渐成为制造业数字化转型的核心组件。本文将以一家汽车制造企业的实际使用案例为蓝本,深入解析工业智能网关在实际应用中的价值、功能及其实操性。 一、背景与挑…

Java语言程序设计——篇十三(1)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

Leetcod编程基础0到1-基础实现内容(个人解法)(笔记)

以下为个人解法,欢迎提供不同思路 1768. 交替合并字符串 题目:给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾&…

凹凸纹理概念

1、凹凸纹理 纹理除了可以用来进行颜色映射外,另外一种常见的应用就是进行凹凸映射。凹凸映射的目的是使用一张纹理来修改模型表面的法线,让我们不需要增加顶点,而让模型看起来有凹凸效果。原理:光照的计算都会利用法线参与计算&…

winform 大头针实现方法——把窗口钉在最上层

平时我们再使用成熟的软件的时候,会发现有个大头针的功能挺不错的。就是点一下大头针,窗口就会钉住,一直保持在最上面一层,这样可以一边设置参数,一边观察这个窗口里面的变化,比较方便。下面我就来简单实现…

进阶SpringBoot之首页和图标定制

idea 快捷键: ctrl shift "" 使缩起来的代码展开 ctrl shitf "-" 使代码缩起 WebMvcAutoConfiguration.class:可以看到需要有一个 index.html 文件映射到首页 private Resource getIndexHtmlResource(Resource location) {tr…

关于SpringMVC的一点学习笔记

关于SpringMVC的一点学习笔记 1、 maven依赖/目录结构2、配置文件3、从前端请求开始4、Controller5、Service6、Dao7、mybatis8、utils公共类9、 分页查询 QueryPageBean / PageResult10、静态页面Freemarker用在经常访问但不经常变化的页面场景中11、Reids12、Echarts13、认证…

后台管理权限自定义按钮指令v-hasPermi

第一步:在src下面建立一个自定义指令文件,放自定义指令方法 permission.js文件: /*** v-hasPermi 操作权限处理*/import store from "/store";export default {inserted(el, binding) {const { value } binding;//从仓库里面获取到后台给的数组const permission s…

软件设计之MySQL(2)

软件设计之MySQL(2) 此篇应在JavaSE之后进行学习: 路线图推荐: 【Java学习路线-极速版】【Java架构师技术图谱】 Navicat可以在软件管家下载 使用navicat连接mysql数据库创建数据库、表、转储sql文件,导入sql数据 学习内容: 基础的SELECT语…

数据分析:宏基因组数据的荟萃分析

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 介绍 宏基因组数据的荟萃分析是一种综合多个独立宏基因组研究结果的方法,目的是揭示不同人群或样本中微生物群落的共同特征和差异。这种方法特别适用…

ubantu安装python3.10

1.从官网下载安装 1.1安装依赖 sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev1.2从官网下载源文件 wget https://www.python.org/ftp/pyth…

设计资讯 | 巴黎 2024 年奥运会“另一个自我”以 DAB 汽车定制电动摩托车的形式亮相

巴黎 2024 年奥运会运动作为定制电动摩托车 DAB Motors 融入了2024 年巴黎奥运会的精神,通过其定制电动摩托车诠释了奥运会的五环。这些车辆由其服务部门 DAB Custom Studio (DCS) 提供,颜色编码与奥运五环一样。每种颜色代表一项运动:蓝色代…

RobotFramework框架+Selenium实现UI自动化测试(十六)

学习目录 1 UI自动化测试 2安装RF框架所需的 robotframework-seleniumlibrary包 1) robotframework-seleniumLibrary版本说明 2) robotframework-selenium2Library版本说明 3 selenium介绍 3.1 配置操作系统环境支持使用selenium打开浏览器 3.2 s…

「OC」简单网络请求的实现

「OC」简单网络请求的实现 文章目录 「OC」简单网络请求的实现写在前面URL和API网络请求的流程网络申请数据解析参考文章 写在前面 在暑假最后一个项目天气预报之中,使用了网络请求,虽然说还是不太理解网络请求之中的相关内容,以及在写天气预…

傻瓜式一步到位Mysql 8.0 密码修改

5.7之前修改密码语句 update user set authentication_string password(“root”) where user “root”; mysql 5.7.9以后废弃了password字段和password()函数;并在user表加了authentication_string:字段表示用户密码 #进入到mysql 安装目录下 #停止 mysql 服务 …

低碳环保测试知识问答活动

全国生态日,倒计时1天。为了组织这场关于“低碳环保测试知识问答”主题的线上知识竞赛,我们历经从活动方案策划到落地答题小程序上线。 一、活动背景 通过举办此次知识竞赛,旨在提高公众对低碳环保的认识和参与度,推广低碳生活方…

网络协议七 应用层 DNS协议 和 DHCP协议 这两个都了解就好

应用层常见的协议 1. DNS 协议 了解 将baidu.com 解析成具体IP的协议 实际上可以理解为:客户端 通过 DNS 协议 和 DNS 服务器进行交互,将域名转换成IP 2. DHCP 协议 了解 从DHCP 服务器自动获取IP地址

P1305 新二叉树

题目&#xff1a; 洛谷传送门&#xff1a;P1305 新二叉树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,ans; char root; struct node{char nod,r,l; }a[100000]; void dfs(char idx){cout<…