本發(fā)明屬于器件的在線測(cè)試技術(shù)領(lǐng)域,特別涉及一種基于FPGA的RAM芯片工程檢測(cè)方法,實(shí)現(xiàn)對(duì)芯片電裝故障及管腳異常的定位。
背景技術(shù):
隨著數(shù)字電路的規(guī)模和復(fù)雜度的不斷增加,電器組件的封裝方式日趨小型化,數(shù)字電路測(cè)試技術(shù)成為了數(shù)字電路產(chǎn)業(yè)鏈中的一個(gè)重要的環(huán)節(jié),數(shù)字電路的測(cè)試成本占整個(gè)產(chǎn)品研發(fā)經(jīng)費(fèi)的比重也越來越大。
常見的數(shù)字電路故障主要有元器件管腳接觸不良、元器件本身損壞等,從而導(dǎo)致數(shù)字電路出現(xiàn)邏輯錯(cuò)誤,發(fā)生電路故障。而高集成度大容量的RAM芯片由于數(shù)據(jù)、地址總線管腳較多,BGA封裝腳不易測(cè)試,若出現(xiàn)電裝異常等情況,快速準(zhǔn)確定位故障點(diǎn)顯得尤為重要。目前常用的診斷方法有:直觀檢測(cè)法、順序檢測(cè)法、比較法、替代法、波形檢測(cè)法等,但上述診斷方法存在診斷、定位效率低等問題。
本發(fā)明提出一種基于FPGA的RAM芯片工程檢測(cè)方法,較之其他方法減少了對(duì)于輔助工具的依賴性,同時(shí)有效地提升了數(shù)字電路故障診斷能力。另外本發(fā)明的通用性設(shè)計(jì)大大縮小了大規(guī)模存儲(chǔ)模塊的測(cè)試周期。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出一種基于FPGA的RAM芯片工程檢測(cè)方法,適用于RAM芯片數(shù)據(jù)及地址總線IO管腳的短路、假焊、虛焊等電裝故障或是部分IO管腳自身損壞的快速診斷。主要通過可編程器件FPGA生成RAM的診斷例程,采用特定的測(cè)試數(shù)據(jù),對(duì)RAM的M位數(shù)據(jù)線和N位地址線進(jìn)行掃描診斷,利用ISE自帶的在線調(diào)試軟件Chipscope工具對(duì)RAM進(jìn)行故障分析。在一個(gè)基于FPGA控制的系統(tǒng)中,地址總線對(duì)FPGA來說屬于單向輸出IO,數(shù)據(jù)總線則屬于雙向IO,當(dāng)RAM部分管腳存在短路、假焊、虛焊等故障時(shí),地址總線和數(shù)據(jù)總線的相應(yīng)管腳被固定為高電平或低電平,在地址總線發(fā)生故障的前提下,采用單個(gè)數(shù)據(jù)的寫入再讀出測(cè)試方法不會(huì)影響對(duì)數(shù)據(jù)總線的故障檢測(cè),在完成對(duì)數(shù)據(jù)總線的檢測(cè)后,再利用無故障數(shù)據(jù)位對(duì)地址總線進(jìn)行故障檢測(cè)。本發(fā)明利用上述特性,先完成數(shù)據(jù)總線的掃描診斷,再完成地址總線的掃描診斷。主要方法是針對(duì)數(shù)據(jù)總線進(jìn)行特定數(shù)據(jù)測(cè)試,針對(duì)地址線進(jìn)行存儲(chǔ)單元二分法讀寫測(cè)試。
附圖說明:
圖1硬件組成框圖。
圖2數(shù)據(jù)線測(cè)試流程示意圖。
圖3地址線測(cè)試流程示意圖。
具體實(shí)施方式:
本技術(shù)發(fā)明基于FPGA實(shí)現(xiàn),當(dāng)待測(cè)系統(tǒng)上電后,可編程器件FPGA加載故障檢測(cè)程序。待故障程序加載完畢后,實(shí)施相應(yīng)的測(cè)試步驟,完成對(duì)RAM電裝故障及管腳異常的檢測(cè)。硬件組成框圖如圖1所示。本發(fā)明實(shí)現(xiàn)步驟如下:
1、數(shù)據(jù)總線的掃描診斷
(1)確定測(cè)試數(shù)據(jù)。準(zhǔn)備兩組測(cè)試數(shù)據(jù),兩組中的每個(gè)數(shù)據(jù)位互為高低電平,以32位數(shù)據(jù)線為例,第一組測(cè)試數(shù)據(jù)可以為:0xAAAAAAAA,二進(jìn)制為:10101010101010101010101010101010,那么第二組測(cè)試數(shù)據(jù)即為:0x55555555,二進(jìn)制為:01010101010101010101010101010101。當(dāng)數(shù)據(jù)線為M位時(shí),測(cè)試數(shù)據(jù)應(yīng)當(dāng)設(shè)計(jì)為以32位為例的相同形式。
(2)數(shù)據(jù)比較和診斷。利用Chipscope對(duì)讀出的兩組測(cè)試數(shù)據(jù)進(jìn)行比較,如果讀出的兩組數(shù)據(jù)在二進(jìn)制形式下0、1相對(duì),數(shù)據(jù)位完全不重合,則RAM的數(shù)據(jù)線無故障,如果兩組數(shù)據(jù)在二進(jìn)制形式下存在某一位或者幾位數(shù)據(jù)位重合的情況,則RAM的數(shù)據(jù)線存在故障,且故障的位置為重合的部分。流程示意圖如圖2所示。
(3)剔除發(fā)生故障的數(shù)據(jù)位,將剩余數(shù)據(jù)位定義為新的數(shù)據(jù)總線,用于對(duì)RAM地址位的故障檢測(cè)。
2、地址總線的掃描診斷
(1)將待測(cè)RAM的N位地址線二分,即將RAM的存儲(chǔ)空間劃分為相等的兩部分。將高N/2位作為高位地址、低N/2位地址固定為0,利用FPGA向上述組合的地址寫入遞增的測(cè)試數(shù)據(jù)0~2N/2-1,待遍歷寫入完成后再利用Chipscope按寫入地址依次讀出;將低N/2位作為低位地址、高N/2位地址固定為0,重復(fù)上述操作。
(2)數(shù)據(jù)判斷。利用Chipscope讀出的數(shù)據(jù)若出現(xiàn)如圖3所示的非階梯式輸出結(jié)果,說明所指向的地址位有異常。
(3)繼續(xù)分組測(cè)試。將出現(xiàn)錯(cuò)誤的N/2位地址線分為高N/4位和低N/4位,重復(fù)上述步驟(1)、步驟(2)的操作。
(4)利用步驟1、步驟2、步驟3的操作,最終可以定位到每一個(gè)出現(xiàn)故障的地址位,從而實(shí)現(xiàn)對(duì)故障地址線的精確定位。采用二分法測(cè)試原理,將每次測(cè)試中出現(xiàn)異常的地址線分為高N/2n位和低N/2n位,其中n為整數(shù),且n>2。直至確定數(shù)據(jù)線的某一位或者幾位出現(xiàn)故障,完成對(duì)數(shù)據(jù)線的診斷。
(5)待測(cè)RAM的N位地址位的數(shù)量如果不是2的冪,同樣可以采用二分法的思想實(shí)現(xiàn),不影響診斷分析。