一種基于FPGA的準(zhǔn)單輸入調(diào)變序列生成器設(shè)計(jì)
1.引言
隨著集成電路復(fù)雜度越來越高,測試開銷在電路和系統(tǒng)總開銷中所占的比例不斷上升,測試方法的研究顯得非常突出。目前在測試源的劃分上可以采用內(nèi)建自測試或片外測試。內(nèi)建自測試把測試源和被測電路都集成在芯片的內(nèi)部,對于目前SOC級的芯片測試如果采用內(nèi)建自測試則付出的硬件面積開銷則是很大的,同時(shí)也增加了芯片設(shè)計(jì)的難度:因此片外測試便成為目前被普遍看好的方法。由于FPGA具有可重構(gòu)的靈活性,利用FPGA來作為測試源實(shí)現(xiàn)片外測試就是一種非常有效的手段。
由于偽隨機(jī)模式測試只需要有限個(gè)數(shù)的輸入向量便可達(dá)到很高的故障覆蓋率因而在作為測試源設(shè)計(jì)中得到了廣泛應(yīng)用,采用CPLD來實(shí)現(xiàn)偽隨機(jī)測試序列生成器的設(shè)計(jì)[1]為提供了電子系統(tǒng)測試信號提供了一種簡單的方法。在可測試設(shè)計(jì)中同時(shí)也要考慮低功耗的問題,考慮功耗的主要原因是在測試模式下電路的功耗要遠(yuǎn)遠(yuǎn)高于正常模式。因?yàn)椴捎猛耆膯屋斎胩儨y試序列所需要的測試序列長度太長而沒有實(shí)際應(yīng)用價(jià)值,這樣獲得準(zhǔn)單輸入跳變測試序列的測試生成器一直是低功耗設(shè)計(jì)中一種非常有效的方法,本文針對一種產(chǎn)生準(zhǔn)單輸入跳變測試序列的低功耗測試生成器[2]的缺點(diǎn)提出了改進(jìn)設(shè)計(jì)方案,并且利用EDA技術(shù)在FPGA芯片上進(jìn)行了設(shè)計(jì)實(shí)現(xiàn)。
2.低功耗測試生成器的設(shè)計(jì)
本文給出的低功耗測試產(chǎn)生器改進(jìn)方案是在文獻(xiàn)[2]的測試產(chǎn)生器的基礎(chǔ)上再利用ROM中的種子對LFSR的再播種實(shí)現(xiàn)的。因?yàn)樵械凸臏y試產(chǎn)生器是以LFSR為基礎(chǔ)的,其產(chǎn)生的準(zhǔn)單輸入跳變測試序列只能覆蓋被測電路中的易測故障;要達(dá)到1 0 0%的故障覆蓋率,就必須對被測電路中剩余的抗偽隨機(jī)故障和難測故障采用少量的確定模式測試集來覆蓋;折疊集[3]就是其中一種有效的確定模式測試集,利用存儲在ROM中的折疊種子對LFSR多次再播種就可以產(chǎn)生所需要的折疊測試序列。由于在折疊集內(nèi)部各個(gè)測試向量之間由于存在相關(guān)性,按照一定規(guī)律排序后就可以將南一個(gè)折疊種子產(chǎn)生的折疊集變換成單輸入跳變測試序列:這樣由不同的折疊種子產(chǎn)生的測試向量序列就是準(zhǔn)單輸入跳變測試序列。具體的改進(jìn)的電路結(jié)構(gòu)如圖1所示。
設(shè)LFSR的級數(shù)為n,開始由LFSR產(chǎn)生一定長度的準(zhǔn)單輸入跳變測試序列,具體產(chǎn)生原理和改進(jìn)前的低功耗測試產(chǎn)生器[2]原理一樣;然后開始由折疊控制器裝入一個(gè)折疊種子,然后產(chǎn)生單輸入跳變測試序列,折疊控制器由圖1中的計(jì)數(shù)器與解碼器組成,解碼器完成對由一一個(gè)折疊種子產(chǎn):生的原始折疊集的排序產(chǎn)生單輸入跳變測試序列。然后再裝入下一個(gè)折疊種子,折疊控制器接著產(chǎn)生下一個(gè)單輸入跳變測試序列,這樣直到所有的折疊種子都被裝入為止。整個(gè)的由不同的折疊種子產(chǎn)生的測試向量序列就是準(zhǔn)單輸入跳變測試序列。
3.FPGA的設(shè)計(jì)實(shí)現(xiàn)
在FPGA的設(shè)計(jì)輸入時(shí)采用Verilog HDL語言來設(shè)汁所要求的測試生成器模塊,我們以n=8的LFSR為例,以下給出了設(shè)計(jì)源碼。通過使用MaxplusII1 0.2軟件在ALTERA公司的FPGA芯片F(xiàn)LEX EPF1OK 10LC84-4進(jìn)行了仿真,圖2給出了仿真波形,驗(yàn)證了設(shè)計(jì)的正確性。
評論