一种通用的FPGA位元电路
扫描二维码
随时随地手机看文章
摘要:针对目前不同类型FPGA要求的位元电路不一致现象,提出了一种通用的FPGA位元电路,该位元电路不仅适用于任意结构的反熔丝/熔丝FPGA,还可以单独的存储1和0,对反熔丝/熔丝熔通后的电阻特性也没有具体要求。
关键词:现场可编程逻辑门阵列;反熔丝;位元电路;逻辑模块
FPGA (Field Programmable Gate Array), 即现场可编程逻辑门阵列,是当今集成电路半定制设计中的重要组成部分,具有结构灵活,功能完善,集成度高,设计周期短的特点,受到了越来越多的用户的欢迎;并且随着集成电路工艺制程的不断更新,FPGA的速度也得到了极大的提高。FPGA一般分为反熔丝型、EPROM型及SRAM型。
基于Flash的FPGA一般需要采用特殊的结构,造价很高;基于SRAM的FPGA器件虽然不需要特殊的工艺,可以用一般的CMOS工艺实现,但是这种FPGA的保密性及可靠性都不高;反熔丝/熔丝FPGA的保密性及可靠性都很高,市场上也有很多的反熔丝/熔丝结构,有些完全可以于CM OS工艺兼容。因此反熔丝/熔丝FPGA具有很好的发展前景。
在反熔丝/熔丝FPGA中,反熔丝/熔丝结构对FPGA的性能至关重要,这些反熔丝/熔丝结构击穿后的电阻特性不一致,大至10K欧姆,小的只有几欧姆,因此基于反熔丝/熔丝结构的位元电路需要单独设计。在本论文中提出的这种位元电路对反熔丝/熔丝结构击穿后的电阻没有特殊要求,因此具有重复利用性。因为篇幅有限,在此只叙述此位元电路在反熔丝FPCA中的应用,此位元电路可以完全应用到熔丝FPCA中。
1 新型反熔丝/熔丝位元电路
反熔丝/熔丝位元电路是控制反熔丝/熔丝完成逻辑编程的电路,图1所示是反熔丝位元电路,实框中是反熔丝存储单元电路图,该存储单元可以单独的存储0和1。写状态时加编程高压,让其中一个反熔丝电容熔通为一个小电阻,另一个反熔丝电容保持原状态;读取时,在熔通电容一端加电源电压,通过熔通后的小电阻传输高电平,完成1的存储;在熔通电容一端加低电平,通过熔通后的小电阻传输低电平,完成0的存储。可见位元电路输出高低电平是根据节点电压的变化来判断,与节点电流没有关系,因此对击穿后的电阻特性没有特殊要求。
对于熔丝位元电路只需将反熔丝结构换成熔丝结构,写状态时加编程高压,让其中一个熔丝熔断,另一个熔丝保持常态;读取时,在保持常态的熔丝一端加电源电压,通过熔丝传输高电平,完成1的存储,在保持常态的熔丝一端加低电平,通过熔丝传输低电平,完成0的存储。
图1的框外是一个MOS管,此MOS管是作为开关用的,当data输出0时,此开关关闭,X0与Y0断开,当data输出1时,此开关打开,X0与Y0实际上是连在一起的,此时从X0输入信号,Y0的输出信号即为X0。
2 反熔丝位元电路的写入过程
如图1所示,每个反熔丝存储结构包括两个反熔丝C1、C2,高压管M1、M2以及一个起编程控制作用的或非门。反熔丝采用MOS管做电容,利用栅氧击穿来熔通。或非门的两端分别接在行译码(WL)和列译码(BL)上,当反熔丝存储结构工作在编程模式的时候,WL、BL端同时输入低电平,通过或非门输出高电平,使高压管M1处于开启状态,这样就使反熔丝电容的一端接地;同时PRG_OEM端接低电平关断,以保护后面的普通管不受编程高压的影响。
此时在PRG_VDD端加编程高压(0.35μm工艺为15V),PRG_GND端加低压信号,则C1两端由于电压差很大(15V),被烧断,C2两端的电压相同,仍保持原来的状态,称处于该状态的反熔丝存储结构为状态一,如图2所示。相反的,当PRG_VDD端加低电压,PRG_GND端加编程高电压时,C2两端电压差达到15V,被烧断,C1两端电压基本相同,保持原来的状态,我们称处于该状态的反熔丝存储结构为状态二,如图2所示。
编程完成后,使或非门输入端的WL、BL信号都为高电平,M1处于关断状态,PRG_OEM端接高电平,M2管打开,这时电路可以简化为图2。状态一中,当PRG_VDD加电源电压(一般为5V),data输出高电平1,即状态一可以存储1;状态二中,当PRG_GND加低电压,data输出低电平,即状态二可以存储0。
在该反熔丝存储单元中使用两个电容而不用一个的原因是:如果只采用一个反熔丝,当存储0时,其一定不能加高压编程,即反熔丝不能被烧断,这就会出现M3管的栅极的电平不能确定的情况发生。
3 反熔丝位元电路的读出过程
图2所示是编程后的反熔丝位元电路,当反熔丝位元电路工作在读取状态时,PRG_VDD接高电平(电源电压,一般为5V),PRG_GND接低电平此时,状态一(即存储1状态)中,由于C1原来的位置已经被烧断而变成了一个电阻,所以data输出1,M3管的栅极上而处于高电平状态,M3被导通,X和Y连在了一起。在状态二(即存储0状态)中,由于C2被烧断而变成了一个电阻,但是高电平却由于C1的阻挡而不能向下传输,因此data输出0,M3的栅极处于低电平状态,M3管关断,X和Y没有连在一起。
此反熔丝位元电路具有普遍性,对于日前市场上的反熔丝型FPGA结构基本都可以适用。图2中M3开关管的存存,是为了使下而叙述的基丁LB结构的FPGA容易布线,在必要的时候可以省略。
4 应用实例
在图3的FPGA电路中,LB采用Actel熔丝型FPGA中采用的逻辑单元,空心圆圈和实心圆圈均代表一个图1所示的反熔丝位元电路,由LB引出的长纵线是将LB上半部分六个反熔丝位元电路中的Y端和下半部分六个反熔丝位元电路中的Y端连接在一起,引线标号为0-11的横线是将反熔丝位元电路的X端连在一起。由外部IO引出的短纵线是为了让外接逻辑信号进入指定模块。引线标号为3—8的横线上没有纵线连接的反熔丝位元电路(实心圆圈代表的反熔丝位元电路),足为了让左右两面的反熔丝位元咀路的X端连接在一起的,当其烧通后,其左右两端的反熔丝变连接在一起了,此种位元电路一般称为可编程分离开关。可编程开关的存在可以减少横线数量,优化布线最后剩下的标有VCC或CLK或CND的横线,处于这几行上面的反熔丝位元电路,是为反熔丝位元电路提供读取时的电平。
简单工作原理以该FPGA实现一个非门逻辑为例,完成非门的逻辑功能,只需要一个LB模块即可,其工作部分如图3中虚线框中电路。LB各端口A0、B0、SA、S0、A1、B1、SB和S1所加信号分别为10A10001,按照各信口对相应反熔丝编程,需要编程的反熔丝标识为图3中的虚线表示的空心圆圈。编程完成后,使这些空心圆圈代表的反熔丝位元电路中的X与Y端连在一起,如图2中的状态一所示。此时再加VDD、GND及输入信号A,高电平1和低电平0的输入只需熔通长横线VDD和GND上的反熔丝位元,VDD及GND从反熔丝位元的X端输入,Y端将X端信号传输到LB模块。例如A0需要为高电平,只需熔通反熔丝位元1。A信号的输入从任一个I/O端进入即可,图3中选择上半部分I/O端口,A信号进入反熔丝位元2的Y端,反熔丝位元2的X端将其Y端的A信号传到反熔丝位元3的X端,反熔丝位元3的Y端将其X端信口A传到LB模块。输出信号OUT可从任一个I /O端输出,原理同A信号的输入一样,可以选择下半部分的3条短横线(有可编程分离位元的横线)任意一条上的2个反熔丝位元输出,此输出信号即为A信号的取反信号。
5 结束语
本文提出的新型反熔丝/熔丝位元电路可以单独的存储0和1,对反熔丝/熔丝击穿后的电阻特性没有特殊要求,因此对于市场上存在的反熔丝/熔丝FPGA基本都可以适用,所以此位元电路拥有大规模应用的可能。