最早允许对器件进行编程的技术是熔丝连接工艺。例如,PAL就采用了熔丝连接工艺。在采用这种技术的器件中,所有逻辑靠熔丝连接。熔丝器件只可编程一次,一旦编程,永久不能改变其内部结构。
当未对熔丝连接工艺的器件编程时,熔丝和逻辑门之间保持连接关系,如图3.1(a)所示;当对熔丝连接工艺的器件编程后,烧断相应的熔丝,如图3.1(b)所示。
图3.1 编程前后的熔丝结构
Actel公司(后来被Microsemi公司收购)的FPGA采用了反熔丝连接工艺。反熔丝连接工艺和熔丝连接工艺相反,在未对反熔丝连接工艺的器件编程时,熔丝和逻辑门之间并没有任何连接关系,如图3.2(a)所示。在对反熔丝连接工艺的器件编程后,熔丝将和对应的逻辑单元连接,如图3.2(b)所示。反熔丝是连接两个金属的微型非晶硅柱。在没有对器件编程时,它为高阻状态;当对器件编程后,熔丝和逻辑门之间形成连接关系。一旦编程,永久不能改变其内部结构。
图3.2 编程前后的反熔丝结构
通过上面的分析可知,采用反熔丝连接工艺的PLD设计成本较高,这是因为它是一次性器件,一旦编程失败或者设计出现缺陷,整个器件将被报废,必须重新采购新的器件。但是,这种器件具有优异的抗干扰性能和保密性能,这是因为整个设计已经被固化到芯片内,并且要想破解芯片内的设计结构异常困难。
例如,Xilinx公司和Altera公司(后被Intel公司收购)的绝大多数FPGA采用SRAM工艺。当采用SRAM工艺的FPGA进行数字系统设计时,器件配置信息被保存在FPGA内。只要系统正常供电,器件配置信息就不会丢失;一旦断电,保存在FPGA内的配置信息将丢失。在本书第2章提到,SRAM存储数据需要消耗大量的硅片面积,且断电后数据信息丢失。但是,用户可以对SRAM工艺的FPGA器件进行反复编程和修改。
这就是为什么在使用SRAM工艺的FPGA进行数字系统设计时,需要在FPGA的外部挂载一个存储器芯片来保存器件配置信息的原因。当给系统上电时,将存储器内保存的器件配置信息加载到FPGA内的查找表(Look-Up Table, LUT)中。
例如,ROM就采用掩膜工艺。在本书第2章提到,ROM是非易失性器件。当系统断电后,信息仍然保留在ROM内的存储单元中。用户可以从ROM器件中读取信息,但是不能往ROM中写入任何信息。
ROM单元保存了行和列数据,形成一个阵列,每一列有负载电阻使其保持逻辑“1”,每个行列的交叉处有一个关联晶体管与一个掩膜连接。
下面通过一个例子来帮助读者理解ROM实现逻辑功能的原理。从图3.3可知,ROM内部由“与”阵列和“或”阵列构成。相同列上二极管的串联形成逻辑“与”关系,相同行上二极管的并联形成逻辑“或”关系。分析原理很简单,就是当通过电阻给二极管两端施加的逻辑电平超过二极管的导通电压时,二极管导通;否则,二极管处于截止状态。根据这个原理,很容易得到下面的逻辑表达式:
图3.3 采用掩模工艺的ROM的内部结构
例如,EPROM就采用了PROM工艺,它是非易失性器件。当系统断电时,信息仍然保留在存储单元中。PROM器件可编程一次,之后只能读取PROM器件内的数据,但是不能向PROM器件写入新的数据。PROM器件内的存储单元保存了行和列的数据,形成一个阵列,每一列有负载电阻使其保持逻辑“1”,每个行列的交叉有一个关联晶体管和一个掩膜连接,如图3.4所示。
图3.4 PROM的内部结构
例如,CPLD采用了FLASH工艺。采用FLASH工艺的芯片的擦除速度要比采用PROM工艺的芯片的擦除速度快。FLASH工艺可采用多种结构,与EPROM器件内的存储单元类似,具有一个浮置栅晶体管单元和EEPROM器件的薄氧化层特性。
采用FLASH工艺的CPLD具有多次可重复编程的能力,以及非易失性的特点。断电后,器件配置信息仍然保存在CPLD内。
思考与练习3-1: PAL采用______工艺。
思考与练习3-2: Xilinx公司的FPGA大都采用______工艺。
思考与练习3-3: Actel公司早期的FPGA采用______工艺。
思考与练习3-4: CPLD采用______工艺,其具有______的特点。的能力和在使用CPLD时,______(需要/不需要)使用外部存储器来保存器件的配置信息。
思考与练习3-5: 请读者分析图3.3 给出的“与”和“或”阵列,并推导其逻辑表达式。