GAL器件特点:可重复编程至上万次,编程后的数据能保存20年以上。其电路结构在可编程“与或 ”阵列的基础上,增加了输出可编程的逻辑宏单元OLMC(Output Logic Micro Cell)电路。
现以GAL16V8器件为例加以说明,GAL16V8部分电路:
电路采用可编程“与阵” 和固定的“或阵”构成,每个输出增加了可编程的输出逻辑宏单元OLMC电路。“与阵”中具有8个专用输入变量,8个反馈变量,共64个“与项”;输出8个逻辑宏单元,每个宏单元中有一个8输入的固定或门。
逻辑宏单元结构:
有两个2/1和两个4/1多路选择器,一个异或门和一个触发器等电路。它们的作用分别说明如下,PTMUX(乘积项2/1选择器):用来选择来自与阵的第一个乘积项是否作为或门的一个输入。TSMUX(4/1三态选择器):决定输出三态门使能控制信号。OMUX(2/1输出选择器):决定输出信号是直接输出还是经寄存器输出。FMUX(反馈8/1数据选择器):但输入只有4个,选择反馈信号接回到“与阵列”的输入来源。
OLMC的工作模式有5种,它由结构控制字中的SYN,ACO,ACI(n),XOR(n) 的状态指定。
(1) SYN=1,ACO=0,ACI(n)=1:专用工作模式
简化等效电路为:
此时输出三态门输出高阻态,I/O只能作为输入使用,作为送到相邻的输入信号。
(2)SYN=1,ACO=0,ACI(n)=0:专用组合输出模式
简化电路如图:
此时输出三态门为选通状态,电路为一个组合输出电路。XOR=0,输出为低电平有效;XOR=1,输出高电平有效。
(3)SYN=1,ACO=1,ACI(n)=1:反馈组合输出模式
简化电路如图:
输出三态门由第一乘积项选通,输出信号同时反馈到“与”逻辑阵到的输入线上。
(4)SYN=0,ACO=1,ACI(n)=1:时序电路中的组合
简化电路如图:
此时异或门输出不经过触发器,而是直接送到输出端。
(5)SYN=0,ACO=1,ACI(n)=0:寄存器输出模式
简化电路如图:
异或门输出经过D触发器输出,其中反馈至“与”阵作为输入。
可见,GAL器件具有灵活的各种输出电路结构。在实际应用中,开发软件又会根据用户的要求自动配置。因此,时序型的GAL器件也完全能代替组合型的PAL器件。除通用型GAL器件外,还有扩展型、异步型、异或型、大电流输出型、低功耗型、FPLA型和在系统可编程型等GAL。
二、用PLD器件实现时序逻辑电路
例:试用GAL16V8设计一个具有同步清零,同步置数和保持功能的8421编码的十进制可逆计数器。
解:设待设计的8421BCD码十进制可逆计数器如图所示,其中QC和QB是计数器的进位及借位输出,功能要求如表所示:
该计数器的ABEL语言如下:
将该ABEL语言编译仿真后,其波形如图。