FPGA的设计原理 FPGA和CPLD的区别

时间:2025-11-02  作者:Diven  阅读:0

1984年,Xilinx公司的创始人,密西根大学毕业生,RossFreeman第一次提出了可编程逻辑器件(PLD)的概念,让芯片成为一个空白的画布,可由工程师通过编程在上面任意“涂鸦”。

FPGA的设计原理 FPGA和CPLD的区别

(瞻仰一下大神)

Freeman也因为这项发明进入2009美国发明家名人堂。遗憾的是英年早逝的没能看到所缔造的FPGA帝国是多么的辉煌。

清华大学微电子研究所所长,中国半导体行业协会副理事长魏少军先生曾用印一本书来区别芯片的设计、制造、封测过程:设计相当于作家写了一本书,制造相当于印刷,封装相当于装订。那么FPGA是什么?如果是一个专业从事FPGA工作的老攻城狮可能会告诉你,”Field Programmable Gate Array“,然后再补上一句”It can be anything you want“。网上也有很多通俗易懂的类比。例如把FPGA的开发看作是数字积木搭建,东南大学汤勇明老师就写过一本《搭建你的数字积木——数字电路与逻辑设计》

一个个IP就像是一块块积木,通过调用IP"搭建"特定功能的电路,这个比喻来说明FPGA的开发再合适不过了。

也有人将FPGA比作是空白的大脑,大脑里面存在成千上万的神经元细胞,但是神经元之间并没有连接起来,也就还没有大脑强大的功能,但是当工程师用Verilog或者vhdl来对FPGA进行布局布线之后,神经元就连接到了一起,大脑也就有了一些功能,给大脑输入羊肉泡馍的画面,会流口水之类的反应。这个比喻来形容FPGA的设计原理再合适不过了。

另外,还有人将FPGA中的一些组成部分和生物化学有机体类比。FPGA中最基本的单元——可编程逻辑单元(CLB),可以类比为有机体中的蛋白质分子,生物化学的角度上,蛋白质可以合成更高更复杂的器官,例如心,肝,胃,胳膊腿等,那么同样CLB作为电子有机体中的蛋白质分子,当然就可以合成一个电子有机体(类比人)的各个模块(器官),有的器官复杂,需要很多蛋白质分子分层次合成,那么同样,有的电子系统的模块的也极其复杂,需要CLB分层次合成。

那么蛋白质分子在合成各种不同的器官的时候,靠什么做指导嘞?人体内部有着极其庞大复杂的DNA序列,这个DNA序列记录着人体的所有信息。在受精卵生成胚胎阶段,其中的某一段序列指导胚胎的这一坨(也就是这一堆蛋白质分子)成为未来的手,另一端序列指导胚胎的另一堆蛋白质分子成为未来的胳膊。那么同样,在FPGA中也会有等价于生物化学有机体中的DNA,就是bit_stream。bit_stream和DNA完全类似,就是一段序列,指导着若干CLB合成某一个执行具体功能的模块。

在有机体中还有脂肪的存在,脂肪的一大作用就是存储能量,在FPGA中负责存储的是BRAM,不同的是脂肪储存的是能量,BRAM储存的是数据。        

FPGA中还有一个很重要的东西叫做DSP,即数字信号处理器,在人的大脑里面有一片脑回沟区域专门负责数学运算,两者可以做一个类比。

生物体中还有一个十分重要的器官叫心脏,而FPGA中有一个东西叫时钟,心脏控制脉搏,时钟则负责整个系统的工作频率。有了心脏,人类才得以正常活动,有了时钟,系统才得以有条不紊的运行。

在FPGA的设计当中编写的RTL代码,通过软件工具可以生成人类看不懂的bit_stream,也就是说工程师每天的工作都是在编写FPGA的DNA,在生物学领域,我相信大多数的科学家毕生都在做着解读‘人类天书’DNA的工作吧。这样一一类比下来感觉FPGA的开发就像是在造人一样,顿时感觉代码都不枯燥了。

首款 FPGA,即赛灵思 XC2064,只包含 64 个逻辑模块,每个模块含有两个 3 输入查找表 (LUT) 和一个寄存器。按照现在的计算,该器件有 64 个逻辑单元——不足 1000 个逻辑门。尽管容量很小,XC2064 晶片的尺寸却非常大,比当时的微处理器还要大;而且采用 2.5 微米工艺技术勉强能制造出这种器件。但随着IC制造工艺的发展,FPGA也迅速发展,资源爆炸式增长,ZYNQ系列的Z-7100的逻辑单元已经到了444k。

 

 

与FPGA同为PLD的还有CPLD,CPLD(Complex Programmable LogIC Device),复杂可编程逻辑器件。CPLD由可编程逻辑的功能围绕一个可编程互连矩阵构成,由固定长度的金属线实现逻辑单元之间的互连,并增加了I/O控制模块的数量和功能。

CPLD的基本结构可看成由可编程逻辑阵列(LAB),可编程I/O控制模块和可编程内部连线(PIA)等三部分组成。

可编程逻辑阵列(LAB):由若干个可编程逻辑宏单元(Logic Macro Cell,LMC)组成,LMC主要包括与阵列、或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。

FPGA由可编程逻辑块(CLB),输入/输出模块(IOB)及可编程互连资源(PIR)等三种可编程电路和一个SRAM结构的配置存储单元组成。CLB是实现逻辑功能的基本单元,通常规则排列成一个阵列,散布于整个芯片中。可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部引脚的接口,通常排列在芯片的四周。可编程互连资源(PIR)包括各种长度的连线线段和一些可编程链接开关,将各个CLB之间或CLB与IOB之间以及IOB之间连接起来,构成特定功能的电路。

CLB主要由逻辑函数发生器,触发器,数据选择器等电路组成。逻辑函数发生器主要由查找表(Look Up Table)构成。

查找表LUT实质上是一个RAM,当用户描述了一个逻辑电路后,软件会计算所有可能的结果,并写入RAM。每一个信号进行逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,输出结果。这样也大大加快了FPGA的运算速度。

FPGA和CPLD的区别主要有以下几点:

(1) FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失,需要在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适用于数据的保密。

(2)FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路,则需要几个CLB结合起来实现。CPLD的与或阵列结构,更适用于实现大规模组合功能,但触发器资源相对较少。

(3)FPGA是细颗粒度结构,CPLD是粗粒度结构。FPGA内部有丰富连线资源,CLB分块较小,芯片利用率高。CPLD宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间的主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,CPLD利用率较FPGA器件低。

(4)FPGA为非连续式布线,CPLD为连续式布线。FPGA器件每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,即时序延迟不可预测。CPLD每次布线路径一样,消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路,CPLD的延时小,且时序延迟可预测。CPLD比FPGA可工作在更高的频率。

所以FPGA是什么?

It can be anything you want!

参考文献:

[1]知乎用户PIPI.FPGA与CPLD基本结构与区别[OL].

(2020-09-05).https://zhuanlan.zhihu.com/p/218280002

[2]知乎用户帅晶晶.(2019-12-22).

https://www.zhihu.com/question/326525860/answer/946167907

[3]张国斌.赛灵思,你都第一了还这样拼会让追赶着很绝望啊[OL].(2019-10-11)

作者:Fanxin Meng

编辑:黄飞

 

猜您喜欢

贴片电阻焊接看似简单,但操作不当会影响其性能和寿命。以下几点需要注意:首先,选择合适的焊接温度和时间。过高的温度或过长的焊接时间会导致电阻过热,改变其阻值甚至损...
2024-11-26 11:29:42

扁嘴钳是日常生活中常见的工具,但市面上的扁嘴钳种类繁多,您知道之间有哪些区别吗?扁嘴钳的材质不同会影响其使用寿命和耐用性。常见的有碳钢、不锈钢和合金钢,各自具有...
2021-03-27 00:00:00

Elmos芯片,特别是E524.08和E524.09系列,是专为汽车超声波传感器设计的集成电路,它们在超声波泊车辅助系统(Ultrasound Parking ...
2024-12-23 00:00:00

切纸刀和切纸机是现代办公和手工制作中不可少的工具。切纸刀通常采用锋利的刀刃设计,适合于小批量的纸张裁切,操作简单,便于携带。灵活性使得用户可以根据需要自由调整切...
2009-03-04 00:00:00

扁平柔性跳线和电缆(FFC、FPC)作为现代电子设备中不可少的连接组件,应用于多个领域。在消费电子产品中,如智能手机、平板电脑和笔记本电脑,FFC和FPC因其轻...
2017-12-29 00:00:00

箱/炉作为现代工业和家庭中常见的加热设备,具有多项显著优势。箱/炉的加热效率高,能够迅速达到所需温度,节省时间和能源。其温度控制精确,适用于多种加工需求,确保产...
2009-03-27 00:00:00

贴片电容(MLCC)是应用于电子设备中的被动元件,其分类主要基于材料、构造和用途等方面。从材料上看,贴片电容可以分为陶瓷电容和薄膜电容。陶瓷电容因其优良的频率特...
2010-11-20 00:00:00

引 言基于提升框架的小波变换方法,利用FPGA 可编程特性可实现多种小波变换。提升框架(LS :Lifting Scheme) 是由Sweldens 等人在近...
2019-08-18 09:47:00

现代社会,电力行业作为基础设施的重要组成部分,其运营安全和风险管理尤为关键。电力局作为国家或地方电力管理的核心机构,通常会与专业的保险公司合作,以保障其资产安全...
2025-11-01 08:01:42

插件电感线圈是电子元件。在电路中起到储存能量的作用。很多设备都用到这种线圈。在电源和信号处理中非常重要。接下来,我们将详细介绍插件电感线圈的相关知识。插件电感线...
2025-04-12 00:00:39