FPGA门数计算方法

发布时间:2010-9-25 23:31    发布者:eetech
关键词: FPGA , 计算方法 , 门数
FPGA等效门数的计算方法有两种:

1. 把 FPGA基本单元,(如 LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,门阵列中包含的门数即为该 FPGA 基本单元的等效门数, 然后乘以基本单元和数目就可以得到 FPGA门数估计值;

2. 分别用 FPGA和标准门阵列实现相同的功能,从中统计出 FPGA的等效门数,这种方法比较多的依赖于经验数据。

对于第一种方法,FPGA 包括 LUT/FF/RAM 等资源,分析各种资源等效门数时,总原则是等效原则,就是实现相同的功能,在标准门阵列中需要的门数就是 FPGA该资源等效门数,例如实现一个带寄存器输出的 4 输入 XOR,在 FPGA中需要用一个 LUT和 1 个 FF实现,在标准门阵列中一般要用21 个与非门实现,于是 1 个 LUT+1 个 FF 等效于 21 个门。对 ESB(BRAM),由于用标准门阵列实现 1bit 的 RAM 时一般需要4 个门,因此 ESB/BARM 做 RAM 使用时,1bit 等效 4 个门,对 Altera FPGA 中一个 2048bit的 ESB,等效门数为 8K。光靠这些数据还不能比较准确地计算出 FPGA 的等效门数。因为这只是一种简单情况,实际情况要复杂很多。例如,如果实现的是带寄存器输出地 2 输入 XOR,FPGA 也要用 1 个 LUT+FF,而标准门阵列只需要 8 个NAND,于是 1 个 LUT+1 个 FF 只等效于 8 个门。同时特定功能的实现,在不同的标准门阵列系列中需要的门数也不一样,因此等效门的计算只能是个大概的数值。 也就是说对于某一具体型号 FPGA 的门数估计,与 FPGA 资源的用途有密切关系。LUT 用于实现 2 输入 XOR和 4 输入 XOR 等效门数不一样(分别为 1 和 13);FF 不带异步清零、复位、时钟使能和带这些端口的等效门数不同(分别为 8 和 13);ESB(BRAM)做 RAM 使用时,1bit 等效 4 个门,1 个2048bit 的 BRAM 等效 8K门,但是做查找表使用时可能只相当于不到 200 门。因此估计 FPGA 的等效门数需要做更细致的分析。

图1 显示了 EP20K 系列的等效门数等参数  



下面以 EP20K1000E为例详细说明 FPGA等效门数的估计方法。

1.计算逻辑阵列的等效门数

估算 EP20K1000E 的门数时,把 FPGA 特定资源和 LCA300K 标准逻辑阵列的门数(LSI LCA300K Data Book)比较,可以对 FPGA 等效门做出估计。FPGA一个 LUT+FF等效门数计算如图 2 所示  



即 LUT+FF等效于 8~21 个门,上限和下限分别由实现简单函数、复杂函数分别界定。

APEX20K 的等效门数也可以根据经验数据获得,把超过 100 个针对 4 输入 LUT 的设计用FPGA实现,同时用 LCA300K gate arrays 和Design Compiler 实现,比较相同的设计 FPGA 所用的 LE数目和 LCA300K所用的门数可知,每个 LE相当于 12 个门。EP20K1000E有 38400个 LE,于是相当于 46 万门。  

2.计算 ESB的等效门数

RAM 中一个 bit 所需要的门数与RAM 的体系结构、工艺、厂商等有关,一般而言 1bit相当于 4 个门,Altera也采用这个标准,这样可以方便地估计 ESB 等效门数。

计算 ESB 等效门数也可以采用和 LSI LCA300K比较的方法,即通过与实现相同容量 RAM 在LCA300K 所用的门数相比较,从而得到 ESB 的每一 bit 相当于多少门,从而计算出 ESB 的等效门数,参考图 3。



从上表可见,4gates/bit 是一个比较合适的估计,于是 EP20K1000E的 ESB 等效门数为 160 ESBs X 2,048 bits per ESB X 4 gates per bit = 1,310,720 gates,即约为130 万门。  

总而言之,对 EP20K1000E,LUT+FF 等效门数约为 46 万(经验数值),ESB 全用作 RAM 时等效门数约为 130 万,所以最大系统门数为 170 万。

结论:

FPGA等效门数估计方法可以是把 FPGA资源基本单元(如 LUT+FF,ESB)和实现相同功能的标准门阵列相比得到FPGA基本单元等效的门数, 然后乘以单元的个数得到整个FPGA等效门数。也可以是实
现很多设计,和用标准门阵列相比,从中统计出等效门数。

FPGA的等效门数估计一般分为LUT+FF和ESB(BRAM)两部分,LUT+FF 等效于 8~21 个门,典型值为 12;ESB做 RAM使用时,一般相当于4 门/bit,此时估计出的门数最多,如果 ESB 做乘积项/LUT 则等效门数大大减小,例如对EP20K1000E,前者为130 万,后者为2万。
本文地址:https://www.eechina.com/thread-29185-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表