📜  可编程逻辑器件

📅  最后修改于: 2021-01-08 05:51:03             🧑  作者: Mango


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

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

将信息输入这些设备的过程称为编程。基本上,用户可以对这些设备或IC进行电编程,以便根据要求实现布尔功能。在此,术语编程是指硬件编程,而不是软件编程。

可编程只读存储器(PROM)

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

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

舞会

在此,“与”门的输入不是可编程类型。因此,我们必须使用2 n个具有n个输入的AND门来生成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个解码器和两个可编程的OR门来产生这两个函数。下图显示了相应的PROM

舞会的例子

在此,3到8个解码器生成8个最小项。两个可编程的或门可访问所有这些最小项。但是,仅对所需的最小项进行编程,以便通过每个“或”门产生相应的布尔函数。符号“ X”用于可编程连接。

可编程阵列逻辑(PAL)

PAL是具有可编程与阵列和固定或阵列的可编程逻辑器件。 PAL的优势在于,我们只能生成所需的布尔函数乘积项,而不是通过使用可编程AND门生成所有的最小项。下图显示了PAL的框图

朋友

在此,“与”门的输入是可编程的。这意味着每个“与”门都具有变量的常规输入和互补输入。因此,根据需求,我们可以对任何这些输入进行编程。因此,通过使用这些AND门,我们只能生成所需的乘积项

在此,“或”门的输入不是可编程类型的。因此,每个“或”门的输入数量将是固定类型。因此,将那些必需的乘积项应用于每个“或”门作为输入。因此,PAL的输出将为乘积和形式

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

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

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

给定的两个功能是乘积形式的总和。每个布尔函数都有两个乘积项。因此,我们需要四个可编程的“与”门和两个固定的“或”门来产生这两个功能。下图显示了相应的PAL

朋友的例子

可编程的“与”门可以访问变量的普通输入和补充输入。在上图中,输入X,$ {X}’$,Y,$ {Y}’$,Z和$ {Z}’$在每个AND门的输入处可用。因此,仅编程所需的字面量,以便通过每个AND门生成一个乘积项。符号“ X”用于可编程连接。

在此,“或”门的输入为固定类型。因此,必要的乘积项连接到每个“或”门的输入。因此,或门产生各自的布尔函数。符号“。”用于固定连接。

可编程逻辑阵列(PLA)

PLA是一种可编程逻辑器件,具有可编程AND阵列和可编程OR阵列。因此,它是最灵活的PLD。下图显示了PLA的框图

解放军

在此,“与”门的输入是可编程的。这意味着每个“与”门都具有变量的常规输入和互补输入。因此,根据需求,我们可以对任何这些输入进行编程。因此,通过使用这些AND门,我们只能生成所需的乘积项

在此,“或”门的输入也是可编程的。因此,由于“与”门的所有输出都被用作每个“或”门的输入,因此我们可以对任意数量的乘积项进行编程。因此,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}’$在每个AND门的输入处可用。因此,仅编程所需的字面量,以便通过每个AND门生成一个乘积项。

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