可编程逻辑器件
可编程逻辑器件(PLD)是集成电路。它们包含一个 AND 门数组和另一个 OR 门数组。根据具有可编程特性的阵列类型,PLD 可分为三种。
- 可编程只读存储器
- 可编程阵列逻辑
- 可编程逻辑阵列
将信息输入这些设备的过程称为编程。基本上,用户可以对这些设备或IC进行电气编程,以根据需要实现布尔功能。这里,术语编程是指硬件编程而不是软件编程。
可编程只读存储器 (PROM)
只读存储器(ROM)是一种永久存储二进制信息的存储设备。这意味着,我们以后无法以任何方式更改存储的信息。如果ROM具有可编程特性,则称为可编程ROM(PROM)。用户可以灵活地使用PROM编程器对二进制信息进行一次电编程。
PROM是一种可编程逻辑器件,具有固定的AND阵列和可编程OR阵列。PROM的框图如下图所示。
这里,与门的输入不是可编程类型的。因此,我们必须使用每个有 n 个输入的 2 n 个与门来生成 2 n 个乘积项。我们可以使用 nx2 n解码器来实现这些乘积项。因此,该解码器生成“n”个最小项。
这里,或门的输入是可编程的。这意味着,我们可以对任意数量的所需乘积项进行编程,因为与门的所有输出都用作每个或门的输入。因此,PROM 的输出将采用最小项 之和的形式。
例子
让我们使用 PROM 实现以下布尔函数。
$$A(X,Y,Z)=\sum m\left ( 5,6,7 \right )$$
$$B(X,Y,Z)=\sum m\left ( 3,5,6,7 \right )$$
给定的两个函数采用最小项之和形式,每个函数具有三个变量 X、Y 和 Z。因此,我们需要一个 3 到 8 解码器和两个可编程或门来生成这两个函数。对应的PROM如下图所示。
这里,3到8解码器生成八个最小项。两个可编程或门可以访问所有这些最小项。但是,仅对所需的最小项进行编程,以便通过每个“或”门生成相应的布尔函数。符号“X”用于可编程连接。
可编程阵列逻辑 (PAL)
PAL是一种可编程逻辑器件,具有可编程AND阵列和固定OR阵列。PAL的优点是我们可以只生成布尔函数所需的乘积项,而不是使用可编程与门生成所有最小项。PAL的框图如下图所示。
这里,与门的输入是可编程的。这意味着每个与门都有正常的变量输入和互补的变量输入。因此,根据要求,我们可以对这些输入中的任何一个进行编程。因此,我们可以使用这些与门仅生成所需的乘积项。
这里,或门的输入不是可编程类型的。因此,每个或门的输入数量将是固定类型的。因此,将这些所需的乘积项作为输入应用于每个或门。因此,PAL 的输出将采用乘积和形式的形式。
例子
让我们使用 PAL 实现以下布尔函数 。
$$A=XY+X{Z}'$$
$$A=X{Y}'+Y{Z}'$$
给定的两个函数采用乘积之和的形式。每个布尔函数中存在两个乘积项。因此,我们需要四个可编程与门和两个固定或门来产生这两个功能。对应的PAL如下图所示。
可编程与门可以访问变量的正常输入和补充输入。在上图中,输入 X、${X}'$、Y、${Y}'$、Z 和 ${Z}'$ 在每个与门的输入处可用。因此,仅对所需的文字进行编程,以便通过每个与门生成一个乘积项。符号“X”用于可编程连接。
这里,或门的输入是固定类型的。因此,必要的乘积项连接到每个或门的输入。以便或门产生各自的布尔函数。符号“.” 用于固定连接。
可编程逻辑阵列 (PLA)
PLA是一种可编程逻辑器件,具有可编程AND阵列和可编程OR阵列。因此,它是最灵活的PLD。PLA的框图如下图所示。
这里,与门的输入是可编程的。这意味着每个与门都有正常的变量输入和互补的变量输入。因此,根据要求,我们可以对这些输入中的任何一个进行编程。因此,我们可以使用这些与门仅生成所需的乘积项。
这里,或门的输入也是可编程的。因此,我们可以对任意数量的所需乘积项进行编程,因为与门的所有输出都用作每个或门的输入。因此,PAL 的输出将采用乘积和形式的形式。
例子
让我们使用 PLA 实现以下布尔函数。
$$A=XY+X{Z}'$$
$$B=X{Y}'+YZ+X{Z}'$$
给定的两个函数采用乘积之和的形式。给定布尔函数 A 和 B 中存在的乘积项的数量分别为 2 和 3。一个乘积项 ${Z}'X$ 在每个函数中都很常见。
因此,我们需要四个可编程与门和两个可编程或门来产生这两个功能。对应的PLA如下图所示。
可编程与门可以访问变量的正常输入和补充输入。在上图中,输入 X、${X}'$、Y、${Y}'$、Z 和 ${Z}'$ 在每个与门的输入处可用。因此,仅对所需的文字进行编程,以便通过每个与门生成一个乘积项。
所有这些乘积项均可在每个可编程“或”门的输入处使用。但是,只需对所需的乘积项进行编程,以便通过每个“或”门生成相应的布尔函数。符号“X”用于可编程连接。