为什么ASIC的频率可以达到GHz,而FPGA只能达到几百MHz?

为什么实现同样的电路,asic频率总是(几乎是一定)比FPGA要高?简单来看这是FPGA在要求“可重构”的特性时对速度做出的妥协。FPGA为了满足可重构的特性,被设计成了一个岛状的逻辑块矩阵电路,每个逻辑块里又有很多个相同的子逻辑块,每个子逻辑块中有要实现任意电路的各种元素,比如LUT(逻辑查找表),用于组合逻辑的构成,和FF(flip-flop,即触发器)用于时序电路的构成。逻辑块之间是布线管道,其中有各种固定长短的线(segment)和连接这些线的开关们(switch)。一块Asic电路要实现一个逻辑电路,只需按照你的电路设计图纸按原样把电路刻在芯片上,里面加法器就是你在数电课本中看到的加法器,乘法器就是你所熟知的乘法器,导线也是你熟悉的不能再熟悉的,没有中断的一根金属线而已。

而FPGA呢?加法器可能已经不是你知道的那个加法器了(当然高端FPGA都有加法器的hard logic这个另算),它已经被FPGA综合工具变成了一堆LUTs,没错,就是前面所说的这些逻辑元素。乘法器同理。导线呢?不是一根不间断的直导线了,它首先要从一个逻辑块出发,先经过一个开关,进入布线管道,然后前面遇到了一个Switch Box(假设是Altera家的板子),也就是十字路口,经过十字路口中的开关跳转,它可能左拐了,然后又遇到一个SB,……几经周折,终于到了目的逻辑块的门口,又要经过一个开关,进入目的逻辑块和里面的逻辑元素相连,就这样构成一个可能再普通不过的加法器、乘法器,等等。

所以FPGA为什么频率肯定没有Asic高你现在一定清楚了。第一,实现同样的功能,FPGA需要更大的面积,在更大的面积的情况下,即使用纯导线,其导线总长度(或严格一点,critical path的导线长度)也要比asic的电路长吧?第二,其实也是最重要的一点,就是布线结构(routing architecture)非常复杂,一条导线从a到b,一般总要经过几个开关,而这些开关都是有延时的,这个延时非常大,是FPGA频率不得提高的主要原因。

上图中粉色线为一整条等电平的“导线”,又臭又长。asic看到了肯定会嫌弃有没有啊

图绿色方块是一个SB!粉色线还是刚刚那条“导线”。注意是“一条”导线哦。现在知道FPGA中导线们的十字路口有多复杂了吗?

(工具用的是VPR [2],学术界的开放综合工具。商业工具看不到这么详细的routing arch)

实际上,题主这个问题在06年已经被多伦多大学的课题组调研过了[1],他们的研究表明,对于一个只有组合和时序逻辑(没有memory等)的电路来说,平均下来,在FPGA上实现需要40倍于asic电路的面积,3~4倍的关键路径延时,和12倍的功耗。而这里面其实吧,大多数都是布线结构的锅。面积上,布线结构一般要占FPGA总面积的60~70%左右,延时上,这个数字只会更高。所以FPGA的布线结构和布局布线算法是一个FPGA领域中很重要的一个研究方向。

要使FPGA做到完全和asic速度一样快应该是不可能的,这是由它的可重构特性直接决定的。但折中的办法不是没有,比如我前面提到hard logic,就是把一些通常使用频次很高的逻辑电路直接以asic的方式嵌入到FPGA里面,比如加法器乘法器等等,一旦要用到它们,也就不用再像以前那样用好多个逻辑块来造它了,这样就减小了面积、提高了速度、降低了功耗。现在高端一点的FPGA里面不仅有这些加法乘法器的小玩意,还有存储器,DSP,微处理器等等。它们的目的都是相同的,就是为了在保证可重构特性的情况下,尽量拉近与asic电路的距离,提高性能。

为了提高速度,还有很多方法,比如用流水线对逻辑做分段等等

ASIC与FPGA能达到的频率差异巨大是为什么相关推荐

  1. 深度学习的三种硬件方案:ASIC,FPGA,GPU;你更看好?

    原文链接:http://www.sohu.com/a/123574005_465947 深度学习的三种硬件方案:ASIC,FPGA,GPU:你更看好? 2017-01-06 10:59 硬件十万个为什 ...

  2. 基于FPGA低频方波测量-频率与占空比

    题目要求 设计基于FPGA的低频方波频率.占空比测量仪.实时测量输入方波信号的频率与占空比. 指标要求 1) 输入方波频率1Hz~1kHz:幅度VH=3V, VL=0V 2) 测量误差优于10-4:显 ...

  3. ASIC与FPGA战事升级,谁是5G第二波最佳选择?

    关注我们 更多精彩等你发现! ​ ▌本文来源:与非网(已授权)作者:张慧娟 ASIC与FPGA的嘴仗打了十几年 在5G第二波商用浪潮来临之时 颇有战况升级的意味 一种声音是:5G应用的复杂性和标准的不 ...

  4. fpga运算服务器_一张图了解CPU、GPU、ASIC、FPGA性能、功耗效率、灵活性

    ​CPU:中央处理器(Central Processing Unit,CPU):通用芯片,主要生产厂家如intel.AMD等,用于PC.服务器等领域.CPU作为通用芯片,可以用来做很多事情,灵活性最高 ...

  5. 适用于异构芯片(CPU,ASIC,DSP,FPGA,GPU)的软件并行技术

    近些年,CPU等通用处理器的性能提升速度放缓,为了继续满足各行各业对高能效计算日益增长的需求,以FPGA,GPU,DSP,NPU等为代表的异构算例,一夜之间在众多的新型热点领域受到广泛关注. 首先结合 ...

  6. FPGA中系统运行频率计算方法

    我们的设计需要多大容量的芯片?我们的设计能跑多快?这是经常困扰工程师的两个问题.对于前一个问题,我们可能还能先以一个比较大的芯片实现原型,待原型完成再选用大小合适的芯片实现.对于后者,我们需要一个比较 ...

  7. FPGA中系统运行频率计算方法与组合逻辑的层级

    我们的设计需要多大容量的芯片?我们的设计能跑多快?这是经常困扰工程师的两个问题.对于前一个问题,我们可能还能先以一个比较大的芯片实现原型,待原型完成再选用大小合适的芯片实现.对于后者,我们需要一个比较 ...

  8. FPGA或ASIC:我们应该怎么选?

    来源:内容来自半导体行业观察(ID:icbank)编译自eejournal,谢谢. 土耳其伊斯坦布尔 ElectraIC 总经理兼管理合伙人 Ates Berna 最近在 LinkedIn 上发布了一 ...

  9. 初识FPGA(二)(FPGA与ASIC及CPLD的对比)

    目录 简述 ASIC和FPGA之间的比较 FPGA和CPLD之间的比较 简述 ASIC是英文Application Specific Integrated Circuits的缩写,即专用集成电路,是指 ...

最新文章

  1. 运行时常量池在哪里_C++干货系列——从编译期常量谈到constexpr(一)
  2. 计算机教育应用3t模式,[信息技术教育应用作业.doc
  3. 2 0 2 0 年 第 十 一 届 蓝 桥 杯 - 省赛 - CC++大学C组 - A.约数个数
  4. easyui combobox默认选中项
  5. [TaskList] 省选前板子补完计划
  6. 如果一切需要重学,2014年应该学哪些技术?
  7. getResource()和getResourceAsStream以及路径问题
  8. Bulk Insert命令详解
  9. 第二章 指令:计算机的语言
  10. 求不大于N的最大质数
  11. 笔记本锁定计算机功能键,笔记本键盘锁定键在哪_笔记本电脑的“键盘锁”是哪一个键-win7之家...
  12. Crust Network 与京湘豫等地区块链名企、投资人考察广西区块链科创园
  13. 把中文目录名称修改成英文首字母大写或中文拼音目录
  14. 服务器的类型包括哪些?
  15. 【Spring Cloud 2】软件架构设计,Java游戏合集百度云盘
  16. 在Windows 7下最大限度地发挥多显示器的魔力
  17. 第四部分:特殊用途的句子——第二章:倒装
  18. 【笔记补发20210403 第2次课】《Linuxprobe RHCE培训 第30期》TJ学员 师从刘遄
  19. 网易的每一个产品都将因强制升级而死掉,先是泡泡,现在是闪电邮,下一个会是什么?......
  20. 性价比超高的护眼显示器,我的办公室好伙伴

热门文章

  1. 第十六届智能车竞赛赛前补充比赛信息
  2. 第十六 届全国大学生智能汽车竞赛 讯飞创意组 全国 选拔赛 竞赛规则
  3. 自制pyBoard的I2C实验,应用MicroPython
  4. 关于举办第十五届全国大学生智能汽车竞赛浙江赛区选拔赛的通知(草案)
  5. Navicat中查询哪些表有指定的字段名(技巧)
  6. java高级特性2,Java高级特性 2
  7. Linux内核系统时钟管理 感想总结 (未完待续)
  8. 函数 php_PHP函数缺陷详解
  9. fastdfs安装_FastDFS 安装部署文档
  10. 【 FPGA 】状态机,FPGA的灵魂