專利名稱:隨機(jī)存儲器的自動檢測方法及其檢測電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種隨機(jī)存儲器RAM的自動檢測技術(shù)。
在計算機(jī)及其應(yīng)用系統(tǒng)中,隨機(jī)存儲器是用來記錄存放原始數(shù)據(jù)、中間處理結(jié)果及其它信息的核心單元。隨機(jī)存儲器能否實現(xiàn)正常的讀/寫操作,并在存/取過程中不發(fā)生數(shù)據(jù)歧變,對于保證整個系統(tǒng)的正常工作十分重要。為此,有必要在系統(tǒng)開始工作前對隨機(jī)存儲器進(jìn)行診斷。
隨著半導(dǎo)體工藝的飛速發(fā)展,硅片集成度的提高,單位面積的硅片上所能實現(xiàn)的存儲容量也在急劇增加?,F(xiàn)在的單片存儲器的存儲容量已由70年代初的1Kbit增加到今天的64Mbit,并且還在快速地增加。因此,如何實現(xiàn)對大容量隨機(jī)存儲器RAM的高速、高覆蓋率的測試便尤其重要。
對隨機(jī)存儲器RAM的診斷過程,就是檢驗其執(zhí)行讀/寫操作的有效性。目前對存儲器的測試包括兩個基本方面一是對存儲單元的測試;另一個是對地址解碼的測試。而對隨機(jī)存儲器RAM的檢測就是通過一定的測試圖案,對存儲單元和地址譯碼電路的功能進(jìn)行快速高效的檢查。
進(jìn)行隨機(jī)存儲器RAM檢測的方法很多,但其基本思想都是通過對各存儲單元逐次寫入“0”和“1”,然后再逐個讀出,檢測是否正確。通常的測試操作是先向隨機(jī)存儲器RAM中寫入數(shù)據(jù),隨后立即讀出進(jìn)行比較。這種方法雖可有效地檢測出各種橋接故障,但對數(shù)據(jù)或控制線上的斷路故障卻無法檢出,給系統(tǒng)的正??煽窟\(yùn)行造成隱患。
圖1是以靜態(tài)隨機(jī)存儲器S-RAM為例的數(shù)據(jù)控制線上的斷路故障圖。圖中數(shù)據(jù)線Di在a點(diǎn)發(fā)生斷路故障,如測試控制器(TEST_CONTROL)向被測隨機(jī)存儲器RAM某地址單元中寫入測試數(shù)據(jù)時,由于線路上的電容效應(yīng),寫入的數(shù)據(jù)被存入Di線的等效電容Ci中,且不會立即消失,此時如控制器馬上回讀該地址單元進(jìn)行檢測,則讀到的數(shù)據(jù)實為Ci中存儲的數(shù)據(jù),這樣a點(diǎn)的斷路故障便不可檢出。
本發(fā)明的目的是為了克服現(xiàn)有檢測隨機(jī)存儲器RAM方法的缺點(diǎn)而提出的一種可對大容量隨機(jī)存儲器RAM進(jìn)行高速、高覆蓋率測試、且檢出故障準(zhǔn)確的隨機(jī)存儲器檢測技術(shù)。
為了實現(xiàn)以上的目的,本發(fā)明的提出的技術(shù)方案是隨機(jī)存儲器檢測方法,其特點(diǎn)是,采用先向隨機(jī)存儲器的所有存儲單元寫入數(shù)據(jù),再讀出比較的方法,包括對該隨機(jī)存儲器的數(shù)據(jù)線測試和地址線測試兩個部分(1)對數(shù)據(jù)線測試的步驟是a、建立一個可重新配置的測試數(shù)據(jù)表,用戶根據(jù)實際需要,將指定數(shù)據(jù)預(yù)先寫入在該測試數(shù)據(jù)表中;b、將測試數(shù)據(jù)表中的數(shù)據(jù)寫入到隨機(jī)存儲器的各存儲單元中;c、進(jìn)行回讀檢測;d、將讀取值依次與寫入值進(jìn)行比較,如果數(shù)據(jù)一致,則認(rèn)為無錯誤;否則,則認(rèn)為有誤;(2)對地址線測試的步驟是a、將一組不同的數(shù)據(jù),分別寫入隨機(jī)存儲器的各存儲單元;b、讀出該數(shù)據(jù),并將其與寫入之前的數(shù)據(jù)進(jìn)行比較,如果數(shù)據(jù)一致,則認(rèn)為無錯誤;否則,則認(rèn)為有誤。
上述隨機(jī)存儲器的自動檢測方法,其中,在數(shù)據(jù)線測試步驟b中所述的寫入的數(shù)據(jù)可按不同的批次數(shù)據(jù)分若干次寫入,并分別進(jìn)行測試;上述隨機(jī)存儲器的自動檢測方法,其中,可采用缺省數(shù)據(jù)進(jìn)行相關(guān)測試。
上述隨機(jī)存儲器的自動檢測方法,其中,在地址線測試的b步驟中所述的讀出該數(shù)據(jù)進(jìn)行比較是指,當(dāng)上一個數(shù)據(jù)寫入到隨機(jī)存儲器的各存儲單元之后,在寫下一個數(shù)據(jù)的同一時間段,才回讀所有地址寄存器的數(shù)據(jù)進(jìn)行比較。
上述隨機(jī)存儲器的自動檢測方法,其中,所述每個地址寄存器的數(shù)據(jù)比較是針對上一次寫入的數(shù)據(jù)而言,比較完之后再寫入新的數(shù)據(jù)。
上述隨機(jī)存儲器的自動檢測方法,其中,所述的在數(shù)據(jù)線測試中,當(dāng)待寫入數(shù)據(jù)發(fā)生切換時,在讀出數(shù)據(jù)之前,先將寫入的數(shù)據(jù)按位取反后輸出。
上述隨機(jī)存儲器的自動檢測方法,其中,當(dāng)對數(shù)據(jù)線測試中待寫入數(shù)據(jù)發(fā)生切換時,檢測電路插入了一個空操作周期,該空操作周期是,將測試數(shù)據(jù)通過取反電路按位取反后輸出到外部隨機(jī)存儲器數(shù)據(jù)總線上,但并不寫入外部隨機(jī)存儲器中。
一種專用于上述隨機(jī)存儲器檢測方法的檢測電路,該檢測電路設(shè)在一控制芯片內(nèi)部,其包括CPU接口電路、檢測使能寄存器、檢測狀態(tài)寄存器、比較數(shù)據(jù)鎖存器、RAM讀寫控制器,其特點(diǎn)是,還包括一地址寄存器及一地址加一電路以及一測試數(shù)據(jù)表存儲器;上述電路通過數(shù)據(jù)線相互連接;其中測試數(shù)據(jù)表用于寫入各測試數(shù)據(jù);CPU接口電路可向測試數(shù)據(jù)表中寫入數(shù)據(jù),進(jìn)行測試數(shù)據(jù)配置;并可通過向檢測使能寄存器寫入控制字觸發(fā)隨機(jī)存儲器讀寫控制器,啟動隨機(jī)存儲器檢測;CPU還可通過此接口電路讀取檢測狀態(tài)寄存器中的內(nèi)容,以便掌握檢測狀態(tài)及結(jié)果;檢測使能寄存器用于對外部隨機(jī)存儲器進(jìn)行檢測,其通過CPU接口電路向檢測使能寄存器中寫入約定數(shù)據(jù),開放檢測使能;檢測狀態(tài)寄存器用于向CPU接口電路提供檢測結(jié)果;地址加一電路用于對輸入到地址寄存器中數(shù)據(jù)加一;比較數(shù)據(jù)鎖存器用于鎖存寫入到隨機(jī)存儲器的各存儲單元的數(shù)據(jù)。
上述隨機(jī)存儲器檢測方法的檢測電路,其中,所述的檢測電路設(shè)在一控制芯片內(nèi)部。
上述隨機(jī)存儲器檢測方法的檢測電路,其中,所述的測試數(shù)據(jù)表存儲器是一個16×16的測試數(shù)據(jù)表存儲器。
上述隨機(jī)存儲器檢測方法的檢測電路,其中,所述的RAM讀寫控制器中還包括一取反電路,該取反電路用于在待寫入數(shù)據(jù)切換時將寫入的數(shù)據(jù)按位取反。
由于本發(fā)明采用了以上的技術(shù)方案,通過一隨機(jī)存儲器RAM檢測電路,在系統(tǒng)上電時由檢測電路按預(yù)定的檢測算法實現(xiàn)對隨機(jī)存儲器的自動檢測。不但能夠快速高效地對靜態(tài)隨機(jī)存儲器RAM的存儲單元和地址譯碼電路進(jìn)行測試,而且可避免由于信號線斷路所產(chǎn)生的電容效應(yīng)的影響。
本發(fā)明的具體特征、性能及其優(yōu)點(diǎn)由以下的實施例及其附圖進(jìn)一步給出。
圖1是已有技術(shù)中以靜態(tài)隨機(jī)存儲器S-RAM為例的數(shù)據(jù)控制線上的斷路故障圖。
圖2是本發(fā)明隨機(jī)存儲器RAM檢測電路的電方框圖。
圖3是本發(fā)明寄存器檢測狀態(tài)示意圖。
圖4外部隨機(jī)存儲器RAM數(shù)據(jù)檢測時序圖。
圖5外部隨機(jī)存儲器RAM地址檢測時序圖。
請參閱圖2,圖2是隨機(jī)存儲器RAM檢測控制電路的電方框圖。每個通信控制芯片都外掛一塊外部隨機(jī)存儲器RAM,作為數(shù)據(jù)的緩存。為確保數(shù)據(jù)在存取過程中不發(fā)生錯誤,須在電路開始工作之前由該控制芯片對外部隨機(jī)存儲器RAM進(jìn)行檢測。該控制芯片內(nèi)部的檢測電路包括CPU接口電路、檢測使能寄存器、檢測狀態(tài)寄存器、比較數(shù)據(jù)鎖存器、讀寫控制器、地址寄存器及加一電路,和一測試數(shù)據(jù)表存儲器。
以下以64K×16的外部隨機(jī)存儲器RAM為例對各部分逐一進(jìn)行說明CPU接口電路可向測試數(shù)據(jù)表中寫入數(shù)據(jù),進(jìn)行測試數(shù)據(jù)配置;并可通過向檢測使能寄存器寫入控制字觸發(fā)隨機(jī)存儲器RAM讀寫控制器,啟動隨機(jī)存儲器RAM檢測;CPU還可通過此接口電路讀取檢測狀態(tài)寄存器中的內(nèi)容,以便掌握檢測狀態(tài)及結(jié)果。
檢測使能寄存器缺省狀態(tài)下,檢測使能是關(guān)閉的,此時芯片能正常工作。若想對外部隨機(jī)存儲器RAM進(jìn)行檢測,須通過CPU接口電路向檢測使能寄存器中寫入約定數(shù)據(jù)如55H,開放檢測使能,此時芯片不能進(jìn)行正常工作,而由檢測控制器自動地對外部隨機(jī)存儲器RAM進(jìn)行檢查。若測試結(jié)束,則向檢測使能寄存器中寫入AAH,則芯片停止對外部隨機(jī)存儲器RAM檢測,進(jìn)入正常工作狀態(tài)。
檢測狀態(tài)寄存器是一個4位的寄存器,各bit含義如圖3所示,其中bit0表示檢測狀態(tài)位當(dāng)該位為‘1’,表示外部隨機(jī)存儲器RAM檢測正在進(jìn)行。
bit1表示檢測結(jié)果位當(dāng)該位為‘1’,表示檢測已經(jīng)結(jié)束。
bit2表示地址線錯誤位當(dāng)該位為‘1’,說明地址線有問題。
bit3表示數(shù)據(jù)線錯誤位當(dāng)該位為‘1’,說明數(shù)據(jù)線有問題。
上電初始化時,檢測狀態(tài)各比特全部清0;當(dāng)檢測結(jié)束并沒有發(fā)現(xiàn)錯誤時,檢測狀態(tài)為0010。
測試數(shù)據(jù)表是一個16×16的內(nèi)部隨機(jī)存儲器RAM,其16個缺省值依次如下
0000、FFFF、0F0F、F0F0、5555、AAAA、5A5A、A5A5、0A0A、A0A0、0505、5050、55FF、FF55、FFAA、AAFF。
地址加一電路用于對輸入到地址寄存器中數(shù)據(jù)加一;比較數(shù)據(jù)鎖存器用于鎖存寫入到隨機(jī)存儲器的各存儲單元的數(shù)據(jù);RAM讀寫控制器中的取反電路用于在待寫入數(shù)據(jù)切換時將寫入的數(shù)據(jù)按位取反。
當(dāng)芯片進(jìn)入數(shù)據(jù)線測試時,它依次讀取該表中的各個數(shù)據(jù),寫入外部隨機(jī)存儲器RAM所有存儲單元,然后讀取外部隨機(jī)存儲器RAM所有存儲單元,將讀取值依次與表中各值進(jìn)行比較,如果一致,則認(rèn)為無錯誤,否則報錯。
CPU可對該表進(jìn)行讀寫,修改其缺省值。在訪問測試數(shù)據(jù)表時,檢測使能必須關(guān)閉,否則讀出的數(shù)據(jù)不正確。
本發(fā)明沒有采用寫一個數(shù)據(jù)比較一次的方法,而是先向所有存儲單元寫入數(shù)據(jù)再讀出比較。
本發(fā)明中,將測試內(nèi)容分?jǐn)?shù)據(jù)線測試和地址線測試,保證芯片與外部隨機(jī)存儲器RAM的連接和外部隨機(jī)存儲器RAM內(nèi)部連接無故障。在測試時,將上一個數(shù)據(jù)寫入所有的外部隨機(jī)存儲器RAM之后,在寫下一個數(shù)據(jù)同一時間段,才回讀所有地址單元數(shù)據(jù)進(jìn)行比較。因此每個地址單元的比較是針對上一次寫入數(shù)據(jù)而言的,比較完之后再寫入新數(shù)據(jù)。
因此,本發(fā)明的測試方法包括對隨機(jī)存儲器的數(shù)據(jù)線測試和地址線測試兩個部分,而且在測試時,可以先測試數(shù)據(jù)線,后測試地址線;也可以先測試地址線,后測試數(shù)據(jù)線。以下作詳細(xì)的說明1、對數(shù)據(jù)線測試的步驟是a、建立一個可重新配置的測試數(shù)據(jù)表,用戶根據(jù)實際需要,將指定數(shù)據(jù)預(yù)先寫入在該測試數(shù)據(jù)表中;b、將測試數(shù)據(jù)表中的數(shù)據(jù)寫入到隨機(jī)存儲器的各存儲單元中;c、進(jìn)行回讀檢測;d、將讀取值依次與寫入值進(jìn)行比較,如果數(shù)據(jù)一致,則認(rèn)為無錯誤;否則,則認(rèn)為有誤。
當(dāng)CPU向檢使能寄存器中寫入55H時,檢測使能開放,芯片首先進(jìn)入數(shù)據(jù)線測試狀態(tài)。外部隨機(jī)存儲器RAM檢測模塊中的控制電路依次讀取測試數(shù)據(jù)表存儲器中的數(shù)據(jù),寫入外部隨機(jī)存儲器RAM所有存儲單元中,然后讀取外部隨機(jī)存儲器RAM所有存儲單元,將讀取值依次與寫入值進(jìn)行比較,如果一致,則認(rèn)為無錯誤,否則,檢測狀態(tài)寄存器中數(shù)據(jù)線錯誤標(biāo)志位置“1”。
外部隨機(jī)存儲器RAM數(shù)據(jù)檢測時序如圖4所示。
圖4是外部隨機(jī)存儲器RAM數(shù)據(jù)檢測時序圖,圖中二分頻時鐘信號(MCLK2)時鐘的二分頻信號,用于外部隨機(jī)存儲器RAM的讀寫控制。為高時讀外部隨機(jī)存儲器RAM,為低時寫。
測試地址(MEM_TEST_ADDR)隨機(jī)存儲器RAM讀寫控制器產(chǎn)生的測試地址,形成讀寫外部隨機(jī)存儲器RAM的地址信號(MEMA)。
空操作(NULL_OPERATE)空操作標(biāo)志。
讀寫RAM的地址信號(MEMA)外部隨機(jī)存儲器RAM控制電路的輸出,讀寫外部隨機(jī)存儲器RAM的地址信號。
讀寫RAM的數(shù)據(jù)信號(MEMD)外部隨機(jī)存儲器RAM控制電路的雙向輸入/輸出,讀寫外部隨機(jī)存儲器RAM的數(shù)據(jù)信號。
測試數(shù)據(jù)表地址(TTAB_ADDR)內(nèi)部信號,測試數(shù)據(jù)表地址。
測試數(shù)據(jù)表數(shù)據(jù)輸出(TTAB_DO)內(nèi)部信號,。
測試數(shù)據(jù)(MEM_TEST_DATA)隨機(jī)存儲器RAM讀寫控制器產(chǎn)生的測試數(shù)據(jù),形成讀寫外部隨機(jī)存儲器RAM的數(shù)據(jù)信號(MEMD)。
數(shù)據(jù)比較控制(READ_DATA_VALID)檢測控制器內(nèi)部信號,為高時表明從隨機(jī)存儲器RAM讀入的數(shù)據(jù)是有效數(shù)據(jù),可以進(jìn)行數(shù)據(jù)比較。
讀寫RAM的數(shù)據(jù)信號(MEMD)外部隨機(jī)存儲器RAM控制電路的雙向輸入/輸出,讀寫外部隨機(jī)存儲器RAM的數(shù)據(jù)信號。
RAM讀入數(shù)據(jù)(READ_IN)輸入,由外部隨機(jī)存儲器RAM讀入的數(shù)據(jù)。
對比數(shù)據(jù)(COMPARE_DATA)內(nèi)部信號,數(shù)據(jù)檢測時與讀入數(shù)據(jù)進(jìn)行對比的數(shù)據(jù)。
如圖4所示,首先檢測電路在MCLK2為低時,將地址寄存器所指向的測試數(shù)據(jù)表存儲器單元中的數(shù)據(jù)寫入外部隨機(jī)存儲器RAM的各存儲單元,并鎖存入內(nèi)部的比較數(shù)據(jù)鎖存器中。
然后,地址寄存器中數(shù)據(jù)加一,再進(jìn)行上述操作。同時當(dāng)二分頻時鐘信號MCLK2為高電平時,檢測電路依次讀取外部隨機(jī)存儲器RAM的各存儲單元中的內(nèi)容,與比較數(shù)據(jù)鎖存器中的數(shù)據(jù)COMPARE_DATA進(jìn)行比較,如不同則報數(shù)據(jù)線錯。
測試數(shù)據(jù)表存儲器地址加一,重復(fù)上述過程,直至測試表地址由“00”至“FF”變化一周,測試表中數(shù)據(jù)全都測過一遍為止。
具體來說檢測過程如下檢測開始時地址寄存器中數(shù)據(jù)為“00”,其指向的測試數(shù)據(jù)表存儲器單元中的數(shù)據(jù)為(00)。首先當(dāng)二分頻時鐘信號MCLK2為低時,將(00)寫入外部隨機(jī)存儲器RAM的各存儲單元,并鎖存入內(nèi)部的比較數(shù)據(jù)鎖存器中;然后,地址寄存器中數(shù)據(jù)加一,在二分頻時鐘信號MCLK2為高電平時,檢測電路讀取外部隨機(jī)存儲器RAM的各存儲單元中前次寫入的內(nèi)容(此時正常情況下應(yīng)為(00)),使之與比較數(shù)據(jù)鎖存器中的數(shù)據(jù)(00)進(jìn)行比較,然后當(dāng)二分頻時鐘信號MCLK2為低時,將(01)寫入該存儲單元,在二分頻時鐘信號MCLK2再次為高電平時,檢測電路讀取外部隨機(jī)存儲器RAM的下一存儲單元中的內(nèi)容與前次寫入的數(shù)據(jù)進(jìn)行比較,如此直至所有外部隨機(jī)存儲器RAM的存儲單元都進(jìn)行了一遍測試并寫入新的測試數(shù)據(jù);然后地址寄存器中數(shù)據(jù)再加一,并將(01)鎖存入內(nèi)部的比較數(shù)據(jù)鎖存器中,重復(fù)上述操作,直至測試數(shù)據(jù)表中的數(shù)據(jù)都進(jìn)行了一次測試為止。
可以看出,當(dāng)測試數(shù)據(jù)表存儲器相臨單元中的數(shù)據(jù)不同時,每次從數(shù)據(jù)總線上讀出的數(shù)據(jù)都不同于上次寫入的數(shù)據(jù),這樣就有效地避免了比較數(shù)據(jù)與前次寫入數(shù)據(jù)相同的情況。
如圖4所示,當(dāng)待寫入數(shù)據(jù)發(fā)生切換時,檢測電路插入了一個空操作周期(空操作標(biāo)志NULL_OPERATE為高)。此時將測試數(shù)據(jù)按位取反后輸出到外部隨機(jī)存儲器RAM數(shù)據(jù)總線上,但并不寫入外部隨機(jī)存儲器RAM中,這樣做的目的是防止因數(shù)據(jù)線斷路或其它原因,輸出數(shù)據(jù)并未寫入外部隨機(jī)存儲器RAM的存儲單元,但由于數(shù)據(jù)線上的電容效應(yīng),輸出數(shù)據(jù)并不會馬上消失,如立即從外部隨機(jī)存儲器RAM中讀數(shù)據(jù),就有可能讀入的是數(shù)據(jù)線上“存儲”的數(shù)據(jù),用此數(shù)據(jù)進(jìn)行比較便不會發(fā)現(xiàn)故障,造成漏檢。因此,在讀出數(shù)據(jù)之前,先將寫往外部隨機(jī)存儲器RAM的數(shù)據(jù)取反輸出,消除數(shù)據(jù)線“存儲”數(shù)據(jù)對檢測的影響。
2、對地址線測試的步驟是a、將一組不同的數(shù)據(jù),分別寫入隨機(jī)存儲器的各存儲單元;b、讀出該數(shù)據(jù),并將其與寫入之前的數(shù)據(jù)進(jìn)行比較,如果數(shù)據(jù)一致,則認(rèn)為無錯誤;否則,則認(rèn)為有誤。
在完成數(shù)據(jù)線測試之后,芯片進(jìn)入地址線測試狀態(tài),它自動產(chǎn)生一組不同的數(shù)據(jù),分別寫入不同的外部隨機(jī)存儲器RAM單元,并將其讀出,與寫之前的數(shù)據(jù)進(jìn)行比較,一旦有誤,則立即置測試狀態(tài)寄存器中地址錯標(biāo)志位為“1”。
外部隨機(jī)存儲器RAM地址檢測時序如圖5所示。
圖5是外部隨機(jī)存儲器RAM地址檢測時序圖,圖中二分頻時鐘信號(MCLK2)時鐘的二分頻信號,用于外部隨機(jī)存儲器RAM的讀寫控制。
測試數(shù)據(jù)表地址(TTAB_ADDR)內(nèi)部信號,測試數(shù)據(jù)表地址。
寫使能(WRITE_ENA)輸出,檢測電路對外部隨機(jī)存儲器RAM的寫使能,高有效。
讀使能(READ_ENA)輸出,檢測電路對外部隨機(jī)存儲器RAM的讀使能,高有效。
數(shù)據(jù)/地址測試選擇(DATA_ADDR_TEST)內(nèi)部信號,數(shù)據(jù)/地址測試選擇,為“0”測數(shù)據(jù),為“1”測地址。
測試地址(MEM_TEST_ADDR)隨機(jī)存儲器RAM讀寫控制器產(chǎn)生的測試地址,形成讀寫外部隨機(jī)存儲器RAM的地址信號(MEMA)。
空操作(NULL_OPERATE)空操作標(biāo)志。
讀寫RAM的地址信號(MEMA)外部隨機(jī)存儲器RAM控制電路的輸出,讀寫外部隨機(jī)存儲器RAM的地址信號。
讀寫RAM的數(shù)據(jù)信號(MEMD)外部隨機(jī)存儲器RAM控制電路的雙向輸入/輸出,讀寫外部隨機(jī)存儲器RAM的數(shù)據(jù)信號。
測試數(shù)據(jù)(MEM_TEST_DATA)隨機(jī)存儲器RAM讀寫控制器產(chǎn)生的測試數(shù)據(jù),形成讀寫外部隨機(jī)存儲器RAM的數(shù)據(jù)信號(MEMD)。
RAM讀入數(shù)據(jù)(READ_IN)輸入,由外部隨機(jī)存儲器RAM讀入的數(shù)據(jù)。
地址線測試數(shù)據(jù)(ADDR_DATA)內(nèi)部信號,地址檢測時與讀入數(shù)據(jù)進(jìn)行對比的數(shù)據(jù)。
數(shù)據(jù)比較控制(READ_DATA_VALID)檢測控制器內(nèi)部信號,為高時表明從隨機(jī)存儲器RAM讀入的數(shù)據(jù)是有效數(shù)據(jù),可以進(jìn)行數(shù)據(jù)比較。
如圖5所示,當(dāng)測試數(shù)據(jù)表地址TEST_TAB_ADDR為“FF”時,檢測電路對外部隨機(jī)存儲器RAM的寫使能WRITE_ENA置低,讀使能READ_ENA保持高電平,開始讀出最后一次寫入各存儲單元中的數(shù)據(jù)進(jìn)行比較。之后,當(dāng)空操作標(biāo)志NULL_OPERATE再次為高時,讀使能READ_ENA置低,數(shù)據(jù)/地址測試選擇信號DATA_ADDR_TEST置高,同時寫使能WRITE_ENA置高,開始地址檢測。
首先,測試電路產(chǎn)生“0000”~“FFFF”的測試地址MEM_TEST_ADD輸出,并通過外部隨機(jī)存儲器RAM讀寫控制電路,將此地址值“0000”~“FFFF”依次寫入MEM_TEST_ADD對應(yīng)的地址單元中。
然后,讀出外部隨機(jī)存儲器RAM“0000”~“FFFF”地址單元中的內(nèi)容,并分別與相應(yīng)的地址值進(jìn)行比較,如不同則報地址錯。
比較結(jié)束,并且當(dāng)空操作標(biāo)志NULL_OPERATE再次為高時,數(shù)據(jù)/地址測試選擇信號DATA_ADDR_TEST及讀使能信號READ_ENA置低,重新恢復(fù)初始狀態(tài),完成外部隨機(jī)存儲器RAM檢測。
若隨機(jī)存儲器RAM的地址線寬度小于數(shù)據(jù)線寬度,則無法保證每個地址單元的數(shù)據(jù)是不同的。可根據(jù)需要另外進(jìn)行處理,如按數(shù)據(jù)線位數(shù)對隨機(jī)存儲器RAM分段,采用“循環(huán)移位方法”,在“0段”依次寫入數(shù)據(jù)“0000~FFFF”,在“1段”依次寫入數(shù)據(jù)“FFFF,0000~FFFE”,依此類推,保證不同的段寫入數(shù)據(jù)的次序是不一樣的。
本發(fā)明與傳統(tǒng)的隨機(jī)存儲器RAM檢測方法比較,其具有獨(dú)特的優(yōu)點(diǎn)1、采用硬件檢測控制電路完成整個隨機(jī)存儲器RAM檢測過程的讀寫信號產(chǎn)生和控制功能,節(jié)省了CPU時間,提高了整個系統(tǒng)的工作效率。
2、可通過向測試數(shù)據(jù)表中寫入不同的測試數(shù)據(jù)完成測試算法的切換。
3、有針對性地進(jìn)行存儲單元測試和地址解碼測試,使系統(tǒng)能夠迅速判明故障類型,采取相應(yīng)的處理策略。
4、在對隨機(jī)存儲器RAM的測試數(shù)據(jù)寫入和讀出時序上進(jìn)行巧妙的安排,使得每次從隨機(jī)存儲器RAM中讀出的待比較數(shù)據(jù)不同于前次寫入的數(shù)據(jù),并在某些無法避免前后相鄰兩次寫入與讀出數(shù)據(jù)相同的情況下,在進(jìn)行數(shù)據(jù)回讀前先向數(shù)據(jù)線輸出上次寫入數(shù)據(jù)的反碼,確保數(shù)據(jù)線上等效電容中所存數(shù)據(jù)與上次寫入隨機(jī)存儲器RAM中的數(shù)據(jù)不同,再進(jìn)行回讀檢測。
本發(fā)明經(jīng)測試表明,其對大容量隨機(jī)存儲器RAM的檢測速度快,故障檢出率高,具有很好的應(yīng)用價值。
權(quán)利要求
1.隨機(jī)存儲器的自動檢測方法,其特征在于,采用先向隨機(jī)存儲器的所有存儲單元寫入數(shù)據(jù),再讀出比較的方法,包括對該隨機(jī)存儲器的數(shù)據(jù)線測試和地址線測試兩個部分(1)對數(shù)據(jù)線測試的步驟是a、建立一個可重新配置的測試數(shù)據(jù)表,用戶根據(jù)實際需要,將指定數(shù)據(jù)預(yù)先寫入在該測試數(shù)據(jù)表中;b、將測試數(shù)據(jù)表中的數(shù)據(jù)寫入到隨機(jī)存儲器的各存儲單元中;c、進(jìn)行回讀檢測;d、將讀取值依次與寫入值進(jìn)行比較,如果數(shù)據(jù)一致,則認(rèn)為無錯誤;否則,則認(rèn)為有誤;(2)對地址線測試的步驟是a、將一組不同的數(shù)據(jù),分別寫入隨機(jī)存儲器的各存儲單元;b、讀出該數(shù)據(jù),并將其與寫入之前的數(shù)據(jù)進(jìn)行比較,如果數(shù)據(jù)一致,則認(rèn)為無錯誤;否則,則認(rèn)為有誤。
2.根據(jù)權(quán)利要求1所述的隨機(jī)存儲器的自動檢測方法,其特征在于,在數(shù)據(jù)線測試步驟b中所述的寫入的數(shù)據(jù)可按不同的批次數(shù)據(jù)分若干次寫入,并分別進(jìn)行測試。
3.根據(jù)權(quán)利要求1所述的隨機(jī)存儲器的自動檢測方法,其特征在于,可采用缺省數(shù)據(jù)進(jìn)行相關(guān)測試。
4.根據(jù)權(quán)利要求1所述的隨機(jī)存儲器的自動檢測方法,其特征在于,在地址線測試的b步驟中所述的讀出該數(shù)據(jù)進(jìn)行比較是指,當(dāng)上一個數(shù)據(jù)寫入到隨機(jī)存儲器的各存儲單元之后,在寫下一個數(shù)據(jù)的同一時間段,才回讀所有地址寄存器的數(shù)據(jù)進(jìn)行比較。
5.根據(jù)權(quán)利要求4所述的隨機(jī)存儲器的自動檢測方法,其特征在于,所述每個地址寄存器的數(shù)據(jù)比較是針對上一次寫入的數(shù)據(jù)而言,比較完之后再寫入新的數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的隨機(jī)存儲器的自動檢測方法,其特征在于,所述的在數(shù)據(jù)線測試中,當(dāng)待寫入數(shù)據(jù)發(fā)生切換時,在讀出數(shù)據(jù)之前,先將寫入的數(shù)據(jù)按位取反后輸出。
7.根據(jù)權(quán)利要求所述的隨機(jī)存儲器的自動檢測方法,其特征在于,當(dāng)對數(shù)據(jù)線測試中待寫入數(shù)據(jù)發(fā)生切換時,檢測電路插入了一個空操作周期,該空操作周期是,將測試數(shù)據(jù)通過取反電路按位取反后輸出到外部隨機(jī)存儲器數(shù)據(jù)總線上,但并不寫入外部隨機(jī)存儲器中。
8.一種專用于上述隨機(jī)存儲器檢測方法的檢測電路,該檢測電路設(shè)在一控制芯片內(nèi)部,其包括CPU接口電路、檢測使能寄存器、檢測狀態(tài)寄存器、比較數(shù)據(jù)鎖存器、RAM讀寫控制器,其特征在于,還包括一地址寄存器及一地址加一電路以及一測試數(shù)據(jù)表存儲器;上述電路通過數(shù)據(jù)線相互連接;其中測試數(shù)據(jù)表用于寫入各測試數(shù)據(jù);CPU接口電路可向測試數(shù)據(jù)表中寫入數(shù)據(jù),進(jìn)行測試數(shù)據(jù)配置;并可通過向檢測使能寄存器寫入控制字觸發(fā)隨機(jī)存儲器讀寫控制器,啟動隨機(jī)存儲器檢測;CPU還可通過此接口電路讀取檢測狀態(tài)寄存器中的內(nèi)容,以便掌握檢測狀態(tài)及結(jié)果;檢測使能寄存器用于對外部隨機(jī)存儲器進(jìn)行檢測,其通過CPU接口電路向檢測使能寄存器中寫入約定數(shù)據(jù),開放檢測使能;檢測狀態(tài)寄存器用于向CPU接口電路提供檢測結(jié)果;地址加一電路用于對輸入到地址寄存器中數(shù)據(jù)加一;比較數(shù)據(jù)鎖存器用于鎖存寫入到隨機(jī)存儲器的各存儲單元的數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的隨機(jī)存儲器檢測方法的檢測電路,其特征在于,所述的檢測電路設(shè)在一控制芯片內(nèi)部。
10.根據(jù)權(quán)利要求8所述的隨機(jī)存儲器檢測方法的檢測電路,其特征在于,所述的測試數(shù)據(jù)表存儲器是一個16×16的測試數(shù)據(jù)表存儲器。
11.根據(jù)權(quán)利要求8所述的隨機(jī)存儲器檢測方法的檢測電路,其特征在于,所述的RAM讀寫控制器中還包括一取反電路,該取反電路用于在待寫入數(shù)據(jù)切換時將寫入的數(shù)據(jù)按位取反。
全文摘要
本發(fā)明公開了一種隨機(jī)存儲器的自動檢測方法及其檢測電路,其特點(diǎn)是,采用先向隨機(jī)存儲器的所有存儲單元寫入數(shù)據(jù),再讀出比較的方法,包括對該隨機(jī)存儲器的數(shù)據(jù)線測試和地址線測試兩個部分,保證了芯片與外部隨機(jī)存儲器RAM的連接和外部隨機(jī)存儲器RAM內(nèi)部連接無故障。本發(fā)明經(jīng)測試表明,其對大容量隨機(jī)存儲器RAM的檢測速度快,故障檢出率高,具有很好的應(yīng)用價值。
文檔編號G11C29/00GK1315732SQ00115308
公開日2001年10月3日 申請日期2000年3月30日 優(yōu)先權(quán)日2000年3月30日
發(fā)明者周志堅 申請人:華為技術(shù)有限公司