可编程逻辑器件--PLDEDA工作室E-mail:Zhongyou@public.wh.hb.cn课程简介《脉冲与数字电路》为基础:学习了数字电路的基本设计方法。《可编程逻辑器件》:面向实际工程应用,紧跟技术发展,掌握数字系统新的设计方法。《数字信号处理》:后续课程,应用的一个方面,由FPGA代替DSP来实现算法,提高系统的速度。课程宗旨更新数字电路的设计观念,建立用PLD器件取代传统TTL器件设计数字电路的思想更新数字系统设计手段,学会使用硬件描述语言(HardwareDescriptionLanguage)代替传统的数字电路设计方法来设计数字系统。数字电路的基本组成任何组合电路都可表示为其所有输入信号的最小项的和或者最大项的积的形式。时序电路包含可记忆器件(触发器),其反馈信号和输入信号通过逻辑关系再决定输出信号。输入电路输出电路或阵列与阵列输入项乘积项或项可编程逻辑器件的定义逻辑器件:用来实现某种特定逻辑功能的电子器件,最简单的逻辑器件是与、或、非门(74LS00,74LS04等),在此基础上可实现复杂的时序和组合逻辑功能。可编程逻辑器件(PLD--ProgrammableLogicDevice):器件的功能不是固定不变的,而是可根据用户的需要而进行改变,即由编程的方法来确定器件的逻辑功能。74LS00是TTL与非门,高电平4V左右,低电平1V左右vcc4A4B4Y3A3B3Y------------------------------1413121110981234567------------------------------1A2A1Y2A2B2YGNDY=nor(AandB)与非门经常用来实现组合逻辑的运算,74LS08是2输入四正与门集成电路芯片,常用在各种功能的数字电路系统中.74ls04是带有6个非门的芯片,他的功能表就不用说了搞电子的地球人应该都知道的,引脚功能图详见下面:还有一类是可编程逻辑器件,称为PLD(ProgrammableLogicalDevice)。如图2所示:可编程器件•大多数典型的PLD器件是由二级组合网络构成的。•通常第一级是“与”阵列;•第二级是“或”阵列。•输入连接“与”阵列,在其中进行“与”逻辑组合,形成乘积项。•然后乘积项转入“或”阵列,在“或”阵列中由不同的乘积项构成所要求的逻辑函数输出。可编程逻辑器件的发展历程70年代80年代90年代PROM和PLA器件改进的PLA器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPC可编程逻辑器件的分类图3-2按集成度(PLD)分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA简单PLD原理电路符号表示图3-3常用逻辑门符号与现有国标符号的对照电路符号表示图3-4PLD的互补缓冲器图3-5PLD的互补输入图3-6PLD中与阵列表示图3-7PLD中或阵列的表示图3-8阵列线连接表示乘积项与门BL1AL2L3G1L=A+B+C+DDDDDDABC或项或门01AB例:输出或门阵列与门阵列输入BAYZ基本的PLD结构与阵列可编程或阵列固定PROM结构与阵列为全译码阵列,器件的规模将随着输入信号数量n的增加成2n指数级增长。因此PROM一般只用于数据存储器,不适于实现逻辑函数。EPROM和EEPROMPROM地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp2图3-9PROM基本结构:0111201110110...AAAWAAAWAAAWnnnn其逻辑函数是:PROM图3-10PROM的逻辑阵列结构与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp201,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp逻辑函数表示:PROM图3-11PROM表达的PLD图阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F图3-12用PROM完成半加器逻辑阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F01110100AAFAAAAF用PROM实现组合逻辑电路功能实现的函数为:BABAF1BABAF2BAF3固定连接点(与)编程连接点(或)PLA结构PLA的内部结构在简单PLD中有最高的灵活性。PLA图3-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0FPLA图3-14PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2F1PAL结构与阵列可编程使输入项增多,或阵列固定使器件简化。与项有被浪费的情况且寄存器和I/O数量有限。或阵列固定明显影响了器件编程的灵活性PAL0A1A1F0F0A1A1F0F图3-15PAL结构:图3-16PAL的常用表示:•PAL实现逻辑函数的原理用与或阵列实现全加器。An、Bn-加数,被加数Cn-低位进位Cn+1-本位进位Sn-和数全加器的最简与或表达式:nnnnnnnnnnnnnnnnnnnnCBCABACCBACBACBACBAS1二.PAL、GAL结构BnAn“或”阵列(固定)SnCn+1“与”阵列(可编程)CnnnnnnnnnnnnnnnnnnnnnCBCABACCBACBACBACBAS1AnBnCnAnBnCnAnBnCnAnBnCnAnBnAnCnBnCn二.PAL、GAL结构在与/或阵列的基础上再增加触发器,便可以构成既可以实现组合逻辑功能,又可以实现实现时序逻辑功能的PLD器件了。•PAL实现逻辑函数的原理(续)二.PAL、GAL结构PAL11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831图3-17一种PAL16V8的部分结构图I/CLKI/OEIIIIIIIIGNDVCCI/OI/OI/OI/OI/OI/OI/OI/OGAL16V8引脚分布2GAL结构(以GAL16V8为例)组成:8个输入缓冲器8个输出/反馈缓冲器8个三态输出缓冲器8个输出逻辑宏单元1个时钟输入CLK缓冲器1个输出使能缓冲器①1个可编程的与阵列1个可编程的与阵列8个输入缓冲器8个输出/反馈缓冲器8个三态输出缓冲器8个输出逻辑宏单元1个时钟输入CLK缓冲器1个输出使能缓冲器二.PAL、GAL结构•输出逻辑宏单元(OLMC)结构1个或门1个异或门1个D触发器4个多路开关结构控制字SYN二.PAL、GAL结构输出逻辑宏单元OLMC(n)的5种组态1.OLMC(n)的功能取决于熔丝状态SYN、AC0及AC1(n)。取不同的SYN、AC0及AC1(n)组合,可以得到宏单元OLMC(n)的不同的等效电路,或称不同的组态。2.GAL16V8的OLMC(n)宏单元的5种组态,如表9.1.6所示。3.在ABEL器件库中,根据GAL16V8的不同工作模式,给GAL16V8器件三个工业标号,如表9.1.7所示。OMUX11100001TSMUXFMUXPTMUXOEVCCCLKDQQAC0AC1(n)XOR(n)*AC0AC1(n)来自相邻引脚(m)至相邻宏单元*对OLMC0和OMLC7宏单元,反馈通道的AC0由SYN代替110×10110×1010110100GAL输出宏单元结构时序工作方式:AC0AC1(n):10;模式组合工作方式:AC0AC1(n):11;00;01模式结构控制位:AC0-全局位,AC1(n)-局部位OMUX11100001TSMUXFMUXPTMUXOECLKDQQAC0=1AC1(n)=0XOR(n)*AC0AC1(n)来自相邻引脚至相邻宏单元110×10110×1010110×寄存器输出结构特点:允许8个乘积项,存在内部反馈OMUX11100001TSMUXFMUXPTMUXAC0=1AC1(n)=1XOR(n)*AC0AC1(n)来自相邻引脚至相邻宏单元110×10110×1010110×带反馈的组合输出结构特点:允许7个乘积项,双向输入、输出,有三态控制OMUX11100001TSMUXFMUXPTMUXVCCAC0=0AC1(n)=0XOR(n)*AC0AC1(n)来自相邻引脚110×10110×10101100专用组合输出结构特点:允许8个乘积项,单向输出,无反馈。GAL图3-23专用输入结构图3-24复合输出反馈结构表9.1.7GAL16V8器件三个工业标号器件工业标号意义GAL16V8P16V8S简单模式SYN=1,AC0=0P16V8C复合模式SYN=1,AC0=1P16V8R寄存器模式SYN=0,AC0=1GAL16V8的工作模式1234567891020191817161514131211P16V8SI0I1I2I3I4I5I6I7I8GNDVCCI11F5F4F3F2F1F0I10I9+5V组合输出单向引脚1234567891020191817161514131211P16V8CI0I1I2I3I4I5I6I7I8GNDVCCF1B5B4B3B2B1B0F0I9+5V组合输出双向引脚组合输出单向引脚组合输出单向引脚1234567891020191817161514131211P16V8RCLKI1I2I3I4I5I6I7I8GND+5V寄存器输出单向引脚VCCB1R5R4R3R2R1R0B0OE组合输出双向引脚组合输出双向引脚图9.1.5GAL16V8工作于简单模式图图9.1.6GAL16V8工作于复合模式图9.1.7GAL16V8工作于寄存器模式课程内容器件为什么能够编程了解大规模可编程逻辑器件的结构及工作原理怎样对器件编程熟悉一种EDA软件的使用方法(工具)以Altera公司的QuartusII为例掌握一种硬件描述语言(方法),以设计软件的方式来设计硬件(重点)以Verilog语言为例参考书王金明,数字系统设计与VerilogHDL,电子工业出版社。杨晖,大规模可编程逻辑器件与数字系统设计,北京航空航天大学出版社。褚振勇,FPGA设计及应用,西安电子科技大学出版社。www.fpga.com.cn等等脉冲与数字电路课程的回顾布尔函数--数字系统数学基础(卡诺图)数字电路设计的基本方法组合电路设计问题逻辑关系真值表化简逻辑图时序电路设计列出原始状态转移图和表状态优化状态分配触发器选型求解方程式逻辑图脉冲与数字电路课程的回顾使用中、小规模器件设计电路(74、54系列)编码器(74LS148)译码器(74LS154)比较器(74LS85)计数器(74LS193)移位寄存器(74LS194)………脉冲与数字电路课程的回顾设计方法的局限卡诺图只适用于输入比较少的函数的化简。采用“搭积木”的方法的方法进行设计。必须熟悉各种中小规模芯片的使用方法,从中挑选最合适的器件,缺乏灵活性。设计系统所需要的芯片种类多,且数量很大。脉冲与数字电路课程的回顾采用中小规模器件的局限电路板面积很大,芯片数量很多,功耗很大,可靠性低--提高芯片的集成度设计比较困难--能方便地发现设计错误电路修改很麻烦--提供方便的修改手段PLD器件的出现改变了这一切管脚数目:208个电源:3.3V(I/O)2.5V(内核)速度250MHz内部资源4992个逻辑单元10万个逻辑门49152bit的RAMPLD的发展趋势向高集成度、高速度方向进一步发展最高集