2019/8/3电工技术清华大学电机系唐庆玉2003年11月制作盗版剽窃必究清华大学电机系唐庆玉1997年制作如发现有人剽窃必定追究!第15章可编程逻辑器件(PLD)千岛湖风光千岛湖画面属唐庆玉个人创作,青山緑水蓝天白云,剽窃必究第40-41讲1.概述2.PLD的逻辑表示方法和图形符号3.PLD阵列结构及编程4.复杂可编程逻辑器件(CPLD)2019/8/3电工技术只读存储器补充分类:(1)掩膜ROM(2)PROM(ProgrammableROM,可编程ROM)(3)EPROM(ErasablePROM,紫外线擦除的PROM)(4)EEPROM(ElectricErasablePROM,电擦除的PROM)或写成E2PROM只读存储器(ReadOnlyMemory,ROM)功能:存储程序或数据,掉电后仍保留2019/8/3电工技术(1)二极管阵列的掩膜ROM二极管存贮矩阵字地址译码器W0W1W2W3A1A0字线位线地址线输出三态门D3D2D1D0数据线输出使能OEA1A0W3W2W1W0D3D2D1D00000011110010010010110010011001110000011每个单元所存数据2019/8/3电工技术(2)PROM(熔丝式)电路原理字线位线熔断丝2019/8/3电工技术(3)EPROM电路原理P沟道EPROM结构示意图(b)EPROM管字线位线+VCC(a)电极PPN基体DSSiO2浮空多晶硅栅P沟道增强型MOS管2019/8/3电工技术1.PLD概述PLD—ProgrammableLogicDevices大规模集成电路,集成了大量的门电路和触发器,用户可编程构成所需电路。清华大学电机系唐庆玉2003年11月15日编优点:(1)节省集成芯片的数量节省电路板面积,节省电耗,减少产品体积,降低成本(2)电路保密,不易被他人仿造2019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编PLD类型(1)PROM型(ProgrammableROM)(2)PLA型(ProgrammableLogicArray可编程逻辑阵列)(3)PAL型(ProgrammableArrayLogic可编程阵列逻辑)(4)GAL型(GenericArrayLogic通用阵列逻辑)(5)CPLD型(ComplexPLD)复杂简单2019/8/3电工技术2.PLD的逻辑表示方法及图形符号(1)PLD的逻辑表示方法固定连接编程连接不连接熔丝2019/8/3电工技术(2)PLD的图形符号缓冲门AAA相当于&1AAAABCY与门AY&BCABCY或门AY1BCABCYAY&B可编程连接或不连接2019/8/3电工技术PLD图形符号(续)与或门ABCDYACCDBCABY多输入端或门画法多输入端与门画法2019/8/3电工技术门电路符号中美对照表&≥11&≥1=1与或非与非或非异或2019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编3.PLD阵列结构及编程结构:AND逻辑阵列+OR逻辑阵列类型AND阵列OR阵列PROM连接固定可编程(一次性)PLA可编程(一次性)可编程(一次性)PAL可编程(可多次电擦除)连接固定GAL可编程(可多次电擦除)连接固定输出比PAL增加“可编程输出逻辑宏单元”使编程更灵活。2019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编(1)PROM的内部结构及编程AND阵列固定OR阵列可编程输出输入O2O1O0I2I1I02019/8/3电工技术例1用PROM实现半加器半加器逻辑式F=AB+AB=ABC=ABFCABBABABAAB如何用PROM实现全加器?2019/8/3电工技术例2用PROM实现三变量奇数校验电路ABCYABCCBACBACBAYABCY00000011010101101001101011001111真值表ABCCBACBACBACBABCACBACAB2019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编(2)PLA的内部结构及编程AND阵列可编程OR阵列可编程O2O1O0I2I1I0输出输入2019/8/3电工技术例3用PLA实现三八译码器A2A1A0000只=0Y0001只=0Y1111只=0Y7输出三八译码器真值表0120AAAY0121AAAY0127AAAY……A2A1A0Y0Y1Y7A2A1A0A2A1A02019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编(3)PAL的内部结构及编程(专用输出结构型)AND阵列可编程OR阵列固定输出0输入O0I2I1I0O1输出1实现组合逻辑电路(GAL结构类似)2019/8/3电工技术例4:写出PAL(GAL)阵列输出X的表达式英文教材《数字电子技术》习题选编清华大学电机系唐庆玉2002年9月16日XABCCBA××××××××BCBCACBAXBCCBCACBCACBB将此式化简2019/8/3电工技术例5:Y=AB+AC+BC,用PAL(GAL)阵列实现该式。BCACBACABABCBCAABCCBAABCCABABCAABCBBACCCABBCACABX)()()(英文教材《数字电子技术》习题选编清华大学电机系唐庆玉2002年9月16日XACB××××××××××××2019/8/3电工技术例6:分别在PROM和GAL阵列上画出七段显示译码器逻辑电路图Yaabcdefg译码器YbYcYdYeYfYgA3A2A1A0七段显示译码电路时钟(可定义成输入)2019/8/3电工技术七段显示译码电路真值表十进制数A3A2A1A0YaYbYcYdYeYfYg显示字形00000111111001000101100001200101101101230011111100134010001100114501011011011560110001111167011111100007810001111111891001111001192019/8/3电工技术用真值表设计Ya的逻辑表示式A3A2A1A0Ya000001100010200101300111401000501011601100701111810001910011用输出为1的项写出与或表达式,(不化简)0123012301230123012301230123AAAAAAAAAAAAAAAAAAAAAAAAAAAAYa同理写出Yb—Yg的逻辑表达式2019/8/3电工技术用PROM阵列实现七段显示译码器逻辑0123012301230123012301230123AAAAAAAAAAAAAAAAAAAAAAAAAAAAYaA3A2A1A0Ya×××××××YbYg2019/8/3电工技术A3A2A1A000110100100111101111111000无所谓项当1处理用卡诺图化简Ya的逻辑表示式Ya=A3+A2A0+A2A1+A2A0A3A2A1A0Ya0000011000102001013001114010005010116011007011118100019100112019/8/3电工技术在GAL阵列上实现七段显示译码器逻辑Ya=A3+A2A0+A2A1+A2A0英文教材《数字电子技术》习题选编清华大学电机系唐庆玉2002年9月16日YaA3A2A1A1A2A3A0A02019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编(4)PAL的内部结构及编程(寄存器输出结构型)功能:可编程组成记忆、计数、移位、寄存等时序逻辑电路I2I1I0反馈信号CLKOE输出使能三态输出DQQDQQ8输入8输出固定(GAL结构类似)2019/8/3电工技术(5)GAL的内部结构及编程GAL的内部结构与PAL基本一样,只是在输出端增加了“可编程输出逻辑宏单元”,其输出状态可由用户定义,这样,使编程更灵活。GAL16V8I0/CLKI1I2I3I4I5I6I7I8GNDVCCF7F6F5F4F3F2F1F0I9/OE20111012-9脚输入(固定)1脚时钟(可定义成输入)11脚输出使能(可定义成输入)12-19脚输出(也可定义成输入)I/OOI/O2019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编例7用PAL(或GAL)组成二位减法器CLKFBFA011110201300411SCLKOE输出使能FADQQDQQFBQBQAQAQAQBQBSS状态方程SQSQQnAnAnA1nAnAQQS1,1nBnAnBnAnBQQQQQS1,1SQSQQQQQnBnBnAnBnAnB)(10011010100:ABQQ2019/8/3电工技术例8GAL16V8型GAL可编程逻辑器件的编程方法介绍GAL16V8I0/CLKI1I2I3I4I5I6I7I8GNDVCCF7F6F5F4F3F2F1F0I9/OE2011101A0A1A2A3A4A5A6A7A8A11Y6Y5Y4Y3Y2Y1A10A9输入输出定义FASTMAPGAL编程源文件1:GAL16V8;型号2:LogicGates;设计电路名称3:2003.10;日期4:TANG;设计人5:A0A1A2A3A4A5A6A7A8GND;1-10脚定义6:A9A10Y1Y2Y3Y4Y5Y6A11VCC;11-20脚定义Y1=A9A10Y2=A7+A8Y3=A5A6Y4=A3+A4Y5=A1A2+A1A2Y6=A0A11+A0A117:Y1=A9*A10;逻辑运算8:Y2=A7+A89:Y3=/A5+/A610:Y4=/A3*/A411:Y5=A1*/A2+/A1*A212:Y6=A0*A11+/A0*/A1113:DESCRIPTION;结束2019/8/3电工技术4.复杂可编程逻辑器件(CPLD)CPLD型号:AlteraEPF10K10LC84-4•内部有6000门以上,可编程组成各种组合逻辑电路、触发器、寄存器、计数器等复杂数字电路•速度达40MHz~200MHz•84引脚,其中59个可用于I/O引脚•可由单片机或PC机控制•编程语言:MAX+PLUS29.23(1)特性电路绘图法编程软件(GraphicEditorfile)数字硬件描述语法(AHDL描述语法)2019/8/3电工技术(2)CPLD实验系统框图CPLD下载板I/O实验板RS-232AlteraCPLD芯片:EPF10K10LC84-4串行E2PROM:SE2PROM,8KB按钮,开关,键盘,数码管,单脉冲,连续脉冲2019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编CPLD下载板元件分布图CPLD芯片P01~P42引脚插座P43~P84引脚插座SEEPROM稳压块RS-232串行接口单片机插座振荡器2019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编I/O实验板元件分布图P55P56P57P58P60P61P62P63P64P65P66P67P69P70P71P72P01P02P03P04P06P07P08P09P34P35P36P37P39P40P41P42SWP1SWP2SWP3SWP41023546798ABDCEF6个七段LED数码管3个8位逻辑输入开关16个逻辑电平检测LED3个CPLD下载板插座J1J2J316个逻辑电平检测LED1个57点阵LED显示器1个米字形LED显示器44矩阵键盘2个连续可调脉冲发生器4个单脉冲按键P81P82P83P842019/8/3电工技术清华大学电机系唐庆玉2003年11月15日编例1用绘图法设计“投币洗衣机电路”设计思路:投币数5,OK=1,洗衣机启动。只投1分硬币,用按键SWP1模拟,按一次投1分,用三位计数器Q1CQ1BQ1A表示;只投2分硬币,用按键SWP2模拟,按一次投2分,用二位计数器Q2BQ2A表示;只投5分硬币,用按键SWP3模拟,按一次投5分,用