新穎的嵌入式系統存儲器的測試結構及方法
【專利摘要】本發明公開了一種嵌入式系統存儲器的測試結構,內嵌于SoC芯片,包括CPU、控制器、系統總線、SPI接口和多路選擇器。其中,CPU通過系統總線與SoC芯片中的存儲器陣列相連;控制器通過SPI接口與外部測試機相連;多路選擇器的一個輸入端與系統總線相連,另一個輸入端連接控制器,輸出端連接到零位SRAM;SPI接口是SPI?Slave外部接口,其和外部測試機之間具有4個接線。本發明還公開了一種嵌入式系統存儲器的測試方法,用于本發明的嵌入式系統存儲器的測試結構。本發明通過使用嵌入式的CPU,實現了對SoC芯片中的存儲器陣列的基于軟件的測試;而SPI接口實現簡單,接線少,通信速率高,由此節省了測試時間。
【專利說明】新穎的嵌入式系統存儲器的測試結構及方法
【技術領域】
[0001]本發明涉及集成電路測試領域,尤其涉及一種新穎的嵌入式系統存儲器的測試結構及方法。
【背景技術】
[0002]由于存儲器在較大規模集成電路的設計中層次較深,其缺陷類型不同于一般邏輯的缺陷類型,ATPG (Automatic Test Pattern Generation,自動測試向量產生法)通常不能提供完備的存儲器測試解決方案,而內嵌式存儲器測試技術(Memory Build in self testcircuit,MBIST)則可以解決這些問題。BIST (Build In Self Test,內嵌自測試電路)能夠在不犧牲檢測質量的前提下提供一種存儲器測試解決方案,在很多情況下,BIST結構可以徹底消除或最大限度減少對外部測試向量生成(以及ATE機存儲器容量)和測試應用時間的需要。設計人員可以在某設計內部執行內嵌式存儲器測試電路,并由于內嵌式存儲器測試電路鄰近被測試的存儲器而輕易實現全速測試。
[0003]因此,當前嵌入式系統存儲器測試大多采用內嵌自測試結構。內嵌自測試結構將測試算法硬件化,嵌入到系統內部。基本的方法是按照算法的要求,對每一塊SRAM進行寫操作,然后讀出結果和預期的結果相比較,如果完全一致,則判定存儲器測試通過,否則判定存儲器測試失效。但是,該方法受限于硬件化的算法,不能覆蓋到所有的故障,如果某一失效不在算法要求內,就會造成誤判,對生產造成影響。
[0004]因此,本領域的技術人員致力于開發一種新穎的嵌入式系統存儲器的測試結構及方法,使嵌入式系統存儲器的測試不再受限于硬件,只需在片外編寫存儲器測試程序對存儲器進行測試即可。
【發明內容】
[0005]有鑒于現有技術的上述缺陷,本發明所要解決的技術問題是提供一種嵌入式系統存儲器的測試結構及方法,通過使用嵌入式的CPU,便于用軟件實現各種存儲器測試算法,用于存儲器測試。
[0006]為實現上述目的,本發明提供了一種嵌入式系統存儲器的測試結構,內嵌于SoC芯片中,其特征在于,包括CPU、控制器、系統總線、SPI接口和多路選擇器,所述CPU通過所述系統總線與所述SoC芯片中的存儲器陣列相連,所述控制器通過所述SPI接口與外部測試機相連,所述存儲器陣列包括多個SRAM和R0M,所述系統總線連接所述多路選擇器的一個輸入端,所述多路選擇器的輸出端連接所述SRAM陣列中的一個SRAM。
[0007]進一步地,所述多路選擇器的輸出端連接的所述SRAM的地址為O。
[0008]進一步地,所述多路選擇器的另一個輸入端連接所述控制器。
[0009]進一步地,所述控制器是時序轉換電路,用于將SPI時序轉換為SRAM時序。
[0010]進一步地,所述SPI接口是SPI Slave外部接口。
[0011 ] 進一步地,所述SPI Slave外部接口和所述外部測試機之間具有4個接線,分別連接所述SPI Slave外部接口的引腳SPICS、引腳SPICLK、引腳MOSI和引腳MIS0。
[0012]進一步地,所述引腳SPICS為輸入引腳,所述引腳SPICLK為輸入引腳,所述引腳MOSI為輸入引腳,所述引腳MISO為輸出引腳。
[0013]本發明還提供了一種的嵌入式系統存儲器的測試方法,用于上述的嵌入式系統存儲器的測試結構,其特征在于,包括
[0014]步驟301所述外部測試機準備測試程序;
[0015]步驟302所述外部測試機將所述SoC芯片設置為存儲器測試模式;
[0016]步驟303所述外部測試機將所述測試程序發送到所述SoC芯片;
[0017]步驟304所述控制器接收所述測試程序,并將其保存在所述零位SRAM中;
[0018]步驟305所述外部測試機對所述SOC芯片進行復位操作,繼而所述CPU從所述零位SRAM運行所述測試程序;
[0019]步驟306所述控制器向所述外部測試機輸出測試結果,所述測試結果為測試通過或測試失效。
[0020]進一步地,還包括:
[0021]步驟307如果所述步驟306中的測試結果為測試失效,所述控制器向所述外部測試機輸出測試信息。
[0022]在本發明的較佳實施方式中,提供了一種內嵌于SoC芯片的嵌入式系統存儲器的測試結構,包括內嵌式CPU、控制器、系統總線、SPI接口和多路選擇器。CPU通過系統總線與SoC芯片中的存儲器陣列相連;控制器通過SPI接口與外部測試機相連,用于將SPI時序轉換為SRAM時序;SoC芯片中的存儲器陣列包括多個SRAM和ROM ;多路選擇器的一個輸入端與系統總線相連,另一個輸入端連接控制器,輸出端連接到SRAM陣列中的一個SRAM (即零位SRAM) ;SPI接口是SPI Slave外部接口,其和外部測試機之間具有4個接線。在本發明的較佳實施方式中,還提供了一種嵌入式系統存儲器的測試方法,包括步驟:外部測試機準備測試程序;將SoC芯片設置為存儲器測試模式;將測試程序發送到SoC芯片;接收測試程序,并保存在零位SRAM中;CPU從零位SRAM運行測試程序;以及輸出測試結果。并可以在測試結果為測試失效時,提供對測試結果的分析。
[0023]由此可見,本發明的嵌入式系統存儲器的測試結構及方法,通過使用嵌入式的CPU,實現了對SoC芯片中的存儲器陣列的基于軟件的測試,該測試不受限于硬件的結構,能夠在芯片生產后靈活編寫測試算法,查找存儲器失效原因并定位失效位置;并且能夠根據測試結果反饋,一旦發現某些覆蓋不到的失效,可靈活修改測試程序,查找失效原因并定位失效位置,由此極大地提高了測試覆蓋率。另外,本發明使用SPI Slave外部接口來自測試機發送的存儲器測試程序,并反饋測試結果,實現和外界的通信,該SPI接口實現簡單,外部連接只需要四根線,且SPI總線通信速率較高,由此節省了測試時間。
[0024]以下將結合附圖對本發明的構思、具體結構及產生的技術效果作進一步說明,以充分地了解本發明的目的、特征和效果。
【專利附圖】
【附圖說明】
[0025]圖1是本發明的嵌入式系統存儲器的測試結構的結構框圖。
[0026]圖2是本發明的嵌入式系統存儲器的測試方法的流程圖,用于本發明的嵌入式系統存儲器的測試結構。
【具體實施方式】
[0027]本發明的嵌入式系統存儲器的測試結構內嵌于SoC芯片中,如圖1所示,其包括CPU、控制器、系統總線、SPI接口和多路選擇器MUX。其中,CPU是內嵌式CPU,其通過系統總線與SoC芯片中的存儲器陣列相連。控制器通過SPI接口與外部測試機相連,其是一個時序轉換電路,用于將SPI時序轉換為SRAM時序。SoC芯片中的存儲器陣列包括多個SRAM和ROM,如圖1中所示的SRAMO、SRAMU…、SRAMn以及ROMn。其中的SRAMO在本實施例中稱作零位SRAM,其地址為0 ;SRAM1表示第一個SRAM,…,SRAMn表示第n個SRAM,ROMn表示第n個ROM。
[0028]CPU通過系統總線和存儲器陣列中的SRAMl、…、SRAMn以及ROMn——相連,并通過系統總線和多路選擇器MUX與SRAMO相連。具體地,系統總線的一個輸出端與多路選擇器MUX的一個輸入端相連,多路選擇器MUX的輸出端連接到零位SRAM (即SRAM0),多路選擇器MUX的另一個輸入端連接控制器的輸出端。
[0029]本實施例中,SPI接口是SPI Slave外部接口,其和外部測試機之間具有4個接線,分別連接SPI Slave外部接口的引腳SPICS、引腳SPICLK、引腳MOSI和引腳MIS0,引腳SPICS為輸入引腳,引腳SPICLK為輸入引腳,引腳MOSI為輸入引腳,引腳MISO為輸出引腳。本實施例中的引腳SPICS、引腳SPICLK、引腳MOSI和引腳MISO皆為業界標準,其中SPICS為片選信號,SPICLK為時鐘信號,MOSI為輸入信號,MISO為輸出信號。
[0030]圖2示出了本發明的嵌入式系統存儲器的測試方法的流程圖,其用于本發明的嵌入式系統存儲器的測試結構,具體地包括以下步驟:
[0031]步驟301,外部測試`機準備測試程序,以對SoC芯片中的存儲器陣列進行測試,其具體地為生成測試向量,即一系列用來測試存儲器陣列的激勵信號,其為測試程序的表現形式。
[0032]步驟302,外部測試機將SoC芯片設置為存儲器測試模式,由此開始對SoC芯片中的存儲器陣列進行測試,相應地,多路選擇器MUX選擇通路為控制器到零位SRAM。
[0033]步驟303,外部測試機將測試程序發送到SoC芯片。具體地為,外部測試機步驟301中準備的測試程序通過SPI Slave外部接口發送到內嵌于SoC芯片中的本發明的嵌入式系統存儲器的測試結構的控制器。
[0034]步驟304,控制器接收測試程序,并將其保存在零位SRAM中。具體地為:控制器接收外部測試機在步驟304中發送的測試程序,并通過多路選擇器MUX在步驟302中選擇的通路,將接收的測試程序保存到零位SRAM。
[0035]步驟305,外部測試機對SOC芯片進行復位操作,繼而CPU從零位SRAM運行測試程序,從而對SoC芯片中的存儲器陣列進行測試,該測試可以是對SoC芯片中的存儲器陣列的全面的測試。
[0036]步驟306,控制器向外部測試機輸出測試結果,測試結果為測試通過或測試失效。測試通過即存儲器陣列中被測試的各個SRAM和ROM都符合測試標準,測試失效即存儲器陣列中一個或多個SRAM和/或ROM存在故障。
[0037]在測試結果為測試失效時,本發明的嵌入式系統存儲器的測試方法還可以提供對測試結果的分析,即包括:
[0038]步驟307,如果步驟306中的測試結果為測試失效,控制器向外部測試機輸出測試信息。該測試信息包括存儲器陣列中的各個SRAM和ROM的具體測試數據,外部測試機通過分析這些具體測試數據,可以查找存儲器陣列的失效原因并定位失效位置。
[0039]以上詳細描述了本發明的較佳具體實施例。應當理解,本領域的普通技術人員無需創造性勞動就可以根據本發明的構思做出諸多修改和變化。因此,凡本【技術領域】的技術人員依本發明的構思在現有技術的基礎上通過邏輯分析、推理或者有限的實驗可以得到的技術方案,皆應在由權利要求書所確定的保護范圍內。
【權利要求】
1.一種嵌入式系統存儲器的測試結構,內嵌于SoC芯片中,其特征在于,包括CPU、控制器、系統總線、SPI接口和多路選擇器,所述CPU通過所述系統總線與所述SoC芯片中的存儲器陣列相連,所述控制器通過所述SPI接口與外部測試機相連,所述存儲器陣列包括多個SRAM和ROM,所述系統總線連接所述多路選擇器的一個輸入端,所述多路選擇器的輸出端連接所述SRAM陣列中的一個SRAM。
2.如權利要求1所述的嵌入式系統存儲器的測試結構,其中所述多路選擇器的輸出端連接的所述SRAM的地址為O。
3.如權利要求2所述的嵌入式系統存儲器的測試結構,其中所述多路選擇器的另一個輸入端連接所述控制器。
4.如權利要求3所述的嵌入式系統存儲器的測試結構,其中所述控制器是時序轉換電路,用于將SPI時序轉換為SRAM時序。
5.如權利要求4所述的嵌入式系統存儲器的測試結構,其中所述SPI接口是SPISlave外部接口。
6.如權利要求5所述的嵌入式系統存儲器的測試結構,其中所述SPISlave外部接口和所述外部測試機之間具有4個接線,分別連接所述SPI Slave外部接口的引腳SPICSdI腳SPICLK、引腳MOSI和引腳MIS0。
7.如權利要求6所述的嵌入式系統存儲器的測試結構,其中所述引腳SPICS為輸入引腳,所述引腳SPICLK 為輸入引腳,所述引腳MOSI為輸入引腳,所述引腳MISO為輸出引腳。
8.一種的嵌入式系統存儲器的測試方法,用于如權利要求7所述的嵌入式系統存儲器的測試結構,其特征在于,包括 步驟(301)所述外部測試機準備測試程序; 步驟(302)所述外部測試機將所述SoC芯片設置為存儲器測試模式; 步驟(303)所述外部測試機將所述測試程序發送到所述SoC芯片; 步驟(304)所述控制器接收所述測試程序,并將其保存在所述零位SRAM中; 步驟(305)所述外部測試機對所述SOC芯片進行復位操作,繼而所述CPU從所述零位SRAM運行所述測試程序; 步驟(306)所述控制器向所述外部測試機輸出測試結果,所述測試結果為測試通過或測試失效。
9.如權利要求8所述的嵌入式系統存儲器的測試方法,其中還包括: 步驟(307)如果所述步驟(306)中的測試結果為測試失效,所述控制器向所述外部測試機輸出測試信息。
【文檔編號】G06F11/22GK103605590SQ201310613654
【公開日】2014年2月26日 申請日期:2013年11月27日 優先權日:2013年11月27日
【發明者】周美娣, 何文濤, 殷明, 黃璐, 馮華星 申請人:中國科學院嘉興微電子與系統工程中心