|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
FPGA 等效门数的计算方法 4 V1 @( |. o( Q) F
1. 把FPGA 基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,0 x# |5 }' `* m, I' l
门阵列中包含的门数即为该FPGA 基本单元的等效门数,然后乘以基本单元的数目就' I; b$ ]& t) F( |9 y; B
可以得到FPGA 门数估计值;1 a L: Y% {3 M! ~1 M; }
2. 分别用FPGA 和标准门阵列实现相同的功能,从中统计出FPGA 的等效门数,这种方0 ~! p$ t4 u# ^3 |+ D. E2 o$ \
法比较多的依赖于经验数据。
. p( h/ Q; a' h8 o. A对于第一种方法,FPGA 包括LUT/FF/RAM 等资源,分析各种资源等效门数时,总原则
; U! Y v6 {; I9 p# c是等效原则,就是实现相同的功能,在标准门阵列中需要的门数就是FPGA 该资源等效门数,/ h) e6 g0 P& F' X+ L+ i
例如实现一个带寄存器输出的4 输入XOR,在FPGA 中需要用一个LUT 和1 个FF 实现,在" S9 i9 H u# u0 f7 }9 d( {) o( d
标准门阵列中一般要用21 个与非门实现,于是1 个LUT+1 个FF 等效于21 个门。对ESB- z' C0 j. D1 M& {( \1 ^ G9 M$ I
(BRAM),由于用标准门阵列实
0 z0 S0 R5 h, Q8 ~9 o9 @现1bit 的RAM 时一般需要4 个门,因此ESB/BARM 做RAM 使用时,1bit 等效4 个门,
7 r. c2 N) v- _8 D0 E0 D+ T对Altera FPGA 中一个2048bit 的ESB,等效门数为8K。光靠这些数据还不能比较准确地计
! i6 S4 u- X/ @% ]8 w算出FPGA 的等效门数。因为这只是一种简单情况,实际情况要复杂很多。例如,如果实现
_$ l- V/ I U8 S的是带寄存器输出地2 输入XOR,FPGA 也要用1 个LUT+FF,而标准门阵列只需要8 个1 h o) V4 h. h; B
NAND,于是1 个LUT+1 个FF 只等效于8 个门。同时特定功能的实现,在不同的标准门阵
& O% `" M* |7 _0 x O# c列系列中需要的门数也不一样,因此等效门的计算只能是个大概的数值。也就是说对于某一
) ?. }& u7 i8 i. w具体型号FPGA 的门数估计,与FPGA 资源的用途有密切关系。LUT 用于实现2 输入XOR
3 ]( P) P: R- J. S* y' d$ L和4 输入XOR 等效门数不一样(分别为1 和13);FF 不带异步清零、复位、时钟使能和带8 p4 R9 P1 k; m
这些端口的等效门数不同(分别为8 和13);ESB(BRAM)做RAM 使用时,1bit 等效4 个
0 t! i9 m0 e5 e |6 {9 _6 g门,1 个2048bit 的BRAM 等效8K 门,但是做查找表使用时可能只相当于不到200 门。因此; R% G( d. o, \$ A
估计FPGA 的等效门数需要做更细致的分析。
% u L; b* j9 W' C7 s- X, @5 A图1 显示了EP20K 系列的等效门数等参数
8 L3 {( i4 T3 f3 T; j2 S$ HFeature EP20K1000E7 G1 ~$ j: K! f) R5 Q2 X6 [0 t7 o
Typical Gates 1,000,000. `5 r8 }' q% o5 D/ E3 L2 x' P
Maximum System Gate 1,770,000
% c5 u! c! ]/ `. R- P" oLogic Elements 38,400
4 q0 {: \3 {0 @Embedded System Blocks 160' z+ k" ` O8 L: q
Maximum RAM Bits 327,680, f; `$ l9 _3 v4 O5 [- t. I/ t2 `
Maximum Macrocells 2,560
. m" T" L, }2 S- K/ f/ D: cMaximum I/O Pins 716$ w6 F' R$ U% A8 u6 v0 c4 d
图1 EP20K 系列的等效门数) M( M" g9 n7 k3 A; M3 i4 x* R$ C
下面以EP20K1000E 为例详细说明FPGA 等效门数的估计方法。 a' }* S7 A0 L2 l- ~
1.计算逻辑阵列的等效门数/ Z& K' _& h- @$ F! g3 N4 S
估算EP20K1000E 的门数时,把FPGA 特定资源和LCA300K 标准逻辑阵列的门数(LSI Y8 h9 b7 m8 t; F; j5 L: y9 C9 E
LCA300K Data Book)比较,可以对FPGA 等效门做出估计。FPGA 一个LUT+FF 等效门数" C! M: q& }9 A& x( |& C4 X0 K0 B
计算如图2 所示
! o7 Y; @& w! uImplementations APEX 20K LUT LSI Gates APEX 20K Register LSI Gates Total
: C+ U2 |' t9 Y; l# dSimple LCA300K function Two input AND gate 1 D-Type Flipflop 7 8( c2 }$ N5 N- j1 V9 j; E6 i2 l
Complex LCA300K function Four XOR gate 13 D-Type Flipflop with 8 212 {; F! u/ L# B0 U
clear, present and clock
* n8 R6 x- v: j) Z& B% a enable signal
% n d }: w3 v O" L5 g图2 一个LUT+FF 等效门数
+ t% T. i. |. Q9 r* B即LUT+FF 等效于8~21 个门,上限和下限分别由实现简单函数、复杂函数分别界定。* o) r+ h5 x7 k+ p2 |4 x
APEX20K 的等效门数也可以根据经验数据获得,把超过100 个针对4 输入LUT 的设计用
( a/ _( S6 N; m- k" u7 AFPGA 实现,同时用LCA300K gate arrays 和Design Compiler 实现,比较相同的设计FPGA 所
3 S2 l' k5 K/ [! z用的LE 数目和LCA300K 所用的门数可知,每个LE 相当于12 个门。EP20K1000E 有38400/ H9 B0 k' g7 F* P5 Z3 d, m
个LE,于是相当于46 万门。" W- I4 p* N6 B0 f* g) P& ~
2.计算ESB 的等效门数
1 c; f b$ _. k: @# iRAM 中一个bit 所需要的门数与RAM 的体系结构、工艺、厂商等有关,一般而言,1bit
5 X6 W7 ], G( | W相当于4 个门,Altera 也采用这个标准,这样可以方便地估计ESB 等效门数。
0 A1 n7 v, F" _计算ESB 等效门数也可以采用和LSI LCA300K 比较的方法,即通过与实现相同容量RAM 在
2 \5 {, b5 b# O& H( n8 {# M1 b* QLCA300K 所用的门数相比较,从而得到ESB 的每一bit 相当于多少门,从而计算出ESB 的
$ q" s" t& x5 ^( A% {等效门数,参考图3。2 q: \* D5 q( z& j& X. C
Memory Function Gates Gates per Bit
# H3 n" e+ z+ y( w) _128×8 single-port SRAM 4,620 4.5
1 p: Z& u5 c3 B4 |128×16 single-port SRAM 7,980 3.9' [6 j/ k! \9 C& O, R
128×32 single-port SRAM 14,700 3.6% k4 N4 U& ~3 }6 {$ q5 f/ V
128×16 dual-port SRAM 8,300 4.1
! R! A6 d3 q# C128×32 dual-port SRAM 14,910 63.6$ `4 [0 ]3 {, m! C9 \* |) q
图3 ESB 的等效门数: ~+ G3 c' _5 e8 N- d4 b2 B
从上表可见,4gates/bit 是一个比较合适的估计,于是EP20K1000E 的ESB 等效门数为/ @9 q j- Y* G4 j# O7 y
160 ESBs X 2,048 bits per ESB X 4 gates per bit = 1,310,720 gates,即约为130 万门。9 `, `& S6 I. B4 v b- C
总而言之,对EP20K1000E,LUT+FF 等效门数约为46 万(经验数值),ESB 全用作RAM 时
( l* V, T3 c5 F& g9 e: O等效门数约为130 万,所以最大系统门数为170 万。
3 V" s& c; ^# C* Q结论:
) ~+ J: ]/ _6 V1 T9 ]/ ]FPGA 等效门数估计方法可以是把FPGA 资源基本单元(如LUT+FF,ESB)和实现相同- Y- y3 \& ^& Q2 G" L/ k) r
功能的标准门阵列相比得到FPGA 基本单元等效的门数,然后乘以单元的个数得到整个FPGA
' `* I( e8 C; H) |等效门数。也可以是实现很多设计,和用标准门阵列相比,从中统计出等效门数。. T6 \! ^- h5 `7 U) n, w7 |
FPGA 的等效门数估计一般分为LUT+FF 和ESB(BRAM)两部分,LUT+FF 等效于8~ x* G/ C! a2 C) o& j" v+ e6 `4 l
21 个门,典型值为12;ESB 做RAM 使用时,一般相当于4 门/bit,此时估计出的门数最多,
~$ x! Y: P7 T7 o4 T7 N# f如果ESB 做乘积项/LUT 则等效门数大大减小,例如对EP20K1000E,前者为130 万,后者为: q! i9 y) S- [8 s1 Q1 ]1 i% m
2 万。
; s3 I% K) W% ` |
|