專利名稱::一種基于測(cè)試向量相容的測(cè)試向量編碼壓縮方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及集成電路測(cè)試技術(shù),尤其涉及一種基于測(cè)試向量相容的測(cè)試向量編碼壓縮方法。
背景技術(shù):
:隨著芯片制造技術(shù)的進(jìn)步以及新的設(shè)計(jì)方法的產(chǎn)生,特別是向soc設(shè)計(jì)方法的轉(zhuǎn)變,大量的IP(IntdlectualProperty)核組合在一起形成片上系統(tǒng)(SOC,System-On-Chip)。導(dǎo)致芯片的復(fù)雜度直線上升,每個(gè)IP核的測(cè)試數(shù)據(jù)一般都十分龐大(為了達(dá)到很高的錯(cuò)誤覆蓋率),測(cè)試時(shí)間變得冗長(zhǎng)、測(cè)試數(shù)據(jù)量變得異常龐大,這就使得測(cè)試單個(gè)SOC所用的測(cè)試向量超出了測(cè)試設(shè)備性能允許的范圍,測(cè)試成本急劇上升。測(cè)試成本已經(jīng)成為芯片成本的主要組成部分,如何減少測(cè)試成本進(jìn)而減少芯片成本成為研究人員日益關(guān)注的問(wèn)題。BIST(Built-In-Self-Test)測(cè)試方法是能解決上述問(wèn)題的方法之一,但具有芯片面積開銷較大和難測(cè)故障等一些缺點(diǎn),并且現(xiàn)有大量IP核并不具有BIST結(jié)構(gòu)。通過(guò)測(cè)試數(shù)據(jù)的壓縮/解壓縮的方法可以解決測(cè)試設(shè)備性能不足的問(wèn)題以及縮短測(cè)試時(shí)間。數(shù)據(jù)壓縮主要包含兩類基于線性反饋移位寄存器LFSR(LinearFeedbackShiftRegister)的重播種技術(shù)和基于編碼的技術(shù)。LFSR在壓縮存在大量無(wú)關(guān)位的測(cè)試集時(shí)有很大的優(yōu)勢(shì),不適合確定位個(gè)數(shù)過(guò)多的情況?;诰幋a的技術(shù)通過(guò)對(duì)測(cè)試集定長(zhǎng)或者變長(zhǎng)的序列進(jìn)行編碼,可以有效減少測(cè)試數(shù)據(jù)量。在測(cè)試集中有大量的無(wú)關(guān)位"x"存在,可以將"x"設(shè)為"0"或"1";測(cè)試集中相鄰的向量具有很好的相關(guān)性,它們之間只有很少的位數(shù)值是不同的。利用這個(gè)結(jié)果可以得到新的差分測(cè)試集,該集合具有更好的"0"的游程,編碼效率更高;也可以合并相鄰的向量,減少向量個(gè)數(shù),對(duì)合并后的向量壓縮,也能很大的提高壓縮率。把壓縮后的數(shù)據(jù)放入ATE(AutomaticTestEquipment)內(nèi)存中,由芯片的解碼模塊進(jìn)行解碼,還原測(cè)試向量,減少了測(cè)試機(jī)與被測(cè)芯片的帶寬和測(cè)試時(shí)間。
發(fā)明內(nèi)容本發(fā)明的目的是針對(duì)當(dāng)前只對(duì)單個(gè)向量進(jìn)行編碼而沒(méi)有結(jié)合向量相容性的不足,提出一種基于向量相容的測(cè)試向量編碼壓縮方法?;谙蛄肯嗳莸臏y(cè)試向量編碼壓縮方法包括測(cè)試向量的壓縮和編碼后的解壓縮兩部分,測(cè)試向量的壓縮包括如下步驟1)確定測(cè)試向量的編碼;2)由被測(cè)電路得到第一測(cè)試向量集R,選取第一測(cè)試向量集R中任一個(gè)第一向量~,將第一向量0從第一測(cè)試向量集R中移出,放入測(cè)試向量組S中,測(cè)試向量組S內(nèi)的向量個(gè)數(shù)m為1,設(shè)第二測(cè)試向量集H,第二測(cè)試向量集H與第一測(cè)試向量集R相同;3)從第二測(cè)試集H中找出與第一向量^相容性最大的第二向量6,并將第二向量^從第二測(cè)試集H中移出;4)若"2大于w并且第二測(cè)試集H不是空集,則返回步驟3),若第二測(cè)試集H為空集,則到步驟7)完成分組,若W2小于w則到步驟5),其中,",為測(cè)試向量之間不相容位的最大個(gè)數(shù),"M^的值可自定義,^為第一向量0與第二向量^不相容位的個(gè)數(shù);5)將第二向量b移入測(cè)試向量組S中,向量個(gè)數(shù)m的值增加l,求出第一向量~與第二向量b相容后的第四向量";6)對(duì)測(cè)試向量組S編碼,計(jì)算第一測(cè)試向量組S的壓縮率J和第二向量^的壓縮率^c。^,判斷第二向量^是否要從測(cè)試向量組S移出,若第二測(cè)試向量集H為空集,則到步驟7),若第二測(cè)試向量集H不為空集,則到步驟3);7)完成對(duì)測(cè)試向量組S的分組,對(duì)測(cè)試向量組S編碼,得到表示測(cè)試相量組S內(nèi)向量個(gè)數(shù)m的編碼Af、表示不相容位個(gè)數(shù)"的編碼iV以及表示不相容位上值信息的編碼Q,由第一向量^得到第六向量^,第六向量&的編碼為T6—code,從第一測(cè)試向量集R中移出測(cè)試向量組S內(nèi)的向量;8)若第一測(cè)試向量集R為空集,則分組結(jié)束,若第一測(cè)試向量集R不為空集,則回到步驟2)開始下一測(cè)試向量組;編碼后的解壓縮包括如下步驟9)將表示測(cè)試向量組S內(nèi)向量個(gè)數(shù)m的編碼M、不相容位個(gè)數(shù)"的編碼W和不相容位上值的信息的g輸入到被測(cè)電路保存,然后輸入第六向量^的編碼T6一code到被測(cè)電路;10)對(duì)第六向量&的編碼T6—code進(jìn)行解碼,當(dāng)遇到碼字"00"時(shí),將"00"之前的碼字解碼后的最后一位用步驟9)保存過(guò)的不相容位上的值替換,還原一個(gè)被壓縮的向量,編碼M的值減1;11)若編碼M的值不為0,則回到步驟10)繼續(xù)對(duì)第一向量^解碼,若編碼M的值為0,則對(duì)測(cè)試向量組S解碼完成。所述步驟l)包括a)碼字由前綴和后綴組成,將碼字分組,設(shè)編碼組為^t,其中A:為組號(hào),碼字的前綴和后綴的位數(shù)均為&b)碼字前綴最后一位為"0",其余位為"1"。碼字后綴是由2^個(gè)01組合組成,順序按大小排列;c)第一編碼組A只有只有一個(gè)碼字"01"用于游程"0"的編碼,碼字"00"用于標(biāo)記不相容位的位置;d)對(duì)于長(zhǎng)度為/的"0"的游程,落在哪一個(gè)編碼組是有如下公式?jīng)Q定的'("4):log2-17^0/(/),/柳=e)測(cè)試集中"0"的游程最長(zhǎng)的值加1的編碼的前綴作為測(cè)試向量組與測(cè)試向量組的分割碼Sep_code。所述步驟3)包括f)選取第二測(cè)試向量集H中任一個(gè)第二向量^,設(shè)定~(/)和^(/)有四種可能的取值"0"、"1"、"x"、"c",其中/為第一向量^和第二向量^內(nèi)第/個(gè)元素的位置,值"c"所在的位為不相容位,函數(shù)7^("/)"2(/))為~(/)和^(/)的相容結(jié)果,當(dāng)函數(shù)7M00V力'))值為"1"時(shí),~(/)和^G)不相容,當(dāng)函數(shù)7M^(zV必)值為"0"時(shí),~(/)和^相容,「1(("(/)==1)&==O))II((。(/)==0)&=l))1帥'卜c)ll(,2(/)-c)0=x)&&(〃(0!=c》II(("(/)!=c)&&(&(/)==x)):0(("(!)=1)&&("(/)==l))II==O))&&("(/)==O))g)選取第二測(cè)試向量集H中任一個(gè)第三向量^,設(shè)定G(/)有四種可能的取值"0"、"1"、"X"、"C",其中/為第三向量^內(nèi)第y個(gè)元素的位置,函數(shù)7b啦(/V3(/》為o0')和^0')的相容結(jié)果,當(dāng)函數(shù)7M^(/V力'))值為"r,時(shí),^(_/)和^0.)不相容,當(dāng)函數(shù)綿(/V力'))值為"o"時(shí),/7(_/)和^(_/)相容,'1((W)=1)&=O))11=0)&&("(;)=1》0((W)=x)&&("G〕!=C))||((r</)!=C)&&(^/)=x))'.0=1)&=l))11=O))&&(〃C0=0》h)比較"2與"3,若"2大于"3,則"2取"3的值,第二向量^取第三向量^的值,其中W2為第一向量^與第二向量^不相容位的個(gè)數(shù),為第一向量與第三向量不相容位的個(gè)數(shù),Z為第一向量0的長(zhǎng)度,若未遍歷第二測(cè)試向量集H,則到步驟g),若遍歷第二測(cè)試集H,將第二向量從第二測(cè)試向量集H中移出,然后到步驟4),w2=Z7b,/),W))聲i='>m/2<=m所述步驟5)包括i)將第二向量^移入測(cè)試向量組s中,m增加i,m》)、6a)和^a)分別為第一向量o、第二向量/2和第四向量"第A:個(gè)位置的元素,"a)的值由以下公式計(jì)算,1==1)&柳"A:)==1)||==x》1(,==x)&&,)==1》0==0)&==0)II==;c》"(A:)—0(,==;c)&&C=0)。jc(,==;c)&&(。(A:)==x)c==1)&&,)==O))II==0)&==1》所述步驟6)包括j)由第四向量"得到第五向量^,"/o和^a)分別為第四向量"和第五向量G第/2個(gè)位置的元素;loc)==o)ii=x)k)對(duì)第五向量^進(jìn)行編碼,在編碼解碼后包含第四向量"中"c"的位置的碼字之前插入標(biāo)記碼"00",得到"的編碼T5jode,編碼長(zhǎng)度為/c。w1)測(cè)試向量組S中向量個(gè)數(shù)m和不相容位個(gè)數(shù)"/由M和W位二進(jìn)制信息表示,測(cè)試向量組S中不相容位上的值由g位二進(jìn)制表示,其中"/的值為第四向量"內(nèi)值"c"出現(xiàn)的次數(shù),也即第一向量0與第二向量^不相容位的個(gè)數(shù);log(m+1)logQ=附xmm)計(jì)算測(cè)試向量組S的壓縮率義和第二向量/2的壓縮率乂c,,將第二向^中的值"x"變?yōu)?0"后進(jìn)行編碼,編碼后的長(zhǎng)度為/2,£—/2n)若測(cè)試向量組S的壓縮率A小于第二向量^的壓縮率乂c。琴,則將第二向量/2從測(cè)試向量組S中移出,m減l,若義大于夂,,則第二向量^留在測(cè)試向量組S中,第一向量O取第四向量"的值;o)若第二測(cè)試向量集H為空集,則到步驟7),若第二測(cè)試向量集H不為空集,則到步驟3);所述步驟7)包括p)由第一向量々得到第六向量^,"句和^(d)分別為第一向量O和第六向量&第"個(gè)位置的元素;fl=1)&&(M>/)==C)("(t0=0)||("(^)==x)q)對(duì)第六向量&進(jìn)行編碼,在編碼解碼后包含第一向量tl中"c"的位置的碼字之前插入標(biāo)記碼"00",得到&的編碼T6—code;r)測(cè)試向量組S中向量個(gè)數(shù)m和不相容個(gè)數(shù)w由M和7V位二進(jìn)制信息表示,測(cè)試向量組S中不相容位上的值由g位二進(jìn)制表示,其中w的值為第一向量0內(nèi)值"c"出現(xiàn)的次數(shù)即不相容位的個(gè)數(shù);(m+l)—2loglog("+l)g=附xws)在T6一code之前插入(M+iV+g)位的組頭信息,并在T6一code的末尾插入組分割碼Sep一code,完成對(duì)測(cè)試向量組S的編碼。本發(fā)明根據(jù)相容性最大的關(guān)系把測(cè)試向量集分組,并將測(cè)試向量組內(nèi)的向量合并為一個(gè)第一向量O,對(duì)第一向量G進(jìn)行編碼,不相容的位置用標(biāo)記碼標(biāo)出,極大的減少了用地址信息標(biāo)記所需的位數(shù),在編碼前插入組頭信息,形成對(duì)測(cè)試向量組的編碼。解碼時(shí),將測(cè)試向量組的編碼移入被測(cè)電路保存,保存在被測(cè)電路中的編碼可以重復(fù)利用,極大地降低了測(cè)試機(jī)與被測(cè)電路的帶寬。圖1本發(fā)明的測(cè)試向量壓縮流程圖2本發(fā)明的尋找與第一向量^相容性最大的第二向量/2流程圖;圖3本發(fā)明的計(jì)算測(cè)試向量組S和第二向量^的壓縮率流程圖;圖4本發(fā)明的對(duì)完成分組的測(cè)試向量組S編碼流程圖;圖5本發(fā)明的編碼結(jié)構(gòu)圖;圖6本發(fā)明的解壓縮測(cè)試向量組流程圖。具體實(shí)施例方式基于向量相容的測(cè)試向量編碼壓縮方法包括測(cè)試向量的壓縮和編碼后的解壓縮兩部分,如圖1所示,測(cè)試向量的壓縮包括如下步驟1)確定測(cè)試向量的編碼;2)由被測(cè)電路得到第一測(cè)試向量集R,選取第一測(cè)試向量集R中任一個(gè)第一向量0,將第一向量~從第一測(cè)試向量集R中移出,放入測(cè)試向量組S中,測(cè)試向量組S內(nèi)的向量個(gè)數(shù)m為1,設(shè)第二測(cè)試向量集H,第二測(cè)試向量集H與第一測(cè)試向量集R相同;3)從第二測(cè)試集H中找出與第一向量0相容性最大的第二向量^并將第二向量/2從第二測(cè)試集H中移出;4)若"2大于w并且第二測(cè)試集H不是空集,則返回步驟3),若第二測(cè)試集H為空集,則到步驟7)完成分組,若&小于w,則到步驟5),其中,"^為測(cè)試向量之間不相容位的最大個(gè)數(shù),w的值可自定義,^為第一向量~與第二向量^不相容位的個(gè)數(shù);5)將第二向量6移入測(cè)試向量組S中,向量個(gè)數(shù)m的值增加l,求出第一向量~與第二向量^相容后的第四向量";6)對(duì)測(cè)試向量組S編碼,計(jì)算第一測(cè)試向量組S的壓縮率^和第二向量G的壓縮率、。^,判斷第二向量b是否要從測(cè)試向量組S移出,若第二測(cè)試向量集H為空集,則到步驟7),若第二測(cè)試向量集H不為空集,則到步驟3);7)完成對(duì)測(cè)試向量組S的分組,對(duì)測(cè)試向量組S編碼,得到表示測(cè)試相量組S內(nèi)向量個(gè)數(shù)m的編碼力/、表示不相容位個(gè)數(shù)w的編碼以及表示不相容位上值信息的編碼2,由第一向量^得到第六向量^,第六向量&的編碼為T6一code,從第一測(cè)試向量集R中移出測(cè)試向量組S內(nèi)的向量;8)若第一測(cè)試向量集R為空集,則分組結(jié)束,若第一測(cè)試向量集R不為空集,則回到步驟2)開始下一測(cè)試向量組;如圖6所示,編碼后的解壓縮包括如下步驟9)將表示測(cè)試向量組S內(nèi)向量個(gè)數(shù)m的編碼A/、不相容位個(gè)數(shù)w的編碼W和不相容位上值的信息的0輸入到被測(cè)電路保存,然后輸入第六向量^的編碼T6一code到被測(cè)電路;10)對(duì)第六向量&的編碼T6—code進(jìn)行解碼,當(dāng)遇到碼字"OO"時(shí),將"00"之前的碼字解碼后的最后一位用步驟9)保存過(guò)的不相容位上的值替換,還原一個(gè)被壓縮的向量,編碼M的值減1;11)若編碼M的值不為O,則回到步驟IO)繼續(xù)對(duì)第一向量^解碼,若編碼M的值為O,則對(duì)測(cè)試向量組S解碼完成。所述步驟l)包括a)碼字由前綴和后綴組成,將碼字分組,設(shè)編碼組為^t,其中A為組號(hào),碼字的前綴和后綴的位數(shù)均為^b)碼字前綴最后一位為"0",其余位為"1"。碼字后綴是由2&個(gè)01組合組成,順序按大小排列;c)第一編碼組A只有只有一個(gè)碼字"01"用于游程"0"的編碼,碼字"00"用于標(biāo)記不相容位的位置;d)對(duì)于長(zhǎng)度為/的"0"的游程,落在哪一個(gè)編碼組是有如下公式?jīng)Q定的,如表1所示;<formula>formulaseeoriginaldocumentpage13</formula>e)測(cè)試集中"0"的游程最長(zhǎng)的值加1的編碼的前綴作為測(cè)試向量組與測(cè)試向量組的分割碼Sep_code。表l本發(fā)明提出的編碼表<table>tableseeoriginaldocumentpage14</column></row><table>如圖2所示,所述步驟3)包括f)選取第二測(cè)試向量集H中任一個(gè)第二向量^,設(shè)定O(/)和^(/)有四種可能的取值"0"、"1"、"x"、"c",其中z'為第一向量^和第二向量G內(nèi)第Z個(gè)元素的位置,值"c"所在的位為不相容位,函數(shù)7^(《/),"z'))為0(/)和^(/)的相容結(jié)果,當(dāng)函數(shù)7b啦(O,柳值為"1"時(shí),~")和6不相容,當(dāng)函數(shù)7bKO(0,^))值為"0"時(shí),~("和G(/)相容,「1((W)==1)&&("(/)==O))II=0)&==l))1,0x)&&("(/)!=c))II((m;/)!-c)&&("(/)==x));0(("(/)==1)&&("(/)=l))II(("(/)==O))&&,==O))g)選取第二測(cè)試向量集H中任一個(gè)第三向量。,設(shè)定^0')有四種可能的取值"0"、"1"、"x"、"c",其中為第三向量^內(nèi)第7個(gè)元素的位置,函數(shù)7M,力V力'))為o(/)和。0')的相容結(jié)果,當(dāng)函數(shù)『o啦(/)力(/))值為"i"時(shí),~0')和^(/)不相容,當(dāng)函數(shù)7^②(/v力'))值為"o"時(shí),o0')和^0.)相容,<formula>formulaseeoriginaldocumentpage14</formula>h)比較"2與,若"2大于"3,則"2取"3的值,第二向量^取第三向量^的值,其中W2為第一向量0與第二向量。不相容位的個(gè)數(shù),"3為第一向量與第三向量不相容位的個(gè)數(shù),丄為第一向量O的長(zhǎng)度,若未遍歷第二測(cè)試向量集H,則到步驟g),若遍歷第二測(cè)試集H,將第二向量從第二測(cè)試向量集H中移出,然后到步驟4),m=Z7br("(/)力(/))>1=mm>m<=m所述步驟5)包括i)將第二向量6移入測(cè)試向量組s中,m增加i,"A)、^a)和"a)分別為第一向量O、第二向量G和第四向量"第A:個(gè)位置的元素,"的值由以下公式計(jì)算,如表2所示的相容關(guān)系表,'1(。(A:)==1)&柳《A:)==1)II(h(&)==;c))1,)==;c)&&C==l))0("(A:)==0)&&((〃(&)0)II==jc》=<0==&&,)==0)。x("("==jc)&斷(A:)=x)c==1)&&"禍==O))II==0)&==l))表2相容關(guān)系表01Xc00c0c1c11cX01Xcccccc15"和第如圖3所示,所述步驟6)包括j)由第四向量"得到第五向量^,"(/2)和^分別為第四向五向量^第/2個(gè)位置的元素;'—Jl("(/z)==1)&==c)'Lo("(/o==o)||(";k)對(duì)第五向量^進(jìn)行編碼,在編碼解碼后包含第四向量"中"c"的位置的碼字之前插入標(biāo)記碼"00",得到^的編碼T5一code,編碼長(zhǎng)度為/c。w1)測(cè)試向量組S中向量個(gè)數(shù)m和不相容個(gè)數(shù)"7由M和7V位二進(jìn)制信息表示,測(cè)試向量組S中不相容位上的值由g位二進(jìn)制表示,其中"/的值為第四向量"內(nèi)值"c"出現(xiàn)的次數(shù),也即第一向量O與第二向量G不相容位的數(shù);水log2logm)計(jì)算測(cè)試向量組S的壓縮率^和第二向量^的壓縮率義c。一將第二向^中的值"x"變?yōu)?0"后進(jìn)行編碼,編碼后的長(zhǎng)度為/2;1—M—iV—附承W—/coden)若測(cè)試向量組S的壓縮率J小于第二向量G的壓縮率^c。^,則將第二向量^從測(cè)試向量組S中移出,m減l,若義大于夂,,則第二向量^留在測(cè)試向量組S中,第一向量^取第四向量"的值;o)若第二測(cè)試向量集H為空集,則到步驟7),若第二測(cè)試向量集H不為空集,則到步驟3);所述步驟7)包括p)由第一向量0得到第六向量&,~(力和&(")分別為第一向量G和第六向量^第d個(gè)位置的元素;「1(f6(d)=l)&&(^(^)==c)0("(i/)==0)||(>6W)==jc)q)對(duì)第六向量&進(jìn)行編碼,在編碼解碼后包含第一向量tl中"c"的位置的碼字之前插入標(biāo)記碼"00",得到&的編碼T6—code;r)測(cè)試向量組S中向量個(gè)數(shù)m和不相容個(gè)數(shù)w由M和iV位二進(jìn)制信息表示,測(cè)試向量組S中不相容位上的值由g位二進(jìn)制表示,其中w的值為第一向量~內(nèi)值"c"出現(xiàn)的次數(shù)即不相容位的個(gè)數(shù);<formula>formulaseeoriginaldocumentpage17</formula>s)在T6—code之前插入(M+iV+g)位的組頭信息,并在T6—code的末尾插入組分割碼Sep_COde,完成對(duì)測(cè)試向量組S的編碼,如圖5所示。實(shí)施例設(shè)測(cè)試集R中有四個(gè)向量77、72、r3、r4。向量長(zhǎng)度丄均為24位。選取77作為分組S的第一個(gè)向量,從R中移出,并使~=77。R中向量為72、73、7V。集合H-R。w,=3。組分割碼Sep—code取1111077:1xxx1xxxx0xx1xxxxx1xxxxx72:xxxx0xx0x0xxx0xxxxlxxxxx73:Oxxxlxxxxlxxxxxxxxlxxxlxr4:1xxx01xxx1xxxxxxxxx0xx0x從H中找與^相容性最大的向量,得到向量^=72,"2=1。從H中移出^。小于"附似并且測(cè)試集H不是空集。m=2,合并0與^得到向量"。^移入測(cè)試向量組S。"中值"c"個(gè)數(shù)為"尸l,M=W=2,^=附*"尸2。":1xxxcxx0x0xx10xxxx1xxxxx把"c"設(shè)為"1",把"x"設(shè)為"0",得到向量6100010000000100000100000編碼01101011001011000011000024bits插入標(biāo)記碼"00":0110100011001011000011000026bits組頭信息編碼M:10iV:01Q:106bits壓縮率;t:^Z^丄483對(duì)^單獨(dú)編碼編碼1110010111000014bits壓縮率義,—24-14—5,2412由于義〈義c。邵,則6從S中移出,m的值減l。繼續(xù)從H中尋找與^相容最大的向量,此時(shí)H中的向量為73和W。從H中找到與r相容性最大的向量f產(chǎn)D,"2=2,從H中移出^。"2小于"Mox并且測(cè)試集H不是空集,。移入測(cè)試向量組S中,合并0與G得到向量G。"中值"c"個(gè)數(shù)為"尸2,Af=iV=2,g=m*";=4。cxxxlxxxxcxxlxxxxxlxxxlx把"c"設(shè)為"1",把"x"設(shè)為"0",得到向量^。編碼011010101110011100001010100028bits插入標(biāo)記碼"00":0100101010110010011100001010100032bits組頭信息編碼W:10iV:10g:10018bitS總的編碼101010010100101010110010011100001010100038bits壓縮率h!2^丄4824對(duì)^單獨(dú)編碼編碼101110111100111010100022bits24—221壓縮率A,2412由于義>義£。^,則^保留在測(cè)試向量組s中。f尸G從H中找到與^相容性最大的向量f2=7V,從H中移出f2。"2=4,由于所以G不能移入組S。H為空集。完成測(cè)試向量組S的分組,組內(nèi)向量為n,r丄并從r中移出"。編碼組s內(nèi)向量個(gè)數(shù)和不相容位個(gè)數(shù),不相容位個(gè)數(shù)Q對(duì)測(cè)試向量組S編碼,統(tǒng)計(jì)^內(nèi)值"c"的個(gè)數(shù)"=2,Af=iV=2,不相容位上值信息M:1010g:1001將~內(nèi)的值"c"和值"x"分別變?yōu)?1"和"0"得到向量&,對(duì)^編碼得到T6—code。編碼0110101011100111000010101000插入標(biāo)記碼T6—code:01001010101100100111000010101000在T6—code之前插入組頭信息并在末尾插入組分割碼。S:10101001011010101110011100001010100011110與完成組s相同,72與r4組成另一個(gè)分組g。100101011011101011001111000011110測(cè)試集R完成分組。權(quán)利要求1.一種基于向量相容的測(cè)試向量編碼壓縮方法,其特征在于包括測(cè)試向量的壓縮和編碼后的解壓縮兩部分,測(cè)試向量的壓縮包括如下步驟1)確定測(cè)試向量的編碼;2)由被測(cè)電路得到第一測(cè)試向量集R,選取第一測(cè)試向量集R中任一個(gè)第一向量t1,將第一向量t1從第一測(cè)試向量集R中移出,放入測(cè)試向量組S中,測(cè)試向量組S內(nèi)的向量個(gè)數(shù)m為1,設(shè)第二測(cè)試向量集H,第二測(cè)試向量集H與第一測(cè)試向量集R相同;3)從第二測(cè)試向量集H中找出與第一向量t1相容性最大的第二向量t2,并將第二向量t2從第二測(cè)試向量集H中移出;4)若n2大于nmax,并且第二測(cè)試集H不是空集,則返回步驟3),若第二測(cè)試集H為空集,則到步驟7)完成分組,若n2小于nmax,則到步驟5),其中,nmax為測(cè)試向量之間不相容位的最大個(gè)數(shù),nmax的值可自定義,n2為第一向量t1與第二向量t2不相容位的個(gè)數(shù);5)將第二向量t2移入測(cè)試向量組S中,向量個(gè)數(shù)m的值增加1,求出第一向量t1與第二向量t2相容后的第四向量t4;6)對(duì)測(cè)試向量組S編碼,計(jì)算第一測(cè)試向量組S的壓縮率λ和第二向量t2的壓縮率λcomp,判斷第二向量t2是否要從測(cè)試向量組S移出,若第二測(cè)試向量集H為空集,則到步驟7),若第二測(cè)試向量集H不為空集,則到步驟3);7)完成對(duì)測(cè)試向量組S的分組,對(duì)測(cè)試向量組S編碼,得到表示測(cè)試向量組S內(nèi)向量個(gè)數(shù)m的編碼M、表示不相容位個(gè)數(shù)n的編碼N以及表示不相容位上值信息的編碼Q,由第一向量t1得到第六向量t6,第六向量t6的編碼為T6_code,從第一測(cè)試向量集R中移出測(cè)試向量組S內(nèi)的向量;8)若第一測(cè)試向量集R為空集,則分組結(jié)束,若第一測(cè)試向量集R不為空集,則回到步驟2)開始下一測(cè)試向量組;編碼后的解壓縮包括如下步驟9)將表示測(cè)試向量組S內(nèi)向量個(gè)數(shù)m的編碼M、不相容位個(gè)數(shù)n的編碼N和不相容位上值的信息的Q輸入到被測(cè)電路保存,然后輸入第六向量t6的編碼T6_code到被測(cè)電路;10)對(duì)第六向量t6的編碼T6_code進(jìn)行解碼,當(dāng)遇到碼字“00”時(shí),將“00”之前的碼字解碼后的最后一位用步驟9)保存過(guò)的不相容位上的值替換,還原一個(gè)被壓縮的向量,編碼M的值減1;11)若編碼M的值不為0,則回到步驟10)繼續(xù)對(duì)第一向量t1解碼,若編碼M的值為0,則對(duì)測(cè)試向量組S解碼完成。2.如權(quán)利要求1所述的一種基于向量相容的測(cè)試向量編碼壓縮方法,其特征在于,所述步驟l)包括a)碼字由前綴和后綴組成,將碼字分組,設(shè)編碼組為^t,其中A:為組號(hào),碼字的前綴和后綴的位數(shù)均為^b)碼字前綴最后一位為"0",其余位為"1"。碼字后綴是由24個(gè)01組合組成,順序按大小排列;c)第一編碼組A只有只有一個(gè)碼字"01"用于游程"0"的編碼,碼字"00"用于標(biāo)記不相容位的位置;d)對(duì)于長(zhǎng)度為/的"0"的游程,落在哪一個(gè)編碼組是有如下公式?jīng)Q定的<formula>formulaseeoriginaldocumentpage3</formula>e)測(cè)試集中"0"的游程最長(zhǎng)的值加1的編碼的前綴作為測(cè)試向量組與測(cè)試向量組的分割碼Sep一code。3.如權(quán)利要求1所述的一種基于向量相容的測(cè)試向量編碼壓縮方法,其特征在于,所述步驟3)包括f)選取第二測(cè)試向量集H中任一個(gè)第二向量6,設(shè)定0(0和^(0有四種可能的取值"0"、"1"、"x"、"c",其中/為第一向量^和第二向量^內(nèi)第/個(gè)元素的位置,值"c"所在的位為不相容位,函數(shù)7bK"0,"0)為0(/)和^的相容結(jié)果,當(dāng)函數(shù)r—^(/),"/))值為"1"時(shí),0(/)和^(/)不相容,當(dāng)函數(shù)7M0(f),"z'))值為"0"時(shí),(/)和^(/)相容,<formula>formulaseeoriginaldocumentpage3</formula>g)選取第二測(cè)試向量集H中任一個(gè)第三向量^,設(shè)定^0')有四種可能的取值"0"、"1"、"x"、"c",其中y為第三向量G內(nèi)第/個(gè)元素的位置,函數(shù)7b啦(/V3(/))為~("和G("的相容結(jié)果,當(dāng)函數(shù)7b啦(/)力(/》值為"1"時(shí),~0')和^0')不相容,當(dāng)函數(shù)(/V3(/))值為"o"時(shí),~(y)和^("相容,<formula>formulaseeoriginaldocumentpage0</formula>h)比較"2與^,若"2大于&,則"2取"3的值,第二向量G取第三向量G的值,其中"2為第一向量0與第二向量^不相容位的個(gè)數(shù),"j為第一向量與第三向量不相容位的個(gè)數(shù),丄為第一向量O的長(zhǎng)度,若未遍歷第二測(cè)試向量集H,則到步驟g),若遍歷第二測(cè)試集H,將第二向量6從第二測(cè)試向量集H中移出,然后到步驟4),<formula>formulaseeoriginaldocumentpage0</formula>4.如權(quán)利要求1所述的一種基于向量相容的測(cè)試向量編碼壓縮方法,其特征在于,其特征在于,所述步驟5)包括i)將第二向量^移入測(cè)試向量組s中,附增加i,"Q、f2a)和/¥a)分別為第一向量o、第二向量^和第四向量"第A:個(gè)位置的元素,"a)的值由以下公式計(jì)算,<formula>formulaseeoriginaldocumentpage0</formula>5.如權(quán)利要求1所述的一種基于向量相容的測(cè)試向量編碼壓縮方法,其特征在于,其特征在于,所述步驟6)包括j)由第四向量"得到第五向量^,"(/2)和^(//)分別為第四向量"和第五向量G第/2個(gè)位置的元素;<formula>formulaseeoriginaldocumentpage0</formula>k)對(duì)第五向量^進(jìn)行編碼,在編碼解碼后包含第四向量"中"C"的位置的碼字之前插入標(biāo)記碼"00",得到第五向量^的編碼T5一code,編碼長(zhǎng)度為0測(cè)試向量組S中向量個(gè)數(shù)m和不相容位個(gè)數(shù)由M和7V位二進(jìn)制信息表示,測(cè)試向量組S中不相容位上的值由0位二進(jìn)制表示,其中";的值為第四向量"內(nèi)值"c"出現(xiàn)的次數(shù),也即第一向量0與第二向量^不相容位的個(gè)數(shù),<formula>formulaseeoriginaldocumentpage5</formula>m)計(jì)算測(cè)試向量組S的壓縮率義和第二向量^的壓縮率乂c。琴,^中的值"x"變?yōu)?0"后進(jìn)行編碼,編碼后的長(zhǎng)度為/2;<formula>formulaseeoriginaldocumentpage5</formula>n)若測(cè)試向量組S的壓縮率J小于第二向量6的壓縮率JJ將第」向量^從測(cè)試向量組S中移出,m減l,若義大于夂,,則第二向量6留在測(cè)試向量組S中,第一向量^取第四向量"的值;o)若第二測(cè)試向量集H為空集,則到步驟7),若第二測(cè)試向量集H不為空集,則到步驟3)。6.如權(quán)利要求1所述的一種基于向量相容的測(cè)試向量編碼壓縮方法,其特征在于,其特征在于,所述步驟7)包括p)由第一向量/7得到第六向量^,《力和^(d)分別為第一向量O和第六向量&第d個(gè)位置的元素,<formula>formulaseeoriginaldocumentpage5</formula>q)對(duì)第六向量^進(jìn)行編碼,在編碼解碼后包含第一向量f/中"c"的位置的碼字之前插入標(biāo)記碼"00",得到^的編碼T6一code;。測(cè)試向量組S中向量個(gè)數(shù)m和不相容位個(gè)數(shù)w由M和iV位二進(jìn)制信息表示,測(cè)試向量組S中不相容位上的值由g位二進(jìn)制表示,其中w的值為第一向量O內(nèi)值"C"出現(xiàn)的次數(shù)即不相容位個(gè)數(shù);(w+l)loglog("+l)s)在T6—code之前插入(M+7V+0)位的組頭信息,尾插入組分割碼Sep_COde,完成對(duì)測(cè)試向量組S的編碼。并在T6code的末全文摘要本發(fā)明公開了一種基于向量相容的測(cè)試向量編碼壓縮方法。它包括測(cè)試向量的壓縮和編碼后的解壓縮兩部分,首先確定測(cè)試向量的編碼,從測(cè)試向量集中取出向量t<sub>1</sub>,通過(guò)與t<sub>1</sub>相容性最大的向量合并,并確保整體壓縮率的提升,完成對(duì)測(cè)試向量的分組并對(duì)測(cè)試向量組編碼。解碼時(shí)將編碼移入到被測(cè)電路保存,重復(fù)對(duì)編碼解碼,直到還原被壓縮之前的向量組。本發(fā)明根據(jù)相容性最大的關(guān)系把測(cè)試向量集分組,并將測(cè)試向量組內(nèi)的向量合并編碼,不相容的位置用標(biāo)記碼標(biāo)出,極大的減少了用地址信息標(biāo)記所需的位數(shù),在編碼兩端分別插入組頭信息和組分割碼。解碼時(shí),將測(cè)試向量組的編碼移入被測(cè)電路保存,可以重復(fù)利用,極大地降低了測(cè)試機(jī)與被測(cè)電路的帶寬。文檔編號(hào)G01R31/317GK101604001SQ200910100309公開日2009年12月16日申請(qǐng)日期2009年7月2日優(yōu)先權(quán)日2009年7月2日發(fā)明者萬(wàn)民永,嚴(yán)曉浪,赟潘申請(qǐng)人:浙江大學(xué)