一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法,將測(cè)試集按單位長(zhǎng)度M分成若干塊,首先通過(guò)異或邏輯運(yùn)算將塊內(nèi)數(shù)據(jù)為01或10的交替序列變換成全0或全1序列;其次,對(duì)于不能轉(zhuǎn)換的序列,不斷進(jìn)行折半劃分。本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):本發(fā)明的基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法,代碼字的長(zhǎng)度直接用折半的次數(shù)表示,減少了代碼字的長(zhǎng)度,且解壓時(shí)直接將計(jì)數(shù)器移位,提高了壓縮率,減少了減壓時(shí)的硬件開(kāi)銷(xiāo),降低了解壓成本。
【專(zhuān)利說(shuō)明】一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路測(cè)試技術(shù),尤其涉及的是一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法。
【背景技術(shù)】
[0002]為了滿(mǎn)足集成電路工藝不斷發(fā)展的要求,IP核復(fù)用思想的提出導(dǎo)致系統(tǒng)芯片(SOC)的集成度越來(lái)越高,單個(gè)芯片上的數(shù)據(jù)量的增加對(duì)電路測(cè)試增加了難度。系統(tǒng)自動(dòng)測(cè)試設(shè)備(ATE)已經(jīng)滿(mǎn)足不了測(cè)試數(shù)據(jù)量增加的需求,大大增加了測(cè)試成本。
[0003]快速有效的完成對(duì)SOC的測(cè)試,可以有效的減少測(cè)試的成本。內(nèi)建自測(cè)技術(shù)和外建自測(cè)技術(shù)被廣泛應(yīng)用于測(cè)試集數(shù)據(jù)減少的研究。內(nèi)建自測(cè)技術(shù)(BIST)是利用芯片自帶的測(cè)試生成器,直接在片上生成測(cè)試向量,降低對(duì)ATE的要求。但是數(shù)據(jù)量的激增使得它不能滿(mǎn)足需求。外建自測(cè)技術(shù)是將測(cè)試資源進(jìn)行適當(dāng)劃分,將一部分測(cè)試數(shù)據(jù)移到芯片外,以減少測(cè)試成本,如測(cè)試數(shù)據(jù)壓縮技術(shù)。這些技術(shù)將原始測(cè)試集Td進(jìn)行適當(dāng)?shù)膭澐?,然后用選定的碼字代替,壓縮為T(mén)e存儲(chǔ)到ATE中傳給芯片,再通過(guò)解碼器還原。現(xiàn)有的編碼方法可以分為定長(zhǎng)到定長(zhǎng)的編碼方法、定長(zhǎng)到變長(zhǎng)、變長(zhǎng)到定長(zhǎng)、變長(zhǎng)到變長(zhǎng)、混合定變長(zhǎng)五種,這些方法都有很 好的壓縮效果。
[0004]測(cè)試數(shù)據(jù)壓縮技術(shù)能夠減少預(yù)先計(jì)算的測(cè)試集TD,得到較小的測(cè)試集TE。近幾年已經(jīng)提出了一些有效的測(cè)試數(shù)據(jù)壓縮方法,分為定長(zhǎng)到定長(zhǎng)的編碼方法、定長(zhǎng)到變長(zhǎng)、變長(zhǎng)到定長(zhǎng)、變長(zhǎng)到變長(zhǎng)、混合定變長(zhǎng)五種,從各技術(shù)的壓縮效果來(lái)看,都有很好的壓縮效果。但是,雖然傳統(tǒng)的FDR碼有很好的壓縮效果,但是在解壓時(shí)的硬件開(kāi)銷(xiāo)較大,通信協(xié)議較為復(fù)雜。因此在是壓縮率達(dá)到最高的前提下考慮解壓成本。
[0005]本方法提出一直基于異或邏輯運(yùn)算的測(cè)試數(shù)據(jù)壓縮編碼方法,不用像FDR碼和Golomb碼那樣,用前綴和后綴來(lái)記錄,只要用一定的標(biāo)記位來(lái)表示折半的次數(shù),就可以換算出數(shù)據(jù)塊的長(zhǎng)度。而且在解壓時(shí),只要一個(gè)移位計(jì)數(shù)器就可以換算出數(shù)據(jù)塊的長(zhǎng)度。本方法不僅有很好的壓縮效果,而且解壓也比較容易,在硬件開(kāi)銷(xiāo)和通信協(xié)議上有很大的改進(jìn)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供了一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法。
[0007]本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
[0008]一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法,其步驟如下:
[0009]A、將測(cè)試集L看成一個(gè)數(shù)據(jù)流,按照單位長(zhǎng)度M(M〈L),將測(cè)試集L進(jìn)行分段,其中M = 2η,(η為整數(shù),且η>0),對(duì)于最后不足單位長(zhǎng)度M的數(shù)據(jù)塊,用無(wú)關(guān)位X進(jìn)行填充;
[0010]B、對(duì)每一數(shù)據(jù)塊,分析計(jì)算:
[0011](I)如果數(shù)據(jù)塊全是O序列或者全是I序列,用標(biāo)記位來(lái)標(biāo)記;
[0012](2)如果數(shù)據(jù)塊是01序列或10序列,在數(shù)據(jù)塊序列前添加I或0,再將后面一位分別與前面一位進(jìn)行異或邏輯運(yùn)算,化成全I(xiàn)序列,再用標(biāo)記位表示;
[0013](3)否則,我們對(duì)數(shù)據(jù)塊進(jìn)行折半;
[0014](4)看折半后的長(zhǎng)度是否達(dá)到最小臨界值MIN,若是,停止折半,若否,返回步驟⑴。
[0015]C、對(duì)每個(gè)數(shù)據(jù)塊根據(jù)標(biāo)記位和編碼規(guī)則進(jìn)行編碼,生成種子結(jié)果,所生成的單個(gè)種子結(jié)果與對(duì)應(yīng)的段長(zhǎng)編碼一起構(gòu)成該段壓縮后的數(shù)據(jù),每段壓縮后的數(shù)據(jù)按順序合并后即為最終的壓縮數(shù)據(jù)。
[0016]本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):本文所提出基于異或邏輯運(yùn)算折半劃分的壓縮方法,在折半劃分的基礎(chǔ)上,對(duì)非全0/1的序列進(jìn)行優(yōu)化,加入異或邏輯運(yùn)算化為全I(xiàn)序列,不能進(jìn)行優(yōu)化的再采用折半劃分方法.只要記錄折半的次數(shù),就可以換算出原始數(shù)據(jù)塊的長(zhǎng)度,提高了壓縮率,減少了減壓時(shí)的硬件開(kāi)銷(xiāo),從而減少成本。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017]圖1是本發(fā)明的一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法的流程圖。
[0018]圖2為基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法的編碼規(guī)則。
[0019]圖3為本發(fā)明的編碼實(shí)例圖,圖3(a)原始測(cè)試集,總長(zhǎng)度為16,3(b)和3 (c)折半劃分的示意圖,圖3(d)為折分后的測(cè)試集結(jié)果。
【具體實(shí)施方式】
[0020]下面對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
[0021]參見(jiàn)圖1,一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法的流程圖。結(jié)合圖1,一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法,其步驟如下:
[0022]一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法,其特征在于,包括如下步驟:
[0023]A、將測(cè)試集L看成一個(gè)數(shù)據(jù)流,按照單位長(zhǎng)度M(M〈L),將測(cè)試集L進(jìn)行分段,其中M = 2η,(η為整數(shù),且η>0),對(duì)于最后不足單位長(zhǎng)度M的數(shù)據(jù)塊,用無(wú)關(guān)位X進(jìn)行填充;
[0024]B、對(duì)每一數(shù)據(jù)塊,分析計(jì)算:
[0025](I)如果數(shù)據(jù)塊全是O序列或者全是I序列,用標(biāo)記位來(lái)標(biāo)記;
[0026](2)如果數(shù)據(jù)塊是01序列或10序列,在數(shù)據(jù)塊序列前添加I或0,再將后面一位分別與前面一位進(jìn)行異或邏輯運(yùn)算,化成全I(xiàn)序列,再用標(biāo)記位表示;
[0027](3)否則,我們對(duì)數(shù)據(jù)塊進(jìn)行折半;
[0028](4)若折半后的長(zhǎng)度是否達(dá)到最小臨界值ΜΙΝ,若是,停止折半,若否,返回步驟⑴。
[0029]C、對(duì)每個(gè)數(shù)據(jù)塊根據(jù)標(biāo)記位和編碼規(guī)則進(jìn)行編碼,生成種子結(jié)果,所生成的單個(gè)種子結(jié)果與對(duì)應(yīng)的段長(zhǎng)編碼一起構(gòu)成該段壓縮后的數(shù)據(jù),每段壓縮后的數(shù)據(jù)按順序合并后即為最終的壓縮數(shù)據(jù)。
[0030]其中,連續(xù)序列,包括全O序列,如0000......;全I(xiàn)序列,如111L...。[0031 ] 交替序列,該數(shù)據(jù)塊中全是O和I交叉的序列,OI塊,即OIOIOI……;IO塊:IO塊,即 101010......。
[0032]其中對(duì)步驟C中采用的編碼規(guī)則,參見(jiàn)圖2,一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法的編碼規(guī)則。在圖2中,全O序列或者全I(xiàn)序列的長(zhǎng)度是ZiXMin,其中Min是最小塊序列的長(zhǎng)度,A取值可為0,1,X,表示此塊為全0,全I(xiàn)或無(wú)關(guān)位。B取值可能為O或1,表示序列前面加O或I異或得到的全I(xiàn)序列。全O序列或者全I(xiàn)序列的個(gè)數(shù)越多時(shí),它的標(biāo)記位也就越長(zhǎng)。全O序列或者全I(xiàn)序列的長(zhǎng)度為M時(shí)的標(biāo)記位最長(zhǎng),可以根據(jù)圖2的編碼規(guī)則算出它的標(biāo)記位。如果數(shù)據(jù)塊是01或10序列,我們就在序列前添加I或0,將序列里后面一位數(shù)分別跟前面一位進(jìn)行異或邏輯運(yùn)算,化成全I(xiàn)序列,然后用標(biāo)記位表示之后在編碼字后面加上O或I標(biāo)記是前面添加O或I異或而來(lái)。
[0033]在圖2中,全O序列或者全I(xiàn)序列的長(zhǎng)度每增加2倍,標(biāo)記位就增加一個(gè)標(biāo)記位1,有助于解壓時(shí)對(duì)全O序列或者全I(xiàn)序列的長(zhǎng)度進(jìn)行換算。
[0034]參見(jiàn)圖3,結(jié)合編碼實(shí)例,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程。對(duì)長(zhǎng)度為16的測(cè)試集a,如圖3 (a)所示。測(cè)試集a既不是全O序列、也不是全I(xiàn)序列數(shù)據(jù)塊,也不能填充無(wú)關(guān)位得到01或10交替序列。
[0035]對(duì)它進(jìn)行第一次折半劃分,如圖3(b)所示,得到測(cè)試向量bl和b2,bl是連續(xù)的無(wú)關(guān)位,則不再劃分,按編碼規(guī)則編碼。b2既不是全O序列、也不是全I(xiàn)序列數(shù)據(jù)塊,也不可通過(guò)填充得到01或10交替序列。
[0036]再繼續(xù)折半劃分,如圖3(c)所示,b2折半劃分得到Cl和c2,Cl可以通過(guò)填充得到10序列。C2既不是全O序列、也不是全I(xiàn)序列數(shù)據(jù)塊,也不可通過(guò)填充為01或10交替序列,但它的長(zhǎng)度已經(jīng)達(dá)到最小臨界值,不再進(jìn)行劃分。
[0037]根據(jù)圖2的規(guī)則得到最終編碼結(jié)果,如圖3(d)所示。
[0038]從圖3(a)和3(d)所示,可以看到原來(lái)的測(cè)試集的長(zhǎng)度為16,折半劃分后總長(zhǎng)度為13,因此,測(cè)試數(shù)集可以得到壓縮,縮短了測(cè)試應(yīng)用時(shí)間。
[0039]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于異或邏輯運(yùn)算折半劃分的測(cè)試數(shù)據(jù)壓縮方法,其特征在于,包括如下步驟: A、將測(cè)試集L看成一個(gè)數(shù)據(jù)流,按照單位長(zhǎng)度M(M〈L),將測(cè)試集L進(jìn)行分段,其中M=2η,(η為整數(shù),且η>0),對(duì)于最后不足單位長(zhǎng)度M的數(shù)據(jù)塊,用無(wú)關(guān)位X進(jìn)行填充; B、對(duì)每一數(shù)據(jù)塊,分析計(jì)算: (1)如果數(shù)據(jù)塊全是O序列或者全是I序列,用標(biāo)記位來(lái)標(biāo)記; (2)如果數(shù)據(jù)塊是Ol序列或10序列,在數(shù)據(jù)塊序列前添加I或0,再將后面一位分別與前面一位進(jìn)行異或邏輯運(yùn)算,化成全I(xiàn)序列,再用標(biāo)記位表示; (3)否則,我們對(duì)數(shù)據(jù)塊進(jìn)行折半; (4)看折半后的數(shù)據(jù)塊的長(zhǎng)度是否達(dá)到最小臨界值ΜΙΝ,若是,停止折半,若否,返回步驟⑴。 C、對(duì)每個(gè)數(shù)據(jù)塊根據(jù)標(biāo)記位和編碼規(guī)則進(jìn)行編碼,生成種子結(jié)果,所生成的單個(gè)種子結(jié)果與對(duì)應(yīng)的段長(zhǎng)編碼一起構(gòu)成該段壓縮后的數(shù)據(jù),每段壓縮后的數(shù)據(jù)按順序合并后即為最終的壓縮數(shù)據(jù)。
【文檔編號(hào)】G01R31/28GK103973310SQ201410212504
【公開(kāi)日】2014年8月6日 申請(qǐng)日期:2014年5月19日 優(yōu)先權(quán)日:2014年5月19日
【發(fā)明者】吳瓊, 黃麗, 詹文法 申請(qǐng)人:安慶師范學(xué)院