本發明涉及電可編程熔絲技術領域,特別涉及一種電可編程熔絲系統及其測試方法。
背景技術:
efuse(electricallyprogrammablefuse,電可編程熔絲)技術是利用金屬電遷移(em)特性發展起來的一項技術,與傳統的激光熔絲(laserfuse)技術不同,efuse技術能夠用來生成小的多的電熔絲(e-fuse)結構。電熔絲的初始電阻值很小,當有大電流經過電熔絲時,電熔絲被熔斷,其電阻值倍增。被熔斷的電熔絲將永久的保持斷開狀態,而未被熔斷的電熔絲則依然為導通狀態。因此,由電熔絲構成的儲存單元以判斷電熔絲是否被熔斷來得知其內部存儲的數據。
efuse技術主要用于現場修復芯片,執行冗余等。與傳統的激光熔絲技術相比,efuse技術主要具有以下優點:一、它與目前廣泛應用的cmos制造工藝完全兼容,不增加額外的工藝步驟,價格低廉;二、體積小,占用更小的硅片面積且能夠提供更高的靈活性,因此被廣泛的應用于嵌入式系統和一次可編程存儲運用中;三、由于使用了與mos柵極一種的多晶硅材料,對未來技術的可縮小性好;四、efuse技術還具有完成現場修復芯片的功能,使封裝后編程的可能成為現實,并且不論是編程還是測試都不需要特殊的儀器,這使efuse技術不僅能夠完全取代激光熔絲的應用,還拓展了自己的應用范圍。
efuse系統主要由efuse單元陣列和編程讀寫等外圍電路組成。一方面,現有的efuse系統的編程技術對輸入信號有嚴格的時序要求,這增加了使用者的難度,影響efuse系統的良率;另一方面,efuse單元由于工藝或編程環境的原因也會有一定比例的不良率,因此必須增加efuse冗余(redundancy)編程模塊設計,現有的efuse系統會要求使用者使用相同的信號輸入對冗余編程模塊再一次編程。
然而,現有技術要求對efuse單元陣列和冗余編程模塊進行相同的編程,因此要求使用者對efuse單元陣列和冗余編程模塊輸入相同的信號,使得使用者對信號輸入的要求高,且當信號輸入出現偏差時,efuse系統的良率也將變低。
技術實現要素:
本發明解決的問題是提供一種電可編程熔絲系統及其測試方法,降低輸入的編程控制信號的難度,提高對電可編程熔絲系統進行測試的良率。
為解決上述問題,本發明提供一種電可編程熔絲系統,包括:邏輯控制模塊、分別與所述邏輯控制模塊耦接的主編程模塊以及冗余編程模塊;所述邏輯控制模塊,適于輸入編程控制信號,根據所述編程控制信號產生控制主編程模塊操作的主輸入信號;以及接收所述主編程模塊反饋的主輸出信號,并在檢測到所述主編程模塊編程失敗時,產生控制所述冗余編程模塊操作的冗余輸入信號;還適于輸出編程結果,所述編程結果基于所述主輸出信號或所述冗余編程模塊反饋的冗余輸出信號獲得,用于標示所述電可擦除熔絲系統是否編程成功;所述主編程模塊,適于接收所述主輸入信號,并進入編程狀態;以及向所述邏輯控制模塊反饋主輸出信號,所述主輸出信號用于標示所述主編程模塊是否編程成功;所述冗余編程模塊,適于接收所述冗余輸入信號,并進入編程狀態;以及向所述邏輯控制模塊反饋冗余輸出信號,所述冗余輸出信號用于標示所述冗余編程模塊是否編程成功。
可選的,所述主編程模塊包括efuse陣列單元,所述冗余編程模塊包括efuse陣列單元,且所述主編程模塊與冗余編程模塊相同。
可選的,所述主編程模塊還適于:接收所述邏輯控制模塊提供的行編譯地址。
可選的,所述主編程模塊還適于:依次對所述行編譯地址對應的列編程地址的每一列進行操作,以獲知所述主編程模塊在所述行編譯地址的所有列編程地址是否編程成功。
可選的,所述主輸出信號標示主編程模塊為編程成功,或者,所述冗余輸出信號標示冗余編程模塊為編程成功時,輸出的所述編程結果標示電可擦 除熔絲系統編程成功。
可選的,所述編程控制信號包括:實際編程時間以及編程數據。
可選的,所述邏輯控制模塊還適于,輸出外部標識信號,所述外部標識信號適于標識所述主編程模塊的編程狀態以及冗余編程模塊的編程狀態;所述邏輯控制模塊還適于,輸出握手信號,所述握手信號適于標識電可擦除熔絲系統是否處于編程狀態。
本發明還提供一對電可編程熔絲系統的測試方法,包括:接收編程控制信號;根據所述編程控制信號產生控制主編程模塊操作的主輸入信號,所述主編程模塊進入編程狀態;接收所述主編程模塊反饋的主輸出信號,并判斷所述主編程模塊是否編程成功,所述主輸出信號用于標示所述主編程模塊是否編程成功;當檢測到所述主編程模塊編程成功時,輸出編程結果;當檢測到所述主編程模塊編程失敗時,產生控制冗余編程模塊操作的冗余輸入信號,所述冗余編程模塊進入編程狀態;接收所述冗余編程模塊反饋的冗余輸出信號,并輸出編程結果,其中,所述冗余輸出信號用于標示所述冗余編程模塊是否編程成功,所述編程結果用于標示所述電可擦除熔絲系統是否編程成功。
可選的,在所述主編程模塊進入編程狀態之前,所述主輸入信號控制所述主編程模塊進行的操作還包括:所述主編程模塊進入讀取狀態,讀取所述主編程模塊的狀態,并判斷所述主編程模塊是否進行過編程;當檢測到所述主編程模塊進行過編程時,結束對所述主編程模塊的操作;當檢測到所述主編程模塊未進行過編程時,使所述主編程模塊進入編程狀態。
可選的,在所述主編程模塊結束編程狀態后、判斷所述主編程模塊是否編程成功前,讀取所述主編程模塊的狀態;基于所述讀取的主編程模塊的狀態,獲取所述主編程模塊反饋的主輸出信號。
可選的,所述冗余編程模塊在結束編程狀態后,讀取所述冗余編程模塊的狀態,并基于所述讀取的冗余編程模塊的狀態,獲取所述冗余編程模塊反饋的冗余輸出信號。
可選的,所述主輸出信號標示所述主編程模塊編程成功時,或者,所述冗余輸出信號標示所述冗余編程模塊編程成功時,所述編程結果標示所述電 可擦除熔絲系統編程成功。
與現有技術相比,本發明的技術方案具有以下優點:
本發明提供的電可編程熔絲系統的技術方案中,包括與主編程模塊以及冗余編程模塊耦接的邏輯控制模塊,所述邏輯控制模塊產生控制主編程模塊進行編程的主輸入信號,并當檢測到主編程模塊編程失敗時,基于所述主編程模塊反饋的主輸出信號產生控制冗余編程模塊操作的冗余輸入信號,使冗余編程模塊進入編程狀態。因此對本發明提供的電可編程熔絲系統進行測試時,使用者僅需通過邏輯控制模塊輸入編程控制信號,能夠使得主編程模塊以及冗余編程模塊相應進入編程狀態,使用者無需分別向所述主編程模塊輸入主編程控制信號、向冗余編程模塊輸入冗余編程控制信號,因此減小了主編程控制信號或冗余編程控制信號出錯的概率,簡化了輸入編程控制信號的難度,進而避免了對電可編程熔絲系統進行測試時由于輸入信號出錯而造成的誤判,提高了電可編程熔絲系統的良率。
進一步,本發明在對主編程模塊進行編程前,還適于讀取主編程模塊的狀態,檢測主編程模塊是否進行過編程,避免所述主編程模塊誤進入編程模式,進一步提高電可編程熔絲系統的良率。
本發明還提供一種電可編程熔絲系統的測試方法,使用者只需要輸入編程控制信號,例如實際編程時間、編程數據和行編譯地址后,所述主編程模塊接收編程控制信號,并進入編程狀態,;且依據主編程模塊的狀態自動產生冗余編程模塊所需的冗余編程控制信號,直至完成對所述主編程模塊在行編譯地址狀態的檢測,降低了使用者對編程控制信號輸入的難度,使得對電可編程熔絲系統進行測試時需要輸入的編程控制信號得到了簡化,避免由于使用者對編程控制信號輸入的誤差而造成對電可編程熔絲系統的誤判,提高了測試電可編程熔絲系統的良率。
附圖說明
圖1為現有技術的efuseip的架構圖;
圖2為現有技術的efuse系統的時序圖;
圖3為本發明實施例提供的電可編程熔絲系統的功能模塊示意圖;
圖4為本發明實施例提供的電可編程熔絲系統的電路架構圖;
圖5為本實施例提供的主編程模塊的功能框圖;
圖6為本實施例提供的冗余編程模塊的功能框圖;
圖7為本發明實施例提供的對電可編程熔絲系統進行測試的流程示意圖;
圖8為本發明實施例提供的編程控制信號的時序圖;
圖9為本發明實施例提供的對電可編程熔絲系統指定行編譯地址進行測試的流程示意圖。
具體實施方式
由背景技術可知,現有技術對efuse陣列單元和冗余單元的輸入信號要求高,使得對信號輸入的準確度要求高,且電可編程熔絲系統的良率也有待提高。
參考圖1,圖1為現有技術的efuse系統的架構圖,所述efuse系統包括:
efuse陣列模塊10,由多個電熔絲efuse單元組成的陣列,它能夠根據所述輸入的地址信號,自動找出需要進行操作的電熔絲單元;
與所述efuse陣列模塊10耦接的解碼模塊,所述解碼模塊適于將輸入地址解譯成與efuse陣列模塊10中的電熔絲efuse單元相對應的地址,用于對efuse陣列模塊10進行讀取操作或編程操作時的定位。
其中,所述解碼模塊包括x-解碼模塊11以及y-解碼模塊12。為了方便版圖排列以及布局布線,efuse陣列模塊10中的efuse單元采用多行多列的排列方式,因此解碼模塊分為x-解碼模塊11和y-解碼模塊12,x-解碼模塊11用于輸入要讀取或編程的efuse陣列模塊的行地址,y-解碼模塊12用于輸入要讀取或編程的efuse陣列模塊的列地址。
與所述efuse陣列模塊10耦接的邏輯模塊13;與所述efuse陣列模塊10耦接的輸出模塊14。所述邏輯模塊13用于產生多個控制信號,包括,讀取控制信號rden、編程使能信號pgmen以及進入編程信號aen。
參考圖2,圖2為現有技術的efuse系統的時序圖,其中,rend為高電 平時,進入讀取模式;pgmen為高電平時,efuse陣列模塊10進入編程模式,說明efuse陣列模塊10具備編程能力;pgmen為高電平,且aen為高電平時,efuse陣列模塊10進入編程狀態,其中,aen在一個周期內的高電平時間tpgm為實際的編程時間。
編程地址由解碼模塊輸入,且一次只能編程一位地址,同時各個控制信號之間具有嚴格的時序要求。對于冗余編程模塊而言,冗余編程模塊與efuse陣列模塊相同,且需要在相同的控制信號下完成對冗余編程模塊的編程。
因此,現有技術不僅要精確控制對efuse陣列模塊進行編程的控制信號,也需要精確控制對冗余編程模塊進行編程的控制信號,因此現有技術對控制信號時序的要求嚴格,且當efuse陣列模塊與冗余編程模塊的控制信號之間出現誤差時,容易對efuse陣列模塊造成誤判,例如,判斷efuse系統在一編程地址下為符合要求,而實際上efuse系統在該編程地址下為失敗的。
為解決上述問題,本發明提供一種電可編程熔絲系統,包括:邏輯控制模塊、分別與所述邏輯控制模塊耦接的主編程模塊以及冗余編程模塊;所述邏輯控制模塊,適于輸入編程控制信號,根據所述編程控制信號產生控制主編程模塊操作的主輸入信號;以及接收所述主編程模塊反饋的主輸出信號,并在檢測到所述主編程模塊編程失敗時,產生控制所述冗余編程模塊操作的冗余輸入信號;還適于輸出編程結果,所述編程結果基于所述主輸出信號或所述冗余編程模塊反饋的冗余輸出信號獲得,用于標示所述電可擦除熔絲系統是否編程成功;所述主編程模塊,適于接收所述主輸入信號,并進入編程狀態;以及向所述邏輯控制模塊反饋主輸出信號,所述主輸出信號用于標示所述主編程模塊是否編程成功;所述冗余編程模塊,適于接收所述冗余輸入信號,并進入編程狀態;以及向所述邏輯控制模塊反饋冗余輸出信號,所述冗余輸出信號用于標示所述冗余編程模塊是否編程成功。
本發明提供的電可編程熔絲系統,具有與主編程模塊以及冗余編程模塊耦接的邏輯控制模塊,所述邏輯控制模塊產生控制主編程模塊進行編程的主輸入信號,并當檢測到主編程模塊編程失敗時,基于所述主編程模塊反饋的主輸出信號產生控制冗余編程模塊操作的冗余輸入信號,使冗余編程模塊進入編程狀態。因此對本發明提供的電可編程熔絲系統進行測試時,使用者僅 需通過邏輯控制模塊輸入編程控制信號,能夠使得主編程模塊以及冗余編程模塊相應進入編程狀態,使用者無需分別向所述主編程模塊輸入主編程控制信號、向冗余編程模塊輸入冗余編程控制信號,因此減小了主編程控制信號或冗余編程控制信號出錯的概率,簡化了輸入編程控制信號的難度,進而避免了對電可編程熔絲系統進行測試時由于輸入信號出錯而造成的誤判,提高了電可編程熔絲系統的良率。
為使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施例做詳細的說明。
圖3為本發明實施例提供的電可編程熔絲系統的功能模塊示意圖。
結合參考圖3和圖4,圖4為圖4為本實施例提供的電可擦除熔絲系統的電路架構圖。所述電可編程熔絲系統包括:
邏輯控制模塊101、分別與所述邏輯控制模塊101耦接的主編程模塊102以及冗余編程模塊103;
所述邏輯控制模塊101,適于輸入編程控制信號,根據所述編程控制信號產生控制主編程模塊102操作的主輸入信號;以及接收所述主編程模塊102反饋的主輸出信號d11,并在檢測到所述主輸出模塊102編程失敗時,產生控制所述冗余編程模塊103操作的冗余輸入信號;還適于輸出編程結果d,所述編程結果d基于所述主輸出信號d11或所述冗余編程模塊103反饋的冗余輸出信號d21獲得,用于標示所述電可擦除熔絲系統是否編程成功;
所述主編程模塊102,適于接收所述主輸入信號,并進入編程狀態;以及向所述邏輯控制模塊101反饋主輸出信號d11,所述主輸出信號d11用于標示所述主編程模塊102是否編程成功;
所述冗余編程模塊103,適于接收所述冗余輸入信號,并進入編程狀態;以及向所述邏輯控制模塊101反饋冗余輸出信號d21,所述冗余輸出信號d21用于標示所述冗余編程模塊103是否編程成功。
以下將結合附圖對本實施例提供的電可熔絲系統進行詳細說明。
所述邏輯控制模塊101,用于產生控制主編程模塊102和冗余編程模塊 103操作狀態的編程控制信號,使主編程模塊102處于編程狀態或讀取狀態,使冗余編程模塊103處于編程狀態或讀取狀態。
所述邏輯控制模塊101首先適于產生控制主編程模塊102操作的主輸入信號。本實施例中,所述主輸入信號首先適于使主編程模塊102進入讀取狀態,然后依據所述主編程模塊102檢測到的讀取狀態的結果,判斷是否需要產生使主編程模塊102進入編程狀態的輸入信號;當檢測到所述主編程模塊102的讀取狀態為未進行過編程時,產生控制所述主編程模塊102進入編程狀態的主輸入信號。
所述邏輯控制模塊101還適于接收所述主編程模塊102反饋的主輸出信號,并在檢測到所述主輸出模塊102編程失敗時,產生控制所述冗余編程模塊103操作的冗余輸入信號。換言之,所述邏輯控制模塊101在接收到所述主輸出信號d11標示主編程模塊102進行過編程或編程成功時,所述邏輯控制模塊101無需產生控制冗余編程模塊103操作的冗余輸入信號,所述冗余編程模塊103處于休眠狀態。
所述邏輯控制模塊101還適于輸出編程結果d,所述編程結果d基于所述主輸出信號d11或所述冗余編程模塊103反饋的冗余輸出信號d21獲得,用于標示所述電可擦除熔絲系統是否編程成功。所述主輸出信號d11標示主編程模塊102為編程成功,或者,所述冗余輸出信號d21標示冗余編程模塊103為編程成功時,輸出的所述編程結果d標示電可擦除熔絲系統編程成功。
具體的,當所述主編程模塊102反饋的主輸出信號d11標示所述主編程模塊102進行過編程或者編程成功時,或者,所述冗余編程模塊103反饋的冗余輸出信號d21標示冗余編程模塊103編程成功時,輸出的編程結果d標示所述電可擦除熔絲系統編程成功,符合要求。當所述主編程模塊102反饋的主輸出信號d11標示所述主編程模塊102編程失敗,且所述冗余編程模塊103反饋的冗余輸出信號d21標示冗余編程模塊103編程失敗時,輸出的編程結果d標示所述電可擦除熔絲系統編程失敗,不符合要求。所述主輸出信號d11反饋至邏輯控制模塊101的第一反饋信號d1,所述冗余輸出信號d21反饋至邏輯控制模塊101的第二反饋信號d2。
所述邏輯控制模塊101還適于,輸出外部標識信號flag,所述外部標識信號flag適于標識所述主編程模塊102的編程狀態以及冗余編程模塊103的編程狀態,標識主編程模塊102是否進行過編程或編程是否成功,標識冗余編程模塊103編程是否成功;所述邏輯控制模塊101還適于,輸出握手信號busy,所述握手信號busy適于標識電可擦除熔絲系統是否處于編程狀態。
本實施例中,所述編程控制信號包括:重置信號reset,外部時鐘信號clk,外部編程使能信號pgmen,外部進入編程信號aen,外部編程讀取信號rden,編程信息信號a。
所述重置信號reset適于為邏輯控制模塊101提供復位信號,清除邏輯控制模塊102中的時序,本實施例中以低電平復位為例;
所述外部時鐘信號clk為編程時的輸入時鐘信號,外部時鐘信號clk的周期為tclk。
所述外部編程使能信號pgmen適于產生控制主編程模塊102操作的第一編程使能信號pgmen1,所述第一編程使能信號pgmen1為高電平時主編程模塊102具備編程條件,所述外部編程使能信號pgmen還適于產生控制冗余編程模塊103操作的第二編程使能信號pgmen2,所述第二編程使能信號pgmen2為高電平時冗余編程模塊103具備編程條件。
本實施例中,所述第一編程使能信號pgmen1適于傳輸至主編程模塊102的主編程使能信號pgmen11;所述第二編程使能信號pgmen2適于傳輸至冗余編程模塊103的冗余編程使能信號pgmen21。
所述外部進入編程信號aen適于產生控制主編程模塊102操作的第一進入編程信號aen1,所述第一進入編程信號aen1為高電平時主編程模塊102進入編程狀態,所述外部進入編程信號aen還適于產生控制冗余編程模塊103操作的第二進入編程信號aen2,所述第二進入編程信號aen2為高電平時冗余編程模塊103進入編程狀態。
本實施例中,所述第一進入編程信號aen1適于傳輸至主編程模塊102的主進入編程信號aen11;所述第二進入編程信號aen2適于傳輸至冗余編 程模塊103的冗余進入編程信號aen21。
所述外部編程讀取信號rden適于產生控制主編程模塊102操作的第一編程讀取信號rden1,所述第一編程讀取信號rden1適于使主編程模塊102進入讀取狀態,所述外部編程讀取信號rden還適于產生控制冗余編程模塊103操作的第二編程讀取信號rden2,所述第二編程讀取信號rden2適于使冗余編程模塊103進入讀取狀態。
本實施例中,所述第一編程讀取信號rden1適于傳輸至主編程模塊102的主編程讀取信號rden11;所述第二編程讀取信號rden2適于傳輸至冗余編程模塊103的冗余編程讀取信號rden21。
本實施例中,所述編程信息信號a包括行編譯地址、實際編程時間以及編程數據。所述編程信息信號a適于產生控制所述主編程模塊102操作的第一編程信息信號a1,所述第一編程信息信號a1適于向所述主編程模塊102提供行編譯地址、實際編程時間以及編程數據;所述編程信息信號a還適于產生控制所述冗余編程模塊103操作的第二編程信息信號a2,所述第二編程信息信號a2適于向所述冗余編程模塊103提供行編譯地址、實際編程時間以及編程數據。
本實施例中,所述第一編程信息信號a1適于傳輸至主編程模塊102的第一編程信息信號a11;所述第二編程信息信號a2適于傳輸至冗余編程模塊103的冗余編程信息信號a21。
需要說明的是,在其他實施例中,所述編程控制信號還能夠僅包括編程信息信號,即僅包括實際編程時間、編程數據以及行編譯地址,重置信號、外部編程使能信號、外部讀取控制信號以及外部編程進入信號可以由邏輯控制模塊自身提供。
所述主編程模塊102包括efuse陣列單元,所述冗余編程模塊103包括efuse陣列單元,且所述主編程模塊102與所述冗余編程模塊103相同。具體到本實施例中,所述主編程模塊102與所述冗余編程模塊103的結構相同,以使在相同的輸入信號條件下,所述主編程模塊102與所述冗余編程模塊103實現相同的功能。在其他實施例中,所述主編程模塊與冗余編程模塊的結構 還可以不同,保證在相同的輸入信號條件下,所述主編程模塊與所述冗余編程模塊能夠實現相同的功能即可。
本實施例中,所述主輸入信號包括:第一編程信息信號a11、第一編程使能信號pgmen11、第一進入編程信號aen11以及第一編程讀取信號rden11。所述主編程模塊102適于接收所述邏輯控制模塊101產生的行編譯地址,通過所述第一編程信息信號a11獲得,以獲知對主編程模塊102進行操作的位置。
參考圖5,圖5為本實施例提供的主編程模塊的功能框圖。
所述主編程模塊102包括:編程單元30,所述編程單元30適于在接收所述主輸入信號后進入編程狀態;與所述編程單元30相連的第二讀取單元31,所述第二讀取單元31適于,在所述編程單元30結束編程后,讀取所述編程單元30的狀態;與所述第二讀取單元31相連的第二判斷單元32,所述第二判斷單元32適于接收讀取的第二讀取單元31的狀態,并判斷所述編程單元30是否編程成功;與所述第二判斷單元32相連的輸出單元33,所述輸出單元33適于向所述邏輯控制模塊101反饋主輸出信號d11。
為了避免在進行檢測前所述主編程模塊102已經進行過編程,本實施例中,所述主編程模塊102還包括:與所述編程單元30相連的第一讀取單元34,所述第一讀取單元34適于,在接收到所述主輸入信號后,讀取所述編程單元30的狀態;與所述第一讀取單元34以及輸出單元33相連的第一判斷單元35,所述第一判斷單元35適于接收讀取的第一讀取單元34的狀態,并判斷所述編程單元30是否進行過編程,當進行過編程時結束對所述主編程模塊的操作,當未進行過編程時,所述編程單元30進入編程狀態。
本實施例中,所述主編程模塊102還適于:接收所述邏輯控制模塊101提供的行編譯地址;并依次對所述行編譯地址對應的列編程地址的每一列進行操作,以獲知所述主編程模塊102在所述行編譯地址的所有列編程地址是否編程成功。
所述主輸出信號d11用于標示所述主編程模塊102是否編程成功。本實施例中,所述第一判斷單元35判斷所述編程單元30進行過編程,或者,所 述第二判斷單元32判斷所述編程單元30編程成功時,所述主輸出信號d11標示所述主編程模塊102編程成功;所述第一判斷單元35判斷所述編程單元30未進行過編程,且所述第二判斷單元32判斷所述編程單元30編程失敗時,所述主輸出信號d11標示所述主編程模塊102編程失敗。
其中,所述主輸出信號d11適于傳輸至邏輯控制模塊101的第一反饋信號d1,且邏輯控制模塊101基于第一反饋信號d1和冗余輸出模塊103反饋的第二反饋信號d2輸出編程結果d。
需要說明的是,當所述主編程模塊102處于讀取狀態或編程狀態時,所述冗余編程模塊103處于休眠狀態。也就是說,當所述主編程模塊102處于讀取狀態或編程狀態時,所述邏輯控制模塊101不會產生使冗余編程模塊進行操作的冗余輸入信號。
所述邏輯控制模塊101在接收所述主編程模塊102反饋的主輸出信號d11,并在檢測到所述主編程模塊102編程失敗時,產生控制所述冗余編程模塊103操作的冗余輸入信號。本實施例中,所述冗余輸入信號包括前述的:第二編程使能信號pgmen2,第二進入編程信號aen2,第二編程讀取信號rden2,第二編程信息信號a2。
參考圖6,圖6為本實施例提供的冗余編程模塊的功能框圖。
所述冗余編程模塊103包括冗余編程單元40,所述冗余編程單元40適于,在接收到所述冗余輸入信號后進入編程狀態;所述冗余編程模塊103還包括:
與所述冗余編程單元40相連的冗余讀取單元41,所述冗余讀取單元41適于在所述冗余編程單元40結束編程后,讀取所述冗余編程單元40的狀態;與所述冗余讀取單元41相連的冗余判斷單元42,所述冗余判斷單元42適于接收讀取的所述冗余讀取單元41的狀態,并判斷所述冗余編程單元40是否編程成功;與所述冗余判斷單元42相連的冗余輸出單元43,所述冗余輸出單元42適于向所述邏輯控制模塊101反饋冗余輸出信號d21。
所述冗余輸出信號d21用于標示所述冗余編程模塊103是否編程成功。本實施例中,所述冗余判斷單元42判斷所述冗余編程單元40編程成功時,所述冗余輸出信號d21標示所述冗余編程模塊103編程成功;所述冗余判斷 單元42判斷所述冗余編程單元40編程失敗時,所述冗余輸入信號d21標示所述冗余編程模塊103編程失敗。
其中,所述冗余輸出信號d21適于傳輸至邏輯控制模塊101的第二反饋信號d2,且邏輯控制模塊101基于所述第一反饋信號d1和所述第二反饋信號d2輸出編程結果d。
本實施例提供的電可編程熔絲系統,包括與主編程模塊以及冗余編程模塊耦接的邏輯控制模塊,所述邏輯控制模塊產生控制主編程模塊進行編程的主輸入信號,并當檢測到主編程模塊編程失敗時,基于所述主編程模塊反饋的主輸出信號產生控制冗余編程模塊操作的冗余輸入信號,使冗余編程模塊進入編程狀態。因此對本發明提供的電可編程熔絲系統進行測試時,使用者僅需通過邏輯控制模塊輸入編程控制信號,能夠使得主編程模塊以及冗余編程模塊相應進入編程狀態,使用者無需分別向所述主編程模塊輸入主編程控制信號、向冗余編程模塊輸入冗余編程控制信號,因此減小了主編程控制信號或冗余編程控制信號出錯的概率,簡化了輸入編程控制信號的難度,進而避免了對電可編程熔絲系統進行測試時由于輸入信號出錯而造成的誤判,提高了電可編程熔絲系統的良率。
相應的,本發明還提供一種電可編程熔絲系統的測試方法,參考圖7,圖7為本發明實施例提供的對電可編程熔絲系統進行測試的流程示意圖,包括:
步驟s10、接收編程控制信號;
所述編程控制信號由邏輯控制模塊提供,包括編程信息信號,如行編譯地址、實際編程時間以及編程數據;所述編程控制信號還包括:重置信號、外部時鐘信號、外部編程使能信號、外部進入編程信號、外部編程讀取信號。
本實施例中,所述編程控制信號均由外部輸入至邏輯控制模塊內。在其他實施例中,所述編程控制信號中的部分信號或全部信號還能夠由邏輯控制模塊內部產生。
參考圖8,圖8為本發明實施例提供的編程控制信號中重置信號reset、外部時鐘信號clk、外部編程使能信號pgmen、外部編程信息信號a的時序圖。所述外部編程使能信號pgmen由低變高的前兩個時鐘周期tclk為 確認時間,所述確認時間適于避免誤進入編程狀態;所述外部編程使能信號pgmen的第三個時鐘上升沿時,通過所述編程控制信號輸入實際編程時間t,所述實際編程時間為主編程模塊或冗余編程模塊實際的編程時間;在所述外部編程使能信號pgmen的第四個時鐘上升沿,通過所述編程控制信號輸入行編譯地址addr;在所述外部編程使能信號pgmen的第五個時鐘上升沿,通過所述編程控制信號輸入編程數據data。
步驟s20、根據所述編程控制信號產生控制主編程模塊操作的主輸入信號,所述主編程模塊進入編程狀態。
本實施例中,在所述主編程模塊進入編程狀態之前,所述主輸入信號控制所述主編程模塊進行的操作還包括以下步驟:
步驟s11、所述主編程模塊進入讀取狀態,讀取所述主編程模塊的狀態;
在讀取所述主編程模塊的狀態后,進入步驟s12、判斷所述主編程模塊是否進行過編程。圖7在以y表示進行過編程,以n表示未進行過編程。當檢測到所述主編程模塊進行過編程狀態時,結束對所述主編程模塊的操作,進入到后續的步驟s40、輸出編程結果,接著,進行步驟s00、結束對電可編程熔絲系統的操作;當檢測到所述主編程模塊未進行過編程時,進入步驟s20、所述主編程模塊進入編程狀態。
步驟s30、接收所述主編程模塊反饋的主輸出信號,并判斷所述主編程模塊是否編程成功。圖7中以y表示編程成功,以n表示編程失敗。
所述主輸出信號用于標示所述主編程模塊是否編程成功。本實施例中,在所述主編程模塊結束編程狀態后、判斷所述主編程模塊是否編程成功前,讀取所述主編程模塊的狀態;并基于所述讀取的主編程模塊的狀態,獲取所述主編程模塊反饋的主輸出信號。
當檢測到所述主編程模塊編程成功時,進入步驟s40、輸出編程結果。
具體的,檢測反饋的主輸出信號,當所述主輸出信號標示所述主編程模塊編程成功時,所述編程結果標示所述電可擦除熔絲系統編程成功。本實施例中,所述主輸出信號反饋至邏輯控制模塊,且所述邏輯控制模塊基于所述主輸入信號輸出編程結果。
當檢測到所述主編程模塊編程失敗時,進入步驟s50、產生控制冗余編程模塊操作的冗余輸入信號,所述冗余編程模塊進入編程狀態。
具體的,檢測反饋的主輸出信號,當所述主輸出信號標示所述主編程模塊編程失敗時,所述主輸出信號反饋至邏輯控制模塊,且所述邏輯控制模塊基于所述主輸出信號產生控制冗余編程模塊操作的冗余輸入信號,使所述冗余編程模塊進入編程狀態。
接收所述冗余編程模塊反饋的冗余輸出信號,并進入步驟s40、輸入編程結果;接著,進入步驟s00、結束對電可編程熔絲系統的操作。
其中,所述冗余輸出信號用于標示所述冗余編程模塊是否編程成功,所述編程結果用于標示所述電可編程熔絲系統是否編程成功。所述冗余編程模塊在結束編程狀態后,讀取所述冗余編程模塊的狀態,并基于所述讀取的冗余編程模塊的狀態,獲取所述冗余編程模塊反饋的冗余輸出信號。
所述冗余輸出信號反饋至邏輯控制模塊,所述邏輯控制模塊基于獲得的冗余輸出信號輸出編程結果。
本實施例中,所述主輸出信號標示所述主編程模塊編程成功時,或者,所述主輸出信號標示所述主編程模塊進行過編程時,或者,所述冗余輸出信號標示所述冗余編程模塊編程成功時,所述編程結果標示所述電可擦除熔絲系統編程成功。
本實施例中,所述測試方法還包括,輸出外部標識信號,所述外部標識信號適于標示所述主編程模塊的編程狀態以及冗余編程模塊的編程狀態。以采用二進制作為外部標識信號為例,當檢測到所述主編程模塊進行過編程時,輸出的外部標識信號為2’b01(參考圖9);當檢測到所述主編程模塊編程成功時,輸出的外部標識信號為2’b10(參考圖9);當檢測到所述冗余編程模塊編程失敗時,輸出的外部標識信號為2’b11(參考圖9)。
所述測試方法還包括,輸出握手信號,所述握手信號適于標識所述電可編程熔絲系統是否處于編程狀態。當所述握手信號標識所述電可編程熔絲系統處于編程狀態時,不接收任何編程控制信號。由于主編程模塊包括efuse陣列,且efuse陣列呈多行多列的方式排布,因此所述編程控制信號包括行編譯 地址,所述行編譯地址指定對主編程模塊中efuse陣列的某一行進行測試,包括對所述主編程模塊中efuse陣列某一行的所有列進行測試。具體的,所述主輸入信號信號所述編程單元進行的操作包括:對指定編程地址的操作,所述指定編程地址為行編譯地址的第n列編程地址,所述對指定編程地址的操作包括:
使所述主編程模塊在所述指定編程地址進入編程狀態;在所述主編程模塊在所述指定編程地址結束編程狀態后,判斷所述主編程模塊在所述指定編程地址是否編程成功;
當檢測到所述主編程模塊在所述指定編程地址編程成功時,輸出編程結果;
當檢測到所述主編程模塊在所述指定編程地址編程失敗時,所述主編程模塊反饋的主輸出信號適于使冗余編程模塊接收到冗余輸入信號,所述冗余編程模塊在所述指定編程地址進入編程狀態。
由于需要對主編程模塊的行編譯地址對應的所有列編程地址進行測試,因此所述測試方法還包括:
判斷所述第n列編程地址是否為第n列編程地址,n為編程地址的最大列;
當n<n時,控制所述主編程模塊對所述行編譯地址的第n+1列編程進行所述對指定編程地址的操作;
當n=n時,控制所述主編程模塊結束對所述行編譯地址的操作。
以下將以具體實施例對本發明提供的對電可編程熔絲系統進行測試的方法進行說明。參考圖9,圖9為本發明實施例提供的對電可編程熔絲系統指定行編譯地址進行測試的流程示意圖。
以采用邏輯控制模塊提供編程控制信號、且行編譯地址的編程地址共有8列編程地址為例,列編程地址的最大列為7,所述對電可編程熔絲系統進行測試的方法包括:
步驟s01、設置重置信號,重置邏輯控制模塊的所有信號。
本實施例中,以重置信號為低電平重置為例,設置重置信號為0。
步驟s02、設置外部編程使能信號為高電平,通過編程控制信號輸入實際編程時間、行編譯地址以及編程數據。
本實施例中,以進行8位數據編程為例。
步驟s03、設置列編程地址。
本實施例中,以所述列編程地址為3位列編程地址為例。設置列編程地址為第0列編程地址,因此后續將對所述行編譯地址的第0例編程地址進行對指定編程地址的操作。
步驟s04、讀取主編程模塊的狀態,判斷所述主編程模塊是否進行過編程。圖9中,以y表示進行過編程,以n表示未進行過編程。
具體的,讀取所述主編程模塊在所述行編譯地址的第0例編程地址的狀態,基于所述讀取的狀態,判斷所述主編程模塊是否進行過編程。
根據所述主編程模塊反饋至邏輯控制模塊的主輸出信號,判斷所述主編程模塊是否進行過編程。本實施例中,以所述主輸出信號為1時,標示所述主編程模塊進行過編程;以所述主輸出信號不為1時,標示所述主編程模塊未進行過編程。在其他實施例中,還能夠以所述主輸出信號為其他參考值,作為判斷所述主編程模塊是否進行過編程的標準,例如,當所述主輸出信號為2時,標示所述主編程模塊進行過編程,當所述主輸出信號不為2時,標示所述主編程模塊未進行過編程。
當檢測到所述主編程模塊進行過編程時,所述外部標識信號輸出2’b01,標示所述主編程模塊在所述行編譯地址的第0列編程地址進行過編程,相應的所述電可編程熔絲系統在所述行編譯地址的第0列編程地址的狀態為符合要求。同時,進入步驟s00、判斷列編程地址的列是否為7。
當檢測到所述列編程地址的列為7時,進入步驟s000、結束對所述行編譯地址的8位數據編程。當檢測到所述列編程地址的列不為7時,經由步驟s13返回步驟s03,步驟s13為、設置所述列編程地址的列為在檢測到的列編程地址的列基礎上加1。
當檢測到所述主編程模塊未進行過編程時,進入步驟s05、對所述主編程模塊進行編程。
具體的,對所述主編程模塊在行編譯地址的第0列編程地址進行編程。
接著,進入步驟s06、讀取所述主編程模塊的狀態,判斷所述主編程模塊是否編程成功。圖9中,以y表示編程成功,以n表示編程失敗。
具體的,讀取所述主編程模塊在行編譯地址的第0列編程地址的狀態。本實施例中,以所述主輸出信號為1時,標示所述主編程模塊編程成功;以所述主輸出信號不為1時,標示所述主編程模塊編程失敗。
當檢測到所述主編程模塊編程成功時,所述外部標識信號輸出2’b10,相應的所述電可編程熔絲系統在所述行編譯地址的第0列編程地址的狀態為符合要求。同時,進入步驟s00、判斷所述列編程地址的列是否為7。當檢測到所述列編程地址的列為7時,進入步驟s000、結束對所述行編譯地址的8位數據編程。當檢測到所述列編程地址的列不為7時,經由步驟s13返回步驟s03,步驟s13為、設置所述列編程地址的列為在檢測到的列編程地址的列基礎上加1。
當檢測到所述主編程模塊編程失敗時,進入步驟s07、對所述冗余編程模塊進行編程。
具體的,對所述冗余編程模塊在行編譯地址的第0列編程地址進行編程。
接著,進入步驟s08、讀取所述冗余編程模塊的狀態,并判斷所述冗余編程模塊是否編程成功。
具體的,讀取所述主編程模塊在行編譯地址的第0列編程地址的狀態。本實施例中,以所述冗余輸出信號為1時,標示所述冗余編程模塊編程成功;以所述冗余輸出信號不為1時,標示所述冗余編程模塊編程失敗。
當檢測到所述冗余編程模塊編程失敗時,所述外部標識信號輸出2’b11,相應的所述電可編程熔絲系統在所述行編譯地址的第0列編程地址的狀態為不符合要求,且返回步驟s00。當檢測到所述冗余編程模塊編程成功時,相應的所述電可編程熔絲系統在所述行編譯地址的第0列編程地址的狀態為符合 要求,且返回步驟s00。
重復上述步驟,直至判斷列編程地址的列為最大列7時,進入步驟s000、結束對所述行編譯地址的8位數據編程。
本實施例中提供的測試方法,使用者只需要輸入編程控制信號,例如實際編程時間、編程數據和行編譯地址后,所述邏輯控制模塊會自動產生主編程模塊所需的主編程控制信號,且依據主編程模塊的狀態自動產生冗余編程模塊所需的冗余編程控制信號,直至完成對所述主編程模塊在行編譯地址狀態的檢測,降低了使用者對編程控制信號輸入的難度,使得對電可編程熔絲系統進行測試時需要輸入的編程控制信號得到了簡化,避免由于使用者對編程控制信號輸入的誤差而造成對電可編程熔絲系統的誤判,提高了測試電可編程熔絲系統的良率。
雖然本發明披露如上,但本發明并非限定于此。任何本領域技術人員,在不脫離本發明的精神和范圍內,均可作各種更動與修改,因此本發明的保護范圍應當以權利要求所限定的范圍為準。