外贸网网站建设,蓝色管理系统网站模版,郑州网站开发douyanet,财务公司网站建设FPGA资源评估 文章目录 FPGA资源评估前言一、资源评估1.1 资源有哪些1.2 资源统计 二、 FPGA 的基本结构三、 更为复杂的 FPGA 架构 前言
一、资源评估
大家在项目中一般会要遇到需要资源评估的情况#xff0c;例如立了新项目#xff0c;前期需要确定使用什么FPGA片子…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 中的结果 最后将其输出。以实现数字逻辑 YABC 的功能为例。
三、 更为复杂的 FPGA 架构
随着技术的发展和工艺节点的进步 FPGA 的容量和性能在不断提高的同时 其功耗却不断的优化减少。 2006 年以前四输入查找表一直被广泛使用 在一些高端器件可能会用上六输入、八输入或更多输入端口的查找表。 而一个多输入的查找表又可以分解成较小输入的查找表 即能够分裂成许多更小的功能。 例如一个八输入的查找表可以分解成两个四输入的查找表或分解成一个三输入加一个五输入的查找表。在实际的高端器件中这种可编程构造可以描述相当于百万级有时甚至千万级的原始逻辑门。
在 FPGA 内部利用 FPGA 的可编程性在芯片内部构造实现了一个计数器逻辑有着“软内核”与“硬内核”之分。
软内核软功能在构造计数器逻辑过程中使用到的功能便可以被称为软功能。
硬内核硬功能功能若是直接利用芯片实现的则是利用了芯片内部的硬功能。
软内核与硬内核之间优势互补软内核的优势在于可以在利用芯片资源的基础上利用编程设计让其完成需要实现的任何功能注意是数字功能不包括模拟功能。 而硬内核由于是实现固定功能的器件因此其优势在于资源利用率高且功耗较低 占用硅片的面积也较小 并具有较高的性能。最重要的区别在于与软内核相比硬内核可用于实现模拟功能 例如锁相环的倍频功能这个功能需要在模拟电路下实现所以这一部分是在 FPGA 内部用硬件来实现的 。