打印
[Actel FPGA]

[转帖]FPGA 门数计算方法

[复制链接]
3042|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yoyowodeai|  楼主 | 2009-12-6 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 系列的等效门数等参数

Feature                                EP20K1000E<br> Typical Gates                           1,000,000<br> Maximum System Gate                     1,770,000<br> Logic Elements                           38,400<br> Embedded System Blocks                   160<br> Maximum RAM Bits                         327,680<br> Maximum Macrocells                       2,560<br> Maximum I/O Pins                         716
图1 EP20K 系列的等效门数 下面以EP20K1000E 为例详细说明FPGA 等效门数的估计方法。
1.计算逻辑阵列的等效门数 估算EP20K1000E 的门数时,把FPGA 特定资源和LCA300K 标准逻辑阵列的门数(LSI<br> LCA300K Data Book)比较,可以对FPGA 等效门做出估计。FPGA 一个LUT+FF 等效门数
计算如图2 所示 Implementations             APEX 20K  LUT      LSI Gates     APEX 20K Register  LSI Gates  Total<br> Simple LCA300K function   Two input AND gate     1            D-Type Flipflop       7         8 Complex LCA300K function   Four XOR gate          13       D-Type Flipflop with     8         21                                                           clear, present and clock<br>                                                            enable signal
图2 一个LUT+FF 等效门数 即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。
Memory Function                  Gates                     Gates per Bit     128×8 single-port SRAM          4,620                            4.5        128×16 single-port SRAM         7,980                            3.9        128×32 single-port SRAM         14,700                           3.6        128×16 dual-port SRAM           8,300                            4.1        128×32 dual-port SRAM           14,910                           63.6
图3 ESB 的等效门数从上表可见,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 万。

相关帖子

沙发
金鱼木鱼| | 2009-12-7 17:46 | 只看该作者
看着有点乱呀!

使用特权

评论回复
板凳
手写识别| | 2009-12-7 19:05 | 只看该作者
楼主再把图上传下吧!确实挺乱!

使用特权

评论回复
地板
yoyowodeai|  楼主 | 2009-12-8 19:17 | 只看该作者
图1
Feature                                EP20K1000E
<br> Typical Gates                          1,000,000
<br> Maximum System Gate                     1,770,000
<br> Logic Elements                           38,400
<br> Embedded System Blocks                   160
<br> Maximum RAM Bits                         327,680
<br> Maximum Macrocells                       2,560
<br> Maximum I/O Pins                         716

使用特权

评论回复
5
yoyowodeai|  楼主 | 2009-12-8 19:35 | 只看该作者
图2
Implementations             APEX 20K  LUT      LSI Gates     APEX 20K Register  LSI Gates Total Simple LCA300K function   Two input AND gate     1            D-Type Flipflop         7              8 Complex LCA300K function    Four XOR gate          13         D-Type Flipflop         8              21
clear, present and clock<br>                                                            enable signal

使用特权

评论回复
6
yoyowodeai|  楼主 | 2009-12-8 19:38 | 只看该作者
图3
Memory Function                  Gates                     Gates per Bit     
128×8 single-port SRAM          4,620                            4.5        
128×16 single-port SRAM         7,980                            3.9        
128×32 single-port SRAM         14,700                           3.6        
128×16 dual-port SRAM           8,300                            4.1        
128×32 dual-port SRAM           14,910                           63.6

使用特权

评论回复
7
虎虎生威| | 2009-12-8 21:51 | 只看该作者
图?

使用特权

评论回复
8
米其林r| | 2009-12-13 22:47 | 只看该作者
楼主真是好人,谢了

使用特权

评论回复
9
linhai1986| | 2009-12-14 13:09 | 只看该作者
那是什么图?应该是些表格吧

使用特权

评论回复
10
bit6019| | 2009-12-15 19:19 | 只看该作者
帖子里写的就是图1,2,3 总不能让楼主改成表格1,2,3吧,改了大家知道应该放哪吗

使用特权

评论回复
11
bit6019| | 2009-12-15 19:20 | 只看该作者
楼主好人,谢谢了!

使用特权

评论回复
12
huzixian| | 2009-12-15 19:37 | 只看该作者
就是啊,谢谢楼主!

使用特权

评论回复
13
3B1105| | 2009-12-19 21:16 | 只看该作者
谢谢LZ,学习了

使用特权

评论回复
14
linhai1986| | 2009-12-19 23:51 | 只看该作者
10# bit6019

哦,我明白了

使用特权

评论回复
15
xiaoxin1986| | 2009-12-20 00:59 | 只看该作者
谢谢LZ分享

使用特权

评论回复
16
yoyowodeai|  楼主 | 2010-2-25 01:18 | 只看该作者
再次看的时候还是会学到好多东西!

使用特权

评论回复
17
6019实验室| | 2010-2-27 22:10 | 只看该作者
楼主真是耐心,学习了

使用特权

评论回复
18
linux1| | 2010-3-10 23:48 | 只看该作者
好东西啊,就是有点乱

使用特权

评论回复
19
thf2008| | 2010-3-11 12:01 | 只看该作者
不错的东西,学习了

使用特权

评论回复
20
linhai2009| | 2010-3-11 12:15 | 只看该作者
好东西,学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

191

主题

1265

帖子

2

粉丝