可编程逻辑器件的全面解析
1. 可编程逻辑器件基础架构
可编程逻辑器件的基本架构包含 AND 和 OR 阵列。其中,OR 阵列可能是固定的,而非可编程的。尽管这两个阵列通常分别被称为“AND”和“OR”,但实际上它们都可以由 NAND 或 NOR 阵列构成。通过应用德摩根定律,可以将任何积之和的布尔表达式代数转换为逻辑等效的全 NAND 或全 NOR 形式,从而证明这种实现方式是可行的。
可编程只读存储器(PROM)是一种可编程器件,其中 n 个二进制输入变量由输入解码器进行解码,然后通过阵列形成所需的最小项。这些最小项通过线或连接在一起形成输出函数 Z。因此,在 PROM 中,OR 阵列是固定且不可编程的。PROM 的四个、八个或更多个独立 AND 阵列构成了 PROM 的 4 位、8 位或更多位输出字,每个输入组合(“地址”)在最小项级别进行编程,以给出相应的输出字。每个 PROM 输出因此是完整输入/输出真值表的直接副本。
2. 可编程逻辑阵列(PLAs)
虽然 PROM 可以用作组合逻辑设计的强大通用器件,但专门为随机逻辑应用设计的替代可编程器件通常更为合适。这些器件可以在同一封装中包括顺序和组合功能。
PROM 和可编程逻辑阵列(PLA)的主要区别在于,PLA 的输入变量 x1, …, xn 不会被解码为所有可能的 2^n 个最小项。相反,它们首先被解码为 2n 个文字,即对于每个二进制输入 xi(i = 1, …, n),解码为 xi 和 ¬xi。然后,积(AND)阵列可以形成包含任意数量文字的积项。
AND 阵列的编程直接实现了任何布尔函数的积项。OR 阵列根据需要组合这些项,以产生每个输出函数 f(X