【芯片设计- 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

相关推荐
码农小韩1 小时前
FPGA学习(一)——LED点灯与开发流程
学习·fpga开发·入门·环境配置·仿真·点灯
FPGA小迷弟2 小时前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
NamoAmitabha1283 小时前
Zynq 的 AXI GPIO,是“ARM 通过一条国际标准高速公路(AXI 总线),去遥控 FPGA 里的一个寄存器”。---deepseek
fpga开发·zynq--ps
NamoAmitabha1284 小时前
ARM 不懂寄存器,它只懂内存地址---deepseek
fpga开发·zynq--ps
FPGA小迷弟6 小时前
FPGA 千兆以太网帧格式全解:从 IEEE 802.3 帧结构到 Verilog 收发实现
人工智能·5g·fpga开发·架构·硬件架构
幻智星科技7 小时前
FPGA数据采集接口选型终极指南
fpga开发·udp·硬件架构
星夜离尘567 小时前
用 SystemVerilog 写一个可背压的流式 RLE 编码器:计数拆分、包尾与 flush 的完整实现
fpga开发
NamoAmitabha12811 小时前
ARM 不懂寄存器,它只懂内存地址--deepseek
fpga开发·zynq--ps
hahaha60161 天前
3NRD降噪算法FPGA实现8并行度设计
fpga开发
松小白song1 天前
一次“载电流显示为 0“的排查经历:负值钳位引发的踩坑
fpga开发