可编程逻辑器件



可编程逻辑器件 (PLD) 是一组集成电路,可以配置为执行各种逻辑功能。PLD 在工程和技术领域发挥着重要作用,因为它们构成了创新的基础,并支持工程师开发自动化数字系统以提高流程的灵活性和效率。这里,“可编程”意味着定义一个可以多次执行而无需人工干预的功能。

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

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

将信息输入这些设备的过程称为编程。基本上,用户可以对这些器件或集成电路进行电气编程,以根据需要实现布尔函数。这里,术语“编程”指的是硬件编程,而不是软件编程。

在本章中,我们将解释可编程逻辑器件的基本概念、类型、优点、局限性和应用。

可编程只读存储器 (PROM)

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

PROM是一种可编程逻辑器件,具有固定与阵列和可编程或阵列。PROM的框图如下所示。

Programmable Read Only Memory (PROM)

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

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

示例

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

$$\mathrm{A(X,Y,Z)\:=\:\sum m\left ( 5,6,7 \right )}$$

$$\mathrm{B(X,Y,Z)\:=\:\sum m\left ( 3,5,6,7 \right )}$$

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

Programmable OR Gates

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

什么是可编程逻辑器件?

可编程逻辑器件 (PLD) 可以定义为可以编程以执行特定功能的集成电路 (IC)。这里,编程意味着我们可以定义一组可以执行以多次执行功能的指令,而无需任何人工干预。

开发PLD的主要需求是实现可以复制传统逻辑电路行为并多次复制它的数字逻辑功能。但是,PLD在可编程性方面不同于普通的数字逻辑电路,这意味着我们可以通过在器件中设置一组指令来定义所需的逻辑功能。

PLD类型

根据所用器件的类型,可编程逻辑器件 (PLD) 可以分为以下两种类型:

  • 双极型PLD
  • CMOS PLD

让我们详细讨论每种类型的可编程逻辑器件。

双极型PLD

双极型PLD是可编程逻辑器件的类型,其中双极结型晶体管 (BJT) 是主要的功​​能器件。双极型PLD是可编程逻辑器件的早期版本。因此,在开发CMOS PLD之前,它们被广泛使用。

以下是双极型可编程逻辑器件的一些重要特性:

  • 双极型PLD提供快速的开关速度,因此它们可以在更高的频率下工作。
  • 双极型PLD更适合涉及快速信号处理并需要快速响应时间的应用。
  • 双极型PLD需要更多的功率来运行。
  • 双极型PLD对电子噪声和干扰具有更好的免疫力。

所有这些特性使双极型可编程逻辑器件非常适合用于高速运行和可靠性至关重要的应用,例如航空航天、军事和电信系统。

CMOS PLD

CMOS PLD代表互补金属氧化物半导体可编程逻辑器件。顾名思义,CMOS PLD使用CMOS晶体管,即NMOS(N沟道金属氧化物半导体)和PMOS(P沟道金属氧化物半导体)晶体管作为基本组件。

CMOS PLD基本上是PLD的现代版本,由于其众多优点,在现代数字系统中得到广泛使用。

下面描述了CMOS PLD的一些重要特性:

  • CMOS PLD运行所需的功率非常少。因此,此特性使CMOS PLD非常适合用于电池供电设备,在这些设备中,能源效率是一个重要因素。
  • CMOS PLD更可靠且更健壮。因为它们设计用于承受各种环境因素,例如高温/低温、电压波动和不同的辐射干扰。
  • CMOS PLD在可扩展性方面也很出色。

CMOS PLD是更新的PLD器件,因此在各种现代电子设备中非常常用,例如消费电子产品、医疗设备、工业自动化系统、汽车系统。

PLD编程语言

在可编程逻辑器件(PLD)的情况下,使用多种不同的硬件描述语言(HDL)对其进行编程。使用这些PLD编程语言,工程师和设计师可以定义PLD电路的行为和逻辑功能。

这里描述了一些最常用的PLD编程语言:

VHDL

VHDL代表VHSIC硬件描述语言。它是一种标准化的硬件描述语言,用于对数字电路和系统进行建模和仿真。使用VHDL,工程师和开发人员可以指定数字电路的结构和功能。VHDL非常适合组合电路和时序电路,因为它支持并发和顺序描述。

VHDL是设计和验证高度复杂的数字电路和系统(如PLD、ASIC、FPGA等)最广泛使用的编程语言之一。

Verilog

Verilog也是一种硬件描述语言(HDL),用于设计和编程PLD。与VHDL类似,Verilog也支持并发和顺序描述,使工程师和设计师能够定义数字电路的结构和行为。

这种编程语言最常用于半导体行业,用于设计和编程各种数字系统。

PALASM

PALASM代表可编程阵列逻辑汇编器。它也是一种用于编程可编程逻辑器件(PLD)的硬件描述语言(HDL)和汇编器。在PALASM的情况下,PLD的行为、逻辑功能和结构使用文本语言格式进行描述。因此,开发人员必须编写PALASM代码来描述所需的逻辑功能和互连。之后,这些代码被组装成适合可编程逻辑器件的格式。

然而,PALASM是一种较旧的硬件描述语言,在20世纪80年代和90年代初被广泛用于开发基于PLD的逻辑电路。

ABEL

ABEL代表高级布尔表达式语言。它是一种为编程可编程逻辑器件(PLD)而开发的高级硬件描述语言。

在ABEL中,逻辑方程式、真值表和寄存器传输级设计描述使用易于阅读的语法进行指定。然后,ABEL编译器将所有这些设计描述转换为适合编程所需PLD的格式。ABEL在20世纪90年代是一种非常常用的用户友好型硬件描述语言。

CUPL

CUPL代表通用可编程逻辑编译器。它也是一种用于编程各种PLD的硬件描述语言(HDL)和编译器。在这种编程语言中,逻辑函数、真值表和时序逻辑指令以简单的语法形式指定。

这种HDL语言在20世纪90年代和21世纪初也很流行,用于设计基于PLD的逻辑电路。

所有这些都是一些用于设计和编程可编程逻辑器件的重要编程语言。PALASM、ABEL和CUPL语言主要用于低复杂度的器件。而VHDL和Verilog则用于编程现代的高复杂度PLD。

可编程逻辑器件的优点

可编程逻辑器件(PLD)具有许多优点,使其成为数字系统设计领域的重要工具。以下是可编程逻辑器件的一些重要优势:

  • 可编程逻辑器件(PLD)易于编程和重新编程。因此,它们在设计和实现各种逻辑功能方面提供了显著的灵活性。
  • PLD允许设计定制的逻辑电路以满足应用的特定需求。这可以通过编程器件的内部逻辑电路来实现。
  • PLD可用于数字电路的原型设计和测试,这有助于更快地进行新产品开发。通过加速产品开发过程,PLD有助于减少硬件设计中涉及的时间和成本。
  • PLD提供了一种快速且经济高效的方式来开发中到复杂的数字逻辑电路和系统。PLD通过将大量逻辑功能和组件集成到单个器件中,有助于开发简单、廉价且紧凑的数字系统。
  • PLD还支持现代处理技术,如并行处理、流水线处理等。此功能有助于通过同时执行逻辑功能来实现高性能。

可编程逻辑器件的局限性

可编程逻辑器件(PLD)提供了上面讨论的几个优点,但它们也有一些局限性。以下是可编程逻辑器件的一些主要局限性:

  • 可编程逻辑器件可以设计为支持有限数量的逻辑功能和元素。因此,复杂数字电路的实现可能需要多个器件。
  • PLD通常具有固定数量的输入/输出(I/O)引脚。此限制可能会导致连接性和与外部/外围设备接口方面的问题。
  • PLD的编程需要硬件描述语言(HDL)和设计工具的知识。有时,由于意外重新编程或数据损坏,PLD可能会出现故障。
  • PLD本身并不支持通用处理器中使用的复杂算术运算和其他高级编程运算。因此,开发人员必须通过定制逻辑设计来实现此类运算和功能。

可编程逻辑器件的应用

可编程逻辑器件(PLD)广泛应用于各个领域和行业,用于设计数字逻辑电路和实现各种逻辑功能。以下是可编程逻辑器件的一些常见应用:

  • PLD广泛用于嵌入式系统,执行不同的实时操作,如控制、接口和数据处理。
  • 数字信号处理领域,PLD用于设计数字滤波器、开发调制解调器算法、执行信号处理等。
  • PLD在通信系统中发挥着重要作用,因为它们有助于执行各种操作,如信号路由、数据加密和解密、协议转换等。
  • 航空航天和国防领域,PLD用于完成各种关键功能,如飞行控制、操作雷达系统、引导导弹、加密机密数据等。
  • PLD也用于机器人和工业自动化,以控制和监控机械的操作。
  • 医疗设备中,PLD用于自动高速数据处理、医疗数据的实时分析、患者监测等。

结论

总之,可编程逻辑器件是一种可以编程或训练以执行特定逻辑功能的数字器件。它主要用于各种应用中的自动化和效率改进目的。

在本章中,我们解释了PLD的基本知识、类型、优点、局限性和应用。在下一章中,我们将探讨各种可编程逻辑器件及其功能和特性。

广告