FPGA的人工智能之路:基于Intel FPGA开发的入门到实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 可简单编程逻辑器件(PAL)

随着技术的发展,早期的逻辑功能器件需要实现最简单的可编程逻辑,并需要将逻辑门和寄存器固定起来,以及能提供控制可编程的积与阵列和输出的功能,如此,第一个可编程阵列逻辑(PAL)设备出现。

PAL有3个主要部分,这3个部分被复制(replicated)多次以形成完整的PAL设备。可编程阵列如图1-10所示,选择所需的输入并布线到所需的AND门,形成有效的AND操作。

图1-10 可编程阵列逻辑设备

与门的输出形成乘积项,乘积项通过OR门生成最终的乘积之和函数输出,然后通过寄存器进行存储或同步输出。PAL的这一部分通常被称为宏单元。虽然在这个基本的PAL中没有显示,但是有些PAL包含了一些选项,用于将反馈输入阵列以实现更复杂的功能,或者完全绕过输出寄存器来创建异步输出。

应当注意的是,在当前大多数设备中,所有这3个部分共同构成了所谓的宏单元。这通常是CPLD芯片的形态,我们稍后会看到。

1.5.1 可编程阵列逻辑优势

可编程阵列逻辑具有如下优势:

(1)需要的设备更少;

(2)更少的电路板;

(3)降低成本;

(4)省电;

(5)更容易测试和调试;

(6)设计安全(防止逆向工程);

(7)设计灵活;

(8)自动化工具简化并整合了设计流程;

(9)系统内可重编程性(在某些情况下)。

综上所述,这种器件的优点是显而易见的。由于单个器件中包含更多逻辑,因此电路板上需要的器件更少。更少的设备意味着实现逻辑所需的电路板空间更少,这些区域可放置其他器件。更少的器件也意味着更低的总体成本和更低的功耗。它还使测试和调试逻辑功能变得更加容易,因为连接不再分散在多个器件之间,其中任何一个器件都可能发生接线不正确或被损坏。PAL还可以提供设计安全性,使用单独的7400系列的器件,通过查看所使用的器件及其连接方式,对设计进行逆向工程是一件简单的事情,但使用PAL,由于整个设计包含在一个设备中,逆向工程变得非常困难。

PAL还提供了极大的设计灵活性,允许设计人员使用单一类型的器件创建许多不同的设计,而无须担心逻辑的可用性。这种灵活性看起来使可编程逻辑设计实现起来更加复杂,但是丰富的自动化设计工具使得该过程更加简单,耗时更少。

也许PAL最大的优势之一是它支持系统内可编程性和可重编程性的能力,这使得在不更换电路板组件的情况下很容易修复错误或更新设计。下面介绍如何编程或重新编程PAL。

1.5.2 PAL编程技术

阵列交叉处的浮栅晶体管在施加编程电压后设置为永不导通。

早期PAL器件编程乃至当前闪存技术的关键在于可编程阵列中用于导线交叉口的特殊晶体管,如图1-11所示。这些特殊的晶体管被称为浮栅晶体管,因为它们包含第二个栅极,该栅极基本上漂浮在标准选择栅极和器件衬底的其余部分之间。浮栅晶体管最常见的两种类型是FAMOS浮栅雪崩注入MOS晶体管和FLOTOX浮栅隧道氧化物晶体管。

图1-11 晶体管示意图

在没有任何编程的情况下,两种类型的晶体管都表现得像标准的N型晶体管:当电压施加到栅极时,晶体管源极和漏极导通,具有指定的输入和输出。两种类型的晶体管都以类似的方式编程,在漏极和栅极之间施加足够的编程电压时,电子在浮栅上被“卡住”,即使标准工作电压施加到选择栅极,也会阻止晶体管导通。因此,对浮栅晶体管进行编程会使晶体管始终处于“关闭”状态,本质上是一个开路开关。FLOTOX晶体管需要额外地选择晶体管,因为未编程的FLOTOX晶体管有时表现得像P型晶体管,当栅极接地时导通。选择晶体管可以防止这种情况发生。

两种类型的浮栅晶体管之间的主要区别在于它们是如何编程和重新编程的。FAMOS晶体管需要高强度UV光以迫使被捕获的电子返回到衬底中。使用FAMOS晶体管的器件称为可擦除可编程ROM或EPROM。FLOTOX晶体管可以通过简单地反转漏极-栅极编程电压来擦除。由于FLOTOX晶体管可以只用电擦除,所以它们被用来制造可擦除可编程ROM或EEPROM。这使得它们非常适合系统内编程,这也是我们将要讨论的一些可编程器件的基础。