找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

FPGA 等效门数的计算方法

[复制链接]

12

主题

67

帖子

4519

积分

五级会员(50)

Rank: 5

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

EDA365欢迎您!

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

x
FPGA 等效门数的计算方法                                        2 C6 z2 z5 h2 u( y/ [2 w, i7 K6 q
1. 把FPGA 基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,
7 O3 H) C" k( ~3 h7 k4 Z8 `; w门阵列中包含的门数即为该FPGA 基本单元的等效门数,然后乘以基本单元的数目就
8 x% b$ N" J. B% ^" F  d& B可以得到FPGA 门数估计值;) c; I; p$ d$ u6 {! C) u
2. 分别用FPGA 和标准门阵列实现相同的功能,从中统计出FPGA 的等效门数,这种方$ c. _8 D# N6 N1 r+ F
法比较多的依赖于经验数据。: ]" o. U+ S, c) J! `
对于第一种方法,FPGA 包括LUT/FF/RAM 等资源,分析各种资源等效门数时,总原则
7 b& B7 W8 h/ V& u0 W' l是等效原则,就是实现相同的功能,在标准门阵列中需要的门数就是FPGA 该资源等效门数,
, J% A- c( `1 e7 c' `) |' b! F例如实现一个带寄存器输出的4 输入XOR,在FPGA 中需要用一个LUT 和1 个FF 实现,在: w7 t( C) Q6 H; E) l
标准门阵列中一般要用21 个与非门实现,于是1 个LUT+1 个FF 等效于21 个门。对ESB
% v7 ^: p# h! [# ?0 B: }0 |(BRAM),由于用标准门阵列实; [3 n* v' g" U& M
现1bit 的RAM 时一般需要4 个门,因此ESB/BARM 做RAM 使用时,1bit 等效4 个门,3 H- m3 u# F$ {# g
对Altera FPGA 中一个2048bit 的ESB,等效门数为8K。光靠这些数据还不能比较准确地计  }5 U9 b0 G! v: n( J. @& Q6 C4 t; ^4 t
算出FPGA 的等效门数。因为这只是一种简单情况,实际情况要复杂很多。例如,如果实现/ ?1 V0 q+ d- D  M
的是带寄存器输出地2 输入XOR,FPGA 也要用1 个LUT+FF,而标准门阵列只需要8 个3 y" j3 T  l9 Q
NAND,于是1 个LUT+1 个FF 只等效于8 个门。同时特定功能的实现,在不同的标准门阵9 d7 A; O' K7 d; v6 f; ?  _. ~
列系列中需要的门数也不一样,因此等效门的计算只能是个大概的数值。也就是说对于某一" j/ Q- D7 ~) m$ D% x6 f
具体型号FPGA 的门数估计,与FPGA 资源的用途有密切关系。LUT 用于实现2 输入XOR
6 V2 I0 n4 e7 v8 V/ l1 e和4 输入XOR 等效门数不一样(分别为1 和13);FF 不带异步清零、复位、时钟使能和带
. L' {9 z- j! m) N+ X这些端口的等效门数不同(分别为8 和13);ESB(BRAM)做RAM 使用时,1bit 等效4 个
3 g) x, L0 ]- y$ K- G% i门,1 个2048bit 的BRAM 等效8K 门,但是做查找表使用时可能只相当于不到200 门。因此
( Y6 d$ J6 O, U2 L0 h% |) x$ Y0 v( r+ p估计FPGA 的等效门数需要做更细致的分析。  d' t' K+ p: ^9 k
图1 显示了EP20K 系列的等效门数等参数; Q! Q( o8 S2 l. L
Feature                                EP20K1000E4 v* U: i/ d1 d# ]; V# D
Typical Gates                           1,000,000
7 E" p" v$ v: n3 yMaximum System Gate                     1,770,000/ f2 }, X% A7 [% B1 k" G+ M
Logic Elements                           38,4005 l) T& o7 y9 ?& x5 y
Embedded System Blocks                   1603 J1 N; W! ^" G- n3 R2 B) B
Maximum RAM Bits                         327,680) n4 \( f: a5 L2 @. H
Maximum Macrocells                       2,560
/ g0 m% e- c- [1 {3 gMaximum I/O Pins                         716/ l9 V! J, C* M+ i- Q- Y: O/ n
图1 EP20K 系列的等效门数
1 m5 L1 \  @% p1 A/ M  C, Q下面以EP20K1000E 为例详细说明FPGA 等效门数的估计方法。
6 w( J1 o- ^, }, x& S' q! m1.计算逻辑阵列的等效门数9 ~7 R* ^9 B, W; E8 m8 W
估算EP20K1000E 的门数时,把FPGA 特定资源和LCA300K 标准逻辑阵列的门数(LSI
+ J  N5 v$ p; }3 ?  YLCA300K Data Book)比较,可以对FPGA 等效门做出估计。FPGA 一个LUT+FF 等效门数3 n- e* [; `9 _3 ?+ F1 R# E
计算如图2 所示
  a! q/ a( K& I9 b6 V5 K% s$ KImplementations             APEX 20K  LUT      LSI Gates     APEX 20K Register  LSI Gates  Total: l8 f& u1 x6 |0 U( E3 e, _
Simple LCA300K function   Two input AND gate     1            D-Type Flipflop       7         8
5 d+ w9 l9 n$ p1 ~; ]& DComplex LCA300K function   Four XOR gate          13       D-Type Flipflop with     8         21/ H2 {  |8 B/ W+ [
                                                         clear, present and clock
# L: [" E/ L2 f4 ^                                                          enable signal
: t& w5 C. f/ n2 F& T( D5 n5 ~" W图2 一个LUT+FF 等效门数* j. R/ F  _5 @, @
即LUT+FF 等效于8~21 个门,上限和下限分别由实现简单函数、复杂函数分别界定。
# k& q4 g- M3 ~; g% Q, ZAPEX20K 的等效门数也可以根据经验数据获得,把超过100 个针对4 输入LUT 的设计用* e. G' n. Q. f$ N' h
FPGA 实现,同时用LCA300K gate arrays 和Design Compiler 实现,比较相同的设计FPGA 所7 f  r1 O2 s( A
用的LE 数目和LCA300K 所用的门数可知,每个LE 相当于12 个门。EP20K1000E 有38400' m( v; V" H1 h& o- Q8 g
个LE,于是相当于46 万门。
. g2 Y6 l3 X) c; o( }2.计算ESB 的等效门数& t9 [# s# f' m- w& B
RAM 中一个bit 所需要的门数与RAM 的体系结构、工艺、厂商等有关,一般而言,1bit! [9 A- F: n: L9 O" ~
相当于4 个门,Altera 也采用这个标准,这样可以方便地估计ESB 等效门数。- V, k! d2 E8 k" c
计算ESB 等效门数也可以采用和LSI LCA300K 比较的方法,即通过与实现相同容量RAM 在& f8 U; [7 l; R- m5 [: J6 R6 w$ {
LCA300K 所用的门数相比较,从而得到ESB 的每一bit 相当于多少门,从而计算出ESB 的; |5 s8 T) v( L' g) k
等效门数,参考图3。
+ D% q/ g) b$ i: hMemory Function                  Gates                     Gates per Bit# B7 `8 ]) K1 D
128×8 single-port SRAM          4,620                            4.5
1 _$ i  @2 z$ H* E128×16 single-port SRAM         7,980                            3.9
: X9 _2 B! @8 G. R% b128×32 single-port SRAM         14,700                           3.6
) }# R% {" A6 L7 d0 g, H128×16 dual-port SRAM           8,300                            4.14 A2 w# @- ^2 j9 k$ ^' X
128×32 dual-port SRAM           14,910                           63.6' C0 B& W! [  ~2 h6 q, a) Z! [: Y
图3 ESB 的等效门数
# X# A% F5 y! e# O从上表可见,4gates/bit 是一个比较合适的估计,于是EP20K1000E 的ESB 等效门数为# ?  E* [3 z7 d5 M! W
160 ESBs X 2,048 bits per ESB X 4 gates per bit = 1,310,720 gates,即约为130 万门。
4 Q& q$ a  V; J( T5 T. w# E5 y* Y总而言之,对EP20K1000E,LUT+FF 等效门数约为46 万(经验数值),ESB 全用作RAM 时
& Z2 Q* e8 c0 X( L9 w) s* M( |6 p6 R+ o等效门数约为130 万,所以最大系统门数为170 万。" R/ K( X2 A& Y) J3 e0 D
结论:
" F2 r4 }) s. `" O8 u* SFPGA 等效门数估计方法可以是把FPGA 资源基本单元(如LUT+FF,ESB)和实现相同
) j) U7 q5 S- A! a; C2 l* k功能的标准门阵列相比得到FPGA 基本单元等效的门数,然后乘以单元的个数得到整个FPGA7 W  ]2 I# ~2 \, B
等效门数。也可以是实现很多设计,和用标准门阵列相比,从中统计出等效门数。. D, ^! t6 V: P3 d5 d
FPGA 的等效门数估计一般分为LUT+FF 和ESB(BRAM)两部分,LUT+FF 等效于8~
" q0 _' _  x" w& A3 B21 个门,典型值为12;ESB 做RAM 使用时,一般相当于4 门/bit,此时估计出的门数最多,
2 g7 `1 k7 ]' O如果ESB 做乘积项/LUT 则等效门数大大减小,例如对EP20K1000E,前者为130 万,后者为% e& W4 a+ r. ^; g6 y
2 万。 . N! }2 S/ v/ X) ^/ W
分享到:  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 12:08 , Processed in 0.071436 second(s), 33 queries , Gzip On.

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

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

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