可编程逻辑器件

可编程逻辑器件(PLD)是集成电路。它们包含一个与门阵列和另一个或门阵列。根据具有可编程功能的阵列类型,PLD 有三种类型。

  • 可编程只读存储器
  • 可编程阵列逻辑
  • 可编程逻辑阵列

将信息输入这些设备的过程称为编程。基本上,用户可以对这些设备或 IC 进行电气编程,以便根据要求实现布尔函数。这里的编程一词指的是硬件编程,而不是软件编程。

可编程只读存储器 (PROM)

只读存储器 (ROM) 是一种存储设备,可永久存储二进制信息。这意味着,我们以后无法以任何方式更改存储的信息。如果 ROM 具有可编程功能,则称为可编程 ROM (PROM)。用户可以使用 PROM 编程器灵活地对二进制信息进行一次电气编程。

PROM 是一种可编程逻辑设备,具有固定的 AND 阵列和可编程的 OR 阵列。下图显示了 PROM 的框图

PROM

这里,AND 门的输入不是可编程类型。因此,我们必须使用每个具有 n 个输入的 2n AND 门来生成 2n 个乘积项。我们可以使用 nx2n 解码器来实现这些乘积项。因此,该解码器生成'n'个最小项

这里,或门的输入是可编程的。这意味着,我们可以对任意数量的所需乘积项进行编程,因为与门的所有输出都作为每个或门的输入应用。因此,PROM 的输出将采用最小项之和的形式。

示例

让我们使用 PROM 实现以下布尔函数

$$A(X,Y,Z)=\sum m\left ( 5,6,7 ight )$$

$$B(X,Y,Z)=\sum m\left ( 3,5,6,7 ight )$$

给定的两个函数采用最小项之和的形式,每个函数有三个变量 X、Y 和Z。因此,我们需要一个 3 到 8 解码器和两个可编程或门来产生这两个函数。相应的 PROM 如下图所示。

Prom 示例

这里,3 到 8 解码器生成八个最小项。两个可编程或门可以访问所有这些最小项。但是,只有所需的最小项被编程,才能通过每个或门产生相应的布尔函数。符号"X"用于可编程连接。

可编程阵列逻辑 (PAL)

PAL 是一种可编程逻辑器件,具有可编程 AND 阵列和固定 OR 阵列。PAL 的优势在于,我们可以仅生成布尔函数所需的乘积项,而不是使用可编程 AND 门生成所有最小项。PAL 的框图如下图所示。

PAL

此处,AND 门的输入是可编程的。这意味着每个 AND 门都有变量的正常输入和补充输入。因此,根据要求,我们可以对任何这些输入进行编程。因此,我们可以使用这些 AND 门仅生成所需的乘积项

此处,OR 门的输入不是可编程类型。因此,每个 OR 门的输入数量将是固定类型。因此,将这些所需的乘积项作为输入应用于每个或门。因此,PAL 的输出将采用乘积和形式

示例

让我们使用 PAL 实现以下布尔函数

$$A=XY+X{Z}'$$

$$A=X{Y}'+Y{Z}'$$

给定的两个函数采用乘积和形式。每个布尔函数中都有两个乘积项。因此,我们需要四个可编程的与门和两个固定的或门来产生这两个函数。相应的 PAL 如下图所示。

Pal 示例

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

此处,OR 门的输入是固定类型的。因此,必要的乘积项连接到每个 OR 门 的输入。这样 OR 门就会产生相应的布尔函数。符号'.'用于固定连接。

可编程逻辑阵列 (PLA)

PLA 是一种可编程逻辑器件,它既有可编程 AND 阵列,又有可编程 OR 阵列。因此,它是最灵活的 PLD。PLA 的框图如下图所示。

PLA

这里,AND 门的输入是可编程的。这意味着每个 AND 门都有变量的正常和补充输入。因此,根据要求,我们可以对任何这些输入进行编程。因此,我们可以使用这些 AND 门仅生成所需的乘积项

这里,OR 门的输入也是可编程的。因此,我们可以对任意数量的所需乘积项进行编程,因为 AND 门的所有输出都作为输入应用于每个 OR 门。因此,PAL 的输出将采用乘积总和形式

示例

让我们使用 PLA 实现以下布尔函数

$$A=XY+X{Z}'$$

$$B=X{Y}'+YZ+X{Z}'$$

给定的两个函数采用乘积总和形式。给定布尔函数 A 和 B 中存在的乘积项数分别为 2 和 3。每个函数中都有一个共同的乘积项 ${Z}'X$。

因此,我们需要四个可编程 AND 门和两个可编程 OR 门来产生这两个函数。相应的 PLA 如下图所示。

PLA 电路图

可编程 AND 门 可以访问变量的正常输入和补码输入。在上图中,每个 AND 门的输入端都有输入 X、${X}'$、Y、${Y}'$、Z 和 ${Z}'$。因此,只需对所需的文字进行编程,以便每个 AND 门生成一个乘积项。

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