《数字电子技术基础》第五版第八章可编程逻辑器件《数字电子技术基础》第五版第八章可编程逻辑器件(PLD,ProgrammableLogicDevice)8.1概述一、PLD的基本特点1.数字集成电路从功能上有分为通用型、专用型两大类2.PLD的特点:是一种按通用器件来生产,但逻辑功能是由用户通过对器件编程来设定的数字系统《数字电子技术基础》第五版二、PLD的发展和分类PROM是最早的PLD1.PAL可编程阵列逻辑2.FPLA现场可编程阵列逻辑3.GAL通用阵列逻辑4.EPLD可擦除的可编程逻辑器件5.FPGA现场可编程门阵列6.ISP-PLD在系统可编程的PLD《数字电子技术基础》第五版三、LSI中用的逻辑图符号《数字电子技术基础》第五版8.2现场可编程逻辑阵列FPLA组合电路和时序电路结构的通用形式A0~An-1W0W(2n-1)D0Dm《数字电子技术基础》第五版8.2FPLA组合电路和时序电路结构的通用形式可编程的“或”阵列可编程的“与”阵列《数字电子技术基础》第五版8.3PAL(ProgrammableArrayLogic)8.3.1PAL的基本电路结构一、基本结构形式可编程“与”阵列+固定“或”阵列+输出电路最简单的形式为:二、编程单元出厂时,所有的交叉点均有熔丝《数字电子技术基础》第五版8.3.2PAL的输出电路结构和反馈形式一.专用输出结构用途:产生组合逻辑电路《数字电子技术基础》第五版二.可编程输入/输出结构用途:组合逻辑电路,有三态控制可实现总线连接可将输出作输入用《数字电子技术基础》第五版三.寄存器输出结构用途:产生时序逻辑电路《数字电子技术基础》第五版四.异或输出结构时序逻辑电路还可便于对“与-或”输出求反《数字电子技术基础》第五版五.运算反馈结构时序逻辑电路可产生A、B的十六种算术、逻辑运算《数字电子技术基础》第五版8.3.3PAL的应用举例《数字电子技术基础》第五版2、输出结构类型太多,给设计和使用带来不便。2、输出端设置了可编程的输出逻辑宏单元(OLMC)通过编程可将OLMC设置成不同的工作状态,即一片GAL便可实现PAL的5种输出工作模式。器件的通用性强;GAL的优点:1、由于采用的是双极型熔丝工艺,一旦编程后不能修改;PAL的不足:1、采用电可擦除的E2CMOS工艺可以多次编程;3、GAL工作速度快,功耗小《数字电子技术基础》第五版8.4通用逻辑阵列GAL8.4.1电路结构形式可编程“与”阵列+固定“或”阵列+可编程输出电路OLMC编程单元采用E2CMOS可改写《数字电子技术基础》第五版GAL的电路结构与PAL类似,由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路组成,但GAL的输出端增设了可编程的的输出逻辑宏单元(OLMC)。通过编程可将OLMC设置为不同的工作状态,可实现PAL的所有输出结构,产生组合、时序逻辑电路输出。《数字电子技术基础》第五版可编程与阵列(32X64位)2、GAL举例——GAL16V8的电路结构图8个输入缓冲器2~98个反馈/输入缓冲器8个三态输出缓冲器12~198个输出逻辑宏单元OLMC输出使能缓冲器《数字电子技术基础》第五版可编程逻辑器件中的宏单元>DQQ输出COECLK输入《数字电子技术基础》第五版8.4.2OLMC数据选择器《数字电子技术基础》第五版数据选择器《数字电子技术基础》第五版乘积项数据选择器(2选1)输出数据选择器(2选1)三态数据选择器(4选1)反馈数据选择器(4选1)4个数据选择器:用不同的控制字实现不同的输出电路结构形式《数字电子技术基础》第五版乘积项数据选择器:根据AC0和AC1(n)决定与逻辑阵列的第一乘积项是否作为或门的一个输入端。只有在G1的输出为1时,第一乘积项是或门的一个输入端。乘积项数据选择器(2选1)《数字电子技术基础》第五版OMUX:根据AC0和AC1(n)决定OLMC是组合输出还是寄存器输出模式输出数据选择器(2选1)——OMUX《数字电子技术基础》第五版三态数据选择器(4选1)三态数据选择器受AC0和AC1(n)的控制,用于选择输出三态缓冲器的选通信号。可分别选择VCC、地、OE和第一乘积项。工作AC0AC1(n)TX(输出)01地电平00VCC10OE11第一乘积项工作高阻OE=1,工作OE=0,高阻1,工作0,高阻三态缓冲器的工作状态《数字电子技术基础》第五版FMUX:根据AC0和AC1(n)的不同编码,使反向传输的电信号也对应不同。反馈数据选择器(4选1)——OMUX《数字电子技术基础》第五版功能组合SYNAC0AC1(n)XOR(n)输出相位备注专用输入101——1,11脚为数据输入端,输出三态门禁止专用组合输出10001反相同相1,11脚为数据输入端,组合输出,三态门选通反馈组合输出11101反相同相同上,三态门由第一乘积项选通,反馈取自I/O口时序电路中的组合输出01101反相同相1脚接CP,11脚接OE,该宏单元为组合输出,但至少有一个宏单元为寄存器输出寄存器输出01001反相同相1脚接CP,11接OE《数字电子技术基础》第五版1.通用阵列逻辑(GAL)在PLA和PAL基础上发展起来的增强型器件.电路设计者可根据需要编程,对宏单元的内部电路进行不同模式的组合,从而使输出功能具有一定的灵活性和通用性。2.复杂可编程逻辑器件(CPLD)集成了多个逻辑单元块,每个逻辑块就相当于一个GAL器件。这些逻辑块可以通过共享可编程开关阵列组成的互连资源,实现它们之间的信息交换,也可以与周围的I/O模块相连,实现与芯片外部交换信息。《数字电子技术基础》第五版5.GAL的编程与开发HDL描述电路功能验证、仿真排错、优化编译熔丝图文件编程器GAL器件输入状态表状态图逻辑方程原始设计要求软件工具硬件工具《数字电子技术基础》第五版8.5可擦除的可编程逻辑阵列EPLD一、结构特点相当于“与-或”阵列(PAL)+OLMC二、采用EPROM工艺集成度提高《数字电子技术基础》第五版8.7现场可编程门阵列FPGA一、基本结构1.IOB2.CLB3.互连资源4.SRAM《数字电子技术基础》第五版1.IOB可以设置为输入/输出;输入时可设置为:同步(经触发器)异步(不经触发器)《数字电子技术基础》第五版2.CLB本身包含了组合电路和触发器,可构成小的时序电路将许多CLB组合起来,可形成大系统《数字电子技术基础》第五版3.互连资源《数字电子技术基础》第五版4.SRAM分布式每一位触发器控制一个编程点《数字电子技术基础》第五版二、编程数据的装载1.数据可先放在EPROM或PC机中2.通电后,自行启动FPGA内部的一个时序控制逻辑电路,将在EPROM中存放的数据读入FPGA的SRAM中3.“装载”结束后,进入编程设定的工作状态!!每次停电后,SRAM中数据消失下次工作仍需重新装载《数字电子技术基础》第五版8.8在系统可编程通用数字开关(ispGDS)ispGDS22的结构框图《数字电子技术基础》第五版8.9PLD的编程以上各种PLD均需离线进行编程操作,使用开发系统一、开发系统1.硬件:计算机+编程器2.软件:开发环境(软件平台)VHDL,Verilog真值表,方程式,电路逻辑图(Schematic)状态转换图(FSM)《数字电子技术基础》第五版二、步骤•抽象(系统设计采用Top-Down的设计方法)•选定PLD•选定开发系统•编写源程序(或输入文件)•调试,运行仿真,产生下载文件•下载•测试《数字电子技术基础》第五版isp器件的编程接口(Lattice)开发环境•使用ispPLD的优点:•*不再需要专用编程器•*为硬件的软件化提供可能•*为实现硬件的远程构建提供可能