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

相关推荐
我爱C编程11 小时前
【仿真测试】基于FPGA的2ASK扩频通信链路实现,包含帧同步,定时点,扩频伪码同步,信道,误码统计
fpga开发·帧同步·定时点·ask·扩频通信·扩频伪码同步
minglie115 小时前
Wokwi组件
fpga开发
qq_3375994616 小时前
FPGA知识点
经验分享·fpga开发
s090713617 小时前
连通域标记:从原理到数学公式全解析
图像处理·算法·fpga开发·连通域标记
FPGA_小田老师17 小时前
FPGA例程(4):按键消抖实验
fpga开发·verilog·fpga demo·fpga例程
FPGA小c鸡17 小时前
FPGA摄像头采集处理显示完全指南:从OV5640到HDMI实时显示(附完整工程代码)
fpga开发
jz_ddk17 小时前
[学习] NCO原理与误差分析
fpga开发·gps·gnss·北斗
unicrom_深圳市由你创科技18 小时前
专业fpga定制开发解决方案
fpga开发·fpga
ALINX技术博客18 小时前
【ALINX 教程】FPGA 10G 以太网实现——基于 Zynq US+ Z7-P 开发板+FH1223 子卡
fpga开发
s090713618 小时前
FPGA加速:Harris角点检测全解析
图像处理·算法·fpga开发·角点检测