雁过留声 发表于 2024-8-19 05:50:39

FPGA资源评估

FPGA资源评估



媒介

一、资源评估

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


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

主要是以下四类
LUT 逻辑资源
FF 触发器资源
BRAM 存储器资源
DSP 乘法器资源
https://i-blog.csdnimg.cn/direct/4bec8f39ce1c418695fc58d807634763.png
1.2 资源统计

1.首先发起模块例化的时候按照自顶向下的次序依次编号,这样每个模块的的位置清楚可见,像这样u0、u1、u2等
2.准备好execl表格
https://i-blog.csdnimg.cn/direct/39eb1d4ada294e38952a08ed56a81748.png
3.打开资源报表
https://i-blog.csdnimg.cn/direct/707464ccbb04449d821958ab7386735c.png
可以把资源信息一步一步的填入上面准备的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 内部用硬件来实现的 。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: FPGA资源评估