Digital-electronics 简明教程

Programmable Logic Devices

@ {s0}是一组集成电路,它们被配置为执行各种逻辑功能。PLD在工程和技术领域发挥着重要作用,因为它们构成了创新的基础,并支持工程师开发自动化数字系统,以提高流程的灵活性和效率。此处,“可编程”是指定义一个可以在没有人工干预的情况下多次执行的功能。

可编程逻辑器件@ {s1}是集成电路。它们包含一系列与门和另一系列或门。基于可编程功能的阵列类型有三种类型的PLD。

  1. Programmable Read Only Memory

  2. Programmable Array Logic

  3. Programmable Logic Array

将信息输入这些器件的过程称为@ {s2}。基本上,用户可以按照要求对这些器件或IC进行电气编程以执行布尔函数。此处,术语编程指的是硬件编程,而不是软件编程。

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

Programmable Read Only Memory (PROM)

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

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

programmable read only memory

这里,AND 门的输入不是可编程的。因此,我们必须使用 n 个输入的 2n 个 AND 门生成 2n 个积项。我们可以使用 nx2n 解码器实现这些积项。因此,此解码器生成“n”个 min terms

这里,OR 门的输入是可编程的。这意味着,我们可以编程任意数量的必需积项,因为所有 AND 门的输出都被用作每个 OR 门的输入。因此,PROM 的输出将以 sum of min terms 的形式出现。

Example

让我们使用 PROM 实现以下 Boolean functions

\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 的解码器和两个可编程 OR 门来产生这两个函数。对应的 PROM 如图所示。

programmable or gates

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

What is a Programmable Logic Device?

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

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

Types of PLDs

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

  1. Bipolar PLDs

  2. CMOS PLDs

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

Bipolar PLDs

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

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

  1. 双极型 PLD 提供快速的开关速度,因此它们可以在更高的频率下运行。

  2. 双极型 PLD 更适合于涉及快速信号处理和需要快速响应时间的应用。

  3. 双极型 PLD 需要更多功率才能运行。

  4. 双极性 PLD 对电子噪声和干扰具有更好的免疫力。

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

CMOS PLDs

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

CMOS PLD 基本上是 PLD 的现代版本,并且由于它具有众多优势而被广泛用于现代数字系统中。

CMOS PLD 的一些重要特性如下所述 -

  1. CMOS PLD 运行所需的功率非常低。因此,这一特性使得 CMOS PLD 非常适合在能源效率至关重要的电池供电设备中使用。

  2. CMOS PLD 更可靠、更强大。因为它们设计用于承受各种环境因素,如高温/低温、电压波动和不同的辐射干扰。

  3. CMOS PLD 在可扩展性方面也很出色。

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

PLD Programming Languages

在可编程逻辑设备 (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 是一种较旧的硬件描述语言,在 1980 年代和 1990 年代初被非常普遍地用于开发基于 PLD 的逻辑电路。

ABEL

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

在 ABEL 中,逻辑方程、真值表和寄存器传输级设计描述是使用清晰易读的语法指定的。然后,ABEL 编译器将所有这些设计描述转换为适合对所需的 PLD 进行编程的格式。ABEL 是 1990 年代非常普遍的易用的硬件描述语言。

CUPL

CUPL 代表通用可编程逻辑编译器。它是另一种用于编程不同类型的 PLD 的硬件描述语言和编译器。在这种编程语言中,逻辑函数、真值表和顺序逻辑指令是以简单语法形式指定的。

这种 HDL 语言在 1990 年代和 2000 年代初也很流行,并用于设计基于 PLD 的逻辑电路。

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

Advantages of Programmable Logic Devices

可编程逻辑器件 (PLD) 拥有众多优点,使其成为数字系统设计领域至关重要的工具。可编程逻辑器件的一些重要好处如下:

  1. 可编程逻辑器件 (PLD) 易于编程和重新编程。因此,它们在设计和实现各种逻辑功能方面提供了相当大的灵活性。

  2. PLD 允许设计自定义逻辑电路以满足特定应用需求。这可以通过编程器件的内部逻辑电路来完成。

  3. PLD 可用于数字电路的原型设计和测试,有助于加快新产品的开发。通过加速产品开发过程,PLD 有助于减少硬件设计涉及的时间和成本。

  4. PLD 提供了一种快速且经济有效的方式来开发中等至复杂的数字逻辑电路和系统。PLD 通过将大量逻辑功能和组件集成到一个单一器件中,有助于开发简单、廉价且紧凑的数字系统。

  5. PLD 还支持现代处理技术,如并行处理、流水线处理等。此功能有助于通过同时执行逻辑功能来实现高性能。

Limitations of Programmable Logic Devices

如上所述,可编程逻辑器件 (PLD) 提供了若干优点,但它们也具有一定的局限性。以下是可编程逻辑器件的一些主要局限性:

  1. 可编程逻辑器件可以设计为支持有限数量的逻辑功能和元素。因此,复杂数字电路的实现可能需要多个器件。

  2. PLD 通常具有固定数量的输入/输出 (I/O) 引脚。此限制可能会导致与外部/外围设备的连接性和接口问题。

  3. 对 PLD 进行编程需要硬件描述语言 (HDL) 和设计工具方面的知识。有时,PLD 会由于意外重新编程或数据损坏而发生故障。

  4. 对于在通用处理器中使用的复杂算术运算和其他高级编程运算,PLD 并不具备固有支持。因此,开发者必须通过自定义逻辑设计来实现此类运算和功能。

Applications of Programmable Logic Devices

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

  1. PLD 广泛用于 embedded systems ,以执行不同的实时操作,例如控制、接口和数据处理。

  2. digital signal processing 领域中,PLD 用于设计数字滤波器、开发调制解调器算法、执行信号处理等。

  3. PLD 在 communication systems 中发挥着重要作用,因为它们有助于执行各种操作,例如信号路由、数据加密和解密、协议转换等。

  4. aerospace and defence 领域中,PLD 用于完成各种关键功能,例如飞行控制、操作雷达系统、制导导弹、加密机密数据等。

  5. PLD 还用于 robotics and industrial automation ,以控制和监视机器的运行。

  6. medical equipment 中,PLD 用于自动高速数据处理、医疗数据的实时分析、患者监护等。

Conclusion

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

在本章中,我们解释了可编程逻辑器件的基础知识、类型、优势、局限性和应用。在下一章中,我们将探讨不同类型的可编程逻辑器件以及它们的特性。