一、可编程阵列逻辑器件pal
pal采用双极型熔丝工艺,工作速度较高。pal的结构是与阵列可编程和或阵列固定,这种结构为大多数逻辑函数提供了较高级的性能,为pld进一步的发展奠定了基础。
(一)pal的基本结构
pal器件的输入、输出结构以及输入、输出的数目是由集成电路制造商根据实际设计情况大致估计确定。pal器件的型号很多,它的典型输出结构通常有四种,其余的结构是在这四种结构基础上变形而来。
1. 专用输出基本门阵列结构
2. 可编程i/o输出结构
可编程i/o结构如下图所示。
3. 寄存器型输出结构:也称作时序结构,如下图所示。
4. 带异或门的寄存器型输出结构:
有些pal器件是由数个同一结构类型组成,有的则是由不同类型结构混合组成。
如由8个寄存器型输出结构组成的pal器件命名为pal16r8,由8个可编程i/o结构组成的pal器件则命名为pal16l8。
(二)pal16l8的使用
pal的例题请同学参看图7-35、图7-36和例6。
应用pal16l8设计组合逻辑电路,主要步骤是将输出和激励写成最简与或表达式,然后确定pal16l8的引脚和编程。
目前能够支持pal的编程软件已相当成熟,芯片应用也很普及,但是由于其集成密度不高、编程不够灵活,且只能一次编程,很难胜任功能较复杂的电路与系统。
二、通用阵列逻辑gal器件
采用e2cmos工艺和灵活的输出结构,有电擦写反复编程的特性。
与pal相比,gal的输出结构配置了可以任意组态的输出逻辑宏单元olmc(output logic macro cell),
gal和pal在结构上的区别见下图:
(一)gal器件结构和特点
gal器件型号定义和pal一样根据输入输出的数量来确定,gal16v8中的16表示阵列的输入端数量,8表示输出端数量,v则表示输出形式可以改变的普通型1. gal16v8的基本结构(下图)
3. 输出逻辑宏单元olmc组态
输出逻辑宏单元由对ac1(n) 和ac0进行编程决定ptmux、tsmux、omux和fmux的输出,共有5种基本组态: 专用输入组态、专用输出组态、复合输入/输出组态、寄存器组态和寄存器组合i/o组态。8个宏单元可以处于相同的组态,或者有选择地处于不同组态。
(1) 专用输入组态 :如下图所示:
(2) 专用输出组态:如下图所示:
(3)同学自学
(4) 寄存器组态:当ac1(n)=0,ac0=1时,如下图所示。
4. gal是继pal之后具有较高性能的pld,和pal相比,具有以下特点:
(1) 有较高的通用性和灵活性:它的每个逻辑宏单元可以根据需要任意组态既可实现组合电路,又可实现时序电路。
(2) 100%可编程:gal采用浮栅编程技术,使与阵列以及逻辑宏单元可以反复编程,当编程或逻辑设计有错时,可以擦除重新编程、反复修改,直到得到正确的结果,因而每个芯片可100%编程。
(3) 100%可测试:gal的宏单元接成时序状态,可以通过测试软件对它门的状态进行预置,从而可以随意将电路置于某一状态,以缩短测试过程,保证电路在编程以后,对编程结果100%可测。
(4) 高性能的e2coms工艺:使gal的高速度、低功耗,编程数据可保存20年以上。正是由于这些良好的特性,使gal器件成为数字系统设计的初期理想器件。
(二)gal器件的编程方法和应用
对gal编程是设计电路的最后一个环节。除了对与阵列编程之外,还要对逻辑宏单元进行编程,以达到预定的输出逻辑关系。这样应当具备gal编程的开发系统:软件开发平台和硬件编程设备,而软件平台是不可缺少的。
目前gal的编程方法有两种:
一种是早期的gal器件编程需要使用专门的编程器,将需要编程的gal器件插入编程器进行编程,然后将编程后的gal器件连接在设计者的设计系统。
另一种是新一代的gal器件,可以脱离开编程器,直接在设计者的电路系统上编程。
gal的开发软件有许多种,大体上分为两类:
一类是汇编型软件,如fm,这类软件没有简化功能,要求输入文件采用最简与或式的逻辑描述方式;
另一类是编译软件,如synario软件平台,这类软件的特点是待实现的逻辑电路是由设计者根据软件平台规定的图形输入文件或可编程逻辑设计语言编写的语言输入文件进行描述,然后软件平台对设计者的电路进行描述转换,分析,简化,模拟仿真、自动进行错误定位等。
同学自行学习gal例题。
gal器件仍然存在着以下问题:
时钟必须共用; 或的乘积项最多只有8个;
gal器件的规模小,达不到在单片内集成一个数字系统的要求;
尽管gal器件有加密的功能,但随着解密技术的发展,对于这种阵列规模小的可编程逻辑器件解密已不是难题。
在系统编程芯片epm7128s是altera公司生产的高密度、高性能cmos可编程逻辑器件之一,下图是plcc封装84端子的引脚图
下图是epm7128s器件结构图:由8个相似的逻辑阵列块(logic array block,lab)、一个可编程内连矩阵(pia)和多个输入/输出控制块(i/o block)组成。