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