论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
备份容灾
›
备份
›
FPGA资源评估
FPGA资源评估
雁过留声
金牌会员
|
2024-8-19 05:50:39
|
显示全部楼层
|
阅读模式
楼主
主题
507
|
帖子
507
|
积分
1521
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输入的 LU
T,每一个 LUT 可以看成一个有
4 位地址线的 RAM
。
当用户在 EDA 工具上通过原理图或 硬件描述语言计划了一个逻辑电路以后, FPGA 开发软件会自动盘算逻辑电路的所有大概结果,并把真值表(即结果)事先写入 RAM 中。 这样,每输入一个信号进行逻辑运算就便是输入一个地址进行查找表利用, 通过地址找到对应的 RAM 中的结果, 最后将其输出。以实现数字逻辑 Y=A&B&C 的功能为例。
三、 更为复杂的 FPGA 架构
随着技能的发展和工艺节点的进步, FPGA 的容量和性能在不断提高的同时, 其功耗却不断的优化淘汰。 2006 年以前四输入查找表不绝被广泛使用, 在一些高端器件大概会用上六输入、八输入或更多输入端口的查找表。 而一个多输入的查找表又可以分解成较小输入的查找表, 即可以大概分裂成很多更小的功能。 例如一个八输入的查找表可以分解成两个四输入的查找表或分解成一个三输入加一个五输入的查找表。在实际的高端器件中,这种可编程构造可以描述相当于百万级(偶然以致万万级)的原始逻辑门。
在 FPGA 内部,利用 FPGA 的可编程性在芯片内部构造实现了一个计数器逻辑,有着“软内核”与“硬内核”之分。
软内核(软功能):在构造计数器逻辑过程中使用到的功能便可以被称为软功能。
硬内核(硬功能):功能若是直接利用芯片实现的,则是利用了芯片内部的硬功能。
软内核与硬内核之间上风互补,软内核的上风在于可以在利用芯片资源的根本上利用编程计划让其完成必要实现的任何功能(注意是数字功能,不包括模拟功能)。 而
硬内核由于是实现固定功能的器件,因此其上风在于资源利用率高且功耗较低, 占用硅片的面积也较小, 并具有较高的性能。最重要的区别
在于:与软内核相比
硬内核
可用于实现
模拟功能
, 例如
锁相环的倍频功能
,这个功能必要在
模拟电路
下实现,所以这一部门是在 FPGA 内部用
硬件来实现
的 。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
雁过留声
金牌会员
这个人很懒什么都没写!
楼主热帖
嵌入式数据库简介
Dax函数教程_编程入门自学教程_菜鸟教 ...
Spring Boot + URule 规则引擎,可视化 ...
【如何优化她】教你如何定位不合理的SQ ...
之前很火给女朋友推送微信服务号消息是 ...
常用类-LocalDate、LocalTime、LocalDa ...
微服务大行其道的今天,Service Mesh是 ...
Elasticsearch 入门实战(5)--Java API ...
利用WordPress搭建属于自己的网站 ...
万万没想到,除了香农计划,Python3.11 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表