西安紫光國芯半導體有限公司 拜福君 段會福 付 妮 李曉駿
一種SRAM讀取時間自測試電路及測試方法
西安紫光國芯半導體有限公司 拜福君 段會福 付 妮 李曉駿
本文設計了一種SRAM讀取時間自測試電路及測試方法,通過增加一個延時掃描電路、一個比較器和一個計數(shù)器,可以自動掃描并快速地找到與SRAM讀取時間最近接的延時,通過測量由該延時組成的環(huán)形振蕩器的振蕩周期從而得到SRAM的讀取時間。這種測試方法避免了測試時頻繁的人工操作介入,測試效率高,并且由于采用固定延時單元和具有多個可選延時的單元的組合方式,在保證較大的測量范圍的前提下,節(jié)省版圖面積。
SRAM;讀取時間;自測試
靜態(tài)隨機存儲器(SRAM: Static Random Access Memory)在集成電路領域有廣泛應用。讀取時間是其重要的時序參數(shù)指標,表征了讀操作時從時鐘信號上升沿到輸出數(shù)據(jù)有效的延時。
如何對SRAM的讀取時間進行實測?內(nèi)自建測試電路技術(BIST)[1]通過搭載在芯片上的硬件電路實現(xiàn)存儲器的高速測試,雖然實現(xiàn)了測試自動化,但只能證明SRAM功能正常,無法測量其讀取時間。因此為了測試SRAM的讀取時間,只能在SRAM讀操作時對輸出數(shù)據(jù)在不同的延時之后進行采樣并將采樣結果與SRAM輸出數(shù)據(jù)作比較[4]。如果該延時大于讀取時間則采樣數(shù)據(jù)與SRAM輸出數(shù)據(jù)相同。通過不斷的調(diào)整采樣延時可以找到使采樣數(shù)據(jù)正確的最小延時作為SRAM讀取時間的測量值。這個原理在實際應用時需要克服的難點包括:一、測量過程比較繁瑣,需要測試人員不停地改變延時電路直到找到合適的延時使得數(shù)據(jù)采樣電路的結果正確,整個測試比較耗時;二、延時電路本身延時的大小需要準確的測量;三、為了獲得較大的測量范圍和測量精度,必須要放置大量的延時電路,造成芯片面積的浪費。
針對上述技術難點,本文提出的SRAM讀取時間自測試電路及測試方法可以對延時做自動掃描從而快速準確測量出SRAM的讀取時間。
本文提出的SRAM讀取時間自測試電路如圖1所示,包括待測的SRAM、一個二路選擇器MUX、一個延時掃描電路DEL_TRIM、一個鎖存器DFF、一個比較器COMPARATOR、一個計數(shù)器COUNTER和其他一些電路。
待測SRAM連接至輸入地址信號A、輸入寫信號WEN、輸入片選信號CEN、輸入時鐘信號CLK、輸入數(shù)據(jù)D和輸出數(shù)據(jù)Q;
二路選擇器用于測試電路模式的切換,由測試模式選擇信號OSC_EN控制。當OSC_EN有效時,延時掃描電路經(jīng)過一個反相器和二路選擇器形成一個首尾相連的環(huán)形震蕩器,用于測量掃描延時電路的延時。反之當OSC_EN無效時,輸入時鐘CLK經(jīng)過延時掃描電路延遲后得到新的時鐘信號CLK_DEL,該信號用來對SRAM的輸出數(shù)據(jù)進行采樣。
延時掃描電路的延時大小由其控制端DEL_CODE決定。DEL_ CODE來自于計數(shù)器,隨著著計數(shù)器的累加,延時掃描電路的延時也逐步增加從而實現(xiàn)了延時的掃描。
鎖存器對SRAM的輸出數(shù)據(jù)進行采樣,由于在掃描過程中其時鐘信號CLK_DEL的延時在不斷增加,鎖存器的采樣點也在不斷后移。
比較器在SRAM執(zhí)行讀操作時對鎖存器的采樣數(shù)據(jù)和SRAM的輸出數(shù)據(jù)進行比較并在兩組數(shù)據(jù)不同時通過CLK_ERR信號使計數(shù)器累加。隨著計數(shù)器的累加,鎖存器采樣點不斷后移,當數(shù)據(jù)相同時整個自測試電路會停止。此時延時掃描電路的延時大小就與SRAM的讀取延時相當。當然如果SRAM的讀取時間大于延時掃描電路的最大延時則無論如何比較器也無法找到能使這兩者相當?shù)挠嫈?shù)器的計數(shù)值,這種情況下測試在計數(shù)器溢出(OVERFLOW)后停止。
圖1 SRAM讀取時間自測試電路圖
延時的掃描和確定是SRAM讀取時間測試的難點。
圖2是延時掃描電路的原理圖,延時掃描電路由固定延時電路DEL_ FIX和具有多個可選延時的可調(diào)延時電路DEL_STEP串聯(lián)而成。延時掃描電路的延時tD=tDF+tDT,其中tDF為固定延時電路的延時,tDT為可調(diào)延時電路的延時。可調(diào)延時電路的延時tDT=tDTmin+N*tDS,其中tDTmin為延時最小值,tDS為可調(diào)步長。則tD=tDF+ tDTmin+N*tDS,其中N為計數(shù)器的計數(shù)值,滿足N為自然數(shù)且0≤N≤M。整個延時掃描的范圍是[tDF+tDTmin, tDF+tDTmin+M*tDS],在測試電路設計時務必保證預期的SRAM讀取時間包含在該范圍內(nèi)并留有余量。
圖2 延時掃描電路原理圖
圖3 比較器電路原理圖
圖3 是比較器的原理圖。只有當片選信號無效,寫信號無效,測試模式為掃描模式(即OSC_EN無效)且計數(shù)器沒有溢出時,比較器才會對SRAM的輸出數(shù)據(jù)Q和鎖存器的采樣數(shù)據(jù)QX進行比較。而當CLK的上升沿時,若比較結果不同則CLK_ERR上出現(xiàn)一個脈沖使計數(shù)器累加,否則計數(shù)器將停留在當前計數(shù)值不變。換句話說,在計數(shù)器停止且未溢出時,通過測量延時掃描電路的延時就可以確定SRAM的讀取時間。
基于上所述原理和電路,SRAM讀取時間的測試步驟如下:
第一步,測試模式選擇信號OSC_EN置為無效,并通過CNT_ RST信號將計數(shù)器復位。此時,SRAM的輸入時鐘CLK經(jīng)過二路選擇器、延時掃描電路等邏輯電路延時后形成延后的時鐘信號CLK_DEL。計數(shù)器復位后,DEL_CODE為0,OVERFLOW為‘0’。
第二步,對SRAM進行正常的讀寫操作,在每次讀操作時,測試電路對待測SRAM的輸出數(shù)據(jù)Q進行采樣和比較,并根據(jù)比較結果調(diào)整采樣延時,直到采樣正確或者計數(shù)器溢出。在每次讀操作時,鎖存器使用經(jīng)過延時產(chǎn)生的CLK_DEL信號作為時鐘對SRAM的輸出數(shù)據(jù)Q進行采樣。與此同時比較器會對采樣結果QX和Q進行比較,只要比較結果不同時比較器將在該讀操作的下一個時鐘周期生成一個脈沖信號CLK_ERR。一旦CLK_ERR信號的上升沿來臨,則計數(shù)值DEL_CODE加1。隨著計數(shù)值的增加,延時掃描電路的延時將逐步增加,從而實現(xiàn)了延時的自動掃描。掃描結果有兩個:1.在DEL_CODE=N時,比較器的比較結果相同,計數(shù)器停止累加且未溢出,從CLK到CLK_DEL的延遲就是測試電路找到的最接近且不小于SRAM 的讀取時間的延時,繼續(xù)進行第三步的測量;2.計算器溢出,OVERFLOW信號為‘1’,此時比較器也將停止工作,表示SRAM的讀取時間超過了測量范圍的最大值,測試結束。
圖4 SRAM讀取時間測試波形圖
圖4 是測試電路自動掃描并找到與SRAM讀取時間tACC相當延時的過程示意圖。首先,向測試電路發(fā)送讀命令(CEN=0,WEN=1),測試電路將對SRAM 進行一次讀操作讀出數(shù)據(jù)Q。此時DEL_CODE=N-1,則經(jīng)過tDF+tDTmin+(N-1)*tDS的延時后鎖存器對讀出數(shù)據(jù)進行采樣得到QX。然后,向測試電路發(fā)送比較命令COMPARE(CEN=1, WEN=1),測試電路對Q和QX進行比較。若數(shù)據(jù)不同,則比較結果CLK_ERR上出現(xiàn)一個脈沖信號,該信號上升沿使得計數(shù)器計數(shù)加1,此時DEL_CODE=N。然后不斷重復以上兩個命令直到比較數(shù)據(jù)相同,假設當DEL_CODE=N時數(shù)據(jù)相同,則SRAM的讀取時間約為tDF+tDTmin+N*tDS。
第三步,測試模式選擇信號OSC_EN置為有效,二路選擇器MUX、延時掃描電路DEL_TRIM和一個反相器形成一個環(huán)形振蕩器。先測量該環(huán)形振蕩器的震蕩周期,然后計算得到SRAM的讀取時間。若環(huán)形振蕩器的輸出信號為OSC_OUT的振蕩周期為tOSC,則SRAM的讀取時間為tACC=0.5*tOSC。
本文設計了一種SRAM讀取時間自測試電路及測試方法,通過增加一個延時掃描電路、一個比較器和一個計數(shù)器,可以實現(xiàn)對延時時間的自動掃描并快速地找到與SRAM讀取時間最近接的延時,通過測量由其組成的環(huán)形振蕩器的振蕩周期得到SRAM的讀取時間值。這種測試方法一方面節(jié)省了測試時間,多個延時單元的選擇通過測試電路自動完成,只需要進行一次測試就能對所有的延時單元進行掃描從而找到合適的延時大小。另一方面節(jié)省了布局空間,采用固定延時單元和具有多個可選延時的單元的組合方式,在保證較大的測量范圍的前提下節(jié)省了版圖面積。
[1]須自明,蘇彥鵬,于宗光.基于March C-算法的SRAM BIST電路的設計[J].半導體技術,2007,32(3):245-247.
[2]Van D G A J.Using march tests to test SRAMs[J].IEEE Design & Test of Computers,1993,10(1):8-14.
[3]拜福君.SRAM讀取時間自測試電路及測試方法:,CN103886913A[P].2014.
[4]張艷.數(shù)字集成電路可測試性設計研究與應用[D].浙江大學,2010.
拜福君(1982—),男,工學碩士,工程師,現(xiàn)任職于西安紫光國芯半導體有限公司,從事半導體存儲的研究工作,研究領域包括DRAM、SRAM和FLASH存儲器,主要研究方向為存儲單元陣列設計。