fpga
asic芯片内部架构较为简单,不可以硬件编程,只能用来专门处理某一种功能,灵活性最差,但是在执行某一种任务上的效率最高。asic也被称为专用集成电路。
fpga你可以理解成把一堆逻辑器件比如与门,或门,选择器等放在一个盒子里,盒子周围就是片子的引脚。通过逻辑编写,把许多的门和许多选择器等器件串联或并联引脚上。就等于把数电实验在fpga里面做。
fpga的特点如下:
(1)采用fpga设计asic电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。
(2)fpga可做其它全定制或半定制asic电路的中试样片。
(3)fpga内部有丰富的触发器和i/o引脚。
(4)fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一。
(5)fpga采用高速cmos工艺,功耗低,可以与cmos、ttl电平兼容。
cpu芯片内部架构最复杂,不可以硬件编程,但是可以通过外部的编程软件来编写实现各种功能的软件,具备最高的灵活性,和最低的处理效率。cpu也被称为通用集成电路。
pld
pld是可编程逻辑器件(programable logic device)的简称,fpga是现场可编程门阵列(field programable gate array)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或pld/fpga。 pld是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。
pld能做什么呢?可以毫不夸张的讲,pld能完成任何数字器件的功能,上至高性能cpu,下至简单的74电路,都可以用pld来实现。pld如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在pcb完成以后,还可以利用pld的在线修改能力,随时修改设计而不必改动硬件电路。使用pld来开发数字电路,可以大大缩短设计时间,减少pcb面积,提高系统的可靠性。 pld的这些优点使得pld技术在90年代以后得到飞速的发展,同时也大大推动了eda软件和硬件描述语言(hdl)的进步。
如何使用pld呢?其实pld的使用很简单,学习pld比学习单片机要简单的多,有数字电路基础,会使用计算机,就可以进行pld的开发。不熟悉pld的朋友,可以先看一看可编程逻辑器件的发展历程。当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(vlsic,几万门以上)以及许多具有特定功能的专用集成电路。
但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(asic)芯片,而且希望asic的设计周期尽可能短,最好是在实验室里就能设计出合适的asic芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(fpld),其中应用最广泛的当属现场可编程门阵列(fpga)和复杂可编程逻辑器件(cpld)。早期的可编程逻辑器件只有可编程只读存贮器(prom)、紫外线可按除只读存贮器(eprom)和电可擦除只读存贮器(eeprom)三种。
由于结构的限制,它们只能完成简单的数字逻辑功能。 其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(pld),它能够完成各种数字逻辑功能。典型的pld由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以, pld能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有pal(可编程阵列逻辑)和gal(通用阵列逻辑)。
pal由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输。出可以通过触发器有选择地被置为寄存状态。pal器件是现场可编程的,它的实现工艺有反熔丝技术、eprom技术和eeprom技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(pla),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。pla器件既有现场可编程的,也有掩膜可编程的。 在pal的基础上,又发展了一种通用阵列逻辑gal(generic array logic),如gal16v8,gal22v10 等。它采用了eeprom工艺,实现了电可按除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。 这些早期的pld器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。
cpld
cpld是complex programmable logic device的简写,中文为复杂可编程逻辑器件,是从pal和gal器件发展出来的器件,其规模大,结构复杂,属于大规模集成电路范围。cpld是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆将代码传送到目标芯片中,实现设计的数字系统。
20世纪70年代,最早的可编程逻辑器件pld就诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成(相当于房子盖好后人工设计局部室内结构),因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补pld只能设计小规模电路这一缺陷,20世纪80年代中期,推出了复杂可编程逻辑器件cpld。此应用已深入网络、仪器仪表、汽车电子、数控机床、航天测控设备等方面。
cpld是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
cpld, 体积小,速度快,但是资源少。cpld是complex programmable logic device(复杂可编程逻辑器件)的缩写,代表的是一种可编程逻辑器件,它可以在制造完成后由用户根据自己的需要定义其逻辑功能。不需要外部接ram。
先说fpga和cpld,先从名字上理解,fpga:现场可编程门阵列,cpld:复杂可编程逻辑器件,他们都是可编程器件,但是cpld的程序是固化在内部flash的,掉电之后重新上电程序依然在。而fpga内部并没有flash,掉电之后程序会消失,当然可以外部挂一个flash存储程序,每次掉电重启都从flash加载。从规模上讲,fpga的的容量(逻辑单元)一般要比cpld大的多,功能更强,成本更高,功耗也更大,可编程性也更加灵活,所以两者有不同的市场定位,fpga主要用于芯片功能验证(高度复杂)、图像处理(大数据)和通信(高速率)领域,cpld可用于信号发生等小规模工控市场。
pld是一个广泛的概念,fpga和cpld都属于pld,编程是硬件可编程,逻辑设计!plc是可编程控制器,常见的51单片机就是属于plc了,是asic!也就是硬件是做死的,内部的电路是固化的,可以看作是一种定制的芯片,编程是软件编程!
dsp有很强的运算能力,有更多的乘法器加法器等,严格来说dsp是一种软核,再增加外围的存储、时钟等才封装成芯片,在图像处理、数学运算上有较大优势。
从最早的pal、gal发展到后来的cpld、fpga,都属于可编程逻辑器件。
这些器件的内部构造各有差异,但是总体上看,都很类似于做实验用的那种面包板。
面包板上去我们可以插各种器件,用飞线连接起来,搭成各种各样的电路。
可编程器件也一样,里面有两大部分:预先做好的一大堆逻辑门、触发器、存储器等等单元,还有连接到这些的布线。布线和布线之间的连接点空着,可以通过某种手段,连接或者断开某些布线之间的连接点,使得各种预先做好的器件之间建立电路连接,完成某种功能,这个过程,就叫做“编程”。
有的器件是一次性的,把线路之间一次性烧短路或者断路。有的是用一个传输门连接两条线路,传输门的控制端对应sram或者flash存储器中的一位,1导通0断开之类的。这个存储器就构成了器件的配置区,给这个配置区里写入特定的数据,就能形成需要的电路。
至于这个配置数据怎么得来,简单的pal、gal可以自己手写,大规模器件可以先用电路图、逻辑表达式、硬件描述语言等等去描述,然后再用eda软件做综合和布线,生成最终的配置信息,也就是所谓的网表文件。
fpga芯片内部架构稍微复杂一些,可以硬件编程,因而可以通过硬件编程语言来改变内部芯片的逻辑结构,从而能够在提供一定灵活性的同时,还能够保证较高的处理效率,算是在灵活性和性能上取了个折中。fpga也被称为可编程集成电路。
中国移动正式发布了中国移动5G终端策略解读
十大突破性电池技术
如何确定时基?如何用示波器测串口波特率?
Microchip新推两款数字增强型电源模拟控制器,专为新LED照明应用设计
如何让CRM系统与ERP系统一体化?
FPGA、PLD、CPLD之间的杂乱关系
长江存储未来发展解析
高智能食品安全检测仪的功能特点
怎样在单片机上实现TCP/IP协议栈的移植?
研华科技推出新一代嵌入式无风扇工业电脑UNO-2184G
指纹识别介绍
注射针韧性测试仪是提高注射器质量与安全性的关键工具
MintBox 3系列迷你主机上架,搭载双千兆以太网端口
LabVIEW实时控制器担任着中央系统控制器的角色?
ROS软件平台对服务机器人的运算与控制
同步多火花模块(SMSM)的电子点火装置(Eid)
火炬气超声波流量计用于硫磺回收装置酸性气的流量测量
Linux bash中的printf命令详解
阻抗板的要素分别是什么
到底是什么导致:摩托罗拉无限期推迟智能手表项目