第3章CPLD与FPGA基础.pdf
《第3章CPLD与FPGA基础.pdf》由会员分享,可在线阅读,更多相关《第3章CPLD与FPGA基础.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第三章第三章CPLD/FPGA基础基础一、一、复杂可编程逻辑器件简介复杂可编程逻辑器件简介二、二、CPLD的组成与特点CPLD的组成与特点三、三、FPGA的组成与特点FPGA的组成与特点四、四、CPLD与FPGA的异同CPLD与FPGA的异同五、五、主要的主要的PLD厂商厂商复杂可编程逻辑器件复杂可编程逻辑器件CPLD/FPGA简介简介?概述概述?用用CPLD/FPGA能做什么能做什么?CPLD/FPGA 的主要特点的主要特点?CPLD/FPGA的命名的命名?如何使用如何使用CPLD/FPGA?如何获得如何获得CPLD软件开发系统软件开发系统?主要的主要的CPLD/FPGA生产厂商生产厂商?
2、国外主要的国外主要的CPLD/FPGA开发系统开发系统一、复杂可编程逻辑器件一、复杂可编程逻辑器件CPLD/FPGA简介简介?CPLD(Complex Programable Logic Device)复杂可编程逻辑器件)复杂可编程逻辑器件两者的功能基本相同,只是实现原理略有不同,两者的功能基本相同,只是实现原理略有不同,故有时可以统称为复杂可编程逻辑器件或故有时可以统称为复杂可编程逻辑器件或CPLD/FPGA。?FPGA(Field Programable Gate Array)现场可编程门阵列现场可编程门阵列概述概述复杂可编程逻辑器件复杂可编程逻辑器件CPLD/FPGA简介简介?CPLD/
3、FPGA是是80年代初期开始发展起来的一种数字电子器件开发与设计技术,是目前电子设计领域中年代初期开始发展起来的一种数字电子器件开发与设计技术,是目前电子设计领域中最具活力和发展前途最具活力和发展前途的一项技术,它的用途和影响甚至的一项技术,它的用途和影响甚至不亚于不亚于70年代单片机的发明和使用年代单片机的发明和使用。?CPLD/FPGA内部具有大量组成数字电路的最小单元内部具有大量组成数字电路的最小单元门电路,而这些门电路门电路,而这些门电路并没有固定怎样连接并没有固定怎样连接,门电路的连接可,门电路的连接可通过编程通过编程的方法加以的方法加以设计设计,同时输入,同时输入/输出脚的连接可自
4、己设置,故这种电路给我们带来了极大的方便。输出脚的连接可自己设置,故这种电路给我们带来了极大的方便。?经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是 Xilinx 公司的公司的 FPGA 器件系列和器件系列和 Altera公司的公司的 CPLD 器件系列,它们开发较早,占用了较大的市场,(器件系列,它们开发较早,占用了较大的市场,(60%以上)。可以讲以上)。可以讲Altera和和Xilinx共同决定了共同决定了CPLD技术的发展方向技术的发展方向。?其它公司如:其它公司如:Lattice-Van
5、tis,Actel,Atmel、Quicklogic,Lucent等也提供不同相关产品。等也提供不同相关产品。?通常来说,通常来说,在欧洲用在欧洲用Xilinx的人多,在日本和亚太地区用的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。的人多,在美国则是平分秋色。复杂可编程逻辑器件复杂可编程逻辑器件CPLD/FPGA简介(续)简介(续)复杂可编程逻辑器件复杂可编程逻辑器件CPLD/FPGA简介(续)简介(续)?CPLD集成度相对小一点,多用于集成度相对小一点,多用于2万门万门规模规模以下以下的设计,的设计,适合实现较复杂的组合逻辑适合实现较复杂的组合逻辑,如编、译码设计。,如编
6、、译码设计。?FPGA,集成度较高,内部触发器多,多用于,集成度较高,内部触发器多,多用于1万门以上万门以上的大规模系统设计,的大规模系统设计,适合做复杂的时序逻辑设计适合做复杂的时序逻辑设计,如数字信号处理和各种算法。,如数字信号处理和各种算法。?已有基于已有基于FPGA的的SOPC器件问世,并得到广泛关注。器件问世,并得到广泛关注。2复杂可编程逻辑器件复杂可编程逻辑器件CPLD/FPGA简介(续)简介(续)?一般认为,复杂可编程逻辑器件一般认为,复杂可编程逻辑器件CPLD/FPGA的单片集成度大于的单片集成度大于1000门门,而简单可编程逻辑器件而简单可编程逻辑器件SPLD 的单片集成度小
7、于的单片集成度小于1000门。门。?SPLD除除GAL外目前已较少使用。外目前已较少使用。目前目前FPGA的单片集成度已超过的单片集成度已超过1千万门,千万门,达到达到Intel公司最新奔腾公司最新奔腾 CPU的集成度的集成度。可以在这种高集成度的。可以在这种高集成度的FPGA芯片上设计芯片上设计CPU/DSP,实现实现SOPC。用用CPLD/FPGA能做什么?能做什么?可以不夸张的讲,可以不夸张的讲,CPLD能完成任何数字器件的功能能完成任何数字器件的功能,直至实现单芯片系统,直至实现单芯片系统SOC。上至高性能的。上至高性能的CPU,下至简单的下至简单的74系列数字电路,都可以用系列数字电
8、路,都可以用CPLD来实现。来实现。CPLD如同一张白纸或是一堆积木如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法或硬件描述语言(,工程师可以通过传统的原理图输入法或硬件描述语言(HDL),来自由的设计一个数字系统。通过,来自由的设计一个数字系统。通过EDA软件仿真,软件仿真,可以事先验证设计的正确性可以事先验证设计的正确性。在。在PCB完成以后,还可以利用完成以后,还可以利用CPLD的在线修改能力,随时修改设计而不必改动硬件电路。使用的在线修改能力,随时修改设计而不必改动硬件电路。使用CPLD来开发数字电路与系统,可以来开发数字电路与系统,可以大大缩短设计时间,减少大大缩短设计时
9、间,减少PCB面积,提高系统的可靠性面积,提高系统的可靠性。CPLD/FPGA 的主要特点的主要特点1、采用、采用LSI/VLSI技术制造,高集成度(最高已达千万门级);技术制造,高集成度(最高已达千万门级);2、支持各种组合逻辑和时序逻辑电路设计,甚至实现、支持各种组合逻辑和时序逻辑电路设计,甚至实现“片上系统片上系统”(SOC););3、可编程改变芯片的逻辑功能,芯片可重复使用,具有、可编程改变芯片的逻辑功能,芯片可重复使用,具有ISP或或ICR特性。(特性。(ISP:In System Programming,在系统编程在系统编程)(ICR:In Circuit Reconfigable
10、,在电路重构)在电路重构)4、有很高的逻辑布线能力,可以、有很高的逻辑布线能力,可以预测信号延迟预测信号延迟,便于使用计算机进行逻辑功能仿真与时序仿真。,便于使用计算机进行逻辑功能仿真与时序仿真。CPLD/FPGA 的主要特点(续)的主要特点(续)5、有良好的设计加密功能,便于保护知识产权、有良好的设计加密功能,便于保护知识产权(IP)。6、有强大的、有强大的EDA开发工具开发工具(软件软件)支持支持,与与ASIC设计相比设计相比,易学易用。易学易用。7、研制、开发时间较短,费用相对少。、研制、开发时间较短,费用相对少。8、必须借助开发系统、必须借助开发系统,才能设计、开发才能设计、开发CPL
11、D/FPGA系统。系统。CPLD/FPGA的命名的命名?不同的厂家,对自己生产的可编程逻辑器件叫法不尽相同。不同的厂家,对自己生产的可编程逻辑器件叫法不尽相同。与或阵列技术与或阵列技术FPGA(现场可编程门阵列现场可编程门阵列)是是Xilinx公司发明的。公司发明的。Xilinx公司公司把基于把基于查找表技术查找表技术、SRAM存储工艺存储工艺的可编程逻辑器件叫的可编程逻辑器件叫FPGA;把基于;把基于乘积项技术、乘积项技术、E2PROM(或(或Flash MEM)存储工艺)存储工艺的可编程逻辑器件叫的可编程逻辑器件叫CPLD;CPLD/FPGA的命名(续)的命名(续)通常也把通常也把Alte
12、ra 的FLEX/ACEX/APEX系列的系列的CPLD产品叫做产品叫做FPGA。Altera公司公司Altera公司把自己生产的可编程逻辑器件都叫作公司把自己生产的可编程逻辑器件都叫作CPLD其中:其中:MAX系列采用系列采用乘积项技术、乘积项技术、E2PROM存储工艺。存储工艺。FLEX/ACEX/APEX系列采用系列采用查找表技术、查找表技术、SRAM存储工艺。存储工艺。3如何使用如何使用CPLD/FPGA??开发、使用开发、使用CPLD需要掌握三部分的知识:需要掌握三部分的知识:1、熟悉、了解、熟悉、了解CPLD/FPGA芯片(芯片(硬件硬件););2、掌握、掌握CPLD/FPGA开发
13、系统(开发系统(软件软件););3、能对、能对CPLD/FPGA芯片进行编程配置(芯片进行编程配置(加载设计代码加载设计代码)。)。由于由于CPLD/FPGA开发系统已发展得相当完善,开发系统已发展得相当完善,一般用户一般用户甚至可以甚至可以不用详细了解不用详细了解CPLD/FPGA的内部结构的内部结构,就可以用自己熟悉的,就可以用自己熟悉的方法方法来完成要求的来完成要求的CPLD/FPGA设计。设计。如原理图输入法、如原理图输入法、HDL语言输入法、波形输入法等语言输入法、波形输入法等如何获得如何获得CPLD软件开发系统软件开发系统?许多许多CPLD公司都提供免费的试用版或演示版提供,如公司
14、都提供免费的试用版或演示版提供,如?Lattice、Actel等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请License文件。文件。MaxplusII(Baseline版或版或E+MAX版),从版),从处下载向代理商索取处下载向代理商索取WebPack从从xilinx网站网站下载下载如何获得如何获得CPLD软件开发系统软件开发系统?(续)(续)?也有许多第三方也有许多第三方EDA软件公司提供软件公司提供CPLD/FPGA开发系统,且性能优良。如开发系统,且性能优良。如CANDENCE公司的公司的SPW系统、系统
15、、Altec公司的公司的ActiveCAD系统。系统。?这些免费软件已经能够满足一般设计的需要,当然,要想软件功能更强大一些,只能购买这些免费软件已经能够满足一般设计的需要,当然,要想软件功能更强大一些,只能购买商业版软件商业版软件。主要的主要的CPLD/FPGA生产厂商生产厂商世界上有多家公司生产世界上有多家公司生产CPLD/FPGA,主要的生产厂商有:,主要的生产厂商有:1、Altera 公司,主要的公司,主要的CPLD生产厂商生产厂商2、Xilinx 公司,主要的公司,主要的FPGA生产厂商生产厂商3、Lattice公司,著名的公司,著名的CPLD生产厂商生产厂商4、ACTEL公司,著名
16、的公司,著名的CPLD生产厂商生产厂商5、Cypress公司,著名的公司,著名的CPLD生产厂商生产厂商6、Atmel公司,著名的公司,著名的IC/MCU公司公司,也设计生产也设计生产PLD产品产品.7、Luccent公司,著名的通讯企业,也设计生产公司,著名的通讯企业,也设计生产PLD产品产品.国外主要的国外主要的CPLD/FPGA开发系统开发系统?Altera:MAX+PlusII、QuartusII?Xilinx:Foundation、ISE、Alliance?Lattice:Synario、ispDesignEXPERT、Vantis?Altec:Active CAD?CPRESS W
17、RAP?OrCAD:OrCAD/2000二、二、CPLD的组成与特点的组成与特点(1)CPLD结构(结构(2)逻辑宏单元()逻辑宏单元(3)可编程内连线()可编程内连线(4)可编程的)可编程的I/O控制块(控制块(5)CPLD的性能特点的性能特点4(1)CPLD结构结构?CPLD结构的结构的PLD芯片主要有:芯片主要有:?Altera的的MAX7000,MAX9000,MAX3000系列(系列(E2PROM工艺工艺)?Xilinx的的XC9500系列(系列(Flash工艺工艺)?Lattice,Cypress的大部分产品(的大部分产品(E2PROM/Flash工艺工艺)(1)CPLD结构结构C
18、PLD逻辑块逻辑块(LB)可编程内连线(可编程内连线(PI)可编程)可编程I/O控制块(控制块(I/O B)LBLogic BlocksPIProgrammable Interconnect I/O BI/O BlockMCMacroCellsPTAProductTerm ArrayPTDProductTerm Distribution以以MAX7000结构为例,其余基本类似结构为例,其余基本类似(1)CPLD结构结构?逻辑块逻辑块(LB)也称逻辑阵列块(也称逻辑阵列块(LAB)是)是PLD的基础,由它来实现基本的逻辑功能。的基础,由它来实现基本的逻辑功能。一个逻辑块一个逻辑块LB一般由一般由
19、8个逻辑宏单元构成个逻辑宏单元构成。(MAX7000 系列。不同厂家、不同系列的产品结构略有差异。系列。不同厂家、不同系列的产品结构略有差异。)?可编程连线可编程连线PI负责信号传递,连接所有的逻辑宏单元,或负责信号传递,连接所有的逻辑宏单元,或I/O与宏单元的连接。与宏单元的连接。?I/O 控制块控制块(IOB)负责输入输出引脚的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。负责输入输出引脚的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。(1)CPLD结构结构 199 8 A ltera C o rp o ratio nM A X 7 0 0 0 S In
20、 te rc o n n e ct S tru c tu rePIAI/O C on trol B lockL A BL A BL A BL A BL A BL A BL A BL A BL A BL A BL A BL A BL A BL A BL A BL A BL A B-L o g ic A rra y B lo c k,h a s 16 m ac ro cells(1)逻辑阵列块)逻辑阵列块(2)I/O控制块控制块(3)可编程互连阵列)可编程互连阵列Altera公司的MAX 7000S的结构框图Altera公司的MAX 7000S的结构框图CPLD内部结构(内部结构(Altera的的
21、MAX7000S系列)系列)逻辑块逻辑块(LB)也称逻辑阵列块(也称逻辑阵列块(LAB)可编程可编程I/O控制块控制块可编程内连线(可编程内连线(PI)逻辑阵列块中包含多个宏单元逻辑阵列块中包含多个宏单元(2)逻辑宏单元)逻辑宏单元?CPLD的的逻辑宏单元逻辑宏单元主要包括主要包括与或阵列与或阵列、触发器触发器和和多路选择器多路选择器等电路,能独立地配置为组合或时序工作方式。等电路,能独立地配置为组合或时序工作方式。?GAL器件的逻辑宏单元与I/O单元做在一起,称为输出逻辑宏单元(OLMC);?CPLD的逻辑宏单元都做在内部,称为内部逻辑宏单元。5(2)逻辑宏单元)逻辑宏单元 199 8 A
22、ltera C o rp o ratio nM A X 7 0 0 0 S M a c ro c e ll S tru c tu reP R NC L R NE N AL o g ic A rra yG lo b a lC le arS h a re d L o g ic E xp a nd e rsC le arC lockC le ar S e le ctR e g ister B yp a ssP a ra lle l E xp an d e rsto I/OB lockto P IAP ro du ct-T erm S elect M a trixfrom I/OP inG lo b
23、a lC lockQDE N36 S ig n a ls F ro m P IAF a st In p u t S ele ct2(1)逻辑阵列()逻辑阵列(3)可编程触发器()可编程触发器(2)乘积项选择矩阵)乘积项选择矩阵Altera公司MAX 7000S 宏单元结构(2)逻辑宏单元)逻辑宏单元乘积项逻辑阵列乘积项选择矩阵可编程触发器异或门或门?图的左侧是图的左侧是乘积项阵列乘积项阵列,实际就是一个,实际就是一个与阵列与阵列,每个交叉点都是一个,每个交叉点都是一个可编程点可编程点。通过。通过“与阵列与阵列”产生乘积项(最小项)。后面的产生乘积项(最小项)。后面的或门或门把按要求产生的乘积项
24、把按要求产生的乘积项“加加”起来,得到需要的输出组合逻辑函数。起来,得到需要的输出组合逻辑函数。或门乘积项逻辑阵列?图中的图中的异或门异或门用来控制组合逻辑函数的极性。用来控制组合逻辑函数的极性。异或门?图右侧是一个图右侧是一个可编程可编程D触发器触发器,它的,它的时钟,清零时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟。输入都可以编程选择,可以使用专用的全局清零和全局时钟。可编程触发器?由图可见,由图可见,CPLD的逻辑宏单元(也可称为的逻辑宏单元(也可称为逻辑单元逻辑单元LE)与)与GAL的的OLMC结构非常类似。结构非常类似。6(2)逻辑宏单元)逻辑宏单元?为提供所需要的
25、逻辑资源,可以借助可编程开关将同 一宏单元(或其他宏单元)中未使用的乘积项联合起来使用,这称为为提供所需要的逻辑资源,可以借助可编程开关将同 一宏单元(或其他宏单元)中未使用的乘积项联合起来使用,这称为乘积项共享乘积项共享。?每个宏单元中含有每个宏单元中含有两两个或项输出,每个或项均由固定的几个乘积项输入。个或项输出,每个或项均由固定的几个乘积项输入。?每个或项输出均可连接到每个或项输出均可连接到相邻相邻的宏单元。提高了各单元或门的使用效率,可实现较复杂的逻辑功能。的宏单元。提高了各单元或门的使用效率,可实现较复杂的逻辑功能。乘积项共享结构乘积项共享结构逻辑宏单元结构和I/O控制结构比GAL有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPLD FPGA 基础
限制150内