带电阻随机存储器模块的单芯片结构可编程逻辑器的制作方法

文档序号:6768646阅读:191来源:国知局
专利名称:带电阻随机存储器模块的单芯片结构可编程逻辑器的制作方法
技术领域
本发明属于可编程逻辑器技术领域,具体涉及一种通过非挥发(Nonvolatile)存储器模块克服挥发(Volatile)存储器模块中的软错误率(Soft Error Rate, SER)问题的可编程逻辑器,尤其涉及所述非挥发存储器为电阻随机存储器的、单芯片结构的可编程逻辑器。
背景技术
PLD是可编程逻辑器(Programmable Logic Device)的简称,广义的可编程逻辑器还包括FPGA (Field Programmable Gate Array,现场可编程门阵列)与 CPLD (ComplexProgrammable Logic Device,复杂可编程逻辑器件)等。可编程逻辑器能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用PLD来实现。 可编程逻辑器如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,可以事先验证设计的正确性。在 PCB(PrintedCircuitBoard,印刷电路板)完成以后,还可以利用可编程逻辑器的在线修改能力,随时修改设计而不必改动硬件电路。使用可编程逻辑器来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。可编程逻辑器的这些优点使得PLD技术在 90年代以后得到飞速的发展,同时也大大推动了 EDA软件和硬件描述语言(HDL)的进步。可编程逻辑器均包括多个MOS开关管和用于控制MOS开关管的存储器,现有技术中,首先,提出采用SRAM (Static Random Access Memory,静态随机存储器)作为配置存储器(也即查找表),SRAM用于控制可编程逻辑器的MOS开关管,其具有功耗低、速度快的特点。然后,SRAM在实际应用中是有可能发生软错误(soft error)的,特别是应用在辐射条
件下。当发生软错误时,判断回路就会得到错误的判断,造成可编程逻辑器的逻辑配置出
ilt 曰ο现有技术中,以FPGA为例,为解决FPGA中SRAM可能出现软错误率(Soft ErrorRate, SER)现象而引起存储数据的错误,早先提出了两个解决思路第(1)种,对编程点或逻辑部分的冗余设计,根据少数服从多数的原则利用判决电路检测并纠正发生soft error的SRAM单元(在xilinx公司的美国专利US75U871中提出);第(2)种通过回读编程点SRAM的值计算其CRC(Cyclic Redundancy Check循环冗余校验)码,并与先前写入值的CRC校验码比较来检测软错误(soft error),并利用ECC(ErrorChecking and Correcting,错误检查和纠正)纠错。其中第(1)种方法的缺点是当多数发生soft error 时,判决电路就会得到错误的判断,造成FPGA配置出错。其中第⑵种方法的缺点是ECC 只能在发生soft error的单元个数较少时才能纠错。同时两种方式共有的技术缺陷是可编程逻辑器芯片需要大量的判决电路和CRC/ECC电路,增加芯片面积,降低电路工作速度。图1所示为现有技术的一种可编程逻辑器示意图,在美国专利号为US 6363019、 发明名禾尔 % "Method and Circuit for Verifying Configuration Programmable LogicDevice”的美国专利中提出,用于在对SRAM数据配置的时候减少配置可能出现的错
3误。在FPGA正常工作的时候该电路不工作。如图1所示,该可编程逻辑器100包括非挥发存储器模块170、挥发存储器模块180、配置电路模块160和逻辑阵列110,其中,配置电路模块160包括地址电路210和比较单元220。非挥发存储器模块170的每个地址线(Address Line, AL)连接存储阵列中的一列,非挥发存储器模块170中每个存储单元的位线(Bit Line, BL)是跟挥发存储器模块180中相应列中的存储单元的BL连接在一起的,有多少个挥发存储单元就有多少个非挥发存储单元。比较单元220用于比较非挥发存储器模块170 输出到写线(Write Line, WL)上的数据与经过WL存入挥发存储器模块180的读线(Read Line,RL)上的数据,根据比较的结果输出控制信号到地址电路210以控制是否进行下一列的配置。地址电路210根据其控制信息来产生相应的地址信息输出到AL,AL上的地址信息同时传送到非挥发存储器模块170和挥发存储器模块180从而选中相应的列。该配置电路模块160仅在起始阶段进行比较验证。然而,图1所示现有技术中,可编程逻辑器100的某一实施例中,非挥发存储器模块170选择使用Flash存储器,挥发存储器模块180选择使用SRAM。根据SRAM和Flash的存储原理,Flash存储器和SRAM容易在辐射条件下产生SER ;同时,Flash存储器是使用浮栅技术,现有的半导体制造技术中,Flash存储器是难于与SRAM在同一芯片中集成制造的。 因此,图1所示的可编程逻辑器100难以实现单芯片结构。

发明内容
本发明要解决的技术问题是,克服可编程逻辑器正常工作中可能出现的SER错误,提高可编程逻辑器的抗辐射性能并易于实现单芯片集成。为解决以上技术问题,本发明提供一种可编程逻辑器。该可编程逻辑器包括地址电路模块(310)、比较单元(320)、SRAM模块(380)、逻辑阵列(390)以及用于克服SRAM模块中软错误率的非挥发存储器模块,所述非挥发存储器模块为电阻随机存储器模块,所述电阻随机存储器模块与地址电路模块、比较单元、SRAM模块、逻辑阵列实现单芯片集成。根本发明所提供的可编程逻辑器,其中,所述电阻随机存储器为基于CuxO的电阻随机存储器,其中1 < X < 2。所述地址电路模块通过地址线同时发送地址信号给SRAM模块和电阻随机存储器模块,分别选择电阻随机存储器模块和SRAM模块的相应的列。所述电阻随机存储器模块通过写线与SRAM模块连接,并可以通过写线向SRAM模块写入电阻随机存储器模块所存储的数据。电阻随机存储器模块与SRAM模块之间的每条写线上串联一个用于读出电阻随机存储器模块中的数据的灵敏放大器。根本发明所提供的可编程逻辑器,其中,所述电阻随机存储器模块通过所述写线读出相应地址的数据并输入比较单元,所述SRAM模块通过读线读出相应地址的数据并输入比较单元。所述比较单元对应比较电阻随机存储器模块所输出的数据和SRAM模块所输入的数据;如果比较结果为“相同”,则通过数据线发送地址递增命令给地址电路模块,进行下一列的比较;如果比较结果为“不相同”,则通过数据线发送控制信号给地址电路模块,使电阻随机存储器模块通过写线重新向SRAM模块的相应地址写入相应数据。所述电阻随机存储器模块包括一个以上电阻随机存储器单元,每个电阻随机存储器单元包括一个存储电阻和一个与该存储电阻串联的选通管。所述SRAM模块包括一个以上八管结构的SRAM单元。 所述地址电路模块包括计数器和解码器。
本发明的技术效果是,采用电阻随机存储器模块作为用于克服SRAM模块中软错误率的非挥发存储器模块,利用电阻随机存储器抗辐射存储的特性,从SRAM的BLN读出的数据与具有抗辐射RRAM的数据进行每时每刻的比较,检查出SRAM可能出现的SER错误,并且通过重新将具有抗辐射的RRAM的数据传送到SRAM出错列中实现了纠错功能。同时,电阻随机存储器模块在制造工艺上易于与制作SRAM的传统MOS工艺兼容,因此容易实现电阻随机存储器模块与地址电路模块、比较单元、SRAM模块、SRAM模块实现单芯片集成。同时, 该可编程逻辑器在配置数据时候,其外围电路部分不需要附加而外的奇偶位、或者增加专门的ECC电路。因此具有单芯片、体积小、抗辐射、功耗低、成本低的特点。


图1是现有技术的一种可编程逻辑器示意图;图2是本发明提供的某一实施例可编程逻辑器的结构示意图;图3是本发明图2所示实施例可编程逻辑器的具体实例电路结构图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。图2所示为本发明提供的某一实施例可编程逻辑器的结构示意图。如图2所示,该可编程逻辑器100为单芯片结构,其包括地址电路310、比较单元320、RRAM模块370、SRAM 模块380和逻辑阵列390,以上部分通过单芯片设计集成制造。地址电路310通过地址线 AL分别与RRAM模块370、SRAM模块380连接,地址电路310通过AL发送地址信号后,可以对应选中RRAM模块370的一列,并同时对应选中SRAM模块380中的一列。RRAM模块370 通过写线WL和SRAM模块380连接,在数据配置的时候或者在正常工作的时候纠正SRAM中的SER错误的时候,可以实现将RRAM模块370中的数据对应地址写入SRAM模块380中,并可以实现将RRAM模块370中的数据读出、输入至比较单元320。因此,WL是相对SRAM模块 380来说的,相对于RRAM模块370 JL其实也是读线。RRAM模块370通过读线RL与比较单元320连接,SRAM模块380中的数据可以输入比较单元320。因此,RRAM模块370中某一地址所存储的数据和SRAM模块380中某一地址所存储的数据可以同时输入比较单元320 中,以对比两者对应地址所存储的数据的差异。比较单元320与地址电路310之间通过数据线连接,根据比较结果,比较单元320可以发送命令给地址电路310。图2实施例中,AL、 WL、RL的条数是根据具体存储器的结构设置的,其不受本发明限制。请参考图2,在该实施例中,RRAM是基于金属氧化物的电阻随机存储器,具有非挥发存储特性,同时具有易于现有集成电路制造工艺兼容制造。在较佳的实例中,选择RRAM 为基于CuxO (1 < χ彡2)的电阻随机存储器,CuxO电阻随机存储器易于与铜互连后端工艺集成制造(请参阅中国专利申请号为CN200610147669的中国专利),具有成本低、制造工艺兼容性好的特点。而SRAM模块380都是基于MOS管的结构,在实例中选择为基于6个MOS 管结构的SRAM。SRAM模块380、地址电路310、比较单元320在现有技术中均易于实现集成于同一芯片中制造,但是如果要再集成类似于Flash的非挥发存储器,由于其独特的浮栅结构,是难于集成在同一块芯片上制造的。选择RRAM模块370作为非挥发存储器后,尤其
5是选用基于CuxO的RRAM模块作为非挥发存储器后,RRAM模块370易于与SRAM模块380、 地址电路310、比较单元320单芯片集成制造,因此,该发明易于实现单芯片结构的可编程逻辑器。进一步,请参阅图2,说明该实施例可编程逻辑器在正常工作的过程中可以克服 SER问题的工作原理(1)地址电路310中产生地址信号传送到AL,通过AL选中RRAM模块370中相应的列,并选中SRAM模块380中相应的列。(2) RRAM模块370中被地址信号选中列的数据通过内部的位线传送到WL上。
(3) SRAM模块380可以通过BL获得SRAM的信息对FPGA正常工作逻辑进行控制, 但是通过BLN获得的SRAM信息过RL读出,并通过RL输入值比较单元320,从而可以实现 SRAM模块380中相应选中的列所存储的数据与RRAM模块370中相应选中的列所存储的数据的相互比较。如果比较为相同,则SRAM中所选中的列没有发生SER,比较单元320产生地址递增的命令,传输至地址电路310,从而使地址电路310产生的地址,用于下次选择中不同的列。同时320产生的控制信号控制RRAM的SA(灵敏放大器),使得SA不工作,相当于 RRAM和SRAM之间的札断开,也就是说SRAM没有出现SER错误的列就不需要重新由RRAM 通过WL重新送入SRAM中,提高检测的效率。如果比较为不完全相同,则SRAM中所选中的列发生了 SER,则比较单元320发送控制信号给地址电路310,通过以上步骤(2),通过WL重新写入数据,直到比较结果为完全相同位置。说明RRAM对出错的SRAM的列进行了成功的纠错。通过重复以上步骤,可以实现在FPGA正常工作的时候对所有列的SRAM模块进行 SER校正,从而克服SER错误,从而能够使SRAM模块能够正确逻辑配置逻辑阵列390。因此, 在实际应用中,该可编程逻辑器芯片可以实现实时检测SRAM中模块380的SER问题,并且进行修正,同时不影响FPGA的正常工作。需要进一步说明的是,同时也能够在FPGA工作的每时每刻用于克服SER。图3所示为本发明图2所示实施例可编程逻辑器的具体实例电路结构图。如图3 所示实例,该可编程逻辑器为单芯片结构,其同样包括地址电路310、比较单元320、RRAM模块370、SRAM模块380和逻辑阵列(图中未示出),地址电路310、比较单元320共同构成配置逻辑模块330。RRAM模块370中包括若干个电阻随机存储器单元371,在该实例中,电阻随机存储器单元371为1T1R(1选通管1存储电阻串联)结构,但是电阻随机存储器单元 371的具体结构并不限于此,例如也可以为IDlR(其中D为用作选通管的二极管)、2T2R等结构。SRAM模块380中包括SRAM单元381,在该实例中为八管结构的传统SRAM,SRAM单元 381的具体结构也并不限于此。在该实施例中,连接RRAM模块370的SRAM模块380的札上串联了一个灵敏放大器(sense amplifier, SA) 372, SA 372用于将从该札对应的行的 RRAM单元中读出数据、比较后得出这个RRAM单元存储的是“0”还是“1”,控制单元373是用于在FPGA正常工作的时候也就是DONE (配置结束)为1的时候,如果RRAM和SRAM列比较结果是一致的,说明SRAM的这列没有出现SER错误,SA是不工作的,RRAM和SRAM之间是断开的,那么说明不需要将RRAM的列数据传送到SRAM中进行纠错。如果不一致的话那么 373控制的SA正常工作,RRAM的数据传送到SRAM中进行纠错。在SRAM配置的时候373是不工作的,也就是说SA不受控制373的控制(DONE为0)能够正常工作,实现RRAM和SRAM
6的正常连接,从而以列为单位进行数据的配置。比较单元320是由各种逻辑门组合而成,例如与非门、或非门,从而实现比较逻辑功能。地址电路310包括计数器311和解码器322。 当以上步骤(3)中比较单元320判断为“相同”时,比较单元320产生的递增信号输入至计数器311,计数器311加一(例如,AOAl由00-01-10-11顺序变化),从而在解码器312中解码并输出地址至AL,从而选择的下一列(例如,对应CO (00)、Cl (01)、C2 (10)、C3 (11)的地址顺序)。 尽管对本发明的描述是以参考实例和较佳实施例的方式做出的,但是本领域的技术人员将认知到,在不脱离本发明的范围和精神的前提下,可以在形式或者细节上做出改变。
权利要求
1.一种可编程逻辑器,其特征在于包括地址电路模块(310)、比较单元(320)、SRAM模块(380)、逻辑阵列(390)以及用于克服SRAM模块中软错误率的非挥发存储器模块,所述非挥发存储器模块为电阻随机存储器模块(370),所述电阻随机存储器模块与地址电路模块、 比较单元、SRAM模块、逻辑阵列实现单芯片集成。
2.根据权利要求1所述的可编程逻辑器,其特征在于,所述电阻随机存储器为基于 CuxO的电阻随机存储器,其中1 < χ彡2。
3.根据权利要求1所述的可编程逻辑器,其特征在于,所述地址电路模块通过地址线同时发送地址信号给SRAM模块和电阻随机存储器模块,分别选择电阻随机存储器模块和 SRAM模块的相应的列。
4.根据权利要求1所述的可编程逻辑器,其特征在于,所述电阻随机存储器模块通过写线与SRAM模块连接,并通过写线向SRAM模块写入电阻随机存储器模块所存储的数据。
5.根据权利要求1所述的可编程逻辑器,其特征在于,所述电阻随机存储器模块通过所述写线读出相应地址的数据并输入比较单元,所述SRAM模块通过读线读出相应地址的数据并输入比较单元。
6.根据权利要求5所述的可编程逻辑器,其特征在于,所述比较单元对应比较电阻随机存储器模块所输出的数据和SRAM模块所输入的数据;如果比较结果为“相同”,则通过数据线发送地址递增命令给地址电路模块,进行下一列的比较;如果比较结果为“不相同”, 则通过数据线发送控制信号给地址电路模块,使电阻随机存储器模块通过写线重新向SRAM 模块的相应地址写入相应数据。
7.根据权利要求4所述的可编程逻辑器,其特征在于,电阻随机存储器模块与SRAM模块之间的每条写线上串联一个用于读出电阻随机存储器模块中的数据的灵敏放大器。
8.根据权利要求1所述的可编程逻辑器,其特征在于,所述电阻随机存储器模块包括一个以上电阻随机存储器单元,每个电阻随机存储器单元包括一个存储电阻和一个与该存储电阻串联的选通管。
9.根据权利要求1所述的可编程逻辑器,其特征在于,所述SRAM模块包括一个以上八管结构的SRAM单元。
10.根据权利要求1所述的可编程逻辑器,其特征在于,所述地址电路模块包括计数器和解码器。
全文摘要
本发明属于可编程逻辑器技术领域,具体为一种可编程逻辑器。该可编程逻辑器包括地址电路模块(310)、比较单元(320)、SRAM模块(380)、逻辑阵列(390)以及用于克服SRAM模块中软错误率的电阻随机存储器模块(370),所述电阻随机存储器模块与地址电路模块、比较单元、SRAM模块、逻辑阵列实现单芯片集成。该可编程逻辑器不但能克服SRAM中的SER问题,还具有单芯片、体积小、抗辐射、功耗低、成本低的特点。
文档编号G11C11/00GK102169711SQ20101011378
公开日2011年8月31日 申请日期2010年2月25日 优先权日2010年2月25日
发明者林殷茵, 薛晓勇, 陈凤娇 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1