[经验]

0

0

1. 把FPGA 基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,
门阵列中包含的门数即为该FPGA 基本单元的等效门数,然后乘以基本单元的数目就
可以得到FPGA 门数估计值;
2. 分别用FPGA 和标准门阵列实现相同的功能,从中统计出FPGA 的等效门数,这种方
法比较多的依赖于经验数据。
对于第一种方法,FPGA 包括LUT/FF/RAM 等资源,分析各种资源等效门数时,总原则
是等效原则,就是实现相同的功能,在标准门阵列中需要的门数就是FPGA 该资源等效门数,
例如实现一个带寄存器输出的4 输入XOR,在FPGA 中需要用一个LUT 和1 个FF 实现,在
标准门阵列中一般要用21 个与非门实现,于是1 个LUT+1 个FF 等效于21 个门。对ESB
(BRAM),由于用标准门阵列实
现1bit 的RAM 时一般需要4 个门,因此ESB/BARM 做RAM 使用时,1bit 等效4 个门,
对Altera FPGA 中一个2048bit 的ESB,等效门数为8K。光靠这些数据还不能比较准确地计
算出FPGA 的等效门数。因为这只是一种简单情况,实际情况要复杂很多。例如,如果实现
的是带寄存器输出地2 输入XOR,FPGA 也要用1 个LUT+FF,而标准门阵列只需要8 个
NAND,于是1 个LUT+1 个FF 只等效于8 个门。同时特定功能的实现,在不同的标准门阵
列系列中需要的门数也不一样,因此等效门的计算只能是个大概的数值。也就是说对于某一
具体型号FPGA 的门数估计,与FPGA 资源的用途有密切关系。LUT 用于实现2 输入XOR
和4 输入XOR 等效门数不一样(分别为1 和13);FF 不带异步清零、复位、时钟使能和带
这些端口的等效门数不同(分别为8 和13);ESB(BRAM)做RAM 使用时,1bit 等效4 个
门,1 个2048bit 的BRAM 等效8K 门,但是做查找表使用时可能只相当于不到200 门。因此
估计FPGA 的等效门数需要做更细致的分析。
图1 显示了EP20K 系列的等效门数等参数
Feature                                EP20K1000E
Typical Gates                           1,000,000
Maximum System Gate                     1,770,000
Logic Elements                           38,400
Embedded System Blocks                   160
Maximum RAM Bits                         327,680
Maximum Macrocells                       2,560
Maximum I/O Pins                         716
图1 EP20K 系列的等效门数
下面以EP20K1000E 为例详细说明FPGA 等效门数的估计方法。
1.计算逻辑阵列的等效门数
估算EP20K1000E 的门数时,把FPGA 特定资源和LCA300K 标准逻辑阵列的门数(LSI
LCA300K Data Book)比较,可以对FPGA 等效门做出估计。FPGA 一个LUT+FF 等效门数
计算如图2 所示
Implementations             APEX 20K  LUT      LSI Gates     APEX 20K Register  LSI Gates  Total
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
                                                         clear, present and clock
                                                          enable signal
图2 一个LUT+FF 等效门数
即LUT+FF 等效于8~21 个门,上限和下限分别由实现简单函数、复杂函数分别界定。
APEX20K 的等效门数也可以根据经验数据获得,把超过100 个针对4 输入LUT 的设计用
FPGA 实现,同时用LCA300K gate arrays 和Design Compiler 实现,比较相同的设计FPGA 所
用的LE 数目和LCA300K 所用的门数可知,每个LE 相当于12 个门。EP20K1000E 有38400
个LE,于是相当于46 万门。
2.计算ESB 的等效门数
RAM 中一个bit 所需要的门数与RAM 的体系结构、工艺、厂商等有关,一般而言,1bit
相当于4 个门,Altera 也采用这个标准,这样可以方便地估计ESB 等效门数。
计算ESB 等效门数也可以采用和LSI LCA300K 比较的方法,即通过与实现相同容量RAM 在
LCA300K 所用的门数相比较,从而得到ESB 的每一bit 相当于多少门,从而计算出ESB 的
等效门数,参考图3。
Memory Function                  Gates                     Gates per Bit
128×8 single-port SRAM          4,620                            4.5
128×16 single-port SRAM         7,980                            3.9
128×32 single-port SRAM         14,700                           3.6
128×16 dual-port SRAM           8,300                            4.1
128×32 dual-port SRAM           14,910                           63.6
图3 ESB 的等效门数
从上表可见,4gates/bit 是一个比较合适的估计,于是EP20K1000E 的ESB 等效门数为
160 ESBs X 2,048 bits per ESB X 4 gates per bit = 1,310,720 gates,即约为130 万门。
总而言之,对EP20K1000E,LUT+FF 等效门数约为46 万(经验数值),ESB 全用作RAM 时
等效门数约为130 万,所以最大系统门数为170 万。
结论:
FPGA 等效门数估计方法可以是把FPGA 资源基本单元(如LUT+FF,ESB)和实现相同
功能的标准门阵列相比得到FPGA 基本单元等效的门数,然后乘以单元的个数得到整个FPGA
等效门数。也可以是实现很多设计,和用标准门阵列相比,从中统计出等效门数。
FPGA 的等效门数估计一般分为LUT+FF 和ESB(BRAM)两部分,LUT+FF 等效于8~
21 个门,典型值为12;ESB 做RAM 使用时,一般相当于4 门/bit,此时估计出的门数最多,
如果ESB 做乘积项/LUT 则等效门数大大减小,例如对EP20K1000E,前者为130 万,后者为
2 万。

FPGA 等效门数的计算方法相关推荐

  1. FPGA等效门数的计算方法

    FPGA等效门数的计算方法有两种,一是把FPGA基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,门阵列中包含的门数即为该FPGA基本单元的等效门数,然后乘以基本单元的数目就 ...

  2. (31)FPGA面试题系统最高速度计算方法

    1.1 FPGA面试题系统最高速度计算方法 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题系统最高速度计算方法: 5)结束语. 1.1.2 本节引言 &q ...

  3. c++引用另一个类的方法_转:关于A类,B类,C类IP地址的网段和主机数的计算方法...

    转:关于A类,B类,C类IP地址的网段和主机数的计算方法 关于A类,B类,C类IP地址的网段和主机数的计算方法 IP地址是一个32位的二进制数,由四个八位字段组成.每个IP地址包括两部分:一部分为网络 ...

  4. hadoop之MapReduce统计选修课程人数,不及格门数,选课人数

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.题目要求 二.数据解析 student.txt文件部分数据 三.需求分析及代码编写 总体的思路: 需求1:求DataB ...

  5. 一个sql语句的编写 写出不及格门数大于等于2的学生的姓名和平均成绩

    写出不及格门数大于等于2的学生的姓名和平均成绩 表:student sid   name 表:subject cid  cname 表:grade sid  cid  cgrade sql语句为: s ...

  6. 关于A类,B类,C类IP地址的网段和主机数的计算方法

    关于A类,B类,C类IP地址的网段和主机数的计算方法 IP地址是一个32位的二进制数,由四个八位字段组成.每个IP地址包括两部分:一部分为网络标识,一部分为主机标识. A类地址前8位为网络标识.后24 ...

  7. js将毫秒数转换为天数、小时数、分钟数和秒数的计算方法

    js将毫秒数转换为天数.小时数.分钟数和秒数的计算方法如下,参数为毫秒数: function formatDuring(millisecond) { var days = parseInt(milli ...

  8. 多门成绩判断及格与不及格门数

    目的: 输入5门成绩,判断每一门是否及格.最终输出及格的门数和不及格的门数. 代码: #include <iostream> using namespace std; int main( ...

  9. 以“学生”、“成绩”表为数据源,使用 SQL 视图创建一个名为“学生不及格课程数”统计查询,显示字段为:学号、姓名、不及格门数。

    以"学生"."成绩"表为数据源,使用 SQL 视图创建一个名为"学生不 及格课程数"统计查询,显示字段为:学号.姓名.不及格门数.

  10. 某班有最多不超过30人(具体人数由实际输入决定)参加期末考试,最多不超过6门(具体门数由实际输入决定)。

    某班有最多不超过30人(具体人数由实际输入决定)参加期末考试,最多不超过6门(具体门数由实际输入决定).学生成绩管理系统是一个非常实用的程序,如果能够提前学习字符文件读写操作,把用户输入的数据存盘为字 ...

最新文章

  1. c语言如何控制上位机界面大小,电机上位机控制及界面设计参考.doc
  2. 台式计算机更新不了,台式机更新造成电脑关不了机怎么办
  3. 简单粗暴的移动端页面开发技能
  4. html5游戏制作入门系列教程(五)
  5. Delphi 发送邮件 通过Office Outlook
  6. 计算机分级无法度量视频,雨林木风win7旗舰版电脑评分时出现无法度量视频播放性能...
  7. Android开发笔记(四十八)Thread类实现多线程
  8. MySQL server has gone away报错原因分析
  9. $.getJSON无法对外部变量进行赋值的问题
  10. golangd历史版本下载路径
  11. 软件dfmea_最全最专业解析!详解DFMEA新版六步法~fmea软件
  12. 如何把应用程序变成.exe执行文件
  13. arcengine Icommond 自定义工具
  14. Java设计模式——行为型模式之观察者模式
  15. html 条纹背景,CSS3 一组条纹背景图案
  16. http协议相关内容,C/S与B/S,ip报文,TCP,UDP
  17. 2022 WordPress Tongleer 仿微博社交主题模板
  18. 【Windows系统相关问题记录一】在原有Win10 EFI分区还在的前提下,使用DiskGenius误删EFI文件夹
  19. 这样print才够劲!
  20. labview—word报表使用

热门文章

  1. Linunx报Resource temporarily unavailable解决办法
  2. 百度地图(地图生成)
  3. LaTeX 1软件下载安装
  4. 数字人民币隐私与个人信息保护
  5. “电脑开的热点手机连接不上”的问题寻解过程记录
  6. Cocos Creator性能调优优化集锦
  7. 王者荣耀刷金币C/C++语言脚本
  8. Windows快速查看电脑显卡及处理器型号的方法
  9. 吃透String的intern方法
  10. 虚拟机ubuntu16.04下cheese 摄像头黑屏花屏问题