qn1596531537

qn1596531537

0个粉丝

39

问答

0

专栏

0

资料

qn1596531537  发布于  2020-08-27 17:11:04
采纳率 0%
39个问答
3313

FPGA等效门数的计算方法

   
1. 把FPGA 基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,
门阵列中包含的门数即为该FPGA 基本单元的等效门数,然后乘以基本单元的数目就) n$ h/ I/ i) Q' e7 D
可以得到FPGA 门数估计值;
2. 分别用FPGA 和标准门阵列实现相同的功能,从中统计出FPGA 的等效门数,这种方0 s$ Q9 J" F$ O5 |; y
法比较多的依赖于经验数据。+ w. n# K$ U6 [: h! _% x4 F: l
对于第一种方法,FPGA 包括LUT/FF/RAM 等资源,分析各种资源等效门数时,总原则
是等效原则,就是实现相同的功能,在标准门阵列中需要的门数就是FPGA 该资源等效门数,& U; k. |- e* d9 {5 E5 z
例如实现一个带寄存器输出的4 输入XOR,在FPGA 中需要用一个LUT 和1 个FF 实现,在
标准门阵列中一般要用21 个与非门实现,于是1 个LUT+1 个FF 等效于21 个门。对ESB" ?& W8 N( J* Q5 ]7 \3 _9 R' H
(BRAM),由于用标准门阵列实
现1bit 的RAM 时一般需要4 个门,因此ESB/BARM 做RAM 使用时,1bit 等效4 个门,
对Altera FPGA 中一个2048bit 的ESB,等效门数为8K。光靠这些数据还不能比较准确地计
算出FPGA 的等效门数。因为这只是一种简单情况,实际情况要复杂很多。例如,如果实现2 a) \) x+ ^0 a0 q) G6 ?
的是带寄存器输出地2 输入XOR,FPGA 也要用1 个LUT+FF,而标准门阵列只需要8 个. i: G( h7 U) f$ s% ]/ |
NAND,于是1 个LUT+1 个FF 只等效于8 个门。同时特定功能的实现,在不同的标准门阵  g( w, ?6 r9 w* {. P3 y  [
列系列中需要的门数也不一样,因此等效门的计算只能是个大概的数值。也就是说对于某一7 U+ N/ ^! Z. C* ]
具体型号FPGA 的门数估计,与FPGA 资源的用途有密切关系。LUT 用于实现2 输入XOR
和4 输入XOR 等效门数不一样(分别为1 和13);FF 不带异步清零、复位、时钟使能和带
这些端口的等效门数不同(分别为8 和13);ESB(BRAM)做RAM 使用时,1bit 等效4 个( I/ c* G- o: b% ^% ?! |  b7 P% q
门,1 个2048bit 的BRAM 等效8K 门,但是做查找表使用时可能只相当于不到200 门。因此9 J* X, G7 ]* [1 u7 l! m0 D, v: z
估计FPGA 的等效门数需要做更细致的分析。8 l1 h) X, `7 }# D6 `
图1 显示了EP20K 系列的等效门数等参数% g0 U& `( N) X  h/ [
Feature                                EP20K1000E
Typical Gates                           1,000,000
Maximum System Gate                     1,770,000# B7 B" [/ {% `
Logic Elements                           38,4004 C7 i# }/ w9 `! C
Embedded System Blocks                   160$ }9 Q# A$ z6 P# M3 l. R1 u
Maximum RAM Bits                         327,680
Maximum Macrocells                       2,560
Maximum I/O Pins                         716$ C# k1 U5 s, ?8 {; U' k
图1 EP20K 系列的等效门数
下面以EP20K1000E 为例详细说明FPGA 等效门数的估计方法。
1.计算逻辑阵列的等效门数
估算EP20K1000E 的门数时,把FPGA 特定资源和LCA300K 标准逻辑阵列的门数(LSI& s9 o9 b! X& ?- U) c
LCA300K Data Book)比较,可以对FPGA 等效门做出估计。FPGA 一个LUT+FF 等效门数
计算如图2 所示2 P: y; Q$ ]$ L. L0 ~+ }  m$ a
Implementations             APEX 20K  LUT      LSI Gates     APEX 20K Register  LSI Gates  Total% j" R  a7 t' z5 ?: _
Simple LCA300K function   Two input AND gate     1            D-Type Flipflop       7         8
Complex LCA300K function   Four XOR gate          13       D-Type Flipflop with     8         21, w+ l6 W' z9 C+ |% }+ ]
                                                         clear, present and clock3 a1 o3 a4 _: }3 N; M& y; y2 f
                                                          enable signal
图2 一个LUT+FF 等效门数
即LUT+FF 等效于8~21 个门,上限和下限分别由实现简单函数、复杂函数分别界定。! ^, }9 y' v( i- K. f  Z
APEX20K 的等效门数也可以根据经验数据获得,把超过100 个针对4 输入LUT 的设计用
FPGA 实现,同时用LCA300K gate arrays 和Design Compiler 实现,比较相同的设计FPGA 所" `8 O. X# M* b0 ]& D
用的LE 数目和LCA300K 所用的门数可知,每个LE 相当于12 个门。EP20K1000E 有38400
个LE,于是相当于46 万门。3 P4 K, U$ C7 g$ M* f
2.计算ESB 的等效门数: r( r6 O4 J1 F0 Y
RAM 中一个bit 所需要的门数与RAM 的体系结构、工艺、厂商等有关,一般而言,1bit
相当于4 个门,Altera 也采用这个标准,这样可以方便地估计ESB 等效门数。
计算ESB 等效门数也可以采用和LSI LCA300K 比较的方法,即通过与实现相同容量RAM 在8 w3 v& |* F0 U7 l2 h/ N, d
LCA300K 所用的门数相比较,从而得到ESB 的每一bit 相当于多少门,从而计算出ESB 的
等效门数,参考图3。8 E& ~- m- a* V  w
Memory Function                  Gates                     Gates per Bit- `& I& F" f" K1 Z( N* m; R: G
128×8 single-port SRAM          4,620                            4.5! |" t/ ~+ G% `4 V) B& V
128×16 single-port SRAM         7,980                            3.9- j& O4 u7 V; r0 \
128×32 single-port SRAM         14,700                           3.6
128×16 dual-port SRAM           8,300                            4.1$ U/ P9 y6 E8 ~: d. W9 L/ H
128×32 dual-port SRAM           14,910                           63.6/ W; b* L# w1 ~) i- G$ y* n
图3 ESB 的等效门数% A  l" w  M" p- ~5 L# B
从上表可见,4gates/bit 是一个比较合适的估计,于是EP20K1000E 的ESB 等效门数为
160 ESBs X 2,048 bits per ESB X 4 gates per bit = 1,310,720 gates,即约为130 万门。: L0 Q6 p/ C  v" H$ ^
总而言之,对EP20K1000E,LUT+FF 等效门数约为46 万(经验数值),ESB 全用作RAM 时
等效门数约为130 万,所以最大系统门数为170 万。
结论:
FPGA 等效门数估计方法可以是把FPGA 资源基本单元(如LUT+FF,ESB)和实现相同
功能的标准门阵列相比得到FPGA 基本单元等效的门数,然后乘以单元的个数得到整个FPGA- A( V/ u8 t: \* l0 ?' l/ S7 d
等效门数。也可以是实现很多设计,和用标准门阵列相比,从中统计出等效门数。
FPGA 的等效门数估计一般分为LUT+FF 和ESB(BRAM)两部分,LUT+FF 等效于8~
21 个门,典型值为12;ESB 做RAM 使用时,一般相当于4 门/bit,此时估计出的门数最多,
如果ESB 做乘积项/LUT 则等效门数大大减小,例如对EP20K1000E,前者为130 万,后者为- {7 h3 L% [4 w( S
2 万。




我来回答
回答1个
时间排序
认可量排序

qn1596531537

0个粉丝

39

问答

0

专栏

0

资料

qn1596531537 2020-09-04 20:49:05
认可0
:):):):):):)
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区