大话FPGA-“万能的芯片?”

原创 歪睿老哥 2021-10-16 17:40


说起FPGA之前,先提个问题。


芯片的本质是什么?


芯片是硅做的,但是老哥认为芯片的本质是电路!


简单来说,数字芯片,不论多复杂,其底层就是 与,或,非的组合。


这个是某宝上可以买到的世界上简单的芯片之一, 74LS系列,很便宜,两毛钱;

               

其功能就是二输入与非门。这是一个最简单的芯片,其电路和版图如下

                                       



上图中一共4个二输入与非门。


而CPU或者GPU等大芯片,有几千万门甚至上亿门的电路。


但是,如果打开看,底层也是一个与非门,或非门,非门等等。


这就是电路,CPU和GPU也是一种电路的组织形式。


无论多复杂的芯片,都是芯片设计工程师通过硬件描述语言(HDL)来描述电路。


看起来像是和软件工程师一样,都在敲代码,在编程,实际上是在搭电路。


EDA工具把语言转换成电路,最终得出这个版图(GDS)。然后这个版本提交给厂家生产。流片厂家把GDS变成硅。封装厂家完成硅 (DIE)到 CHIP的封装。


这个过程和设计PCB电路基本上是非常相似的。


都是电路转换成PCB 到厂家制版。


我们所说的卡脖子,目前看,主要是制造环节,也就是从版图到硅的阶段。其他也有,但是这个问题这个有时间专题另说说。


今天主要说一下 ,上述的这个芯片研发过程,设计一款芯片研发最大的问题是啥?


问题有很多?但有两点是大家公认的。


第一,研发迭代周期长:


花费了一年或者2年研制的芯片,或者因为功能缺陷,或者市场变化,最终没有卖出去,又要重新迭代。这个就是非常恐怖,小的芯片公司,因为芯片失败,钱花光,直接一波流带走也是很常见的。


第二,芯片投入高:


芯片研发包括流片成本,IP成本,人力成本等, 28nm的MASK在1000万,12nm接近2500万,除此之外还有人力,IP等成本。研发一颗28nm的芯片总投入成本投入大几千万还是有的,7nm和5nm更是几亿的投入。这么高的成本,都需要生产很大芯片来分摊,这个是NRE成本,将来要分摊到每一颗芯片上去的。


如果一个项目或者需求,只有几千颗或者几万颗的量,是否值得来去研发芯片就是一个很大的问题。


流片不合适,那么没有一种替代的方案?迭代周期短,代价小的实现这个电路的需求。


那么,FPGA,他来了!



1:FPGA原理:实现电路的电路

FPGA  


Field Programmable Gate Array。


现场可编程门阵列。

 

FPGA和专用芯片不同可以编程。


那下面主要讲两个问题,FPGA的原理以及如何来编程的编程。


文章开头说过了, 芯片的本质就是电路。


那么FPGA的本质是什么?


而FPGA也是芯片, 但是可以也可以实现数字电路功能,如CPU,GPU,NPU等这些电路,都可以放在FPGA内部实现,效率另说。


那FPGA的本质就是可以通过编程实现电路的电路。


这个是怎么做到的?


或者说,什么样的电路可以实现与或非这些基本操作


我们以 F=A&B&C&D 这个电路举例;一个16x1的RAM,这个RAM的每一bit都可以编程为0或1;


这个RAM有4位地址, DCBA。通过这4bit选择RAM的输出。


通过配置RAM中不同的值,实现输出F 和输入A,B,C,D的关系


               

上图中,我们把16bitRAM 配置为 0000000000000001 ,这个电路 则等效 F=A&B&C&D;


只有A=B=C=D=1时, F=1,其他情况 F=0;


完美实现了 F=A&B&C&D;


重要的事情再说一遍;


16bitRAM 配置为 0000000000000001 , 则等效F=A&B&C&D;


那么现在” 0000000000000001“ 这串数就是,FPGA的编程;而实现的电路,就是F=A&B&C&D;


这就是FPGA最基本的原理;


举一反三,如果实现电路 F=A|B|C|D 。


这个电路如何编程;


               

16bitRAM 配置为 11111111111111110, 则等效F=A&B&C&D;


大家可以试一下,通过配置16bitRAM 的值,可以实现A,B,C,D四个输入的任何逻辑操作。


FPGA就是利用了这个转化,实现了描述任何电路的功能。


上图这个结构在FPGA中有一个专有名词,叫做LUT ,lookup table 查找表。


LUT就构成了所有FPGA的最基本的单元。


LUT只能实现数字组合逻辑,所以又添加了一个寄存器flipflop (ff),可以实现数据的锁存;


如下图所示:LUT+寄存器构成了现代FPGA基本结构。


FPGA的基本结构,就是依靠如此简单的电路实现了无比复杂的逻辑。


这个包括LUT和FF的基本结构,就是一个基本的逻辑单元(LOGIC BLOCK)


也是上一代FPGA,以及下一代FPGA的基本结构。

这个不废话,因为就没有怎么变过。


这种能够实现ABCD四个输入计算的LUT的叫做4输入LUT,此外还有5输入,6输入等等变种。


万变不离其宗。


       

        


这个电路,也可以看作是一个最小的FPGA。


现在能实现一个功能的芯片,刚才说了,少则几万门,多则几千万门,上亿门。


单纯靠这个电路实现,这就是开玩笑了。


那么就需要无数的LUT和FF来实现,。


FPGA就实现了一个无数 logic Block(Logic Block内部就是LUT+FF)的阵列,中间用布线资源连接起来。


把互联和逻辑单元结合起来就是一个FPGA芯片。示意图如下所示。

               


一个典型的FPGA开发流程如下。从HDL(verilog的电路描述语言)到配置文件 bit流


相比一下,专用芯片的开发流程从HDL(verilog的电路描述语言)到硅。这个时间就长多了。

               


这些bit流包括啥?


开头说过了,16bitRAM (LUT)配置为 0000000000000001 , 

则等效F=A&B&C&D;


FPGA最终生成的Bit-stream流,包括 LUT 的配置文件,以及布线资源的配置文件。


到这里,FPGA的设计及编程就完成了。


2:EDA工具:从知到行的距离


看起来设计一个FPGA芯片也不复杂。


电路不复杂,市场需要的FPGA,可选择的余地不多。


从知到行,这里面有一个巨大的鸿沟,


如果按照本文开头的原理,一个厂商设计完毕了一款FPGA芯片。


但是这个厂商如果提供给客户使用,则需要提供给客户一个EDA工具。


没有EDA工具,不会要让客户手动生成FPGA的bitstream的文件吧。


芯片都做出来了,EDA工具,还难吗?


难,真的难!


这是一个巨大的坑。


下图是一个 开源的FPGA的设计流程(OpenFPGA),我们可以看看,即使一个开源项目,其涉及到的EDA工具最少都要有哪些?


               


现在总结一下:需要提供给客户的EDA工具包括哪些

1:综合工具

2:布局布线工具

3:bit生成工具

4:时序分析工具

5:仿真工具

6:嵌入式逻辑分析仪器等调试工具

7:功耗分析工具


这些还算是最少的集合,这个比一个CPU芯片提供给用户GCC编译工具要难多了。


老哥装过几个公司的EDA工具,这些大小都是十几个G,比windows安装盘还要大。


借用《让子弹飞》里的一段话:


项目成功了,芯片功劳怎么才占7成。


七成是EDA的,芯片也就三成。


就这三成,还要看EDA的脸色。

     

辛辛苦苦半天,做出来芯片,还要看EDA工具的脸色。                            

以布局布线,这个FPGA的EDA工具为例,下图就是这些过程图的描述:




如果做不好,整个FPGA的利用率极低,还布不通,你说重要不重要。


除了传统的EDA工具,实现HDL,例如 verilog这种编程之外,还包括HLS这种高层次综合的描述语言。


               

也在FPGA开发中被广泛使用。使软件工程师也能参与到FPGA设计中来,把电路开发屏蔽掉,直接开发软件,这个就更是EDA工具的能力了。


但是,这个本质上,讲高级语言(C,C++)转换成硬件描述语言(HDL),在通过综合工具转换成电路。


好处是,更贴近软件工程师的习惯,缺点就是加了一层转换,带来了效率的损失。



3:FPGA的架构:融合超越

 

文章开始说了,FPGA就是Logic Block,内部主要是(LUT,FF),以及布线资源。


除了这些。


FPGA还有很多硬核IP,也叫做宏单元。


例如PLL,SERDES,RAM等常规IP的。


随着现在芯片的演进。


FPGA内部也集成了很多新的东西。


比如CPU,在FPGA内部集成了硬核CPU。


这样CPU+FPGA。


CPU软件编程,FPGA 硬件电路编程,


这个就是双剑合璧,更胜一筹。


同样原来更快的serdes的硬核支持比如PCIe,SATA,ethernet这些高速协议。


同样为了数字信号处理,内部也集成了了很多DSP单元,实现乘法等操作。


还有的FPGA内部集成了用于AI处理的神经网络加速的硬核。


总结一下,除了LUT,FPGA内部集成硬核IP包括:


1:RAM:用于实现存储资源

2:PLL:提供高速的时钟信号和资源

3:DSP:乘法操作,滤波器

4:SERDES:实现PCIE,SATA,FC,100G ethernet等高速接口

5:CPU系统:提供软件编程开发能力;

6:NPU硬核:提供AI处理加速;


而根据市场需要,还可能添加更多的硬核IP 与传统的NPU进行融合。


融合更多功能IP。


这就是FPGA架构未来的趋势。


4:FPGA优势:解决问题才是王道


FPGA和CPU有什么区别和优势?


我们讨论一种架构的优劣,总是说解决了什么问题?


而不是CPU与FPGA,孰优?


只有放在固定的应用场景下,才能说那种架构更适合解决这些问题。


FPGA编程是电路,本质上还是可以看作,逻辑门(与或非)等等效电路。


CPU是指令操作,运行的是软件。


FPGA是时间并行运行的,而CPU是时间串行的,单个核总是需要一条一条来执行指令来实现功能。


FPGA的并行度较高,相比CPU的计算方式,时延控制比较好。


但是CPU的频率很高,可以运行操作系统,解决问题非常之灵活,并不是FPGA更能做的。


FPGA更适合做ASSP,配合CPU做专门的运算单元使用。



既然是”万能的芯片“,似乎那就可以实现所有功能。


是不是可以不研发芯片,只用FPGA。


肯定不是这样。


相比专用集成电路:FPGA有三个劣势


1:面积大,成本高:


和专用集成电路(芯片)相比,FPGA由于采用LUT来表征基本逻辑门单元,所以其面积粗略来比是专用电路的10倍,所以其成本简单类比也会高很多。


2:面积大,功耗高:


同样功耗也没有优势,做低功耗设备,例如手持的供电式设备,基本不太可行。


3:运行频率低:


FPGA内部LUT之间,由于其互联较长,导致FPGA的频率相比同工艺下的ASIC也是慢很多。专用电路门与门之间的延迟要小很多。


但是,FPGA优势也很明显。


FPGA最大的优势,就是灵活性高。


用FPGA不用重新流片,节约了NRE成本。


在一些雷达,5G,网络,存储,高性能计算等领域都有广泛的应用。


特别是需求不明确,产品量不多,不值得做芯片,或者,需求老在变化,FPGA都是不错的选择。


intel收购后altera后, FPGA的重心变成了数据中心市场,特别是利用FPGA在数据中心加速方面,投入颇大,最新的intel的IPU其中是FPGA技术,用于数据中心基础设施的卸载,也是类似DPU的一种实现。(见上一篇:大话DPU—从网络到数据)。


目前DPU很多家都是用intel和xilinx的FPGA实现的。


这个就是DPU需求不固定,数据中心对于DPU的需求一直在变化的一种体现。


FPGA全球市场2018年大约60亿美金,xilinx 和altera 是这个FPGA市场上最重要的提供者,其他都是比较小的公司。


(2015年英特尔宣布以167亿美元收购FPGA厂商Altera),给其他家留的份额就不多了。

               

老哥早些年,这两家FPGA都使用过,各有千秋。


国内也有很多FPGA的公司,有的出货也比较客观。与国外巨头相比,处于解决了有无的问题阶段,能够满足部分国产化需求。其容量,性能,特别是EDA工具方面,有明显的差距,还需要继续市场的磨练。


这里举两个国产FPGA的非典型案例,非常有意思。


2014年,俄罗斯并入克里米亚,美国出售制裁,美国对俄罗斯的封锁禁运也是很厉害,俄罗斯芯片告急,特别是高端的FPGA芯片,某司FPGA芯片抓住这个机会,解决了国际友人的燃眉之急。成就了某司的FPGA出口,也获得不错的利润。


另外,某手机大厂手机屏幕是有特殊转码格式的,所以如果返修,只能使用原厂屏,其他屏幕格式对不上,原厂屏价格很高。某司就定做了一批超小型FPGA,实现了手机屏的解码,中国的屏幕提供厂很多(LCD+LED等等),直接就可以替代原厂屏,在手机返修屏市场也是卖的风声水起。


在这些细分领域,找到了定位,实现了很大的突破,不论是利润还是数量。


如果有数量几十万片,几百万片,甚至更多,做专用芯片更合适。


如果没有那么多数量,需求又不固定,用FPGA更合适。


芯片设计中,其中有个环节叫做FPGA原型验证,FPGA原型验证就是把芯片代码放在FPGA做原型实现,加快芯片设计迭代的速率。


还记得本文开始,FPGA特性,就是能够描述芯片电路。所以芯片流片之前,用FPGA装入芯片逻辑来等效测试,也是非常重要的一个环节。


从这个角度看,FPGA和芯片(专用集成电路)从来就不是对立的,


FPGA,万能芯片,从功能上看是万能的。理论上可以实现所有功能。


但是从,PPA上看,性能,功耗,面积(成本),这三个维度来衡量,又不是万能的。


FPGA也在进化,拓展更多的领域,满足些变化的市场需求。


也有部分市场需求更为固化,被专用芯片所取代。


万能的芯片,变化的应用。


找到市场定位,解决用户的问题,才能获得一席之地。


FPGA是如此,芯片也是如此。



后记

“节前写了《大话DPU—从网络到数据》,提到了很多厂家目前用FPGA实现DPU。到底是DPU专用芯片流片实现,还是FPGA实现,这个见仁见智,不论什么方式实现,不过满足用户需求,提供解决方案,能够获得客户认可并规模出货,才是最终解决问题之道。



 欢迎关注:歪睿老哥,如果你觉得本文还不错,欢迎点赞,在看,分享。


往期阅读:

话DPU—从网络到数据

芯片代工产业简史-创造自己,也创造了客户

“无法破解的芯片”到底是个什么原理?

"乾坤大挪移",FPGA工程师七层技术修炼之道

苹果也来凑热闹,能否补齐RISC-V的短板?

资本宠儿慕容复,芯片创业为什么会失败?

大话手机处理器-世界上最复杂的芯片

日本芯片产业大败局

“硅仙人”Jim Keller的芯片研发封神之道

EDA工具,芯片打工人爱恨交织的宿命

矿机芯片的今天,AI芯片的明天?

云端芯片之战-小乌云还是大风暴

芯片过热?一场芯片供应链的饱和式救援。

“为了这点醋,包了一顿饺子”-AI芯片的落地之道

降低芯片流片失败风险的"七种武器"

芯片设计公司修炼的“四层境界”



歪睿老哥 芯片设计行业老兵,聚焦芯片行业的那些事,唯武侠与芯片不可辜负。
评论
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 131浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 173浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 100浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 145浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 170浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 85浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 48浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 76浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 55浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 124浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 74浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 83浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦