我常常收到关于各类设备之间的差异的问题,比如ASIC、ASSP、SoC和FPGA之间的差异问题。例如是SoC是ASIC吗?或ASIC是SoC吗?ASIC和ASSP之间的差异是什么?以及高端FPGA应该归类为SoC吗?
这里有几个难题,至少技能和术语跟着时刻而演化。紧记这一点,关于这些术语的来源以及它们现在的含义是什么,我对此做了高度简化的解说。
让咱们从特定运用集成电路(ASIC)开端。正如其称号所表明的,这是因特定意图而创立的设备。当大多数人听到这个词ASIC时,他们的“下意识”反应是,假定它是数字设备。事实上,不管它是模仿的、数字的,或两者的混合,任何定制的芯片都是一个ASIC。可是,关于这些评论的意图,咱们应该假定这是一个彻底或首要部分是数字性质的芯片,任何模仿和混合信号功用是沿着物理接口线(物理层)或锁相回路(PLL)的。
ASIC一般被规划和运用在特定体系中的单个公司。开发ASIC十分贵重、耗时、资源密布的,但ASIC的确能供给低功耗的高功用。
ASSP——专用规范产品
专用规范产品(ASSP)的规划和施行方法彻底和ASIC相同。这并不古怪,由于它们本质上是相同的东西。仅有的差异是,ASSP是更通用的设备,适用于多个体系规划作业室。例如,独立的USB接口芯片能够归类为ASSP。
SoC——体系级芯片
体系级芯片(SoC)是硅芯片,包括一个或多个处理器中心——微处理器(MPU)和/或微控制器(MCU)和/或数字信号处理器(DSP)——片上存储器、硬件加速器功用、外围功用,以及(潜在的)各种其他“东西”。看它是否归于SOC的方法是,先看一个ASIC是否包括一个或多个处理器内核,那么它便是一个SoC。相同,假如一个ASSP包括一个或多个处理器内核,那么它也是一个SoC。
在此基础上,咱们能够把ASIC(和ASSP)作为是扩展集术语,由于它包括SoC,或许咱们能够把SoC作为是扩展集术语,由于它包括ASIC(或ASSP)的全部,包括一个或多个处理器中心。是不是觉得很好玩呢?
FPGA——现场可编程门阵列
ASIC、ASSP和SoC具有高功用、低功耗的优势,但它们包括的任何算法——除了那些在软件内部处理器内核履行的——其他都是“冻住的”。所以这个时分咱们就需求现场可编程门阵列(FPGA)了。前期的FPGA器材的架构相对简略——仅仅一系列经过可编程互连的可编程模块。
FPGA最厉害的当地是,咱们能够装备它的可编程架构来完成恣意咱们需求的数字功用组合。别的,咱们能够以大规模并行的方法施行算法,这意味着咱们能够十分敏捷和有效地履行大数据的处理。
SoC级的FPGA
跟着时刻的推移,FPGA器材的才能(容量和功用)大幅提高。例如,现代的FPGA或许包括几千个加法器、乘法器和数字信号处理(DSP)功用;片上存储器、很多高速串行互连器(SERDES)收发器模块,以及许多其他功用。
问题是,现场可编程门阵列(FPGA)的姓名不再足以表达出现在可编程器材的功用和功用。咱们需求想出一些新的术语,能够表达出全部现在国家最先进的东西和技能能够做到的作业。
和咱们在这里的评论特别相关的是,今日的FPGA能够包括一个或多个软/硬核处理器。在此基础上,咱们应该把这种类型的FPGA归类为SOC(体系级芯片)吗?我个人不得不说SoC不为我作业,由于我把“SOC”一词界说为创立于运用AS%&&&&&%技能的自界说设备。
另一种方法是称号这些器材为可编程片上体系,或PSoC,但赛普拉斯半导体公司现已对PSoC这个称号申请了控制权。赛普拉斯的器材具有一个硬核的微控制器,增添了一些可编程模仿和可编程的数字架构(这个数字架构更倾向于CPLD,而不是FPGA)。
Altera公司一般称号这些器材的这个版别为SoC FPGA,它们结合了硬MCU内核、可编程的FPGA架构,但他们好像现已发展到只称号它们为SoC。一起,Xilinx(赛灵思)称号这些设备的特色为“一切可编程片上体系”。
就个人而言,我拿不定主意什么姓名最好。假如赛普拉斯对这一称谓没有采纳的控制权的话,我想我更乐意称它为PSoC。可是由于他们现已对PSoC这个词采纳了控制权,所以咱们不能。PSoC行不通,我想我会挑选SoC FPGA。除非你有更好的提议。