|
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
|
|