zoukankan      html  css  js  c++  java
  • FPGA与ASIC:它们之间的区别以及使用哪一种?

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

    FPGA Vs ASIC: Differences Between Them And Which One To Use?

    VL82C486 Single Chip 486 System Controller ASIC.

    引论             

    对于一个刚接触超大规模集成电路和硬件设计领域的人来说,这往往是第一个问题:FPGA、ASIC和CPLD之间有什么区别?在另一篇文章中,我们试图回答FPGA和CPLD之间的区别。本文将定义什么是FPGA,什么是ASIC,我们将试图阐明FPGA与ASIC的问题,并讨论它们之间的异同。我们将概述每种方法的优缺点,这样您就可以根据应用程序的需要明智地决定使用哪种方法。             

    这是一个目录,你可以很容易地导航到你感兴趣的副标题。

    Content:

    ·       What is FPGA?

    ·       What is ASIC?

    ·       FPGA vs ASIC comparison summary

    ·       FPGA vs ASIC visual comparison

    ·       FPGA vs ASIC Cost Analysis

    ·       How to choose between FPGA or ASIC

    What is FPGA?

    FPGA代表现场可编程门阵列。它是一种集成电路,可以“现场”编程,按预期设计工作。这意味着它可以作为一个微处理器,或者一个加密单元,或者显卡,甚至可以同时使用这三个功能。顾名思义,FPGA是现场可编程的。因此,与半导体铸造厂不同,作为微处理器的FPGA可以重新编程,在现场充当显卡。在FPGA上运行的设计通常使用硬件描述语言(如VHDL和Verilog)创建。             

    FPGA是由数千个可配置逻辑块(CLB)组成的,它们嵌入在可编程互连的海洋中。CLB主要由查找表(LUT)、多路复用器和触发器组成。它们可以实现复杂的逻辑功能。除了CLB和路由互连,许多FPGA还包含用于各种功能的专用硬硅块,如块RAM、DSP块、外部存储器控制器、PLL,千兆位收发器等。最近的一个趋势是在同一个FPGA芯片内部提供一个硬硅处理器核心(如Xilinx Zynq中的ARM Cortex A9),这样处理器就可以处理日常的、非关键的任务,而FPGA可以处理用处理器无法完成的高速加速。这些专用的硬件块在与asic竞争中至关重要。

    What is ASIC?

    ASIC代表专用集成电路。顾名思义,asic是特定于应用程序的。它们的设计目的只有一个,它们的整个使用寿命都是一样的。例如,手机内部的CPU是一个ASIC。它的功能是作为一个CPU的整个生命周期。它的逻辑功能不能改变成其他任何东西,因为它的数字电路是由永久连接的门和硅触发器组成的。ASIC的逻辑功能以类似于FPGA的方式指定,使用硬件描述语言,如Verilog或VHDL。在这种情况下,集成电路的集成电路的数量是可配置的。作为比较,可以考虑使用乐高积木建造城堡与使用混凝土建造城堡。前者类似于FPGA,而后者类似于ASIC。你可以重复使用乐高积木创造一个不同的设计,但混凝土城堡是永久性的。

    FPGA vs ASIC comparison summary

    FPGA ASIC编号             

    1.FPGA可重构电路。FPGA可以用不同的设计进行重新配置。他们甚至有能力重新配置芯片的一部分,而芯片的其余部分仍在工作!这个特性被广泛应用于数据中心的加速计算。

    ASIC永久电路。一旦特定于应用的电路用胶带固定在硅上,它就不能改变。电路在其整个工作寿命内也将同样工作。             

    2.FPGA设计通常使用硬件描述语言(HDL),如VHDL或Verilog。

    ASIC与FPGA相同。使用Verilog、VHDL等HDL指定设计。             

    3.FPGA更容易进入障碍物。从FPGA开发开始,成本低至30美元。

    ASIC从成本、学习曲线、与半导体制造厂的联络等方面来看,进入门槛非常高。从头开始ASIC开发可能会花费数百万美元。             

    4.FPGA不适合大批量生产。ASIC适合大批量生产。             

    5.FPGA低能量效率,同样的功能需要更多的功率。

    ASIC可以在较低的功率下实现。比FPGA更省电。ASIC的功耗可以非常精确地控制和优化。             

    6.FPGA与同类工艺节点的专用集成电路相比,工作频率有限。布线和可配置逻辑占用了FPGA的时序裕度。

    ASIC由于电路针对其特定功能进行了优化,使用同一工艺节点制造的ASIC可以比FPGA工作频率高得多。              

    7.FPGA不可能进行模拟设计。例如,可编程逻辑控制器(FPC)可与模拟收发器(例如,可编程逻辑控制器(PLC)等)一样。

    ASIC在专用于模拟收发器的射频(RF)核心上,可以不包含许多专用的模拟收发器。这是FPGA所缺乏的优势。             

    8.FPGA非常适合于雷达、手机基站等应用,当前的设计可能需要升级以使用更好的算法或更好的设计。在这些应用中,FPGA的高成本并不是决定因素。

    ASIC相反,可编程性是决定因素,asic绝对不适合设计可能需要频繁或偶尔升级的应用领域。             

    9.FPGA优先用于原型设计和验证设计或概念。许多ASIC都是用FPGA自己设计原型的!主要处理器制造商自己使用FPGA来验证他们的片上系统(SOC)。使用FPGA原型设计更容易确保设计按预期正确工作。

    ASIC除非经过绝对验证,否则不建议使用ASIC对设计进行原型设计。一旦硅被贴上胶带,几乎什么也无法修复设计缺陷(例外情况也适用)。             

    10.FPGA设计人员一般不需要关心后端设计。所有的事情都由合成和路由工具来处理,这些工具确保设计工作如RTL代码中所述,并符合时间安排。因此,设计人员可以专注于完成RTL设计。

    ASIC设计人员需要关心从RTL到重置树、时钟树、物理布局和布线、工艺节点、制造约束(DFM)、测试约束(DFT)等所有事情。通常,所述的每一个领域都由不同的专业人员处理。

    FPGA vs ASIC visual comparison

     根据Xilinx,ASIC vs FPGA成本分析图如上图所示。由于成本和单位价值随使用的工艺技术和时间的不同而有所不同,因此在图表中省略了成本和单位价值。ASIC有非常高的非重复性工程(NRE)成本,以百万计,而实际的每个模具成本可能是美分。就FPGA而言,不存在NRE成本。你要为实际的FPGA芯片付费,一般情况下,你可以免费获得该FPGA的软件(最高限额)。因此,由于非重复性成本的存在,ASICs的总成本开始非常高,但其斜率更平坦。也就是说,小批量的原型化asic非常昂贵,但是在大批量生产中,每版的成本变得非常低。在FPGA的情况下,IC成本相当高,因此在大批量生产中,与ASIC相比,成本变得更高。             

    以下是ASIC成本构成的明细:

    1.       ASIC EDA tools and training

    2.       Cost of designing

    3.       DFT cost

    4.       Cost of simulating

    5.       ASIC Masks Cost

    6.       Wafer Cost

    7.       Wafer Processing

    8.       Die Utilization

    9.       Yield & Manufacturing Loss

    10.      Packaging

    与上表相比,FPGA的成本仅限于可以现货购买的IC。

    How to choose between FPGA or ASIC

    你想了解更多关于VLSI的硬件设计的人?那么FPGA和仿真软件最适合您。你在设计自己的产品吗?酷!问问自己目标市场是什么,预期的价格范围,功率预算,速度要求等等。能用FPGA实现吗?如果是的话,那就继续把你的想法原型化。如果没有,你可能没有其他办法,除了去ASIC。在大多数情况下,至少可以使用FPGA制作原型并验证您的想法。当你完成原型的时候,你自己就会知道你是否需要使用ASIC路由。当然,如果您的设计完全是突破性的,并且非常特殊,有着非常具体的要求(在成本、功率、速度等方面),那么您除了使用ASIC线路外别无选择。否则,FPGA可以满足大多数用例,特别是当您需要可重新配置的硬件时。             

     

  • 相关阅读:
    收集 关于php的博文
    hdwiki中插件开发指南
    MySQL中“”的坑
    SpringBoot生成验证码
    Spring中的循环依赖问题
    深入理解AQS(抽象队列同步器)
    JUC下线程的三种等待唤醒机制
    关于List集合的去重
    MySQL:去除 字符串
    MySQL:Can't connect to MySQL server on 'localhost'(10061)
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/13233636.html
Copyright © 2011-2022 走看看