專利名稱:帶電阻隨機存儲器模塊的單芯片結構可編程邏輯器的制作方法
技術領域:
本發明屬于可編程邏輯器技術領域,具體涉及一種通過非揮發(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日
發明者林殷茵, 薛曉勇, 陳鳳嬌 申請人:復旦大學