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