PAL是70年代末由MMI公司率先推出的一种可编程逻辑器件。它采用双极型工艺制作,溶丝编程方式。
PAL器件由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路三部分组成。通过对与逻辑阵列编程可以获得不同形式的组合逻辑函数。另外,在有些型号的PAL器件中,输出电路中设置有触发器和从触发器输出到与逻辑阵列的反馈线,利用这种PAL器件还可以很方便地构成各种时序逻辑电路。
1 PAL的基本电路结构
图1所示电路是PAL器件当中最简单的一种电路结构形式。它仅包含一个可编程的与逻辑阵列和一个固定的或逻辑阵列,没有附加其他的输出电路。
由图可见,在尚未编程之前,与逻辑阵列的所有交叉点上均有熔丝接通。编程将有用的熔丝保留,将无用的熔丝熔断,即得到所需的电路。图2是经过编程后的一个PAL器件的结构图。它所产生的逻辑函数为
目前常见的PAL器件中,输入变量最多的可达20个,与逻辑阵列乘积项最多的有80个,或国际阵列输出端最多的有10个,每个或门输入端最多的达16个。了扩展电路的功能并增加使用的灵活性,在许多型号的PAL器件中还增加了各种形式的输出电路。
2 PAL的应用举例
例2.1用PAL器件设计一个数值判别电路。要求判断4位二进制数DCBA的大小属于0~5、6~10、11~15三个区间的哪一个之内。
解:若以Y0=1表示DCBA的数值在0~5之间;Y1=1表示DCBA的数值在6~10之间;以Y2=1表示DCBA的数值在11~15之间,则得到表8.3.1中的函数真值表。
从真值表写出Y0、Y1、Y2的逻辑函数式,经化简后得到
这是一组有4个输入变量,3个输出的组合逻辑函数。如果用一片PAL器件产生这一组逻辑函数,就必须选用有4个以上输入端和3个以上输出端的器件。而且由上式可以看到,至少还应当有一个输出包含3个以上乘积项。
根据上述理由,选用PAL14H4比较合适。PAL14H4有14个输入端,4个输出端。每个输出包含4个乘积项。图8.3.10是按照式(8.3.2)编程后的逻辑图。
图中画“”的与门表示变成时没有利用。由于未编程时这些与门的所有输入端均有熔丝与列线相连,所以他们的输出恒为0。为简化作图起见,所有输入端交叉点上的“”就不画了,而用与门符号里面的“”来代替。
例2.2 用PAL设计一个四位循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能。
解:根据循环码的计数顺序可以列车一系列时钟信号作用下4位循环码的变化顺序表,如表8.3.2所示。
如果用PAL器件设计这个计数器,则所用的器件至少应包含4个触发器和相应的与-或逻辑阵列。从手册上可以查到,PAL16R4可以满足上述要求。由图8.3.12可见,PAL16R4的电路中有4个触发器,而且触发器的输出端设置有三态缓冲器。它有8个变量输入端,除了4个寄存器输出端以外还有4个可编程I/O端。
因为输出缓冲缓冲器是反相器,所以4个触发器Q端的状态与表8.3.2中Y的状态相反。因此,Q3Q2Q1Q0的状态转换顺序应如表8.3.3所示。这也就是Q3Q2Q1Q0的状态转换表。 |