CPLD开发系统设计 .doc
《CPLD开发系统设计 .doc》由会员分享,可在线阅读,更多相关《CPLD开发系统设计 .doc(42页珍藏版)》请在三一办公上搜索。
1、目 录引言3一CPLD结构原理简介3(一)EPLD系列芯片简介3(二)FLEX系列器件简介7二Altera CPLD器件的配置10(一)主动串行配置(AS)方式11(二)被动串行配置方式(PS)12(三)被动并行同步(PPS)配置方式12(四)被动并行异步(PPA)配置方式13三并口下载电缆ByteBlaster的原理及构成14(一)原理14(二)ByteBlaster构成15(三)软件设置16四单片机配置FLEX 10K器件17(一)配置原理18(二)配置电路设计设计19(三)单片机软件设计20(四)单片机与PC机串口通讯22总结26致谢词27附 录 英文文献27参 考 文 献38CPLD开
2、发系统设计 -CPLD器件配置与下载电路设计王庆伟摘 要本设计着重讨论由ALTERA公司的生产的CPLD器件中最常用的MAX7000S系列和FLEX系列芯片的配置与下载.介绍了并口下载电缆 BYTEBLASTER 构成原理及使用方法,利用下载电缆不但可以用来对FLEX系列器件进行配置重构,而且可以用来对MAX9000以及MAX7000S/MAX7000A等器件进行在线编程,因此给电路设计人员调试电路带来极大的方便。由于下载电缆不能脱机工作,而FLEX系列芯片是以可重新配置的CMOS SRAM单元为基础构成,在每次上电后要对芯片进行重新配置。那么在FLEX系列芯片的应用中,讨论实用有效的加载方式
3、尤为重要.由单片机和FLASH存储器组成的被动串行配置(PS)方式,从系统复杂度、可靠性和经济性等方面进行比较和分析, 它是一种简便、实用的脱机串行加载方案。关键词 CPLD FLEX BYTEBLASTER 单片机 FLASH PSThe design of CPLD development system -The design of CPLD machine piece installs with download the electric circuit AbstractThe install and download of the most in CPLD frequently use
4、d the series of MAX7000S and FLEX series chip that product from the company of ALTERA is what this design discussed .It Introduced that a combine electric cable for downloading named BYTEBLASTER constituting principle and operation methods, this downloading electric cable not only can be used to rei
5、nstall of the FLEX series machine piece, but also can be used to proceeds the on-line plait distance of MAX9000 and MAX7000S and MAX7000A etc. so it can give great convenience to the person who designing the electric circuit .Because downloading the electric cable cant work without the machine , and
6、 the FLEX series chip is based on the unit of CMOS SRAM which can be relocation ,remanding to proceed the relocation to the chip after every time ascend give or get an electric shock. So in application of FLEX series chip, It is particularly importance that discuss the practical and effectively way
7、for adding to carry the project . the method of install( PS) passive a line that saving machine in FLASH constitute and the single chip microcomputer combine to proceeded the comparison with analyze with economic etc. Considering the complicated degree, dependable in system , it is a kind of simple,
8、 effectively and without machine that add to carry the project method .Key words CPLD FLEX BYTEBLASTER SINGLE CHIP MICROCOMPUTER FLASH PS 引言随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋进步和完善的高密度现场可编程逻辑器件设计技术。高密度现场可编程逻辑器件(CPLD/FPGA)能够将大量逻辑功能集成于一个单片IC之中,对基于E2PROM(或Flash Memory)工艺的器件,配置数据
9、在掉电后不会丢失,可以直接采用ByteBlaster并口下载电缆进行配置,但基于该架构的器件的集成度较低,一般在10万门以下;然而对基于SRAM工艺的器件,配置数据在器件掉电后会丢失,但基于该架构的器件的集成度相对较高,一般在1万门以上。 由于当前项目开发中所需使用的可编程逻辑器件的集成度要求越来越高,基于SRAM工艺的器件得到越来越广泛的使用,那么此时如何将配置数据成功地写入目标器件,并且保证其在掉电再上电后能够自动恢复配置数据,成为电子设计工程师能否正确使用基于SRAM工艺的器件必须掌握的一项技术。 针对基于SRAM工艺的器件的下载配置问题,本文介绍采用单片机(AT89C52)配合FLAS
10、H存储器,编程电压只需5V,实现CPLD/FPGA器件的被动串行(PS)模式的下载配置。一CPLD结构原理简介CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件) 是由用户编程实现所需逻辑功能的数字集成电路。目前,由Altera公司的生产的CPLD系列最具有代表性,分为EPLD(Electronic PLD,电可擦除可编程逻辑器件)和FLEX(Flexible Logic Element Matrix,灵活的逻辑单元阵列)系列产品。(一)EPLD系列芯片简介MAX 7000系列器件是高密度、高性能的CMOS EPLD,采用先进的CMOS EEPRO
11、M技术制造的。用户可编程的MAX7000结构可容纳各种各样独立的组合逻辑和时序逻辑函数。在设计和开发阶段,MAX7000器件可以快速而有效地重新编程,并保证可编程擦除100次。MAX7000包含32256个宏单元。每16个宏单元组成一个逻辑阵列块LAB,同时,每个宏单元有一个可编程的“与”阵和固定的“或”阵,以及一个具有独立可编程时钟、时钟使能、清除和置位功能的可配置触发器。为了能构成复杂的逻辑函数,每个宏单元可使用共享扩展乘积项和高速并联扩展乘积项,向每个宏单元提供多达32个乘积项。1芯片的内部结构1.1逻辑阵列块(LAB)MAX7000结构主要是由高性能的、灵活的逻辑阵列块(简称为逻辑阵列
12、块)以及它们之间的练线构成,如下图:图1.1 MAX7000结构方块图LAB由16个宏单元阵组成,多个LAB通过可编程连线(PIA)和全局总线连接在一起,全局总线由所有的专用输入、I/O引脚和宏单元馈给信号。每个LAB有如下输入信号:来自通用输入的PIA的36个信号。用于寄存器辅助功能的全局控制信号。从I/O引脚到寄存器的直接输入通道,用以实现MAX7000器件的快速建立时间。1.2 宏单元MAX7000宏单元能够独立的配置为时序逻辑和组合逻辑工作方式。宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器。逻辑阵列用来实现组合逻辑它给每个宏单元提供5个乘积项。“乘积项选择矩阵”分配这
13、些乘机项作为到“或”门和“异或”门的主要输入,以实现组合函数;或者把这些乘积项作为宏单元触发器的辅助输入:清除、置位、时钟和时钟使能控制。每个宏单元的一个乘积项可以反相回送到逻辑阵列。这个“可共享”的乘积项能够连到同一个LAB中的任何其它乘积项上。根据设计的逻辑需要,MAXPLUS能自动优化乘积项分配。左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时
14、钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。图1.2宏单元MAX 7000系列的高密度器件是MAX 7000E,它们包括:EPM 7128E、EPM 7160E、EPM 7192E和、EPM 7256E。这些器件的名称都以E结尾,表示有几个增强的特性,即附加全局时钟、附加输出使能控制、增加连线资源、快速输入寄存器。作为寄存器功能,每个宏单元的触发器可以单独地编程为具有可编程时钟控制的D、T、JK或SR触发器工作方式。如果需要的话,可把寄存器旁路,以实现组合逻辑工作方式。触发器也支持异步清除和异步置位功能,乘积项选择矩阵分配乘积项来控制这些操作,显然乘积
15、项驱动触发器的置位和复位信号是高电平有效,但在逻辑阵列中将信号反相可得到低电平有效的控制。此外,每个触发器的复位功能可以由低电平有效的、专用的全局复位引脚GCLKn信号来驱动。1.3扩展乘积项尽管大多数逻辑函数能够用每个宏单元中的5个乘积项实现,但某些逻辑函数更为复杂,需要附加乘积项。为提供所需的逻辑资源,可以利用另一个宏单元,但是MAX7000结构也允许利用共享和并联扩展乘积项(扩展项)作为附加的乘积项直接送到本LAB的任意宏单元中。利用扩展项可保证在实现逻辑综合时,用尽可能少的逻辑资源,实现尽可能快的工作速度。()共享扩展项。每个LAB有多达16个共享扩展项。共享扩展项就是由每个宏单元提供
16、一个未投入使用的乘积项,并将它们反相后反馈到逻辑阵列,便于集中使用。()并联扩展项。并联扩展项是一些宏单元中没有使用的乘积项,并且这些乘积项可分配到邻近的宏单元去实现快速复杂的逻辑函数并联扩展项允许多达20个乘积项直接馈送到宏单元的“或”逻辑,其中5个乘积项是由宏单元本身提供的,15个并联扩展项是由LAB中邻近宏单元提供的每个LAB中有两组宏单元,每组含有8个宏单元(例如,一组为1到8,另一组为9到16)在LAB中形成2个出借或借用并联扩展项的链一个宏单元可以从较小编号的宏单元中借用并联扩展项例如,宏单元8能够从宏单元7,或从宏单元7和6,或从宏单元7、6和5中借用并联扩展项。在有8个宏单元的
17、每个组中,最小编号的宏单元仅能出借并联扩展项;而最大编号的宏单元仅能借用并联扩展项。图5.6示出了扩展项是如何从邻近的宏单元中借用的。1.4可编程练线阵列(PIA)通过可编程连线阵列把各LAB相互连接构成所需的逻辑。这个全局总线是可编程的通道,它把器件中任何信号源连到其目的地。所有MAX7000的专用输入、I/O引脚和宠单元输出均馈送到PIA,PIA可把这些信号送到整个器件内的各个地方。EEPROM单元控制2输入“与门”的一个输入端,以选择驱动LAB的PIA信号。在掩膜或现场可编程门阵列(FPGA)中基于通道布线方案的布线延时是累加的、可变的,且是与路径有关的;而MAX7000的PIA有固定延
18、时。因此,PIA消除了信号之间的时间偏移,使得时间性能容易预测。1.5 I/O控制块I/O控制块允许每个I/O引脚单独地配置成输入输出或双向工作方式。所有I/O引脚都有一个三态缓冲器,它能由全局输出使能信号中的一个控制,或者把使能端直接连接到地(GND)或电源(VCC)上。2. 乘积项结构的逻辑实现原理 下面我们以一个简单的电路为例,具体说明PLD是如何利用以上结构实现逻辑的,电路如下图:图1.3假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我们以!D表示D的“非”)EPLD将以下面的方式来实现组合逻辑f:图1.4A,B,C,D由
19、EPLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 。这样组合逻辑就实现了。 图1.3电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样EPLD就完成了图1.4所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)图1.4的电路是一个
20、很简单的例子,只需要一个宏单元就可以完成。但对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样CPLD就可以实现更复杂逻辑。这种基于乘积项的EPLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。(二)FLEX系列器件简介FLEX系列器件采用重复可构造的COMS SRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时也结合了众多可编程逻辑器件的优点,来完成普通门阵列的宏功能。本文以FLEX 10K器件为例展开介绍。每个FLEX 1
21、0K器件还包括一个嵌入式阵列和一个逻辑阵列,它能让设计人员轻松地开发出集成存贮器、数字信号处理器及特殊逻辑等强大功能于一身的芯片。FLEX 10K 的逻辑功能和互连关系是由COMS SRAM 单元配置的。系统加电时,通存贮在一个Altera提供的串行配置EPROM器件中的数据或由系统控制器提供的数据对FLEX10K器件进行配置。FLEX 10K主要由嵌入式阵列块、逻辑阵列块、FastTrack和I/O单元四部分组成。由图可以看出,一组LE组成了一个LAB,LAB是排列成行和列的,每一行也包含一个EAB。LAB和EAB是由快速通道连接的,IOE处于快速通道连线的行和列的两端。FLEX 10K器件
22、还提供了6个专用输入引脚,这些引脚用来驱动触发器的控制端,以确保控制信号高速、低偏移(1.2ns)地有效分配。这些信号使用了专用的布线支路,以便具有比快速通道更短的延迟和更小的偏移。专用输入中的4个输入引脚可用来驱动全局信号,这4个全局信号也能由内部逻辑驱动,它为时钟分配或产生用以清除器件内部多个寄存器的异步清除信号提供了一个理想的方法。2.1 FLEX 10K的 EABFELX 10K中的嵌入式阵列是由一系列用于实现逻辑功能和具有存贮功能的EAB组成的。EAB(嵌入式阵列块)的概念源于门阵列的嵌入式功能,为了使复杂的功能在尽可能小的硅片上得以实现,需把定制的硅片放在门阵列基片之上。Alter
23、a公司首先把这一技术应用于FLAX 10K器件系列。当要实现有关存贮器功能时,每一个EAB提供2048位用来构造RAM、ROM、FIFO、或双口RAM等功能。嵌入式阵列就是由一系列的EAB构成的。(1)EAB的结构每个FLEX10KEAB含有2048bit的RAM,其数据线的最大宽度为8bit、地址线最大宽度为11bit,它与可编程门阵列(FPGA)中的分布式RAM不同,FLEX10KEAB的设计功能保证可预测的并且易于使用的定时关系。(2)用EAB实现RAM功能EABRAM的大小是很灵活的。也就是说,用户并不局限于毛一种RAM配置,如以1 bit为单位的2048个存贮字。图1.31.7给出了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPLD开发系统设计 CPLD 开发 系统 设计

链接地址:https://www.31ppt.com/p-4146347.html