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

时间:2025-05-01  作者: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

编辑:黄飞

 

猜您喜欢

贴片电阻上的01D标识并非直接代表阻值,而是代表阻值的代码。 01D 对应的是 100Ω 的阻值。其中,01代表有效数字10,而字母D代表乘数10^0,也就是1...
2024-11-29 10:26:11

缆索挖掘机的特点是具有坚固的部件,如上部结构、回转环和底盘。底盘是用于移动挖掘机的下部机械部件,根据尺寸和型号的不同,由轮子或履带引导,并承载可转动的上部车厢。...
2023-09-04 16:05:00

电子设备日益小型化和低功耗化的今天,稳压器芯片作为电路系统中重要的一部分,是很重要的配件。其中,低压差线性稳压器(LDO)凭借其低功耗、低噪声等优势,被应用于各...
2024-08-02 00:00:00

在电子电路设计和维修中,快速准确地识别贴片电阻的阻值至关重要。面对密密麻麻的数字和字母组成的代码,一款好用的查询工具能节省大量时间和精力。那么,有哪些值得推荐的...
2024-11-26 11:30:02

现代生活中,配件的选择对我们的日常使用体验非常重要。无论是家居、办公还是个人使用,合适的配件能够大大提升我们的生活品质。今天,我们将重点介绍名为“Accesso...
2025-04-24 21:31:45

电子设备的设计与应用中,电流采样电阻是重要的元件。用于测量电流并将其转换为电压信号,以便后续的处理与分析。电流采样电阻的功率特性直接影响到电路的稳定性和准确性,...
2025-04-19 00:31:11

现代生活中,配件的选择与使用越来越受到重视。其中,“Accessories_17.78X5.8MM_TM”作为一种特定尺寸的配件,因其独特的尺寸和功能,受到了广...
2025-03-06 01:02:26

直通是一个常用的术语,通常指的是直接、不经过中介或中转的方式。在不同的领域,直通的定义可能有所不同。在交通领域,直通指的是从起点到终点的路线,省略了中间的停靠站...
2008-07-30 00:00:00

压敏电阻作为重要的电子元件,应用于电路保护领域。TOKEN(德键)作为知名的电子元器件制造商,其压敏电阻产品以优异的性能和可靠的品质受到市场青睐。本文将围绕TO...
2015-08-31 22:19:30

行车电阻器作为电动机控制系统中的重要组成部分,应用于电动车、轨道交通、工业自动化等领域。的主要功能是调节电流和电压,以确保电动机在不同工况下的稳定运行。本文将详...
2025-03-17 03:00:35