找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

FPGA 等效门数的计算方法

[复制链接]

12

主题

67

帖子

4519

积分

五级会员(50)

Rank: 5

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

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% `
分享到:  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 15:21 , Processed in 0.063498 second(s), 33 queries , Gzip On.

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

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

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