数字电路基础_D06-05通用逻辑阵列
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.5 通用逻辑阵列
为了克服PAL器件存在的缺点,80年代中期,通用阵列逻辑(Generic Array Logic,GAL)器件问世。GAL器件是在PAL器件的基础上,结合高速电可擦CMOS技术研制出的性能优异的新一代器件。GAL器件的与门阵列是可编程的,或门阵列是固定的、与PAL器件一样。与PAL器件的区别在于GAL器件有输出逻辑宏单元(Output Logic Macro Cell,OLMC),给用户提供了设计和使用上的较大的灵活性。通过编程可将OLMC设置为不同的工作状态,使同一种型号的GAL器件能实现PAL器件所有的各种输出电路工作模式,增强了器件的通用性。
6.5.1 GAL的电路结构
1.GAL的基本结构
GAL的基本结构如图6-5-l所示。
由图中可见,它包括三部分:可编程的与阵列、不可编程的或阵列和可编程的输出逻辑宏单元OLM C。
6.5.2 GAL器件的分类及特点
1.GAL器件的分类
根据GAl器件电路结构和功能的不同可将GAL器件分为普通型、通用型、异步型、FPLA 型和在线可编程型等5个系列。
GALl6V8B为普通型的GAL器件,其与阵列可编程,或阵列为固定连接。
通用型GAL器件如GALl8V10、GAL22V8等,采用的工艺和基本结构与普通型GAL器件相同。在普通型GAL器件基础上,简化了输出逻辑宏单元的结构,增加了阵列规模,向用户提
供了两个专用乘积项。所以使用通用型GAL器件给用户带来了更强大的灵活性。
异步型GAL器件如GAL20RAl0,它的每一个输出逻辑宏单元OLMC中都有8个乘积项,其中4个乘积项用于实现与或逻辑函数,另外4个乘积项用于实现异步置位、异步复位、时钟和输出控制,适于异步时序逻辑电路使用。
FPLA型GAL器件如GAL39V19,是采用高性能E2CMOS工艺生产的新一代GAL器件。具有空前的功能密度,包括10个输出逻辑宏单元(OLMC),10个输入逻辑宏单元(ILMC),10个输入/输出逻辑宏单元(0LMC),3个状态逻辑宏单元(SLMC)。同时还拥有与阵列、或阵列都可编程的FPLA结构,单独的状态寄存器和输入时钟引脚,还包括异步时钟控制,使FPLA型GAL器件具有高度的设计灵活性。
在线可编程型GAL器件如ispGALl6Z8、ispGAL22V10等。在线可编程型(In—System Programmability,缩写为isP)是指在用户自己设计的目标系统上为重构逻辑而对逻辑器件进行编程的能力. 采用在系统编程的逻辑器件,使硬件的设计像软件那样灵活且易于修改,硬件的功能可以实时改变或按照预定程序改变组态。这样就省去了对器件单独编程的环节,缩短了调试周期,增加了器件的用途,减少了目标系统现场维护或升级的工作量。isPGALl6Z8、isPGAL22V10是具有在系统编程和诊断能力的GAL器件,用户在自己设计的系统中借助系统中的5V电源就可以实时地对其进行编程和校验。所以,它不用专门的编程器即可完成在线编程,对复杂逻辑设计具有最大的灵活性。
2.GAL器件的特点
GAL器件均采用先进的E2CMOS工艺,因此均可编程,且擦除编程都很快,不需要专门的擦除设备。GAL器件结构灵活,通用性强,可配置成多种模式。GAL器件能取代多数PAL 器件,实际应用中,由于GAL器件对PAL器件有100%的兼容性,GAL几乎完全代替了PAL 器件。此外,GAL器件具有加密功能和电子标签,方便系统加密,利于生产管理。在线可编程型GAL器件只用5V电源就可在用户系统内实时编程和测试,FPLA型GAL器件的与、或阵列均可编程,且具有多种逻辑宏单元和可编程的异步时钟控制,其密度和灵活性更为增强。
集成度是集成电路一项很重要的指标,如果从集成度上分,目前为止我们所介绍的可编程逻辑器件PROM、PLA、PAL、GAL均属于低密度可编程逻辑器件(LDPLD),低密度可编程逻辑器件易于编程,对开发软件的要求低,在80年代获得了广泛的应用。但随着技术的发展,低密度可编程逻辑器件在集成度和功能方面的局限性也暴露出来,设计的灵活性受到明显的限制。80年代末期,高密度、大规模可编程逻辑器件(HDPLD)获得空前的发展,以满足复杂系统的要求。现场可编程门阵列FPGA是与传统PLD原理不同的一类可编程器件,后面我们将要介绍。
6.5.3 PLD器件的开发应用
1.PLD器件的开发过程
PLD器件的编程工作需要在开发系统的支持下完成。各家公司对应于自己的产品系列,均推出一套适应自己产品的PLD开发系统。不同的开发系统支持的设计输入是有区别的,如果开发系统适应性好,可能会更受欢迎。开发系统由软件和硬件两部分组成,开发系统软件是指PLD专用的编程语言和相应的汇编程序或编译程序,通常为通用的软件包,如: Date I/O公司的ABEL和Logical Device,公司的CUPL等等。用户使用通用的软件包描述逻辑问题,可以用高级语言输入,也可以用电路原理图输入,并由通用的软件包将用户的描述自动转换为描述各个编程点连接情况的编程文件;开发系统硬件包括计算机和编程器。编程器用来完成将编程文件写入PLD芯片的工作,编程器能提供写入或擦除所需的电源电压和控制信号,并通过串行接口与计算机相连,也是通用的。
PID器件的开发过程一般分为如下3个步骤。
①设计输入,将逻辑问题用PLD语言描述出来。可以利用绘图软件和逻辑单元库绘制逻辑图,也可以用逻辑表达式或真值表输入。
②设计实现,开发系统软件将上述的描述程序转换为描述各个编程点连接情况的编程文件,编程器将编程文件写入PLD芯片。
③设计检验,将写好数据的PLD从编程器上取下,用实验方法测试它的逻辑功能,是否达到了设计要求。
2.可编程逻辑语言ABEL—HDL
(1)软件的开发环境; ABEL语言提供了一个集成化的设计环境,主要由ABEL硬件描
述语言、器件自动选择、匹配及故障模拟三部分组成。逻辑描述的书写形式灵活多样, 可采用布尔方程、真值表、状态图等形式,还可以在不指定专门器件或指定器件但不设定脚号情况下完成编译、模拟、优化等功能。SMARTPART、PLD GRADE是ABEL的选件,可用于根据不同的需要提供器件自动选择、器件匹配及器件管脚的设置,以及用于故障的模拟和测试分析。ABEL语言软件包提供以下功能模块: AHDL2PLA一对输入的源文件(*.ABL)进行编译化简;
PIASIM和JEDSIM一源文件模拟,PLASIM使设计者在选择器件和脚号前进行仿真,JEDSIM对特定的器件进行逻辑功能仿真;
FUSEASM一熔丝文件生成模块;
PLAOPT一源文件优化处理模块;
PLASPUT一设计分割模块;
PLAMERGE一设计合并模块;
PLA2DASH一图形生成模块;
JED2AHDl一熔丝图至ABEL—HDL文件转换模块;PlA2EQN—JEDEC文件至S1GNETCS表格转换模块;
ABELLEB—ABEL语言库管理模块; CLEANUP4一文件管理模块。
(2)ABEL语言的设计文件结构
ABEL语言源文件是根据ABEL—HDL语言的规范要求写出的表达设计思想的文本文件,包含了用户要求的逻辑功能描述。
ABEL—HDL语言设计的基本单位是模块。一个设计由一个或多个互相独立的模块组成。如果有多个模块,则按照层次结构把它们组织起来。顶层的模块只有一个,描述设计的总体结构,底层的模块描述顶层模块中包含的各子模块的功能。下面例子为简单的ABEL源文件例子。
[例6-5-1] 描述一个2位计数器的简单ABEL—HDL模块。
MODULE counter //头部
TITLE ’Two Bits Counter Block’;
DECLARATIONS // 说明部分
Input
clock PIN;
“ Output
q0,ql PIN ISTYPE ’reg’;
EQUATIONS // 逻辑描述部分
q0.clk=clock;
q1.clk=Clock;
q0 :=! q0