找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 888|回复: 1
打印 上一主题 下一主题

FPGA 等效门数的计算方法

[复制链接]

12

主题

67

帖子

4519

积分

五级会员(50)

Rank: 5

积分
4519
跳转到指定楼层
1#
发表于 2012-2-17 10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
FPGA 等效门数的计算方法                                        # F7 c2 k; _# [6 g5 n0 r1 p
1. 把FPGA 基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,
1 k  s% u  }  _, z9 H+ U$ _门阵列中包含的门数即为该FPGA 基本单元的等效门数,然后乘以基本单元的数目就  l2 r6 h  m9 }
可以得到FPGA 门数估计值;
7 {* b2 l1 t$ `: r! [2. 分别用FPGA 和标准门阵列实现相同的功能,从中统计出FPGA 的等效门数,这种方) R# e- Q. [( @% Q
法比较多的依赖于经验数据。
9 C: G+ N; }' t8 v$ U( q对于第一种方法,FPGA 包括LUT/FF/RAM 等资源,分析各种资源等效门数时,总原则& k, R" w; \- X+ n; a2 N- F
是等效原则,就是实现相同的功能,在标准门阵列中需要的门数就是FPGA 该资源等效门数,
0 |# q0 B6 b! N9 K, Z( D例如实现一个带寄存器输出的4 输入XOR,在FPGA 中需要用一个LUT 和1 个FF 实现,在+ y! R6 M3 Z  a7 w4 y+ ]$ j
标准门阵列中一般要用21 个与非门实现,于是1 个LUT+1 个FF 等效于21 个门。对ESB" T+ V+ F; L; E: Z
(BRAM),由于用标准门阵列实
. t1 g3 X- Z& ~0 {" t现1bit 的RAM 时一般需要4 个门,因此ESB/BARM 做RAM 使用时,1bit 等效4 个门,
& u) b, R& o$ T/ [. L对Altera FPGA 中一个2048bit 的ESB,等效门数为8K。光靠这些数据还不能比较准确地计4 v  F7 Y; I9 d, c
算出FPGA 的等效门数。因为这只是一种简单情况,实际情况要复杂很多。例如,如果实现9 t7 T+ H( \8 |! r% m
的是带寄存器输出地2 输入XOR,FPGA 也要用1 个LUT+FF,而标准门阵列只需要8 个; D% K# K' K0 F
NAND,于是1 个LUT+1 个FF 只等效于8 个门。同时特定功能的实现,在不同的标准门阵9 Z, g+ y! U5 e. k' g% g" M
列系列中需要的门数也不一样,因此等效门的计算只能是个大概的数值。也就是说对于某一
6 T' U+ w# W0 F具体型号FPGA 的门数估计,与FPGA 资源的用途有密切关系。LUT 用于实现2 输入XOR
" t1 ?3 l( `' }和4 输入XOR 等效门数不一样(分别为1 和13);FF 不带异步清零、复位、时钟使能和带
8 R, j2 q3 b) \这些端口的等效门数不同(分别为8 和13);ESB(BRAM)做RAM 使用时,1bit 等效4 个% g: z) R. A' x& w
门,1 个2048bit 的BRAM 等效8K 门,但是做查找表使用时可能只相当于不到200 门。因此. Y- Y0 J6 W; o
估计FPGA 的等效门数需要做更细致的分析。
  @+ ]# J" p' K; U3 j5 E7 _$ m( n图1 显示了EP20K 系列的等效门数等参数; k% x% i! h" R7 j
Feature                                EP20K1000E
2 a! Y- ~5 ^. R" Y: d  HTypical Gates                           1,000,000# H# X8 g/ e" U' a
Maximum System Gate                     1,770,000; F1 Z: ^6 ~$ k- n8 M7 Y
Logic Elements                           38,400/ {9 r5 c" _  J. E( P3 D
Embedded System Blocks                   160. A  t8 ^% k8 s, B: m! r8 N9 C& O* R
Maximum RAM Bits                         327,680" ~, T- h7 v9 j$ P8 Q+ v3 q, k% r
Maximum Macrocells                       2,560, Y: |1 Q1 }: x% z3 E* ]/ n7 Z
Maximum I/O Pins                         716
: ~- u) ]: i* t: i) I& P" R图1 EP20K 系列的等效门数1 l, l; z* {+ \! O' @2 J3 X. f
下面以EP20K1000E 为例详细说明FPGA 等效门数的估计方法。* Z1 T! h& y' |7 r3 J
1.计算逻辑阵列的等效门数
2 }& K  M- t' F/ l估算EP20K1000E 的门数时,把FPGA 特定资源和LCA300K 标准逻辑阵列的门数(LSI3 o3 u' Q1 {* Q3 K0 f! E
LCA300K Data Book)比较,可以对FPGA 等效门做出估计。FPGA 一个LUT+FF 等效门数& b! Q  t' s7 }1 q& s% W4 ?
计算如图2 所示
2 @; \( |- s$ b, k) qImplementations             APEX 20K  LUT      LSI Gates     APEX 20K Register  LSI Gates  Total
  A& o% F# [) ], B9 M& JSimple LCA300K function   Two input AND gate     1            D-Type Flipflop       7         8
' O( a- m/ {: y# ~Complex LCA300K function   Four XOR gate          13       D-Type Flipflop with     8         21
# R0 {" ^: `3 m. p/ G                                                         clear, present and clock
. L: y* ^  i; ^8 f: Q                                                          enable signal/ G4 K3 ~+ J' }% J0 C5 ]9 U
图2 一个LUT+FF 等效门数+ r; h7 D5 w) l
即LUT+FF 等效于8~21 个门,上限和下限分别由实现简单函数、复杂函数分别界定。
9 N9 v' z9 [. Q  ]  o  zAPEX20K 的等效门数也可以根据经验数据获得,把超过100 个针对4 输入LUT 的设计用
4 t& V% S, h. r. g& p/ J6 L4 ZFPGA 实现,同时用LCA300K gate arrays 和Design Compiler 实现,比较相同的设计FPGA 所+ c8 I/ r# B' x2 r5 g1 F- S
用的LE 数目和LCA300K 所用的门数可知,每个LE 相当于12 个门。EP20K1000E 有38400* o1 P$ q* _( v! p1 Y+ R& F
个LE,于是相当于46 万门。& s( L( `. e% Y8 A( e
2.计算ESB 的等效门数
, U5 i! {' e  V8 ]RAM 中一个bit 所需要的门数与RAM 的体系结构、工艺、厂商等有关,一般而言,1bit  m2 L- B- E" S4 }0 S& n
相当于4 个门,Altera 也采用这个标准,这样可以方便地估计ESB 等效门数。- _8 y% [. Y) k5 s
计算ESB 等效门数也可以采用和LSI LCA300K 比较的方法,即通过与实现相同容量RAM 在
* ]8 d  c- B+ ~LCA300K 所用的门数相比较,从而得到ESB 的每一bit 相当于多少门,从而计算出ESB 的
# u! ~8 W4 Q4 |1 s7 y等效门数,参考图3。: ~2 Q5 T6 U6 a8 `  Z
Memory Function                  Gates                     Gates per Bit: S9 f& ]! j- G5 H
128×8 single-port SRAM          4,620                            4.5
8 U  n# Y. M# V, W* G128×16 single-port SRAM         7,980                            3.9: ]) v5 i) Q- e2 T3 F1 I& V
128×32 single-port SRAM         14,700                           3.6$ I/ g- [8 K& Y8 a* [$ X* V7 ?  z9 A% V
128×16 dual-port SRAM           8,300                            4.1# ^; C9 ?& Z& J, Q* F, C2 b
128×32 dual-port SRAM           14,910                           63.60 Q' I6 a9 B: Z" S; d- y7 N
图3 ESB 的等效门数
/ W& A- f1 Y" H& ^% m' Y8 U从上表可见,4gates/bit 是一个比较合适的估计,于是EP20K1000E 的ESB 等效门数为
. k  E& @% M& g, v. J6 k! H: N160 ESBs X 2,048 bits per ESB X 4 gates per bit = 1,310,720 gates,即约为130 万门。
" G$ N/ X0 {1 J) I/ {0 v! a9 _总而言之,对EP20K1000E,LUT+FF 等效门数约为46 万(经验数值),ESB 全用作RAM 时
/ h1 _8 U3 U. a- c/ u: C等效门数约为130 万,所以最大系统门数为170 万。" y$ p( h) `. ?. X# ^
结论:" B* {' H3 k; N. I
FPGA 等效门数估计方法可以是把FPGA 资源基本单元(如LUT+FF,ESB)和实现相同
& h5 f1 @2 ~# F功能的标准门阵列相比得到FPGA 基本单元等效的门数,然后乘以单元的个数得到整个FPGA) ]0 l) m* a3 x& A0 F& L; B
等效门数。也可以是实现很多设计,和用标准门阵列相比,从中统计出等效门数。
4 f  ^$ U0 G- j' O5 i6 k5 S0 K% lFPGA 的等效门数估计一般分为LUT+FF 和ESB(BRAM)两部分,LUT+FF 等效于8~$ B: [$ o; p' u  @7 C7 S
21 个门,典型值为12;ESB 做RAM 使用时,一般相当于4 门/bit,此时估计出的门数最多,
" H  U# f0 w! v如果ESB 做乘积项/LUT 则等效门数大大减小,例如对EP20K1000E,前者为130 万,后者为* `, M+ W( d# j. ]
2 万。
7 X3 L0 [( T. N+ e" k  Z+ \1 C4 F
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

0

主题

11

帖子

24

积分

二级会员(20)

Rank: 2Rank: 2

积分
24
2#
发表于 2012-2-21 11:08 | 只看该作者
好贴,学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-24 14:27 , Processed in 0.057472 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表