一种非易失性查找表电路的实现方法【专利摘要】本发明涉及一种可编程逻辑门阵列的实现方法,尤其涉及一种非易失性查找表电路的实现方法。字线选择控制器的输出端连接至非易失存储阵列的各个字线,控制所述字线选择控制器的某一路的输出端为低电平,则与该路输出端连接的字线上的存储单元都会被选通;多路数据选择器的选择信号由非易失性查找表电路的输入端进行控制,从而选择的位线和反位线输出到读出感应放大器;最后由读出感应放大器读取选中的位线和反位线上存储单元的存储内容。本发明提出一种非易失性查找表电路实现方法,采用的是可编程电阻和二极管相串联的非易失性存储阵列,相比传统SRAM编程,存储密度高,漏电流小,而且具备非易失性,非常适用于多上下文的FPGA应用。【专利说明】一种非易失性查找表电路的实现方法
技术领域:
[0001]本发明涉及一种可编程逻辑门阵列的实现方法,尤其涉及一种查找表电路的实现方法。【
背景技术:
】[0002]查找表(Look-uptable,LUT)是现场可编程逻辑门阵列(FPGA)主要逻辑器件之一。η位查找表可以使用多路复用器(也叫多路数据选择器)来实现,它的选择线是LUT的输入,通过布尔逻辑函数建模为真值表从而可以编码任意η位数据。查找表本质上是一个随机存取存储器(RandomAccessMemory,RAM)。当用户通过原理图或者硬件描述语言描述了一个逻辑函数后,FPGA开发软件会自动计算逻辑电路所有可能的结果,并将结果写入RAM中,这样,每输入一个信号进行逻辑运算,相当于输入一个地址进行查表,找出对应的内容然后输出即可。目前FPGA多采用的是静态随机存取存储器(SRAM)来存储配置逻辑。例如图1-1所示的是一个具有两个输入端的查找表电路结构,该查找表事先将A和B的所有逻辑计算结果存储到SRAM单元中,然后每当输入一组A和B的值,就可以通过多路数据选择器选择相应的输出结果,从而实现可编程逻辑。SRAM的电路结构如图1-2所示,由六个晶体管构成,面积大而且漏电厉害,且SRAM是易失性存储器,一旦掉电,FPGA就需要重新编程,非常麻烦而且安全性能差。多上下文(mult1-contexOFPGA器件有多套配置信息,多套配置信息可以在很短时间内完成切换。传统基于SRAM的多上下文FPGA器件需要多套SRAM编程点,因而会带来更大的面积开销和漏功耗。【
发明内容】[0003]针对目前查找表存在的漏电,易失性的问题,本发明提供一种非易失性查找表电路实现方法。[0004]本发明解决技术问题所采用的技术方案为:[0005]一种非易失性查找表电路的实现方法,所述彳_易失性查找表电路包括:[0006]第一多路数据选择器和第二多路数据选择器,用于提供一查找表输入的输入端,[0007]字线选择控制器,由多个晶体管组成,具有多个控制端和与所述控制端对应的输出立而;[0008]非易失性存储阵列,包括多路与所述字线选择控制器的输出端相连接的字线,以及与所述字线相连接的由可编程电阻和二极管相串联的存储单元;所述存储单元连接所述多个多路数据选择器;其中,与所述第一多路数据选择器相连的存储单元中的可编程电阻与跟所述第二多路数据选择器相连的存储单元中的可编程电阻呈相反的态势;[0009]读出感应放大器,连接所述多路数据选择器;[0010]所述非易失性查找表电路的实现方法包括:[0011]所述字线选择控制器控制其第一字线为低电平,选通所述第一字线上的存储单元;[0012]向所述多路数据选择器的输入端输入信号,使选中位线和选中反位线分别连通所述第一字线上电阻呈相反状态的一对存储单元;[0013]所述读出感应放大器通过向所述选中位线和选中反位线提供一电压或电流,由于所述选中位线和选中反位线上连通的一对存储单元中电阻阻值状态的不同,所述选中位线和选中反位线上的电压或电流亦呈现不同的变化趋势,再由所述感应放大器进行读取并输出。[0014]优选地,通过电压比较器对所述选中位线和选中反位线上的电压进行比较,得出所述查找表电路的输出信号的逻辑值。[0015]优选地,所述查找表电路待机时,将所述字线选择控制器的控制端设为低电平,则与所述控制端对应的字线输出高电平。[0016]优选地,所述可编程电阻为可变电阻存储器或磁存储器或相变存储器。[0017]优选地,所述字线控制选择器通过一个NMOS晶体管和一个PMOS晶体管以及控制端来控制字线的电位。[0018]—种非易失性查找表电路的实现方法,所述非易失性查找表电路包括:[0019]多路数据选择器,用于提供一查找表输入的输入端,[0020]匹配逻辑电路,实现与所述多路数据选择器相当的RC延时;[0021]字线选择控制器,由多个晶体管组成,具有多个控制端和与所述控制端对应的输出立而;[0022]非易失性存储阵列,包括多路与所述字线选择控制器的输出端相连接的字线,以及与所述字线相连接的多个由可编程电阻和二极管相串联的存储单元,所述存储单元连接所述多路数据选择器;以及与所述匹配逻辑电路连接的由第一电阻和二极管串联组成的参考存储单元,其中,所述第一电阻为固定电阻,且其阻值介于所述可编程电阻的高阻态和低阻态之间;[0023]读出感应放大器,连接所述多路数据选择器和匹配逻辑电路;[0024]所述非易失性查找表电路的实现方法包括:[0025]所述字线选择控制器控制其第二字线和参考字线为低电平,选通所述第二字线上的存储单元和参考存储单元;[0026]向所述数据选择器的输入端输入信号,使选中位线连通所述第二字线上的一个存储单元,参考位线连通参考存储单元;[0027]所述读出感应放大器通过向所述选中位线和参考位线提供一电压或电流,由于所述选中位线和参考位线上连通的存储单元和参考存储单元中电阻阻值状态的不同,所述选中位线和参考位线上的电压或电流亦呈现不同的变化趋势,再由所述感应放大器进行读取并输出。[0028]优选地,所述参考电阻的阻值为所述可编程电阻的高阻态的阻值和低阻态的阻值的乘积的平方根。[0029]优选地,通过电压比较器对所述位线和参考位线上的电压进行比较,得出所述查找表电路的输出信号的逻辑值。[0030]优选地,所述参考存储单元通过与其连接的一个NMOS晶体管和一个PMOS晶体管控制所述参考字线的电位。[0031]本发明的有益效果:本发明提出了一种非易失性查找表电路实现方法,采用的是可编程电阻和二极管相串联的非易失性存储阵列,相比传统SRAM编程来说,存储密度高,漏电流小,而且具备非易失性,非常适用于多上下文的FPGA应用。【附图说明】[0032]图1-1为具有两个输入端的查找表电路结构的结构示意图;[0033]图1-2为由晶体管构成的SRAM结构示意图;[0034]图2为第一种实施例的一种非易失性查找表电路的实现方法的不意图;[0035]图3为第二种实施例的一种非易失性查找表电路的实现方法的示意图。[0036]图4为第一种实施例的查找表电路结构不意图;[0037]图5为第二种实施例的查找表电路结构示意图。【具体实施方式】[0038]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。[0039]本发明提出了一种非易失性查找表电路实现方法,如图2所示。所述非易失性查找表电路主要由以下几部分组成:非易失性存储阵列,字线选择控制器,多个多路数据选择器以及读出感应放大器。非易失性存储阵列包括多个由可编程电阻与二极管相串联的存储单元,以及从字线选择控制器的输出端所引出的字线。可编程电阻可以为阻变存储器(ReRAM)、磁存储器(MRAM)或相变存储器(PCRAM或PCM),它们的特点是通过不同的编程方法,可以使其处于高阻态或低阻态。例如,相变存储器利用相变材料在结晶态和非晶态之间的阻值差异来存储数据,磁存储器依靠自由层和固定层之间的磁场方向是否相同而呈现高低电阻来保存数据,可变电阻存储器利用可变电阻元件来存储数据。可编程电阻均具备非易失性,即掉电后?目息不丢失。[0040]本发明提出的一种非易失性查找表电路实现方法,查找表输入到多路数据选择器,通过控制某一特定的位线和反位线从而选择某一特定字线上的存储单元;给选中位线和选中反位线上施加相同的电压或电流,从而将存储单元中的可编程电阻的高阻态或低阻态转化为逻辑电平值。[0041]具体地,在如图2所示的查找表电路中,将输入信号AO至An-1输入到多路数据选择器。非易失性存储阵列包括多个字线(WL0,WL1,……),每个字线与二极管的阴极连接在一起。每个字线上的存储单元就是一套配置信息。通过控制字线的电位从而控制哪一套配置信息输出。字线数目越多,配置信息也就越多。在同一字线上,位线上(BL0至BLm-1)所连接的可编程电阻和反位线上(BLbO至BLbm-1)连接的电阻呈相反的状态,并通过读出感应放大器将这一对电阻状态转化为逻辑电平值。也就是说,2D2R(2个二极管和2个分别与二极管串联的且阻值状态相反的可编程电阻)单元用来存储Ibit(比特)数据。本发明所述非易失查找表如果有η个输入端,那么就需要2η个2D2R单元,BPm=2η。多条字线就组成了多套配置信息,即多上下文。不同上下文的切换是通过字线选择控制来实现的。当所述非易失查找表电路处于待机模式时,所述多个字线(WL0,WL1,……)应当处于高电平,使所述非易性失存储阵列中的二极管均处于反向截止状态,从而使泄漏功耗降到最低。当需要选择某个字线时(某一套配置信息)就使该字线降为低电平,从而使字线上的二极管正向导通,其余字线仍处于高电平状态,再将编程电流灌入相应的位线(BLO至BLm-1)和反位线(BLbO至BLbm-1),使可编程电阻为高阻态或者低阻态,从而实现了对所述可编程电阻的编程。此外,图2中显示了所述字线选择控制模块的一种实现方法,即通过一个NMOS和一个PMOS晶体管以及控制端(CEN_0,CEN_1,……)来控制字线电位。[0042]进一步的,为了提高存储密度,可将2D2R存储单元改进为IDlR阵列,如图3所示的第二种实施例,该非易失存储阵列包括仅有图2中一半的存储单元和一个参考存储单元。参考存储单元中电阻的阻值固定并介于可编程电阻高阻态和低阻态之间的一个阻值。通过参考位线与位线上电压或电流的差异从而读出正确的逻辑值。匹配逻辑的作用是为了匹配位线上由多路数据选择器带来的RC延迟,在匹配逻辑的作用下,参考位线上的RC延迟与位线上的RC延迟就能大致相当,从而提高读取数据的正确率。图3所示的非易失性查找表的其余控制和读出方法与上述类似,此处不再赘述。[0043]具体实施例一:[0044]为了进一步理解本发明这种非易失性查找表电路的实现方法,下面举具体实施例一作进一步阐述,如图4所示。图4所示的是第一实施例的两输入的查找表电路,输入端的输入信号为A和B,其中A和B为输入信号A和输入信号B的取反信号。信号CLK和信号CLK_D为读出感应放大器的时钟控制信号。假设选择WLl字线上的存储单元进行输出,那么设置控制字线选择控制器的CEN_0控制端为低电平,CENj控制端为高电平。则WLO字线被钳位在高电平,因此与WLO字线连接的存储单元都会因为二极管的反向截止而不被选择;而WLl字线被拉低到低电平,与WLl字线相连接的存储单元会因为二极管的正向导通而被选择。假设某一时刻,输入信号A=T,输入信号B=“O”,那么多路数据选择器的电流通路如图4中的虚线箭头所示,电流分别经过存储单元Cl和存储单元C2。读出感应放大器首先对SA节点和SB节点进行充电至相同的电平,然后进行放电。其中,SA节点相当于图2中的选中位线,SB节点相当于选中反位线。由于存储单元Cl和存储单元C2的阻值呈相反的组态,使得在放电过程中SA节点和SB节点电压变化呈现不同的趋势,再通过电压比较器对选中位线和参考位线上的电压进行比较,就能读出存储单元Cl和存储单元C2中的存储内容,并从输出端口out和输出端口outb进行输出。在本例中,如果存储单元Cl中电阻为高阻态,存储单元C2中电阻为低阻态,那么在放电过程中SA节点的电压高于SB节点的电压,则电压比较器的输出端口out的逻辑值为“O”,输出端口outb的逻辑值为“I”;如果存储单元Cl中的电阻为低阻态,存储单元C2中电阻为高阻态,那么在放电过程中节点SA的节点电压低于节点SB的电压,则电压比较器输出端口out的逻辑值为“I”,输出端口outb的逻辑值为“O”。[0045]具体实施例二:[0046]如图5所示的是第二实施例的查找表电路结构示意图,这种电路结构存储密度更高,与图4的区别在于,该非易失存储阵列仅有图4中一半的存储单元再加一个参考存储单元Cref。参考存储单元Cref中电阻的阻值固定并介于可编程电阻高阻态和低阻态之间的一个阻值。例如可编程电阻的高阻值为Rh,可编程电阻的低阻值为Rl,那么参考电阻Rref阻值一般可设定为Rh和Rl积的平方根。匹配逻辑电路实现了与多路数据选择器大致相当的RC延时。假设某一时刻,输入端输入信号A=“I”,输入信号B=“I”,那么选中位线经过存储单元C3,而选中的参考位线经过参考存储单元Cref,电流路径如图5中虚线箭头所示。读出感应放大器同样是先对SA节点和SB节点进行充电至相同的电平,然后进行放电,由于存储单元C3和参考存储单元Cref阻值的差异,使得在放电过程中SA节点和SB节点的电压变化呈现不同的趋势,再通过电压比较器就能读出存储单元C3中某一存储单元中存储的内容,并从输出端口out和输出端口outb进行输出。在本例中,如果存储单元C3中某一存储单元的电阻为高阻态,那么在放电过程中SA节点电压高于SB节点,则电压比较器输出端口out的逻辑值为“O”,输出端口outb的逻辑值为“I”;如果存储单元C3中电阻为低阻态,那么在放电过程中SA节点电压低于SB节点,电压比较器输出端口out的逻辑值为T,输出端口outb的逻辑值为“O”。[0047]以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所做出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。【主权项】1.一种非易失性查找表电路的实现方法,其特征在于,所述非易失性查找表电路包括:第一多路数据选择器和第二多路数据选择器,用于给查找表电路提供一输入端;字线选择控制器,由多个晶体管组成,具有多个控制端和与所述控制端对应的输出端;非易失性存储阵列,包括多路与所述字线选择控制器的输出端相连接的字线,以及与所述字线相连接的由可编程电阻和二极管相串联的存储单元;所述存储单元连接所述多个多路数据选择器;其中,与所述第一多路数据选择器相连的存储单元中的可编程电阻与跟所述第二多路数据选择器相连的存储单元中的可编程电阻呈相反的态势;读出感应放大器,连接所述多路数据选择器;所述非易失性查找表电路的实现方法包括:所述字线选择控制器控制其第一字线为低电平,选通所述第一字线上的存储单元;向所述多路数据选择器的输入端输入信号,使选中位线和选中反位线分别连通所述第一字线上电阻呈相反状态的一对存储单元;所述读出感应放大器通过向所述选中位线和选中反位线提供一电压或电流,由于所述选中位线和选中反位线上连通的一对存储单元中电阻阻值状态的不同,所述选中位线和选中反位线上的电压或电流亦呈现不同的变化趋势,再由所述感应放大器进行读取并输出。2.根据权利要求1所述的非易失性查找表电路的实现方法,其特征在于,通过电压比较器对所述选中位线和选中反位线上的电压进行比较,得出所述查找表电路的输出信号的逻辑值。3.根据权利要求1所述的非易失性查找表电路的实现方法,其特征在于,所述查找表电路待机时,将所述字线选择控制器的控制端设为低电平,则与所述控制端对应的字线输出高电平。4.根据权利要求1所述的非易失性查找表电路的实现方法,其特征在于,所述可编程电阻为可变电阻存储器或磁存储器或相变存储器。5.根据权利要求1所述的非易失性查找表电路的实现方法,其特征在于,所述字线控制选择器通过一个NMOS晶体管和一个PMOS晶体管以及控制端来控制字线的电位。6.—种非易失性查找表电路的实现方法,其特征在于,所述非易失性查找表电路包括:多路数据选择器,用于给查找表电路提供一输入端;匹配逻辑电路,实现与所述多路数据选择器相当的RC延时;字线选择控制器,由多个晶体管组成,具有多个控制端和与所述控制端对应的输出端;非易失性存储阵列,包括多路与所述字线选择控制器的输出端相连接的字线,以及与所述字线相连接的多个由可编程电阻和二极管相串联的存储单元,所述存储单元连接所述多路数据选择器;以及与所述匹配逻辑电路连接的由第一电阻和二极管串联组成的参考存储单元,其中,所述第一电阻为固定电阻,且其阻值介于所述可编程电阻的高阻态和低阻态之间;读出感应放大器,连接所述多路数据选择器和匹配逻辑电路;所述非易失性查找表电路的实现方法包括:所述字线选择控制器控制其第二字线和参考字线为低电平,选通所述第二字线上的存储单元和参考存储单元;向所述数据选择器的输入端输入信号,使选中位线连通所述第二字线上的一个存储单元,参考位线连通参考存储单元;所述读出感应放大器通过向所述选中位线和参考位线提供一电压或电流,由于所述选中位线和参考位线上连通的存储单元和参考存储单元中电阻阻值状态的不同,所述选中位线和参考位线上的电压或电流亦呈现不同的变化趋势,再由所述感应放大器进行读取并输出。7.根据权利要求6所述的非易失性查找表电路的实现方法,其特征在于,所述参考电阻的阻值为所述可编程电阻的高阻态的阻值和低阻态的阻值的乘积的平方根。8.根据权利要求6所述的非易失性查找表电路的实现方法,其特征在于,通过电压比较器对所述位线和参考位线上的电压进行比较,得出所述查找表电路的输出信号的逻辑值。9.根据权利要求6所述的非易失性查找表电路的实现方法,其特征在于,所述参考存储单元通过与其连接的一个NMOS晶体管和一个PMOS晶体管控制所述参考字线的电位。【文档编号】H03K19/177GK105897253SQ201610201319【公开日】2016年8月24日【申请日】2016年4月1日【发明人】叶勇,亢勇,景蔚亮,陈邦明【申请人】上海新储集成电路有限公司