存儲器相關的問題是DSP 應用中非常普遍的問題。本文介紹KeyStone I 系列DSP 上一些存儲器測試的方法。 1 KeyStone DSP 存儲器系統簡介 KeyStoneDSP 存儲器架構如圖1 所示
![]() 對不同的DSP,存儲器的大小可能不同,DSP 核和EDMA 傳輸控制器的個數也可能不同。表1比較了KeyStoneI 系列中常用的3顆DSP。
![]() 2 存儲器測試算法 本文介紹幾種存儲器測試算法,并討論這幾種算法的用途。 2.1 數據測試 下面是數據測試的偽代碼: for(memory range under test) fill the memory with a value; for(memory range under test) read back the memory andcompare the readback value to the written value 通常,這個測試會被執行幾次,每次填充的值不一樣。常用的填充值包括0x55555555,0xAAAAAAAA, 0x33333333, 0xCCCCCCCC, 0x0F0F0F0F,0xF0F0F0F0, 0x00FF00FF,0xFF00FF00FF00, 0xFFFFFFFF, 0。 這個測試可以用來檢測數據比特粘連(bit-stuck)問題,例如,如果, writtenvalue = 0, readbackvalue = 0x8, 表示bit3 粘連到1. 如果 writtenvalue = 0xFFFFFFFF, readbackvalue = 0xFFFFFFFE, 表示bit0 粘連到0. 如果能正確的寫入并讀出0x55555555(或0xAAAAAAAA),說明相鄰的兩個比特沒有粘連;如果能正確寫入并讀出0x33333333(或0xCCCCCCCC),說明相鄰的4 個比特沒有粘連;如果能正確寫入并讀出0x0F0F0F0F(或0xF0F0F0F0),說明相鄰的8 個比特沒有粘連… 這個算法既可以用來測試數據總線連接,也可以用于測試存儲器單元。當用于測試存儲器單元時則每一個存儲單元都需要寫讀所有的值,這將是比較耗時的測試;而用于測試數據總線連接時,只需要把所有的值都寫讀一遍就可以了(地址不限)。 ........ 更多精彩內容請看附件
![]() |