FPGA代表现场可编程门阵列。它是一个集成电路,可以“现场”编程,按照预期的设计工作。这意味着它既可以作为微处理器,也可以作为加密单元或图形卡,甚至可以同时用作所有这三种。正如名称本身所暗示的那样,FPGA是现场可编程的。因此,作为微处理器工作的FPGA可以重新编程以在现场用作图形卡,而不是半导体代工厂。 FPGA上运行的设计通常使用VHDL和Verilog等硬件描述语言创建。
FPGA由嵌入在可编程互连海洋中的数千个可配置逻辑块(CLB)组成。 CLB主要由查找表(LUT),多路复用器和触发器组成。他们可以实现复杂的逻辑功能。除了CLB和路由互连之外,许多FPGA还包含用于各种功能的专用硬硅模块,如Block RAM,DSP模块,外部存储器控制器,PLL,多千兆位收发器等。最近的趋势是提供硬硅处理器核心(例如Xilinx Zynq中的ARM Cortex A9)在同一个FPGA芯片本身内部,这样处理器可以处理平凡的非关键任务,而FPGA可以处理使用处理器无法完成的高速加速。这些专用硬件模块在与ASIC竞争中至关重要。
什么是ASIC?
ASIC代表专用集成电路。顾名思义,ASIC是特定于应用的。它们专为一个目的而设计,它们的整个使用寿命都是相同的。例如,手机内的CPU是ASIC。它的目的是在其整个生命中充当CPU。它的逻辑功能不能改变为其他任何东西,因为它的数字电路由永久连接的门和硅中的触发器组成。 ASIC的逻辑功能以与FPGA的情况类似的方式指定,使用诸如Verilog或VHDL的硬件描述语言。 ASIC的不同之处在于所得到的电路被永久地吸收到硅中,而在FPGA中,电路是通过连接多个可配置的块来制作的。为了进行比较,可以考虑使用乐高积木创建城堡,而不是使用混凝土创建城堡。前者类似于FPGA,后者类似于ASIC。您可以重复使用乐高积木来创造不同的设计,但具体的城堡是永久性的。
FPGA与ASIC比较总结
No. | FPGA | ASIC |
1 | 可重配置电路。 FPGA可以使用不同的设计进行重新配置。 他们甚至有能力重新配置芯片的一部分,而剩余的芯片区域仍在工作! 此功能广泛用于数据中心的加速计算。 | 永久电路。 一旦应用特定电路被录制到硅片中,它就无法改变。 该电路在其整个使用寿命期间将起作用。 |
2 | 通常使用硬件描述语言(HDL)(例如VHDL或Verilog)来指定设计。 | 与FPGA相同。 设计使用HDL指定,如Verilog,VHDL等。 |
3 | 更容易进入障碍。 人们可以开始使用FPGA开发,价格低至30美元。 | 在成本,学习曲线,与半导体代工厂的联络等方面具有非常高的入门门槛。从头开始ASIC开发可能会花费数百万美元。 |
4 | 不适合大批量生产。 | 适合大批量生产。 |
5 | 能效较低,需要更多的功率来实现ASIC能够以更低的功率实现的相同功能。 | 比FPGA更节能。 可以非常精确地控制和优化ASIC的功耗。 |
6 | 与类似工艺节点的ASIC相比,工作频率有限。 路由和可配置逻辑占用了FPGA的时序裕量。 | 使用相同工艺节点制造的ASIC可以以比FPGA高得多的频率运行,因为其电路针对其特定功能进行了优化。 |
7 | FPGA无法实现模拟设计。 尽管FPGA可能包含特定的模拟硬件,如PLL,ADC等,但它们在创建RF收发器时并不灵活。 | ASIC可以在同一个芯片上与微处理器内核一起具有完整的模拟电路,例如WiFi收发器。 这是FPGA缺乏的优势。 |
8 | FPGA非常适用于雷达,手机基站等应用,当前的设计可能需要升级才能使用更好的算法或更好的设计。 在这些应用中,FPGA的高成本并不是决定性因素。 相反,可编程性是决定性因素。 | ASIC绝对不适用于设计可能需要经常升级或偶尔升级的应用领域。 |
9 | 优选用于原型设计和验证设计或概念。 许多ASIC都是使用FPGA本身的原型! 主要处理器制造商自己使用FPGA来验证其片上系统(SoC)。 使用FPGA原型设计更容易确保设计正常工作。 | 除非经过绝对验证,否则不建议使用ASIC对设计进行原型设计。 一旦硅片被录下,几乎没有办法解决设计错误(例外情况适用)。 |
10 | FPGA设计人员通常不需要关心后端设计。 一切都由综合和路由工具处理,确保设计按照RTL代码中的描述工作并满足时序要求。 因此,设计人员可以专注于完成RTL设计。 | ASIC设计人员需要关注从RTL到复位树,时钟树,物理布局和布线,工艺节点,制造约束(DFM),测试约束(DFT)等所有内容。通常,每个提到的区域都由不同的专家处理 人。 |
根据Xilinx的Rajeev Jayaraman [1],ASIC与FPGA成本分析图如上所示。图表中省略了成本和单位值,因为它们与使用的工艺技术和时间不同。 ASIC具有非常高的非重复工程(NRE成本),数百万,而实际的每个芯片成本可能是美分。对于FPGA,没有NRE成本。您需要为实际的FPGA IC付费,并且通常会获得该FPGA的免费软件(最高限制)。因此,由于NRE成本,ASIC的总成本开始非常高,但其斜率更平坦。也就是说,少量原型制造ASIC是非常昂贵的,但是在大批量生产中,每卷的成本变得非常低。在FPGA的情况下,IC成本相当高,因此与ASIC相比,大量的IC成本更高。
以下是ASIC成本组件的细分:
ASIC EDA工具和培训
设计成本
DFT成本
模拟成本
ASIC面具成本
晶圆成本
晶圆加工
模具利用
产量和制造损失
打包
与上面的列表相比,FPGA成本仅适用于可以现成购买的IC。
如何在FPGA或ASIC之间进行选择
您是否想要了解有关VLSI和硬件设计的更多信息? FPGA和仿真软件最适合您。你在设计自己的产品吗?凉!问问自己产品的目标市场,预期价格范围,功率预算,速度要求等。可以使用FPGA完成吗?如果是的话,请继续为您的想法做好准备。如果没有,您可能没有任何其他方式与ASIC一起使用。在大多数情况下,应该可以使用FPGA至少对您的想法进行原型设计和验证。当你完成原型时,你自己就会知道是否需要采用ASIC路由。当然,如果您的设计完全突破,具有高度特定的要求(在成本,功率,速度等方面),那么您别无选择,只能选择ASIC路线。否则,FPGA可以满足大多数用例,特别是当您需要可重新配置的硬件时。
明德扬科教提供快速入门FPGA的培训,设有以下FPGA培训班: