可编程逻辑器件


可编程逻辑器件(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如下图所示。

PLA电路图

可编程与门可以访问变量的正常输入和补充输入。在上图中,输入 X、${X}'$、Y、${Y}'$、Z 和 ${Z}'$ 在每个与门的输入处可用。因此,仅对所需的文字进行编程,以便通过每个与门生成一个乘积项。

所有这些乘积项均可在每个可编程“或”门的输入处使用。但是,只需对所需的乘积项进行编程,以便通过每个“或”门生成相应的布尔函数。符号“X”用于可编程连接。