当前位置: 首页 > news >正文

FPGA ASIC



一、概述
1.ASIC是专用集成电路,FPGA是现场可编程阵列
2.为什么ASIC通常能够比FPGA运行更高的时钟频率呢?
3.两者的底层物理实现和设计约束有什么差异呢?
4.ASIC是为了特定功能定制的优化的硬件;FPGA是由预制的可编程咯及单元
和可编程互联构成的通用结构

二、电路结构
ASIC:电路一旦设计出来,那么晶体管,连线这些都将固定了,所有的电路路径都是为了特定的功能
专门设计和优化的,这就说明了critical path关键路径尽可能的短,从而允许得到更高的时钟频率。
FPGA:电路是有可配置逻辑块CLB和可编程互联开关组成的。这些通用结构为了实现可编程性,引入
了传输门和多路选择器,这个导致了信号路径上有了更多的延迟元件。布线资源是共享的,不能为特定功能做最短路径优化,因此关键路径通常较长。

ASIC:逻辑功能由物理连接的晶体管直接构成。例如,一个4输入与门,就是由4个串联的PMOS晶体管和4个并联的NMOS晶体管组成的紧凑物理结构,信号路径最短最直接。

FPGA:所有组合逻辑都通过查找表(LUT) 实现。一个4输入LUT本质上是一个16x1的静态RAM。输入信号被当作地址去访问这个RAM,RAM中存储了所有可能的输出结果真值表。

关键延迟:信号必须经过LUT的地址译码器(多路选择器树),即使最简单的逻辑功能(比如一个反相器)也要走完这个完整路径。这引入了固定的、可观的门延迟。

类比:ASIC像修建了一条从A到B的直线高速公路。FPGA则像在一个纵横交错的通用城市路网里,每次都从固定的几个入口进入,通过一系列固定的立交桥和路口(LUT内部结构)才能到达B,即使直线距离很近。


三、布线资源
ASIC:使用定制化的金属布线层,可以根据需要调整线宽、间距,甚至使用更高级的布线材料(如铜替代铝)来减少电阻和电容,从而减少传输延迟。
FPGA:布线资源是预制的,由纵横交错的金属线段和可编程开关组成。信号需要通过多个可编程开关才能到达目的地,每个开关都会引入额外的延迟(导通电阻和电容)。而且,FPGA的布线资源是有限的,有时不得不绕远路,进一步增加延迟。
ASIC:有专用的、多层金属互连线。布线工具可以像绘制PCB一样,为关键路径分配最短、最宽、屏蔽最好的走线,将线延迟最小化。

FPGA:使用预制的、网格化的布线资源。逻辑块(CLB)之间通过水平和垂直的布线通道连接,通道交叉点由可编程开关(传输管) 控制。

关键延迟:信号从一个CLB到另一个CLB,需要穿过多个可编程开关。每个开关的导通电阻和寄生电容会显著增加延迟,而且路径往往不是最优的,可能需要绕远。

RC延迟主导:在先进工艺下,FPGA的延迟主要来自布线延迟(而非逻辑门延迟),而这些可编程开关正是RC延迟的主要来源。

类比:ASIC的布线像是为两个特定城市修建了直达高铁。FPGA的布线则像是在一个拥有无数标准化火车站和换乘枢纽的全国铁路网里,为两个城市规划路线,中间必须经过若干固定的换乘点(开关),且铁轨规格统一,无法为特定线路提速。

四、逻辑单元结构
ASIC:可以使用最合适的逻辑门(如NAND、NOR等)来实现功能,并且可以调整晶体管的尺寸(驱动能力)以平衡延迟和功耗。
FPGA:逻辑功能通常由查找表(LUT)实现,一个LUT可以实现任意组合逻辑,但是其内部结构固定(例如由多个多路选择器构成),其延迟相对于ASIC中直接实现同样功能的定制逻辑来说要大。

五、工艺优化
ASIC:可以采用最先进的半导体工艺,并且针对特定工艺节点进行电路优化。设计者可以控制从晶体管级到系统级的每一个细节。
FPGA:由于要保证可编程性,其工艺设计需要兼顾通用性,因此不能像ASIC那样针对特定功能进行晶体管级优化。而且,FPGA厂商通常使用相对成熟的工艺(因为先进工艺成本高,且FPGA的冗余结构面积大,先进工艺成本更高),所以工艺节点可能落后于同时期的ASIC。
ASIC:可以采用最先进的工艺节点(如3nm、5nm),并且可以针对性能、功耗或面积进行晶体管级优化(例如使用高性能库、调整晶体管尺寸和阈值电压)。

FPGA:由于结构复杂(可编程开关和布线占用了大量面积和晶体管),通常采用比同期ASIC落后1-2代的工艺以控制成本和功耗。其工艺优化目标是通用性、可靠性和良率,而非极致的频率。

六、设计约束
ASIC:设计者可以为了达到时序要求而采用各种方法,例如插入缓冲器、调整晶体管尺寸、使用高性能单元库等。
FPGA:设计者只能使用FPGA厂商提供的固定逻辑块和布线资源,优化手段有限,主要依靠EDA工具进行布局布线,但无法改变底层硬件的延迟特性。
ASIC:设计师/工具可以针对关键路径采取一切手段优化:插入缓冲器、调整门尺寸、改变拓扑结构、甚至修改算法。目标是消灭瓶颈。

FPGA:设计被“挤压”进固定的架构中。工具的任务是将你的逻辑“适配”到有限的LUT、触发器和固定位置的布线资源里。这个过程(布局布线)像是一个极度复杂的装箱游戏,其结果往往导致关键路径不得不穿越多个LUT和长布线,从而拉低最高频率。


七、时钟网络
ASIC:可以设计一个低偏斜的时钟树,根据需要插入缓冲器,使时钟信号同步到达各个寄存器。
FPGA:时钟网络也是预制的,虽然FPGA厂商提供了低偏斜的全局时钟网络,但是其延迟相对较大,而且时钟资源有限,有时不得不用非全局时钟网络,导致时钟偏斜和延迟增加。
ASIC:可以设计定制化的时钟树。通过插入缓冲器、调整驱动能力,确保时钟信号几乎同时(低偏斜)到达芯片上所有的寄存器,这为高频率运行提供了基础。

FPGA:使用厂商预布好的全局/区域时钟网络。虽然设计上已经尽可能低偏斜,但这是一个“通用方案”,无法为你的具体设计做最优调整。时钟信号需要经过固定的缓冲器驱动长距离的金属线,延迟和功耗都较大。


七、功耗和热设计
ASIC:可以针对高性能进行设计,使用高驱动能力的晶体管,优化电路以降低关键路径延迟,即使这会导致功耗增加,也可以专门设计散热方案。
FPGA:由于是通用器件,需要平衡各种应用,因此其功耗和性能通常不是极端的。而且,FPGA的可编程互连和逻辑单元本身的静态功耗和动态功耗都比较大,限制了其最高频率。


八、总结
ASIC能比FPGA跑更高频率的核心原因是:ASIC在物理实现层面拥有为特定功能高度定制和优化的自由,而FPGA必须为通用性和可重构性付出代价。

FPGA为了其无与伦比的灵活性和可重构性,牺牲了性能、功耗和面积。

这个牺牲具体体现在:

逻辑开销:用“万能”的LUT和触发器实现所有功能,效率低下。

路由开销:庞大、缓慢的可编程互联资源占据了大部分芯片面积和功耗。

控制开销:大量的配置存储单元(SRAM)用于控制开关状态。

ASIC则通过放弃灵活性,换来了:

直接高效的电路实现。 定制化的高速互连。

针对性的工艺和库优化。

极致的时钟和电源网络设计。

http://www.jsqmd.com/news/233724/

相关文章:

  • 从文心一言旅游智能体到图像处理|看Rembg镜像的万能应用
  • ResNet18零失败教程:云端预装环境,3分钟体验
  • 5个热门CV模型推荐:ResNet18开箱即用,10块钱全试遍
  • ResNet18物体识别傻瓜教程:云端GPU按需付费,1块钱起
  • 智能抠图Rembg:电子产品图处理实战
  • 计算机毕业设计springboot网上艺术品拍卖系统 基于SpringBoot的线上艺术品竞拍平台设计与实现 融合Vue+SpringBoot的艺术品网络拍卖系统开发
  • 轻松上手大模型微调|Qwen2.5-7B-Instruct镜像使用指南
  • ResNet18教学实验:50名学生同时操作,不卡顿不掉线
  • ResNet18物体识别完整指南:从理论到实战,云端GPU省心方案
  • Rembg抠图技术前沿:最新进展与展望
  • React与Angular的UI自动化测试兼容性全景图
  • Rembg抠图边缘平滑:消除毛刺的实用技巧
  • Rembg图像分割实战:发丝级边缘处理技术揭秘
  • ResNet18自动化测试:定时启动云端GPU,深夜训练更省钱
  • 快速上手Qwen2.5-7B-Instruct:vLLM加速离线推理指南
  • 无需Token验证!AI单目深度估计-MiDaS镜像实现高精度测距
  • ResNet18最佳实践:云端GPU按秒计费,省钱50%
  • GLM-4.7 vs Claude Opus 4.5:2025大模型场景化落地技术全解析
  • Rembg模型压缩:轻量化部署实战指南
  • ResNet18物体识别懒人方案:预装环境打开即用
  • NOMA下行链路用户与信道功率分配优化MATLAB实现
  • Rembg抠图性能警报:异常检测
  • 微信小程序PHP校园大学生心理健康咨询平台_
  • ResNet18保姆级教程:从零开始体验物体识别
  • 基于Chainlit的Qwen2.5-7B-Instruct交互式调用
  • ResNet18最佳实践:低成本快速验证模型效果
  • Rembg部署进阶:Docker容器化最佳实践
  • ResNet18物体识别临时需求:云端GPU即开即用,用完即停
  • Rembg图像预处理:提升抠图质量的3个步骤
  • ResNet18轻量级应用:5分钟部署你的第一个AI模型