【芯片设计- RTL 数字逻辑设计入门 9.3 -- 为什么 FPGA 的效率低于 ASIC?】

文章目录

FPGA 和 ASIC 概述

FPGA(Field-Programmable Gate Array)

FPGA 是一种可重构逻辑器件,用于在硬件级别实现各种逻辑功能。以下是 FPGA 的一些关键特点:

  • 可重构性:FPGA 能够在现场(即部署后)通过编程多次重新配置。这意味着设计人员可以根据需要多次修改其逻辑功能。
  • 灵活性:FPGA 提供了高度的设计灵活性,适用于原型设计和需要频繁更新的产品。
  • 快速开发周期:由于其可编程性,FPGA 设计的开发周期通常比 ASIC 短,适合快速迭代和测试。
  • 应用广泛:广泛应用于通信、军事、工业控制、消费电子等领域,尤其适合需要高性能并行处理的任务。

ASIC(Application-Specific Integrated Circuit)

ASIC 是一种专用集成电路,用于在制造时固定特定的功能。以下是 ASIC 的一些关键特点:

  • 专用性:ASIC 设计用于执行特定任务,不能像 FPGA 那样重新配置。这使得 ASIC 在目标任务上具有更高的性能和效率。
  • 高性能:由于其专用性,ASIC 通常在功耗、速度和面积方面比 FPGA 更具优势,非常适合大型量产产品。
  • 长开发周期:ASIC 设计和制造需要更长的时间和更高的成本,一旦制造完成,无法更改其功能。
  • 应用场景:广泛用于消费电子、通信设备、汽车电子等需要高性能、低功耗的领域。

FPGA 与 ASIC 的对比

特性 FPGA ASIC
可重构性
灵活性
开发周期
开发成本 较低 较高
性能 通常不如 ASIC
功耗 通常较高
适用场景 原型设计、频繁更新的产品、小批量生产 大批量生产、对性能和功耗要求高的产品

总结

  • FPGA :是一种可重构逻辑器件,具有高灵活性和快速开发周期,适用于原型设计和需要频繁修改的应用场景,先制造的芯片,再次设计时"重新配置"。
  • ASIC :是一种专用集成电路,具有高性能和低功耗的优势,适用于大批量生产和对性能要求高的应用场景,ASIC 不需要"重新配置"。你先设计,把它交给代工厂,然后制造芯片。

现在让我们看看这些芯片的结构是什么样的,以及它们的不同之处。

逻辑单元(FPGA的基础模块)

在可编程逻辑器件(PLD)中,各个厂商对其基本构建单元有不同的命名。在 Xilinx FPGA 中,这个基本单元被称为 Logic Cell(LC)。以下是 Xilinx Logic Cell 的组成及其功能:

  1. 4-input LUT(查找表)

    • 一个 4 输入的查找表,用于实现任意 4 输入的逻辑函数。
    • 查找表(LUT)是 FPGA 中的基本构建模块,可以通过编程实现不同的逻辑操作。
  2. MUX(多路复用器)

    • 用于选择 LUT 的输出或者其他输入信号。
    • MUX 可以增强逻辑单元的灵活性,使其能够实现更复杂的逻辑功能。
  3. Register(寄存器)

    • 一个寄存器,用于存储数据。
    • 寄存器可以配置为触发器(Flip-Flop, FF)或者锁存器(Latch)。
  4. Clock(时钟)

    • 时钟信号可以配置为上升沿触发或下降沿触发。
    • 时钟配置使得 Logic Cell 能够在不同的时钟边沿捕获数据。

它是最小的逻辑块,LUT 充当组合逻辑。在DFF的帮助下,可以形成时序逻辑。它可以构建逻辑门、多路复用器、编码器、加法器; 任何真值表都可以作为布尔表达式存储在 LUT 中。

一个 LUT 可以保存有限数量的数据。逻辑单元的 LUT 也是有限的。

具有许多项的布尔表达式需要更多的内存空间,工具在布局布线的时候会将剩余项放入另一个逻辑单元中。这就需要在两个逻辑单元之间有路由信号。

FPGA路由信号


白线是从一个逻辑单元路由到另一个逻辑单元的信号。可以想象如果实现更大逻辑时候这个导线长度会增加多大。这增加了额外的延迟,降低了时钟频率,消耗了更多的面积和功耗。

所有这一切都只是为了"重构"。

即使设计不需要其他单元或路由信号,它们仍然存在于FPGA芯片路由区域和静态功率中,从而降低了效率。

标准单元:ASIC的构建模块


标准单元库可以具有小至 NAND 门的组件和 IP,例如加法器、FF、BRAM、多路复用器等。

所有标准单元库都针对面积和功率进行了优化。

ASIC布局

单个单元彼此紧密连接,形成更大的逻辑功能。位置也针对信号传播进行了优化。与FPGA相比,ASIC没有不必要的逻辑和路由开销。这样可以节省更少的面积和功率。还可以实现更快的时钟。

以上这些ASIC会比FPGA具有更高的效率。

推荐阅读
https://mp.weixin.qq.com/s/60Th4G6IexMzdnjplqfimA

相关推荐
搬砖的小码农_Sky2 小时前
单片机和FPGA有什么区别?
单片机·嵌入式硬件·fpga开发
Jade-YYS5 小时前
如何判断FPGA能够接入几个Camera
fpga开发
apple_ttt1 天前
SystemVerilog学习——虚拟接口(Virtual Interface)
fpga开发·fpga·systemverilog·uvm
学习路上_write1 天前
FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录
单片机·嵌入式硬件·qt·学习·fpga开发·github·硬件工程
jjjxxxhhh1231 天前
FPGA,使用场景,相比于单片机的优势
单片机·嵌入式硬件·fpga开发
诚实可靠小郎君95272 天前
FPGA高速设计之Aurora64B/66B的应用与不足的修正
fpga开发·aurora·高速通信
百锦再2 天前
基于Zynq FPGA对雷龙SD NAND的测试
fpga开发
∑狸猫不是猫2 天前
HDLBIts习题(4):边沿检测、分频计数器、多位BCD计数器
fpga开发
黑旋风大李逵2 天前
FPGA使用Verilog实现CAN通信
fpga开发·can通信·sja1000t·fpga实现can通信
hi942 天前
PYNQ 框架 - 中断(INTR)驱动
嵌入式硬件·fpga开发·zynq·pynq