基于FDR碼改進(jìn)分組的SoC測(cè)試數(shù)據(jù)壓縮方法
摘要:文章提出一種基于FDR碼改進(jìn)分組的SoC測(cè)試數(shù)據(jù)壓縮方法。經(jīng)過(guò)對(duì)原始測(cè)試集無(wú)關(guān)位的簡(jiǎn)單預(yù)處理,提高確定位0在游程中的出現(xiàn)頻率。在FDR碼的基礎(chǔ)上,改進(jìn)其分組方式,通過(guò)理論證明其壓縮率略高于FDR編碼,尤其是短游程的壓縮率。用C語(yǔ)言編寫(xiě)程序模擬兩種編碼方法的軟件實(shí)現(xiàn)程序,實(shí)驗(yàn)結(jié)果證明了改進(jìn)分組的FDR編碼方法的有效性和高壓縮性。
根據(jù)2012年美國(guó)半導(dǎo)體行業(yè)協(xié)會(huì)編制的《國(guó)際半導(dǎo)體發(fā)展報(bào)告》(The International Technology Roadmap for Semiconductors,NTRS)預(yù)測(cè),在2012年至2030年這段時(shí)間里,SoC的數(shù)據(jù)量(Data Volume)將接近10兆兆位元GB,而SoC的數(shù)據(jù)經(jīng)過(guò)壓縮后,其數(shù)據(jù)量將可能減少一萬(wàn)倍。海量的測(cè)試數(shù)據(jù)使目前集成電路的測(cè)試成本與制造成本基本持平,甚至有超過(guò)的趨勢(shì)。如何降低集成電路的測(cè)試成本是集成電路業(yè)面臨的主要問(wèn)題之一。測(cè)試數(shù)據(jù)壓縮是降低測(cè)試成本眾多方法中的一種。測(cè)試壓縮能夠有效地減少測(cè)試數(shù)據(jù)量,降低對(duì)測(cè)試數(shù)據(jù)存儲(chǔ)容量和測(cè)試設(shè)備數(shù)據(jù)傳輸通道數(shù)量的需求,同時(shí),經(jīng)過(guò)適當(dāng)設(shè)計(jì),還可以降低測(cè)試時(shí)間和測(cè)試功耗。集成電路中的測(cè)試數(shù)據(jù)向量可以分為測(cè)試激勵(lì)和測(cè)試響應(yīng)兩大類(lèi),因此測(cè)試數(shù)據(jù)壓縮也就相應(yīng)地分為測(cè)試激勵(lì)壓縮和測(cè)試響應(yīng)壓縮,其中測(cè)試激勵(lì)壓縮是無(wú)損壓縮,測(cè)試響應(yīng)壓縮是有損壓縮。本文所進(jìn)行的研究是在無(wú)損的測(cè)試激勵(lì)壓縮的基礎(chǔ)上展開(kāi)的。
測(cè)試激勵(lì)壓縮從測(cè)試激勵(lì)向量中子向量角度出發(fā),有三大類(lèi)壓縮方法:第一大類(lèi)是基于LFSR的壓縮方法,主要是指各種重播方法,根據(jù)重播種周期的不同,重播種可以分為單播種(整個(gè)測(cè)試項(xiàng)量使用一個(gè)種子生成)、每向量重播種(每一個(gè)測(cè)試向量使用一個(gè)種子生成)和每周期重播種(每一個(gè)測(cè)試向量使用多個(gè)種子來(lái)生成);第二大類(lèi)是基于掃描切片重疊壓縮方法,該方法巧妙利用掃描向量相互重疊關(guān)系,是一種低開(kāi)銷(xiāo)的壓縮方案;第三大類(lèi)是基于編碼壓縮方法,該方法將測(cè)試向量水平方向的單個(gè)子向量作為輸入,利用適當(dāng)?shù)木幋a方法,對(duì)該輸入向量進(jìn)行編碼壓縮。目前有許多不同的編碼壓縮方法,它們使用不同的策略來(lái)壓縮數(shù)據(jù),如:FDR碼、Golomb碼、交替游程碼等。
針對(duì)目前流行的各種編碼對(duì)短游程的壓縮率低這一現(xiàn)象,通過(guò)研究對(duì)比各種編碼方法發(fā)現(xiàn),在每種編碼方法中,短游程(游程長(zhǎng)度在0到10之間)壓縮后的編碼字幾乎都比原游程要長(zhǎng)或者持平,這就有可能出現(xiàn)負(fù)壓縮情況。在FDR碼的基礎(chǔ)上,本文將其分組進(jìn)行改進(jìn),有效地降低了這一情況的發(fā)生。
1 基于FDR碼改進(jìn)分組的編碼介紹
通過(guò)對(duì)測(cè)試數(shù)據(jù)中“0”的游程長(zhǎng)度進(jìn)行分析,得出長(zhǎng)度大于20的“0”游程出現(xiàn)頻率很低,長(zhǎng)度在0和20之間的“0”游程隨著游程長(zhǎng)度L的增加,出現(xiàn)頻率迅速下降。由此可以看出,在測(cè)試數(shù)據(jù)中較短的0游程很多,長(zhǎng)游程較少。筆者在FDR編碼基礎(chǔ)上提出了一種改進(jìn)分組的游程編碼方案?;贔DR碼改進(jìn)分組的編碼(以下簡(jiǎn)稱(chēng)改進(jìn)分組編碼)和FDR編碼都是將出現(xiàn)頻率最高的O游程編碼成盡可能短的碼字,不同之處在于,F(xiàn)DR編碼從長(zhǎng)度為0的游程開(kāi)始分組,而改進(jìn)分組編碼是從長(zhǎng)度為2的游程開(kāi)始分組,這將大大提高數(shù)據(jù)壓縮率,尤其是短游程的壓縮率。
表2提供了一個(gè)改進(jìn)分組編碼的實(shí)例。在這個(gè)例子中,以測(cè)試向量中0的個(gè)數(shù)作為游程長(zhǎng)度進(jìn)行編碼。在該例中,對(duì)于其中一個(gè)測(cè)試向量片段00000000001,該片段0游程的長(zhǎng)度為10,則其對(duì)應(yīng)的編碼為110010,編碼后的測(cè)試向量相對(duì)于原測(cè)試向量節(jié)省了5位。
2 基于FDR碼改進(jìn)分組的編碼方法分析
引理1在基于FDR碼改進(jìn)分組編碼中第k組所代表的游程范圍為2k-l<1k≤2k+1-1(k=1,2,…),則游程為1的數(shù)據(jù)對(duì)應(yīng)的編碼長(zhǎng)度為
。根據(jù)該引理通過(guò)計(jì)算可得到基于FDR碼改進(jìn)分組編碼的壓縮倍數(shù)λ。其中壓縮倍數(shù)
。假設(shè)測(cè)試數(shù)據(jù)中出現(xiàn)0的概率為P,則出現(xiàn)1的概率為(1-p)(其中0