1、FPGA——现场可编程门阵列

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

ASIC具有高性能、低功耗的优势,但它们包含的任何算法——除了那些在软件内部处理器内核执行的——其余都是“冻结的”。所以这个时候我们就需要现场可编程门阵列(FPGA)了。早期的FPGA器件的架构相对简单——只是一系列通过可编程互连的可编程模块。

一文看懂fpga与asic的区别

用于深度学习加速器的FPGA(XilinxKintex7Ultrascle)

FPGA最厉害的地方是,我们可以配置它的可编程架构来实现任意我们需要的数字功能组合。另外,我们可以以大规模并行的方式实施算法,这意味着我们可以非常迅速和有效地执行大数据的处理。
2、ASIC——特定应用集成电路

目前,在集成电路界ASIC被认为是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

一文看懂fpga与asic的区别

用于深度学习加速器的ASIC(MovidiusMyriad)

让我们从特定应用集成电路(ASIC)开始。正如其名称所表示的,这是因特定目的而创建的设备,一旦设计制造完成后电路就固定了,无法再改变。当大多数人听到这个词ASIC时,他们的“下意识”反应是,假设它是数字设备。事实上,不论它是模拟的、数字的,或两者的混合,任何定制的芯片都是一个ASIC。然而,对于这些讨论的目的,我们应该假设这是一个完全或主要部分是数字性质的芯片,任何模拟和混合信号功能是沿着物理接口线(物理层)或锁相回路(PLL)的。
FPGA设计优势

ASIC设计优势


两者的设计流程

图FPGA和ASIC设计流程完整的FPGA设计流程包括功能描述、电路设计与输入、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真、板级仿真与验证、调试与加载配置。

ASIC的设计流程(数字芯片)包括:功能描述、模块划分、模块编码输入、模块级仿真验证、系统集成和系统仿真验证、综合、STA(静态时序分析)、形式验证。

插一句,在ASIC设计过程中,往往要用到FPGA进行原型验证。FPGA验证是进行ASIC设计的重要环节,其后,还需要引入ASIC版本源码,插入IOPAD,DFT,功耗估计和进行其它后端流程。完成FPGA验证可以说就完成了ASIC整套流程的50~80%。

从设计成本来考虑,小批量上FPGA占优,大批量时,ASIC占优。

FPGA本身就是一个芯片,只是你可以通过编程的方式修改内部逻辑连接和配置实现自己想要的功能。实现ASIC,就如从一张白纸开始,你得有代码,之后综合,之后布局,布线,得到GDSII后去流片。

比速度

相同的工艺和设计,在FPGA上的速度应该比ASIC跑得慢。因为FPGA内部是基于通用的结构,也就是LUT(lookuptable),它可以实现加法器,组合逻辑等等,而ASIC,一般加法器就是加法器,而比较器就是比较器,FPGA结构上的通用性必然导致冗余;另外,作为FPGA基本单元是LUT(LUT组成SLICE,SLICE组成CLB--这是xilinx的结构),为此大的设计假如一个LUT实现不了,就得用两个LUT,一个SLICE实现不了就要用CLB,不同结构处于特定的位置,信号之间的互联,导致的wiredelay是不可忽略的一部分。而对于ASIC来说没有结构上的限制,而且对于特定的实际可以在空间上靠得很近,相对之下wiredelay和celldelay都应该比FPGA小。当然LUT中也有DFF,作为高速的设计一般都会在一个简单的组合逻辑操作之后打一拍,再做下一步的处理。

比个头

完全相同的结构的话,FPGA被ASIC远远踢飞。FPGA要规模大得多才能实现ASIC相同的功能,主频还只有几分之一。因此,FPGA相对于ASIC来说还是大很多的。

功耗方面

在相同工艺条件下,FPGA要大于ASIC。FPGA,尤其是基于占用大量硅面积的、每个单元六个晶体管的静态存储器(SRAM)的查寻表(LUT)和配置元件技术的FPGA,其功耗要比对等的ASIC大得多。

比花的银子

FPGA贵在单片,开发工具和风险基本不存在。对于ASIC贵在流片的费用和开发工具,NRE费用随着工艺的提高变相当贵,除非你的芯片一次成功可以量产,否则单片费用将其贵无比!

一文看懂fpga与asic的区别

其他方面

ASIC用于大型项目,而对于需要快速投放市场且支持远程升级的小型项目,FPGA则更为适合。FPGA技术的主要优势仍是产品投放市场的时间较短。

在ASIC的优势方面,ASIC加电后可立即运行,就单位逻辑大小而言封装选择更多,还可包括某些模拟逻辑。与此相对比,FPGA加载配置进入存储器需要时间,因此不能立即工作。此外,FPGA的封装也较复杂。

除此之外,FPGA内部还包括接口I/O,I/O分为普通I/O和高速I/O,高速I/O支持例如高速的SERDES,用于实现XAUI,PCIE等高速接口,这些接口动辄几Gbps到10Gbps以上。此外种类多种多样的硬核IP也是各FPGA厂商差异化竞争利器,例如POWERPC、ARM等硬核IP。从而构成CPU+FPGA于一体的集可编程性和可重构的处理平台。因此,相对来所,FPGA虽然发展有二三十年的历史,其基本架构一直不变不大。

两者的定位

FPGA和ASIC产品的使用要根据产品的定位和设计需要来选用,ASIC产品适用于设计规模特别大,如CPU、DSP或多层交换芯片等,或者是应用于技术非常成熟且利润率非常低的产品,如家用电器和其它消费类电器,亦或是大量应用的通用器件如RAM、PHY等。而FPGA产品适用于设计规模适中,产品要求快速占领市场,或产品需要灵活变动的特性设计等方面的产品,如PDH、2.5G以下SDH设备和大部分的接口转换芯片等。当然具体使用那种产品来设计还要设计者充分考虑自己的产品定位来决定。

两者在互相融合

最明显的莫过于处理器中开始集成FPGA,而可编程的ASIC也开始兴起。随着SoC成为主流,两者的边界也就不辣么明显了。

fpga与asic的区别相关推荐

  1. 入行IC | 一文读懂FPGA与ASIC的区别

    IC行业的范围很广,有数字.模拟不同的研究方向,也有设计.制造.封测不同的产业环节.还有FPGA.ASIC等不一样的芯片领域. 遇到过很多想要入行.转行IC的同学,都有"选FPGA还是ASI ...

  2. FPGA与ASIC:它们之间的区别以及使用哪一种?

    FPGA与ASIC:它们之间的区别以及使用哪一种? FPGA Vs ASIC: Differences Between Them And Which One To Use? VL82C486 Sing ...

  3. FPGA 和ASIC开发的区别

    FPGA和ASIC区别很多.ASIC的逻辑通常远远大于FPGA的,门数上有数量级的差别,运行时钟也远远高于FPGA.而且,ASIC只有一次机会,FPGA因为可以编程,所以coding的灵活性相对提高. ...

  4. (10)FPGA与ASIC区别

    (10)FPGA与ASIC区别 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA与ASIC区别 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1 ...

  5. 秒懂FPGA、单片机、DSP、ASIC的区别

    ASIC原本就是专门为某一项功能开发的专用集成芯片,比如你看摄像头里面的芯片,小小的一片,集成度很低,成本很低,可是够用了.一个山寨摄像头卖才卖 30块,买一片ARM多少钱?后来ASIC发展了一些,称 ...

  6. (96)FPGA PLL与MMCM区别?

    (96)FPGA PLL与MMCM区别? 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA PLL与MMCM区别? 5)结语 1.2 FPGA简介 FPGA(Fi ...

  7. (98)FPGA localparam 与parameter区别?

    (98)FPGA localparam 与parameter区别? 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA localparam 与parameter区 ...

  8. (97)FPGA DCM与PMCD区别?

    (97)FPGA DCM与PMCD区别? 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA DCM与PMCD区别? 5)结语 1.2 FPGA简介 FPGA(Fi ...

  9. (14)FPGA触发器与寄存器区别

    (14)FPGA触发器与寄存器区别 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA触发器与寄存器区别 5)结语 1.2 FPGA简介 FPGA(Field Pr ...

  10. ARM、DSP、FPGA的特点和区别

    说明ARM.DSP.FPGA的异同点 ARM(AdvancedRISCMachines) 是微处理器行业的一家知名企业,设计了大量高性能.廉价.耗能低的RISC处理器.相关技术及软件.ARM架构是面向 ...

最新文章

  1. change python是什么意思_回溯是什么意思?
  2. Python+Django+SAE系列教程14-----使表单更安全
  3. Leet Code OJ 338. Counting Bits [Difficulty: Medium]
  4. mysql一对一修改_MYSQL的一对一
  5. rsync实现文件同步
  6. 如何收缩超大的SharePoint_Config数据库
  7. Microsoft Office 2008 for Mac Service Pack 1 更新后无法启动程序问题解决方案
  8. Mybatis-学习笔记(9)Mybatis3+spring4+springMVC
  9. 一个鼠标键盘控制两台甚至多台主机的方法(软件亲测可用)
  10. R语言与抽样技术学习笔记(Randomize)
  11. 2021数学建模国赛b题思路总结
  12. Ajax 传参的两种方式
  13. 计算机论文中的技术路线,毕业论文开题报告中技术路线怎么写
  14. 还原故事的真相:少年派毫不奇幻的残酷漂流
  15. java 时间是24小时制吗_java时间24小时制
  16. 随笔(面试相关)(杂)
  17. 炒菜机器人“精确”破题中餐标准化
  18. 各种机械键盘轴的差别,究竟什么轴好
  19. NetInside网络攻击分析帮您轻松发现可疑主机
  20. eclipse 中的符号含义

热门文章

  1. apm最高的记录_APM工具使用记录
  2. QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)
  3. 生信笔记:序列同源性、相似性
  4. 配置 Android 的 SDK, DNK, JDK, ANT 环境
  5. Excel-实现选择性粘贴(粘贴公式为文本)自动化,不想手动
  6. 毕业设计结论计算机应用技术,计算机应用技术(网络、软件)毕业设计实施方案...
  7. 代码大全(第2版)_2021【公式大全3.0版】【(数一)第371页】【(数二)第283页】【(数三)第324页】【有关矩阵秩的重要结论】6)~...
  8. 博图——生成和导入外部源文件
  9. 天才小毒妃 第945章 龙非夜心情很不好
  10. 兄弟连 40 期 临行时刻