两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

二分區(qū)間法的集成電路數(shù)據(jù)解壓電路及方法與流程

文檔序號:11731882閱讀:329來源:國知局
二分區(qū)間法的集成電路數(shù)據(jù)解壓電路及方法與流程

本發(fā)明涉及一種集成電路測試技術(shù),更具體涉及一種集成電路測試中的數(shù)據(jù)存儲技術(shù)。



背景技術(shù):

隨著集成電路的發(fā)展,如何處理越來越龐大的測試數(shù)據(jù)已成為集成電路測試的關(guān)鍵難題之一。根據(jù)itrs在2010年的報告數(shù)據(jù),測試一個芯片,在2009年,僅僅需要85個測試模式數(shù),也只需要壓縮比為80;而到2019年,對測試模式數(shù)的要求則需要達(dá)到20370個,對壓縮比的要求則需要達(dá)到12000。僅僅十年,模式數(shù)增加到240倍,壓縮比增加到150倍。

關(guān)于減少測試數(shù)據(jù)量的研究,一直是研究的熱點(diǎn),主要可以分為三類:測試集壓縮(testsetcompaction)方法、內(nèi)建自測試(built-inself-test,bist)方法和靜態(tài)編碼壓縮方法。(1)測試集壓縮方法。其特點(diǎn)是確保在不降低故障覆蓋率的情況下,有選擇性嘗試使用不同的敏化路徑,通過算法調(diào)整測試立方體(testtubes)中無關(guān)位(don’tcarebits)的位置,或者將相容的兩個或多個測試向量合并成單一測試向量的方法來減少總的測試向量的個數(shù),以期達(dá)到測試集最小化或最優(yōu)化。其優(yōu)勢是所有工作由軟件實(shí)現(xiàn),不會增加額外的硬件成本。但其缺點(diǎn)也非常明顯,測試向量的個數(shù)的減少造成了對非模型故障的覆蓋率的降低。本方法另一缺點(diǎn)是壓縮后測試集的測試數(shù)據(jù)量仍然非常龐大,很難一次性完全直接存儲在ate的存儲器中。因此,需要與其它方法結(jié)合使用。(2)內(nèi)建自測試方法。其在被測電路中新增一部分電路,該電路專門用于測試,能夠完成測試模式生成、測試控制、測試調(diào)度和測試結(jié)果分析,這樣可以不依賴外部的自動測試設(shè)備獨(dú)立進(jìn)行測試。能夠通過減少昂貴的自動測試設(shè)備的成本費(fèi)來達(dá)到節(jié)約測試成本的目的,還可以支持測試重用和全速測試。其缺點(diǎn)在生成測試模式時,產(chǎn)生了大量的對測試毫無貢獻(xiàn)的測試模式,既增加了測試功耗,又浪費(fèi)了測試時間;另外,有部分未設(shè)計bist方法的ip核也限制其應(yīng)用。(3)靜態(tài)編碼壓縮方法。其通過編碼技術(shù)用一個較小的測試集te去編碼測試集td,將存儲和傳輸時對td的操作變換成對te的操作,即存儲te在ate的存儲器中,測試時,也僅傳輸te而不是td到被測芯片,最終te到td的還原由被測芯片上的解壓電路來完成。靜態(tài)編碼方法采用的是無損壓縮方法,還原后的測試集的確定位跟原始測試集的確定位完全一一對應(yīng),還原后的無關(guān)位都被程序填充成了特定的值,因此其只會增加而不會降低被測電路的故障覆蓋率。該方法的另一優(yōu)勢是可以不需要提供被測電路的內(nèi)部結(jié)構(gòu),能夠很好地保護(hù)ip核的知識產(chǎn)權(quán)。因此,該技術(shù)在集成電路測試領(lǐng)域中得到了廣泛應(yīng)用。當(dāng)前比較成熟的編碼有很多,如golomb編碼、fdr碼、vihc碼、交替連續(xù)碼、variable-tail碼、混合游程碼、svic碼、變游程碼、efdr、mfvlc、mfvrcvb、afdr、共游程碼和整數(shù)存儲無理數(shù)的方法等。

在靜態(tài)編碼壓縮方法中,利用整數(shù)存儲無理數(shù)的方法,理論上可以將整個測試集轉(zhuǎn)換成若干個整數(shù)表示的無理數(shù)存儲。該方法的優(yōu)勢是不需要直接存儲代碼字,而是存儲代碼字的規(guī)律。其缺點(diǎn)是如果期望其壓縮效果好,無理數(shù)所表示的測試數(shù)據(jù)量就比較大,可能是若干個測試向量,甚至是整個測試集,此時無理數(shù)對應(yīng)的整數(shù)表示就比較大。一方面,該大整數(shù)在存儲時占用較大的空間;另一方面,在測試數(shù)據(jù)解壓過程中,大整數(shù)給數(shù)據(jù)運(yùn)算帶來了復(fù)雜性,有時甚至不能直接運(yùn)算。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題在于提供了一種針對提高測試效率、占用空間較小并且運(yùn)算簡單的二分區(qū)間的壓縮數(shù)據(jù)進(jìn)行解壓的電路和解壓的方法。

本發(fā)明是通過以下技術(shù)方案解決上述技術(shù)問題的:一種二分區(qū)間法的集成電路數(shù)據(jù)解壓電路,包含3個寄存器a、寄存器b和寄存器c的寄存器組、1個計數(shù)器、第一三態(tài)門t1、第二三態(tài)門t2、1個加法器和1個控制器;

第一三態(tài)門t1和第二三態(tài)門t2的輸入端連接,寄存器c的輸出端連接到第一三態(tài)門t1和第二三態(tài)門t2的輸入端。第一三態(tài)門t1的輸出端連接到寄存器b的輸入端,第二三態(tài)門t2的輸出端連接到寄存器a的輸入端,第一三態(tài)門t1和第二三態(tài)門t2的控制端連接到控制器的第一信號端c1,寄存器a和寄存器b的輸出端連接到加法器,加法器的輸出端連接到寄存器c,寄存器c的輸出端連接到計數(shù)器,計數(shù)器的輸出端作為解壓電路的輸出端。寄存器c的置位端和移位端分別連接到控制器的第三信號端c3和第四信號端c4,控制器的第二信號端c2作為解壓電路的輸入端;

控制器的第二信號端c2輸入需要解壓的數(shù)據(jù),解壓以后的數(shù)據(jù)從寄存器輸出。

具體的,加法器采用超前進(jìn)位加法器構(gòu)成。

所述解壓電路對數(shù)據(jù)進(jìn)行解壓的方法包括下述步驟:

步驟1:初始化,寄存器a和寄存器b分別置為數(shù)據(jù)“0”和“1”,寄存器a和寄存器b完成累加移位運(yùn)算得到0.5,此時寄存器c的值為0.5;

步驟2:控制器的第二信號端c2自壓縮數(shù)據(jù)的第一位開始依次輸入壓縮數(shù)據(jù),輸入壓縮數(shù)據(jù)的相應(yīng)位為1時,控制器c1為高電平,控制器c1控制第二三態(tài)門t2,將寄存器c的值直接傳輸?shù)郊拇嫫鱝,輸入壓縮數(shù)據(jù)的相應(yīng)位為0時,控制器c1為低電平,控制器c1控制第一三態(tài)門t1,將寄存器c的值直接傳輸?shù)郊拇嫫鱞,重復(fù)上述加法以及移位計算,寄存器c的值更新,最終更新數(shù)值為0.y1y2……yn,0.y1y2……yn屬于區(qū)間(0,1);

步驟3:將寄存器c的最終更新數(shù)值移位到計數(shù)器,統(tǒng)計壓縮前數(shù)據(jù)的游程長度依次為y1、y2、……yn,yn表示為第n個測試向量的游程長度,n為正整數(shù),按游程長度編碼輸出即可得到解壓以后的數(shù)據(jù)。

所述壓縮數(shù)據(jù)的壓縮方法包括:

步驟21:統(tǒng)計原始測試數(shù)據(jù)的游程長度y1、y2、……,yn,其中,yn表示為第n個測試向量的游程長度,n為正整數(shù),將該測試向量按0類型游程統(tǒng)計游程長度,直到無關(guān)位結(jié)束;

步驟22:轉(zhuǎn)化成小數(shù),默認(rèn)小數(shù)的整數(shù)部分為0,步驟1所統(tǒng)計的游程長度依次組成小數(shù)部分,轉(zhuǎn)化的小數(shù)為0.y1y2……yn,0.y1y2……yn屬于區(qū)間(0,1);

步驟23:初始化區(qū)間和原始編碼,記t0=0,t1=1,原始編碼為空;

步驟24:二分區(qū)間,令比較t′與t大小并編碼,規(guī)則為:若t≤t′,編碼增加1位數(shù)據(jù)0,令t1=t′;若t>t′,編碼增加1位數(shù)據(jù)1,令t0=t′,重復(fù)執(zhí)行該步驟直到t=t′。

本發(fā)明還公開了一種使用上述的二分區(qū)間法的集成電路數(shù)據(jù)解壓電路進(jìn)行解壓的方法,包括下述步驟:

步驟1:初始化,寄存器a和寄存器b分別置為數(shù)據(jù)“0”和“1”,寄存器a和寄存器b完成累加移位運(yùn)算得到0.5,此時寄存器c的值為0.5;

步驟2:控制器的第二信號端c2自壓縮數(shù)據(jù)的第一位開始依次輸入壓縮數(shù)據(jù),輸入壓縮數(shù)據(jù)的相應(yīng)位為1時,控制器c1為高電平,控制器c1控制第二三態(tài)門t2,將寄存器c的值直接傳輸?shù)郊拇嫫鱝,輸入壓縮數(shù)據(jù)的相應(yīng)位為0時,控制器c1為低電平,控制器c1控制第一三態(tài)門t1,將寄存器c的值直接傳輸?shù)郊拇嫫鱞,重復(fù)上述加法以及移位計算,寄存器c的值更新,最終更新數(shù)值為0.y1y2……yn,0.y1y2……yn屬于區(qū)間(0,1);

步驟3:將寄存器c的最終更新數(shù)值移位到計數(shù)器,統(tǒng)計壓縮前數(shù)據(jù)的游程長度依次為y1、y2、……yn,yn表示為第n個測試向量的游程長度,n為正整數(shù),按游程長度編碼輸出即可得到解壓以后的數(shù)據(jù)。

具體的,加法器采用超前進(jìn)位加法器構(gòu)成。

其中,所述壓縮數(shù)據(jù)的壓縮方法包括:

步驟21:統(tǒng)計原始測試數(shù)據(jù)的游程長度y1、y2、……,yn,其中,yn表示為第n個測試向量的游程長度,n為正整數(shù),將該測試向量按0類型游程統(tǒng)計游程長度,直到無關(guān)位結(jié)束;

步驟22:轉(zhuǎn)化成小數(shù),默認(rèn)小數(shù)的整數(shù)部分為0,步驟1所統(tǒng)計的游程長度依次組成小數(shù)部分,轉(zhuǎn)化的小數(shù)為0.y1y2……yn,0.y1y2……yn屬于區(qū)間(0,1);

步驟23:初始化區(qū)間和原始編碼,記t0=0,t1=1,原始編碼為空;

步驟24:二分區(qū)間,令比較t′與t大小并編碼,規(guī)則為:若t≤t′,編碼增加1位數(shù)據(jù)0,令t1=t′;若t>t′,編碼增加1位數(shù)據(jù)1,令t0=t′,重復(fù)執(zhí)行該步驟直到t=t′。

本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):對二分區(qū)間的壓縮數(shù)據(jù)進(jìn)行解壓,解壓方法簡單,所用器件簡單,提高了整個集成電路的測試效率,極大減少了數(shù)據(jù)的占用空間。

附圖說明

圖1是本發(fā)明的解壓電路結(jié)構(gòu)圖;

圖2是本發(fā)明實(shí)施例中產(chǎn)生進(jìn)位鏈ci的電路圖;

圖3是本發(fā)明實(shí)施例中的解壓過程圖例。

具體實(shí)施方式

下面對本發(fā)明的實(shí)施例作詳細(xì)說明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。

發(fā)明克服現(xiàn)有技術(shù)的不足,本申請人提供了一種二分區(qū)間的測試數(shù)據(jù)壓縮方法,可以將若干個測試向量甚至整個測試集映射到區(qū)間(0,1),再通過多次二分區(qū)間的方法找到該位置,存儲該二分區(qū)間的規(guī)律即可存儲該若干個測試向量甚至整個測試集。

具體步驟為:

步驟1:統(tǒng)計原始測試數(shù)據(jù)的游程長度y1、y2、……,yn,其中,yn表示為第n個測試向量的游程長度,n為正整數(shù),將該測試向量按0類型游程統(tǒng)計游程長度,直到無關(guān)位結(jié)束,若無關(guān)位與前一游程可以組成同一游程,舍棄最后一游程長度,只記前若干游程長度;否則記前所有游程長度。

若無關(guān)位與前一游程可以組成同一游程,舍棄最后一游程長度,只記前若干游程長度;否則記前所有游程長度。以0000100110xxx為例,前三個游程是確定的,是4、2、0,后面一個游程可以3,即最后4位是0001;如對于0000100101xxx,前3個游程分別是4、2和1,后面的無關(guān)位不能直接與前一游程拼成同一游程,此時只記前3個游程。此過程主要是將無關(guān)位盡可能的往前一游程填充。

不失一般性,設(shè)原始測試數(shù)據(jù)為:00000001000100001000100000001000001,則游程長度分別為7、3、4、3、7和5;

步驟2:轉(zhuǎn)化成小數(shù),默認(rèn)小數(shù)的整數(shù)部分為0,步驟1所統(tǒng)計的游程長度依次組成小數(shù)部分,轉(zhuǎn)化的小數(shù)為0.y1y2……yn,0.y1y2……yn屬于區(qū)間(0,1),如步驟1所統(tǒng)計的游程長度依次為7、3、4、3、7和5,轉(zhuǎn)化后的小數(shù)為0.734375,記為t,有t∈(0,1);

步驟3:初始化區(qū)間和原始編碼,記t0=0,t1=1,原始編碼為空;

步驟4:二分區(qū)間,令比較t′與t大小并編碼,規(guī)則為:若t≤t′,編碼增加1位數(shù)據(jù)0,令t1=t′;若t>t′,編碼增加1位數(shù)據(jù)1,令t0=t′,重復(fù)執(zhí)行該步驟直到t=t′,例如,上述步驟2中小數(shù)t=0.734375,步驟3中初始時t0=0,t1=1,原始編碼為空,首先此時t>t′,編碼在原始編碼為空的基礎(chǔ)上增加1位數(shù)據(jù)1,即此時編碼為1;重復(fù)t′與t并編碼有,t≤t′,此時編碼結(jié)果為10,重復(fù)該過程,最終t的編碼為101110。

從上面可以看出原始的測試數(shù)據(jù)為00000001000100001000100000001000001,壓縮后的數(shù)據(jù)為101110,壓縮前35位,壓縮后6位。

通過以上壓縮方法,提高了測試效率,由于將若干個測試向量甚至整個測試集映射到區(qū)間(0,1),再通過多次二分區(qū)間的方法找到該位置,存儲該二分區(qū)間的規(guī)律即可存儲該若干個測試向量甚至整個測試集,占用空間較小,并且運(yùn)算簡單,非常實(shí)用。

本發(fā)明提供一種解壓上述數(shù)據(jù)的電路以及解壓方法。

解壓電路如圖1所示,包含3個寄存器a、寄存器b和寄存器c的寄存器組、1個計數(shù)器、第一三態(tài)門t1、第二三態(tài)門t2、1個加法器和1個控制器。

第一三態(tài)門t1和第二三態(tài)門t2的輸入端連接,寄存器c的輸出端連接到第一三態(tài)門t1和第二三態(tài)門t2的輸入端。第一三態(tài)門t1的輸出端連接到寄存器b的輸入端,第二三態(tài)門t2的輸出端連接到寄存器a的輸入端,第一三態(tài)門t1和第二三態(tài)門t2的控制端連接到控制器的第一信號端c1,寄存器a和寄存器b的輸出端連接到加法器,加法器的輸出端連接到寄存器c,寄存器c的輸出端連接到計數(shù)器,計數(shù)器的輸出端作為解壓電路的輸出端。寄存器c的置位端和移位端分別連接到控制器的第三信號端c3和第四信號端c4,控制器的第二信號端c2作為解壓電路的輸入端。

控制器的第二信號端c2輸入需要解壓的數(shù)據(jù),解壓以后的數(shù)據(jù)從寄存器輸出。控制器的第一信號端c1控制寄存器a和寄存器b,控制器的第三信號端c3和第四信號端c4分別控制寄存器c的置位和移位。

加法器采用超前進(jìn)位加法器構(gòu)成,加法運(yùn)算可以在一個時鐘內(nèi)完成。由于除以2的運(yùn)算可以轉(zhuǎn)化為向右移位運(yùn)算完成,通過第四信號端c4控制寄存器c完成向右移位運(yùn)算即可達(dá)到除以2的運(yùn)算。

需要指出的是,加法器采用超前進(jìn)位加法器,對于一位加法器可以用如下邏輯函數(shù)表示:

ci=pi+qici-1si=aibici(1)

其中,ai、bi為兩個加數(shù),si表示和,ci-1表示來自低位的進(jìn)位,ci表示向高位的進(jìn)位。pi=aibi為進(jìn)位生成函數(shù),qi=ai+bi為進(jìn)位傳送函數(shù),i為加法器的位數(shù)。

從上式可以看出最高位的運(yùn)算必須等到低位的所有位運(yùn)算結(jié)束后才是有效的。即運(yùn)算的延遲主要是由于進(jìn)位延遲所引起的,為了提高運(yùn)算速度,必須盡量減少由于進(jìn)位信號逐級傳遞所耗費(fèi)的時間。所以最好能在加法運(yùn)算一開始就得到高位的進(jìn)位輸入信號。

分析(1)式發(fā)現(xiàn),只要aibi=1,即pi=1,就會產(chǎn)生向第i位的進(jìn)位;只要ai+bi=1,即qi=1,就會把第ci-1傳遞到第i位。如果我們把ci的等式展開,就會得到:

ci=pi+qipi-1+qiqi-1pi-2+qiqi-1qi-2pi-3+…+qiqi-1qi-2…q2p1+qiqi-1qi-2…q2q1c0(2)

使用(2)式來產(chǎn)生所有進(jìn)位的加法器稱為超前進(jìn)位加法器,其對應(yīng)的進(jìn)位ci的實(shí)現(xiàn)電路如圖2所示。超前進(jìn)位加法器相對于串行進(jìn)位加法器,大大縮短了延遲時間,超前進(jìn)位加法器只需五級門延遲,這樣就可以確保加法運(yùn)算能在一個時鐘周期內(nèi)完成工作,可以采用如74ls283的超前進(jìn)位加法器。

使用上述解壓電路對數(shù)據(jù)進(jìn)行解壓的方法包括下述步驟:

步驟1:初始化,寄存器a和寄存器b分別置為數(shù)據(jù)“0”和“1”,寄存器a和寄存器b完成累加移位運(yùn)算得到0.5,此時寄存器c的值為0.5;

步驟2:控制器的第二信號端c2自壓縮數(shù)據(jù)的第一位開始依次輸入壓縮數(shù)據(jù),輸入壓縮數(shù)據(jù)的相應(yīng)位為1時,控制器c1為高電平,控制器c1控制第二三態(tài)門t2,將寄存器c的值直接傳輸?shù)郊拇嫫鱝,輸入壓縮數(shù)據(jù)的相應(yīng)位為0時,控制器c1為低電平,控制器c1控制第一三態(tài)門t1,將寄存器c的值直接傳輸?shù)郊拇嫫鱞,重復(fù)上述加法以及移位計算,寄存器c的值更新,最終更新數(shù)值為0.y1y2……yn,0.y1y2……yn屬于區(qū)間(0,1);

步驟3:將寄存器c的最終更新數(shù)值移位到計數(shù)器,統(tǒng)計壓縮前數(shù)據(jù)的游程長度依次為y1、y2、……yn,yn表示為第n個測試向量的游程長度,n為正整數(shù),按游程長度編碼輸出即可得到解壓以后的數(shù)據(jù)。

以壓縮后的數(shù)據(jù)101110為例說明本電路結(jié)構(gòu)的工作原理。

初始時寄存器a和寄存器b分別置為數(shù)據(jù)“0”和“1”,寄存器a和寄存器b完成累加移位運(yùn)算得到0.5,此時寄存器c的值為0.5。輸入信號input第一位為1到c2,控制器c1為高電平,控制器通過三態(tài)門t2將寄存器c的值直接傳輸?shù)郊拇嫫鱝,寄存器a的值更新為0.5,如圖3中t1。重復(fù)加法和移位運(yùn)算,寄存器c的值為0.75,如圖3中t2,輸入信號input第二位為0到c2,控制器c1為低電平,控制器通過三態(tài)門t1將寄存器c的值直接傳輸?shù)郊拇嫫鱞,寄存器b的值更新為0.75。重復(fù)加法和移位運(yùn)算,寄存器c的值為0.625,如圖3中t3,輸入信號input第二位為1到c2,控制器c1為低電平,控制器通過三態(tài)門t2將寄存器c的值直接傳輸?shù)郊拇嫫鱝,寄存器b的值更新為0.625。一直重復(fù)此過程,寄存器c的值分別更新為t4,t5,t6。由寄存器c的值即可得到原始測試數(shù)據(jù)的數(shù)據(jù)流的順序依次為7、3、4、3、7、5。將該數(shù)值移位到計數(shù)器,按游程長度編碼輸出即可得到00000001000100001000100000001000001。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
宿松县| 仪征市| 禹州市| 雅江县| 屏东县| 汪清县| 绵阳市| 游戏| 化隆| 平阳县| 长顺县| 芜湖市| 内江市| 岫岩| 伊宁市| 扶余县| 许昌市| 昌乐县| 河池市| 古浪县| 深州市| 乐都县| 云林县| 五峰| 灌阳县| 溆浦县| 新野县| 沙坪坝区| 冷水江市| 岑溪市| 竹山县| 大悟县| 马鞍山市| 陵水| 丰顺县| 宿松县| 梁平县| 滕州市| 洪雅县| 绥滨县| 大姚县|