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