搜档网
当前位置:搜档网 › 单片机、DSP、PLC、CPLD、FPGA、嵌入式的区别

单片机、DSP、PLC、CPLD、FPGA、嵌入式的区别

所谓嵌入式,专指嵌入到其它系统内部,满足特定需求的专用计算机系统。它的概念非常广泛,只要是具有包含软硬件等计算机专有属性的系统都可以称之为嵌入式系统。

单片机是指把CPU、存储器、输入输出设备或接口集成到一片芯片内,加少量的外围电路就可以构成计算机系统的器件,目前常用的有MCS-51系列、PIC系列等器件,生产厂家很多、以8位、16位为主,一般没有操作系统,主要满足简单的控制需求。

目前以ARM为代表的32位CPU严格意义上说是一个单板机系统,可以加载Linux、WinCE等复杂的操作系统,可以满足复杂的需求。

PLC是可编程控制器,也是嵌入式系统的一种,但是一般用于电气控制,已经预制了很多程序,用梯形图等简单的编程语言就能构成系统。PLC价格昂贵、应用简单、容易上手,一般用来实现工业现场复杂情况下的控制,应用领域有限。

CPLD和FPGA以往大多用于可编程数字电路的实现,使数字电路设计趋于简单和可更改设计。这几年随之FPGA的发展,内部可以嵌入微控制器核,来构建SoC(System on Chip),但是开发难度相当大。

DSP的优势在于信号处理,运算能力强大,但控制能力一般,一般往往用于视频分析等需要进行信号复杂运算的场合。

DSP:数字信号处理器,处理器采用哈弗结构,工作频率较高,能大幅度提高数字信号处理算法的执行效率。

MCU:微控制器,主要用于控制系统,工作频率一般来说比DSP低,硬件上具有多个IO 端口,同时也集成了多个外设,主要是便于在控制系统中的应用。至于ARM处理器,个人认为是MCU的高级版本,ARM本身只是一个内核,目前已经有多个版本。

CPLD:复杂可编程逻辑器件

FPGA:现场可编程门阵列

后两者都是可编程器件,CPLD目前一半采用FLASH技术,而FPGA采用SRAM技术,这就决定了FPGA需要采用特定的配置技术。同时FPGA的规模要比CPLD大得多,但CPLD应用起来相对要简单的多

单片机

单片机是集成了CPU ,ROM ,RAM 和I/ O 口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU) 。它与通用处理器不同,它是以工业测控对象、环境、接口等特点出发,向着增强控制功能,提高工业环境下的可靠性、灵活方便地构成应用计算机系统的界面接口的方向发展。所以,单片机有着自己的特点。

品种齐全,型号多样

自从INTEL 推出51 系列单片机,许多公司对它做出改进,发展成为增强型51 系列,而且新的单片机类型也不断涌现。如MOTOROLA 和PHIL IPS 均有几十个系列,几百种产品。CPU 从8 ,16 ,32 到64 位,多采用RISC 技术,片上I/O 非常丰富,有的单片机集成有A/ D ,“看门狗”,PWM ,显示驱动,函数发生器,键盘控制等,它们的价格也高低不等,这样极大地满足了开发者的选择自由。

低电压和低功耗

随着超大规模集成电路的发展,NMOS 工艺单片机被CMOS代替,并开始向HMOS 过渡。供电电压由5V 降到3V ,2V 甚至到1V ,工作电流由mA 降至μA ,这在便携式产品中大有用武之地。

DSP 芯片

DSP 又叫数字信号处理器。顾名思义,DSP 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,常见的手机、数字电视和数码相机都离不开DSP。DSP 用于手机和基站中为移动通信的发展做出重要贡献,将在2. 5G和3G中扮演重要角色。可以说,DSP 已经融入到生活的方方面面。

DSP 相对于一般微处理器作了很大的扩充和增强,主要是:

a) 修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。

b) 硬件乘法器以及特殊指令。这是区别于一般微处理器的重要标志。一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320 系列的FIRS ,LMS ,MACD 指令等。

EDA 技术

当今电子系统的复杂性在不断增加,而电子产品的更新换代越来越快,传统的设计方法难以适应。随着计算机技术的发展,ECAD 在某种程度上减轻了设计人员的工作压力,但其智能化、自动化水平仍不尽人意。于是EDA 技术作为一种全新的技术诞生了。它正改变着数字系统和设计方法,设计过程和设计观念。

EDA(即Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL 语言完成系统功能的描述,借助EDA 工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。这里的目标芯片就是PLD 器件( FPGA/CPLD) 。FPGA/ CPLD 是EDA 技术的物质基础,这两者是分不开的。可以说没有PLD 器件,EDA 技术就成为无源之水。

EDA 技术作为一种现代电子系统开发方式,具有两方面特点。

修改软件程序即可改变硬件

由于FPGA/ CPLD 可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,这是非常有用的。软件可以使用自顶向下的设计方案,而且可以多个人分工并行工作,这些年来IP 核产业的崛起,将若干软核结合起来就可以构成一个完整的系统,这一切极大地缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。

速度快,可靠性高

MCU 和DSP 都是通过串行执行指令来实现特定功能,不可避免低速,而FPGA/ CPLD 则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLD 器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。而MCU 和DSP 芯片在强干扰条件下,尤其是强电磁干扰下,很可能越出正常的工作流程,出现PC 跑飞现象。EDA 高可靠性正好克服了它们这一先天不足。

结束语

单片机,DSP 和FPGA/ CPLD 各具特色,满足了不同需要,已经成为数字时代的核心动力。为了充分发挥它们的优势,三者结合成为一个新的发展趋势。

MCU 与DSP 的结合

MCU 价格底,能很好地完成通信和智能控制的任务,但信号处理能力差。DSP 恰好相反。把两者结合,能满足同时需要智能控制和数字信号处理的场合,如蜂窝电话,无绳网络产品等,这有利于减小体积,降低功耗和成本。

DSP 和FPGA/ CPLD 的结合

由于FPGA/ CPLD 兼有串/ 并行工作方式,高速度和宽口径适用性等特点,将DSP 与FPGA 集成在一个芯片上,可实现宽带信号处理,极大地提高信号处理速度。另外,FPGA可以进行硬件重构,功能扩展或性能改善非常容易。总之,单片机,DSP , PLD/ EDA 极大地推动了信息技术的发展。要作为一名工程师,必须掌握从系统设计级、电路设计级到物理实现级整个过程分析设计能力,能熟练使用新器件,新的开发工具,并不断更新观念,只有这样,才能适应时代发展,才能把握现在,创造未来!

多了硬件的乘法器还有桶形移位寄存器等硬件资源,运算的能力要比单片机强悍很多。DSP做图像识别是需要软件编程,要有算法的,一般也都是C语言,要自己写。目前做做图像识别的DSP一般都是用DM642之类的DSP

DSP实现高速执行串行算法

FPGA与CPLD

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 CPLD与FPGA的关系 早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。 CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。 CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点 1)采用FPGA设计ASIC电路(特定用途集成电路),用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完

CPLD与FPGA区别

CPLD和FPGA区别 可编程逻辑器件主要包括FPGA和CPLD,FPGA是Field Programmable Gate Array缩写,CPLD是Complex Promrammable Logic Device的缩写。 从可编程逻辑器件的发展历史上来讲,CPLD一般是指采用乘积相结构的基于EEPROM的器件,所以具 有非挥发的,不需要外部配置ROM,具有保密性和有限次编程次数(根据不同的结构,从100次到1万次不等)等特点,适合用在胶合逻辑(glue logic,如DSP芯片外围的译码逻辑),IO扩展,IO电平转换,FPGA 芯片配置等应用场合。如Altera的MAX7000和MAX3000系列芯片,Xilinx的XC9500和CoolRunner/II 系列芯片,Lattice的ispMACH4000/Z系列芯片都是CPLD器件,容量从32宏单元到512宏单元不等。 FPGA主要是指采用四输入查找表(LUT4)的基于SRAM的器件,因为SRAM是挥发的,掉电丢失数据, 所以FPGA需要外部配置ROM,上电的时候,从外部的ROM把FPGA的配置数据导入到FPGA芯片内部后工作。具有SRAM的FPGA采用标准的CMOS制造工艺,可以随着最新的工艺而更新还代,给用户带来了实惠;衡量FPGA容量的一个基本指标是逻辑单元(Logic cell或者Logic element),由一个可编程得LUT4和一个可编程的DFF组成,LUT4完成组合逻辑功能, 而DFF用来实现时序功能。FPGA的容量从几千的逻辑单元到几十万的逻辑单元不等。如Altera的Cyclone/II/III和Stratix/II/III系列芯片,Xilinx Spartan3/3E/3A/3AN和Virtex4/5系列芯片都是FPGA器件。 随着芯片技术的发展,CPLD和FPGA的概念已经模糊在一起,如Altera和Lattice公司把小容量(小于2K 左右逻辑单元)非挥发的可编程器件归到CPLD里,如Altera的MAXII系列和Lattice的MACH XO系列芯片,把基于SRAM的FPGA和FLASH的储存单元做到一个芯片里面,以及跟传统的CPLD不一样了; 总之,我们可以简单的区分FPGA和CPLD,CPLD:小容量(<2K左右LE)的非挥发的可编程器件;其它 的可编程器件都可归到FPGA。 系统的比较: 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结 构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结 构决定了其延迟的不可预测性。 ③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能 来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。 ④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 ⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。 ⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并 且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

FPGA、CPLD、ASIC、DSP、单片机的区别

1. FPGA FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA 上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。 什么是FPGA? 简单来说,FPGA就是“可反复编程的逻辑器件”。FPGA取自 Field Programmable Gate Array的首个字母,代表现场(Field)可编程(Programmable)逻辑阵列(Gate Array)。 由于在产品发售后您仍然可以对产品设计作出修改,因此我们可以顺利地对产品进行更新以及针对新的协议标准作出相应改进。相对于对售后产品设计无法进行修改的ASIC和ASSP来说,这是FPGA特有的一个优势。由于FPGA 可编程的灵活性以及近年来科技的快速发展,FPGA也正向高集成,高性能,低功耗,低价格的方向发展,并具备了与ASIC和ASSP 同等的性能,被广泛地使用在各行各业的电子及通信设备里。 FPGA与CPLD的区别 尽管很多人听说过CPLD,但是关于CPLD与FPGA之间的区别,了解的人可能不是很多。虽然FPGA与CPLD都是“可反复编程的逻辑器件”,但是在技术上却有一些差异。简单地说,FPGA就是将CPLD的电路规模,功能,性能等方面强化之后的产物。 一般而言,CPLD与FPGA之间的区别的如下所示(当然也有例外)。

5分钟学会使用CPLD(FPGA)

5分钟学会使用CPLD 当今社会,随着电子行业的发展,大规模集成电路的运用越来越普遍,用CPLD/FPGA 来开发新产品是当前很多实际情况的需求。在此本人结合到自己的所学,利用业余时间草写了一个简单的使用说明,不要求有丰富经验的大虾来驻足观望,只希望对吾辈刚入门的菜鸟们起到一个抛砖引玉的作用。由于水平有限,文中错误在所难免,望各位提出宝贵的意见。 1.首先请准备一套简单的CPLD原理图。在此我们准备了如下所示的简单一个系统图。晶体用10M的有源晶体,可以在线下载的JTAG接口。电源用5转3.3V的电源模块AS1117。1个1K的排阻。8个发光管在程序运行时轮流点亮。 2.安装XILINX的集成编译软件ISE5.0或6.0。因为ISE在运行时比较消耗计算机的内存,所以要求计算机配置符合相关的要求,高一点的配置,不至于在运行时死机。 3.准备一小段verilog hdl编写一段小代码,主要用来验证系统板的正确。 其中也可以用VHDL来编写,考虑到verilog hdl比较接近C语言,对初级学者来说,相对所花时间较短,上手较快。在此我推荐学verilog hdl。具体的参考书可以看下面的提示:

4.此我们用下面的一小段代码作为范例:其功能是驱动8个发光管轮流点亮,因为是采用了10M频率晶体的边沿触发,所以速度很快,为了使我们肉眼能够看的清楚其工作的流程,我们在里面安放了一个计数器,计数器计每次满一次就点亮一个发光管,依次类推。。。。。。其源程序如下: /* 流水灯的V erilog-HDL描述*/ module LEDWA TER(reset,CLK,LED); input reset, CLK; output [7:0] LED; reg [7:0] LED;//=8'b11111111; reg [17:0] buffer;//=0; reg exchange; always@(posedge CLK) if(reset==0) //如果复位了就熄灭全部的灯 begin LED=8'b1111_1111; buffer=0; exchange=0; end else begin if (exchange==0) begin buffer=(buffer +1); if ( buffer == 17'b111111111111111111111111) begin buffer=0; LED=(LED-1); if(LED==8'b0000_0000) begin LED=8'b1111_1111; exchange=1; end end end if(exchange==1) begin buffer=(buffer +1); if ( buffer == 17'b111111111111111111111111) begin buffer=0; LED=(LED>>1); if(LED==8'b00000000) begin LED=8'b1111_1111;

单片机、DSP、PLC、CPLD、FPGA、嵌入式的区别

所谓嵌入式,专指嵌入到其它系统内部,满足特定需求的专用计算机系统。它的概念非常广泛,只要是具有包含软硬件等计算机专有属性的系统都可以称之为嵌入式系统。 单片机是指把CPU、存储器、输入输出设备或接口集成到一片芯片内,加少量的外围电路就可以构成计算机系统的器件,目前常用的有MCS-51系列、PIC系列等器件,生产厂家很多、以8位、16位为主,一般没有操作系统,主要满足简单的控制需求。 目前以ARM为代表的32位CPU严格意义上说是一个单板机系统,可以加载Linux、WinCE等复杂的操作系统,可以满足复杂的需求。 PLC是可编程控制器,也是嵌入式系统的一种,但是一般用于电气控制,已经预制了很多程序,用梯形图等简单的编程语言就能构成系统。PLC价格昂贵、应用简单、容易上手,一般用来实现工业现场复杂情况下的控制,应用领域有限。 CPLD和FPGA以往大多用于可编程数字电路的实现,使数字电路设计趋于简单和可更改设计。这几年随之FPGA的发展,内部可以嵌入微控制器核,来构建SoC(System on Chip),但是开发难度相当大。 DSP的优势在于信号处理,运算能力强大,但控制能力一般,一般往往用于视频分析等需要进行信号复杂运算的场合。 DSP:数字信号处理器,处理器采用哈弗结构,工作频率较高,能大幅度提高数字信号处理算法的执行效率。 MCU:微控制器,主要用于控制系统,工作频率一般来说比DSP低,硬件上具有多个IO 端口,同时也集成了多个外设,主要是便于在控制系统中的应用。至于ARM处理器,个人认为是MCU的高级版本,ARM本身只是一个内核,目前已经有多个版本。 CPLD:复杂可编程逻辑器件 FPGA:现场可编程门阵列 后两者都是可编程器件,CPLD目前一半采用FLASH技术,而FPGA采用SRAM技术,这就决定了FPGA需要采用特定的配置技术。同时FPGA的规模要比CPLD大得多,但CPLD应用起来相对要简单的多

认清CPLD和FPGA

认清CPLD和FPGA CPLD和FPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是CPLD;有的直接就不做区分,把他们都叫做FPGA。那么两者到底有什么区别呢?下面我们就以Altera公司的CPLD和FPGA为例来说说两者的区别。 首先我们看一下CPLD的芯片结构,搞清楚CPLD是由哪几部分组成的。下图是MAX 系列CPLD的芯片结构图: 从图中可以清楚的看出来CPLD主要由三部分组成:Macro cell(宏单元),PIA(可编程连线),和IO Control Block(IO控制块)。每个宏单元都与GCLK(全局时钟)OE(输出使 能)GCLR(清零)等控制信号直接相连,并且延时相同。各宏单元之间也由固定长度的金属线互连,这样保证逻辑电路的延时固定。其中宏单元模块是CPLD的逻辑功能实现单元,是器件的基本单元,我们设计的逻辑电路就是由宏单元具体实现的。下面我们再来看看宏单元的具体结构:

一个宏单元主要包括了LAB Local Array(逻辑阵列),Product-Term Select Matrix(乘积项选择矩阵)和一个可编程D触发器组成。其中逻辑阵列的每一个交叉点都可以通过编程实现导通从而实现与逻辑,乘积项选择矩阵可实现或逻辑。这两部分协同工作,就可以实现一个完整的组合逻辑。输出可以选择通过D触发器,也可以对触发器进行旁路。通过这个结构可以发现,CPLD非常适合实现组合逻辑,再配合后面的触发器也能够实现一定的时序逻辑。 我们再来以cyclone系列为例看看FPGA的内部结构:

单片机,DSP和FPGA区别以及发展前景

单片机、dsp、FPGA/CPLD的分析、比较 硬件天地2009-02-15 11:54:39 阅读367 评论0 字号:大中小订阅 引言 信息技术正在快速发展,其应用已经深入到各个领域各个方面。如今越来越多的电子产品向着智能化、微型化、低功耗方向发展,其中有的产品还需要实时控制和信号处理。电子系统的复杂性在不断增加,它迫切要求电子设计技术也有相应的变革和飞跃。使用纯SSI 数字电路设计系统工作量大,灵活性低,而且系统可靠性差。广泛使用单片机(MCU) 设计系统克服了纯SSI 数字电路系统许多不可逾越的困难,是一个具有里程碑意义的飞跃。而DSP 以其极强的信号处理功能赢得了广阔的市场,得到了广泛地应用。近年来,PLD 器件迅速发展,尤其是CPLD/ FPGA 向深亚微米领域进军,PLD 器件得到了广泛应用,以CPLD/ FPGA 为物质基础的EDA 技术诞生了。它具有电子技术高度智能化、自动化的特点,打破了软硬件最后的屏障,使得硬件设计如同软件设计一样简单。它作为一种创新技术正在改变着数字系统的设计方法、设计过程和设计观念。单片机,DSP ,PLD/ EDA 以其各自的特点满足了各种需要,正从各个领域各个层面改变着世界,它们已经成为数字时代的核心动力,推动着信息技术的快速发展。 以下,我们将对单片机,DSP ,PLD/ EDA 分别加以介绍,并作比较和分析。 单片机 单片机是集成了CPU ,ROM ,RAM 和I/ O 口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU) 。它与通用处理器不同,它是以工业测控对象、环境、接口等特点出发,向着增强控制功能,提高工业环境下的可靠性、灵活方便地构成应用计算机系统的界面接口的方向发展。所以,单片机有着自己的特点。 品种齐全,型号多样 自从INTEL 推出51 系列单片机,许多公司对它做出改进,发展成为增强型51 系列,而且新的单片机类型也不断涌现。如MOTOROLA 和PHIL IPS 均有几十个系列,几百种产品。CPU 从8 ,16 ,32 到64 位,多采用RISC 技术,片上I/O 非常丰富,有的单片机集成有A/ D ,“看门狗”,PWM ,显示驱动,函数发生器,键盘控制等,它们的价格也高低不等,这样极大地满足了开发者的

CPLDFPGA的基本知识

第一章CPLD/FPGA的基本知识 FPGA,CPLD和其它类型PLD的结构各有其特点和长处,但概括起来,它们是由三大部分组成的:(1)一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心;(2)输入/输出块;(3)连接逻辑块的互连资源,由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。 图1.2.1 PLD的结构 对用户而言,虽然CPLD与FPGA的内部结构稍有不同,但其用法都一样,所以多数情况下,不加以区分。FPGA/CPLD芯片都是特殊的ASIC芯片,它们除了具有ASIC的特点之外,还具有以下几个优点:(1)随着VlSI(Very Large Scale IC,超大规模集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管,FPGA/CPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成,即片上系统SOC。 (2)FPGA/CPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA /CPLD的资金投入小,节省了许多潜在的花费。 (3)用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。所以,用FPGA/PLD 试制样片,能以最快的速度占领市场。FPGA/CPLD软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量改动时,更能显示出FPGA/CPLD的优势。电路设计人员使用FPGA/CPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识,FPGA/CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。(4)在线可编程技术(ISP)使得使用CPLD/FPGA的产品可以做到远程升级。 (以上内容参照西电《CPLD技术及其应用》,有改动) (三)PLD/FPGA 结构与原理初步 一. 基于乘积项(Product-Term)的PLD结构 采用这种结构的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xilinx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品(EEPROM工艺)。我们先看一下这种PLD的总体结构(以MAX7000为例,其他型号的结构与此都非常相似):

CPLD和FPGA的区别

《CPLD和FPGA的区别》 1).两者的区别: 最大的区别,就是CPLD进行一次下载编程(写入操作)后,其逻辑门组合方式就保存下来,不管什么时候断电,通电,他都可以执行上一次的逻辑功能。FPGA不能保存上次逻辑功能,断电后,FPGA就失去所有配置。因此FPGA通常需要带一块配置芯片,在通电后,对FPGA进行重新配置,恢复功能(重配置需要时间,CPLD通电后,马上就可以执行相应逻辑)。 CPLD的擦写次数非常有限,经过100~1000次左右的反复擦写就报废了。而FPGA可以反复擦写无限次(当然,实际上是有限的。但是在通常使用中,就算你反复擦写,大概你挂了,它还没有挂)。FPG的配置芯片擦写次数有限,而且常常只能烧写一次(OTP)。CPLD的容量一般比较小,FPGA容量很大。 综合上面所有的情况,结论是这样的,你在学习阶段,或者开发阶段,最好使用FPGA,因为可以反复擦写,不对马上重新烧写。只要不断电,你烧写下去的逻辑功能是一直可用的。定型后可以使用CPLD,可以免去FPGA。但是当你的配置容量非常大的时候,CPLD装不下,你又必须采用FPGA了,这个时候,在最后成品上需要加配置芯片(当然也用单片机模拟配置芯片,具体这个地方不介绍)。 市面上尤其是学校里面可以看到Xilinx公司或者Altera公司各种不同的开发板,其实只有两个大类,CPLD开发板和FPGA开发板。尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 ③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。 ④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 ⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTF

CPLD与FPGA性能特点差异

CPLD与FPGA区别 转载了网上的文章,帮大家了解下基本概念问题! 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 ③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。 ④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 ⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2P

ROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。 ⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。 ⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。 ⑧CPLD保密性好,FPGA保密性差。 ⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

CPLD与FPGA的用途及区别

CPLD与FPGA的用途及区别 FPGA/CPLD能做什么呢?可以毫不夸张的讲,FPGA/CPLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA/CPLD来实现。FPGA/CPLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA/CPLD的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA/CPLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA/CPLD 还可以做数字IC设计的前端验证,用这种方式可以很大程度上降低IC设计的成本。FPGA/CPLD的这些优点使得FPGA/CPLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。FPGA/CPLD有什么区别呢?1)各个厂家叫法不尽相同:PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项(Product Term)结构。FPGA (Field Programmable Gate Arry)是指现场可编程门阵列,最早由Xilinx公司发明。多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD; Altera把自己的PLD产品:MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD)。由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA. 2)结构上的主要区别逻辑块的粒度不同逻辑块指PLD 芯片中按结构划分的功能模块,它有相对独立的组合逻辑阵列,块间靠互连系统联系.FPGA 中的CLB 是逻辑块,其特点是粒度小,输入变量为4~8 ,输出为1~2 ,因而只是一个逻辑单元,每块芯片中有几十到近千个这样的单元. CPLD中逻辑块粒度较大,通常有数十个输入端和一、二十个输出端,每块芯片只分成几块. 有些集成度较低的(如ATV2500) 则干脆不分块. 显然,如此粗大的分块结构使用时不如FPGA 灵活. 逻辑之间的互连结构不同CPLD 的逻辑块互连是集总式的,其特点是等延时,任意两块之间的延时是相等的,这种结构给设计者带来很大方便; FPGA 的互连则是分布式的,其延时与系统的布局有关, 3)应用范围也有所不同逻辑系统通常可分两大类型: 1、逻辑密集型: 如高速缓存控制、DRAM 控制和DMA 控制等,它们仅需要很少的数据处理能力,但逻辑关系一般都复杂2、数据密集型: 数据密集型需要大量数据处理能力,其应用多见于通讯领域. 为了选择合适的PLD 芯片,应从速度与性能、逻辑利用率、使用方便性、编程技术等方面进行考查。速度与性能: 数据密集型系统,比如,通讯中对信号进行处理的二维卷积器. 在实现这一算法的逻辑系统中,每个单元所需要的输入端较少,但需要很多这样的逻辑单元. 这些要求与FPGA 的结构相吻合. 因为FPGA 的粒度小,其输入到输出的传输延迟时间很短,因而能获得高的单元速度.而控制密集型系统通常是输入密集型的,逻辑复杂,CLB 的输入端往往不够用,需把多个CLB 串行级联使用,同时CLB 之间的连接有可能通过多级通用PI 或长线,导致速度急剧下降. 因而实际的传输延迟时间要大CPLD. 比如,实现一个DRAM 控制器,它由四个功能块组成:刷新状态机、刷新地址计数器、刷新定时器和地址选择开关,需要的输入端有几十个,显然用CPLD 更合适. 逻辑利用率: 逻辑利用率是指器件中资源被利用的程度. CPLD 逻辑寄存器少,FPGA 逻辑弱而寄存器多,这正好与控制密集型系统与数据密集型系统相对应. 比如, 规模同为6000PLD 门的 is2pLSI1032 有192 个寄存器;而XC4005E 有616 个寄存器. 因此从逻辑利用率角度,对于组合电路较复杂的设计,宜采用颗粒较粗的CPLD ,触发器较多的设计,宜采用用细颗粒的FPGA. (3) 使用方便性: 使用方便首先要考虑性能的可预测性,在这点上CPLD 优于FPGA. 对于CPLD ,通常只要输入、输出端口数,内部门和触发器数目不超过芯片的资源并有

FPGA_CPLD的发展与展望

《EDA技术》结课论文FPGA技术及发展方向 姓名:____________郭阳______ 指导教师:________卢超______ 学号:______1110064081______ 所在学院:___物理与电信工程学院 所在专业:__电子信息科学与技术 论文完成时间:_____2014-6-20___

目录 摘要 (3) 一、 CPLD/FPGA简介 (3) 二、FPGA不断扩大的应用领域 (3) 三、FPGA的发展现状 (4) 1、FPGA的硬件朝向大容量、低电压、低功耗发展 (4) 2、系统级高密度FPGA (4) 3、第三方设计使FPGA更加方便 (5) 3.1、Altium:System-On-FPGA方案 (5) 3.2、Cadence:致力于验证 (5) 3.3、Mentor:具备FPGA全流程方案 (5) 4、FPGA和ASIC出现相互融合 (6) 5、动态可重构FPGA (6) 结论 (6) 参考文献 (6)

[摘要]:CPLD/FPGA的出现为EDA的快速发展做出了巨大的贡献。与传统单片机相比,CPLD/FPGA在高频电子设计上有突出的优势。CPLD/FPGA在很短的时间内得到了空前的发展,同时在电子市场上也得到了广泛的应用。通过对CPLD/FPGA当前现状的分析,可以为其未来的发展奠定基本方向。本篇文章得出CPLD/FPGA器件会向着大容量、低电压、低功耗的方向发展。于此同时IP库也在各大厂商的推动下将得到进一步的发展。另一方面,随着技术的发展,芯片的规模将越来越大,有取代ASIC的可能性。而最新的“动态可重构技术”也为系统设计方法的转变提供了条件。 [关键字]:CPLD/FPGA 技术现状发展方向 [Abstract]: The emergence of the CPLD/FPGA made great contribution to the rapid development of EDA. Compared with the traditional MCU, CPLD/FPGA has prominent advantages in high frequency electronic design. CPLD/FPGA in a very short period of time got unprecedented development, at the same time also has been widely used in the electronic market. Through the analysis of the current status of CPLD/FPGA, to lay the basic direction of future development. This article concludes that CPLD/FPGA device will toward the direction of large capacity, low voltage, low power consumption. At the same time the IP library under the impetus of the major manufacturers will also get further development. , on the other hand, with the development of technology, the size of the chip will be bigger and bigger, have replaced the possibility of an ASIC. The latest "dynamic reconfigurable technique" also provides conditions for the transition of the system design method. [Key words]: CPLD/FPGA technical state development direction 一、 CPLD/FPGA简介 CPLD主要是由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于 CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。较常用的有Altera公司的CPLD。 FPGA通常包含三类可编程资源:可编程逻辑功能块、可编程I/O块和可编程互连。可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;可编程I/O块完成芯片上逻辑与外部封装脚的接口,常围绕着阵列排列于芯片四周;可编程内部互连包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,FPGA在可编程逻辑块的规模,内部互连线的结构和采用的可编程元件上存在较大的差异。FPGA一般用于逻辑仿真。电路设计工程师设计一个电路首先要确定线路,然后进行软件模拟及优化,以确认所设计电路的功能及性能。 随着电路规模的不断增大,电路频率的不断提高,将给电路引入许多分布参数的影响,而这些影响用软件方法较难进行仿真,所以有必要进行硬件仿真。FPGA就可以进行硬件仿真以做成模型机。将软件模拟后的路径下载到FPGA,就可容易的到一个模型机。从改模型机,设计者就可以很直观的测试其逻辑功能以及性能指标。 二、FPGA不断扩大的应用领域 据Gartner Dataquest在去年美国DAC(设计自动化年会)期间公布的数据,每年采用ASIC开始进行设计的数量在逐年下降,取而代之的是ASSP(特殊应用标准产品),由于深亚微米(DSM)制程以后,ASIC的开发成本不断上升,因此标准产品中的FPGA是理想的选择之一。FPGA的应用领域不断扩大,未来,消费电子(例如HDTV、无线路由器)和汽车电子是所有应用中成长最快的。汽车行业一直在密切关注可编程逻辑器件(PLD),发掘PLD怎样帮助系统供应商和汽车制造商(原始设备生产商)获得成功。PLD凭借其较低的成本结构和较高的系统性能,进入了主流汽车市场。与ASSP解决方案不同,PLD所具有的灵活性在汽车行业中受到普遍欢迎。汽车图形处理汽车联网辅助驾驶音频处理汽车行业一直在密切关注可编程逻辑器件(PLD),发掘PLD怎样帮助系统供应商和汽车制造商(原始设备生产商)获得成功。PLD已经在信息娱乐和通信市场上得到了广泛应用,新兴的汽车辅助驾驶设计也采用了PLD。在这一领域中,某些应用发展非常迅速,包括道路偏离报警、夜视和胎压监

CPLD和FPGA区别

CPLD和FPGA区别 可编程逻辑器件要紧包括FPGA和CPLD,FPGA是Field Programmable Gate Array缩写,CPLD是Complex Promrammable Logic Device的缩写。 从可编程逻辑器件的进展历史上来讲,CPLD一样是指采纳乘积相结构的基于EEPROM 的器件,因此具有非挥发的,不需要外部配置ROM,具有保密性和有限次编程次数(依照不同的结构,从100次到1万次不等)等特点,适合用在胶合逻辑(glue logic,如DSP芯片外围的译码逻辑),IO扩展,IO电平转换,FPGA芯片配置等应用场合。如Altera的MAX7000和MAX3000系列芯片,Xilinx的XC9500和CoolRunner/II系列芯片,Lattice的ispMACH4000/Z 系列芯片差不多上CPLD器件,容量从32宏单元到512宏单元不等。 FPGA要紧是指采纳四输入查找表(LUT4)的基于SRAM的器件,因为SRAM是挥发的,掉电丢失数据,因此FPGA需要外部配置ROM,上电的时候,从外部的ROM把FPGA的配置数据导入到FPGA芯片内部后工作。具有SRAM的FPGA采纳标准的CMOS制造工艺,能够随着最新的工艺而更新还代,给用户带来了实惠;衡量FPGA容量的一个差不多指标是逻辑单元(Logic cell或者Logic element),由一个可编程得LUT4和一个可编程的DFF组成,LUT4完成组合逻辑功能, 而DFF用来实现时序功能。FPGA的容量从几千的逻辑单元到几十万的逻辑单元不等。如Altera的Cyclone/II/III和Stratix/II/III系列芯片,Xilinx Spartan3/3E/3A/3AN 和Virtex4/5系列芯片差不多上FPGA器件。 随着芯片技术的进展,CPLD和FPGA的概念差不多模糊在一起,如Altera和Lattice 公司把小容量(小于2K左右逻辑单元)非挥发的可编程器件归到CPLD里,如Altera的MAXII 系列和Lattice的MACH XO系列芯片,把基于SRAM的FPGA和FLASH的储存单元做到一个芯片里面,以及跟传统的CPLD不一样了; 总之,我们能够简单的区分FPGA和CPLD,CPLD:小容量(<2K左右LE)的非挥发的可编程器件;其它的可编程器件都可归到FPGA。 系统的比较:

FPGA与CPLD 总结

CPLD(complex programable logic device)复杂可编程逻辑器件 FPGA(field programable gate array)现场可编程门阵列 FPGA和CPLD的逻辑单元本身的结构与SPLD相似,即与阵列和可配置的输出宏单元组成。FPGA逻辑单元是小单元,每个单元只有1-2个触发器,其输入变量通常只有几个因而采用查找表结构(PROM形式) 这样的工艺结构占用的芯片面积小,速度高(通常只有1-2纳秒),每个芯片上能集成的单元数多,但逻辑单元功能弱。 如果想实现一个较复杂的功能,需要几个这样的单元组合才能完成(总延时是各个单元延时和互连延时的和),互连关系复杂。 CPLD中的逻辑单元是单元,通常其变量数约20-28个。因为变量多,所以只能采用PAL结构。由于这样的单元功能强大,一般的 逻辑在单元内均可实现,因而其互连关系简单,一般通过集总总线既可实现。电路的延时通常就是单元本身和集总总线的 延时(通常在数纳秒至十几纳秒),但是同样集成规模的芯片中的触发器的数量少得多。从上面分析可知道:小单元的FPGA较适合数据型系统,这种系统所需要的触发器数多,但是逻辑相对简单;大单元的CPLD较适合 逻辑型系统,如控制器等,这种系统逻辑复杂,输入变量多,但触发器需求量相对较少。 反熔丝工艺只能一次性编程,EPROM EEPROM 和FLASH工艺可以反复的编程,但是他们一经编程片内逻辑就被固定。他们都是 只读型(ROM)编程,这类编程不仅可靠性较高还可以加密。 XILINX公司的FPGA芯片采用RAM型编程,相同集成规模的芯片中的触发器数目较多,功耗低,但是掉电后信息不能保存,必须 与存储器联用。每次上电时必须先对芯片配置,然后才能使用,这似乎是RAM型PLD的缺点,但是ROM型PLD中的编程信息在使用时 是不能变化的,RAM型PLD却可以在工作时更换内容,实现不同的逻辑。 CPLD和FPGA的结构,性能对照: CPLD FPGA PROM 集成规模:小(最大数万门)大(最高达百万门) 单元粒度:大(PAL结构)小(PROM结构) 互连方式:集总总线分段总线长线专用互连 编程工艺:EPROM EEPROM FLASH SRAM 编程类型:ROM RAM型须与存储器联用 信息:固定可实时重构 触发器数:少多 单元功能:强弱 速度:高低222222222222222222222222222222222222 延迟:确定,可以预测不能确定不能预测 功耗:高低 加密性能:可加密不能加密 适用场合:逻辑型系统数据型系统 LCA(LOGIC CELL ARRAY)逻辑单元阵列 CLB(CONFIGURABLE LOGIC BLOCK)可配置逻辑模块 IOB(INPUT OUTOUT BLOCK)输入输出块

FPGA与CPLD常见术语

FPGA专业术语 1.泛类 FPGA:field programmable gate array 现场可编程门阵列 CPLD:complex programmable logic device 复杂可编程逻辑器件 (EPLD:enhanced programmable logic device 增强型CPLD) VLSIC:very large scale integrated circuit 大规模集成电路 ASIC:application specific integrated circuit 专用型集成电路 RAM:random-access memory 随机存取存储器 ROM:read-only memory 只读存储器 E2PROM:electrically erasable programmable ROM 电擦除可编程ROM SOPC:system on programmable chip 可编程片上系统 PAL:programmable array logic 可编程逻辑阵列 GAL:generic array logic 通用逻辑阵列 SRAM工艺:static RAM 静态RAM DRAM:dynamic RAM 动态RAM SDRAM:synchronous dynamic RAM 同步动态RAM NOR flash:(not or)容量小,读得快擦写得慢 NAND flash:(not and)容量大,写得快读的慢 TTL:transistor-transistor logic 三级管结构 2.FPGA结构名词 ●逻辑单元 LUT:look up table 查找表 Register:寄存器 FF:flip flop 时钟使能触发器 Latch:锁存器 LE:logic element 逻辑单元(LE = LUT + Register) (LC:logic cell 意同LE) LAB:logic array block 逻辑阵列模块(LAB = 10LE) (PFU:programmable function unit 可编程功能单元,意同LAB) ●嵌入式块RAM SPRAM:single port RAM 单端口RAM DPRAM:double port RAM 双端口RAM Pseudo RAM:伪双端口RAM CAM:content addressable memory 查找数据返回地址,功能与RAM反FIFO:first in first out 先进先出存储结构 Glue logic:粘合逻辑,基于RAM实现RAM ROM CAM FIFO结构 (LUT也可配置为RAM ROM CAM FIFO结构:distributed RAM:分布式RAM) ●布线资源 Bank:分区 Low skew:第二全局时钟 ●底层潜入单元 PLL:phase locked loop 相位锁环 DLL:delay locked loop 延时锁环

相关主题