TW202343465A - 測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法 - Google Patents
測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法 Download PDFInfo
- Publication number
- TW202343465A TW202343465A TW111114835A TW111114835A TW202343465A TW 202343465 A TW202343465 A TW 202343465A TW 111114835 A TW111114835 A TW 111114835A TW 111114835 A TW111114835 A TW 111114835A TW 202343465 A TW202343465 A TW 202343465A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- signal
- dump
- memory device
- read
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 141
- 238000012360 testing method Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims description 19
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12015—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
Landscapes
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種測試電路,耦接一記憶體裝置,用以於一記憶體傾印操作中讀取記憶體裝置所儲存之資料,包括一傾印控制器與一樣式產生電路。傾印控制器用以響應於一處理器對於記憶體傾印模式之設定觸發樣式產生電路開始樣式產生操作。樣式產生電路用以於樣式產生操作中產生複數控制訊號,並將控制訊號提供至記憶體裝置。控制訊號至少包括一位址訊號、一記憶體致能訊號與一讀取致能訊號。位址訊號包括被安排於處理器的複數連續時脈週期的複數記憶體位址,用以於複數連續時脈週期讀取複數記憶體位址所儲存之資料。
Description
本發明係關於一種用於執行記憶體傾印之電路與對應之方法。
掃描式傾印(Scan Dump)和記憶體傾印(Memory Dump)操作是在開發板上針對製造的晶片執行診斷時所需的兩種常見操作。當錯誤或不預期的例外事件發生時,這些操作可被用於除錯階段以確定導致錯誤的原因。掃描傾印涉及讀取晶片的所有暫存器內容,而記憶體傾印涉及讀取晶片的所有記憶體內容。當錯誤或不預期的例外事件發生時,系統會將晶片的時脈停止,並開啟另一頻率較低的掃描時脈,接著執行掃描式傾印和記憶體傾印。
在掃描式傾印操作中,每個暫存器的內容以串聯的順序轉移到輸出掃描引腳。類似地,記憶體傾印操作會讀取晶片內記憶體的全部或部分內容並將之輸出。透過分析這些內容,例如,將之與主機端模擬器於相同條件下所產生的黃金樣式(golden pattern)做比較,以確定錯誤或例外事件發生的原因。
由於記憶體傾印通常需要讀出所有記憶體儲存的內容,且由晶片外部的裝置來執行傾印的指令時間較長,隨著晶片內配置的記憶體數量增加,記憶體傾印操作所需的時間也大幅增加,因而產生記憶體傾印操作過度耗時的問題。
為解決此問題,需要一種可有效率執行記憶體傾印之電路與對應之方法。
本發明之目的在於提供一種可有效率執行記憶體傾印之電路與對應之方法,以解決傳統記憶體傾印操作耗時過久的問題。
根據本發明之一實施例,一種測試電路,耦接一記憶體裝置,用以於一記憶體傾印操作中讀取記憶體裝置所儲存之資料,包括一傾印控制器與一樣式產生電路。傾印控制器用以響應於一處理器對於記憶體傾印模式之設定觸發樣式產生電路開始樣式產生操作。樣式產生電路用以於樣式產生操作中產生複數控制訊號,並將控制訊號提供至記憶體裝置,其中控制訊號至少包括一位址訊號、一記憶體致能訊號與一讀取致能訊號,位址訊號包括被安排於處理器的複數連續時脈週期的複數記憶體位址,用以於複數連續時脈週期讀取複數記憶體位址所儲存之資料。
根據本發明之另一實施例,一種用以於記憶體傾印操作中讀取記憶體裝置之資料之方法,包括:響應於一處理器對於一記憶體傾印模式之設定產生複數控制訊號,其中控制訊號至少包括一位址訊號、一記憶體致能訊號與一讀取致能訊號,並且位址訊號包括被安排於處理器的複數連續時脈週期的複數記憶體位址,用以於複數連續時脈週期讀取複數記憶體位址所儲存之資料; 將控制訊號提供至記憶體裝置;以及響應於控制訊號依序於連續時脈週期讀取記憶體位址所儲存之資料。
第1圖係顯示根據本發明之一實施例所述之除錯(debug)流程。一般而言,於晶片測試過程中,當晶片內所配置的處理器(例如,一中央處理單元)於運作過程中發生錯誤或不預期的例外事件時,除錯流程可包含以下處理步驟:
步驟S100:偵測到錯誤或不預期例外事件的發生。例如,處理器或待測晶片本身,或者耦接待測晶片或耦接安裝有待測晶片之開發板的另一主機裝置可透過監控一或多個除錯通訊埠(debug port)執行所述偵測。
步驟S102:停止處理器時脈,並且切換至掃描式傾印(Scan Dump)模式。此時會開啟另一頻率較低的掃描時脈以輔助後續的傾印操作。
步驟S104:讀取晶片的所有暫存器內容(或者,狀態),並將之提供至主機裝置。
步驟S106:切換至記憶體傾印(Memory Dump)模式。
步驟S108:讀取晶片的所有記憶體內容,並將之提供至主機裝置。
步驟S110:於主機裝置端將傾印之內容與軟體模擬結果(例如,模擬器於相同條件下所產生的黃金樣式(golden pattern))做比較,以確定錯誤或例外事件發生的原因。
其中,在類似於步驟S108所涉及的記憶體的讀取操作過程中,先前技術的處理器(例如,晶片所配置的處理器)必須依序為每一個記憶體位址下讀取指令,再透過測試介面,例如IEEE1149.1 JTAG(聯合測試工作群組,原文為Joint Test Action Group),依序將各記憶體位址之讀取資料提供給主機裝置。
然而,對於每一個由處理器所發出讀取指令,每個讀取操作通常需要花費數個(例如,3~5個)處理器時脈週期(clock cycle)才能完成,其原因在於由處理器發出的指令必須經歷解碼及諸多對應的處理。隨著晶片內配置的記憶體數量增加,記憶體傾印操作所需的時間將更大幅增加,因而產生記憶體傾印操作過度耗時的問題。
為解決此問題,本發明提出一種可有效率執行記憶體傾印之電路與對應之方法。於本發明之一實施例中,利用一測試電路執行記憶體傾印的相關操作(例如,上述步驟S108的操作),此測試電路可以是一記憶體裝置內建自我測試(Memory Built-in Self Test,縮寫MBIST)電路。於本發明之實施例中,測試電路或MBIST電路可配置有對應的測試演算法,用以於記憶體傾印模式下完成所需的記憶體讀取操作,且不同於先前技術,於本發明之實施例中,一個記憶體位址的讀取操作僅需花費一處理器的時脈週期。即,於本發明之實施例中,無須透過處理器對每一個記憶體位址依序下讀取指令,而是由測試電路或MBIST電路自動完成所有記憶體位址的讀取操作,且記憶體裝置的一個記憶體位址的讀取操作可於處理器的一個時脈週期內完成。如此一來,相較於先前技術中需要複數個時脈週期才完成一個記憶體位址的讀取操作,藉由應用本發明所提出之電路與對應之方法,可大幅縮短記憶體傾印的執行時間。
第2圖係顯示根據本發明之一實施例所述之一系統方塊圖。所述系統可包括開發板(development board)200與主機裝置250,其中的開發板200也可以是系統晶片(SoC)平台。主機裝置250之處理器(圖未示)可藉由執行對應之軟體以實現一電路模擬器255。開發板200安裝有待測的晶片210,晶片210可包括記憶體裝置220、測試電路230以及暫存器模組240。主機裝置250之處理器可透過對應的匯流排對測試介面260,例如前述之JTEG,進行指令CMD的傳輸,並透過測試介面260及對應的匯流排接收讀取資料,例如圖中所示的讀取自記憶體之數值Value_From_Memory。值得注意的是,第2圖為一簡化的示意圖,其中僅顯示出與本發明相關之元件。熟悉此技藝者均可理解,主機裝置與晶片內當可包含許多未示於第2圖之元件,以實施對應之訊號處理功能。此外,於本發明之一實施例中,測試電路230可以是為記憶體裝置220所專門配置的MBIST電路。
於本發明之實施例中,當主機裝置250之處理器發出指令切換至記憶體傾印模式以執行記憶體傾印時,待測的晶片210將於其內部透過測試電路230依序對不同記憶體位址執行數值讀取之操作,並將讀取自記憶體之數值儲存於暫存器模組240。於暫存器模組240之儲存達到一既定程度時,暫存器模組240所儲存之資料可被讀取並輸出至連接於開發板200與主機裝置250之間的匯流排,以傳送給與主機裝置250。需注意的是,本發明之實施例並不限於將暫存器模組240設置在測試電路230外部。於本發明之一些實施例中,暫存器模組240也可被設置在測試電路230內部。
第3圖係顯示根據本發明之一實施例所述之一測試電路方塊圖。測試電路300耦接記憶體裝置320,用以於記憶體傾印操作中讀取記憶體裝置320所儲存之資料。需注意的是,為說明測試電路300之操作,第3圖亦繪示有記憶體裝置320。然而,測試電路300實際上可以不包括記憶體裝置320。
測試電路300可包括一控制模組310、一多工器330與一暫存器模組340。控制模組310可包括一樣式產生電路311與一傾印控制器312。傾印控制器312可響應於一處理器(例如,包含測試電路300之晶片所配置的處理器)對於一記憶體傾印模式之設定觸發樣式產生電路311開始對應之樣式產生操作。多工器330可接收來自複數輸入源的訊號以及一選擇訊號,並根據選擇訊號的設定選擇將所述複數輸入源之其中一者輸出。所述複數輸入源可包括由樣式產生電路311產生之樣式以及由一處理器(例如,前述之晶片所配置的處理器,或者記憶體裝置320所對應的記憶體控制器)產生之一功能輸入訊號Function_Input。
於本發明之一實施例中,測試電路300可為記憶體裝置320所專屬配置的MBIST電路。多工器330所接收的選擇訊號可以是內建自我測試模式的設定訊號BIST_Mode或者記憶體傾印模式的設定訊號Memory_Dump_Mode。例如,測試電路300除配置有用以接收設定訊號BIST_Mode的通訊埠外,可新增另一通訊埠用以接收設定訊號Memory_Dump_Mode。
當測試電路300要對記憶體裝置320執行內建自我測試時,晶片的處理器可編程設定訊號BIST_Mode所對應的暫存器數值(例如,設定為1),以控制多工器330選擇將樣式產生電路311所產生之樣式輸出,此時的樣式係針對內建自我測試所產生。類似地,當測試電路300要對記憶體裝置320執行記憶體傾印操作時,處理器可編程設定訊號Memory_Dump_Mode所對應的暫存器數值(例如,設定為1),以控制多工器330選擇將樣式產生電路311所產生之樣式輸出,此時的樣式係針對記憶體傾印所產生。而當測試電路300非對記憶體裝置320執行內建自我測試及記憶體傾印操作時,處理器可透過將設定訊號BIST_Mode所對應的暫存器數值設定為其他數值(例如,設定為0),以控制多工器330選擇將功能輸入訊號Function_Input輸出。
根據本發明之一實施例,響應於主機裝置發出指令要求晶片切換至記憶體傾印模式,晶片之處理器可藉由將設定訊號Memory_Dump_Mode所對應的暫存器數值設定為一既定值,例如,前述設定為1,以通知測試電路300切換至記憶體傾印模式。控制模組310也可接收此設定訊號Memory_Dump_Mode,並且傾印控制器312可響應於記憶體傾印模式之設定(例如,前述之既定值)觸發樣式產生電路311開始產生記憶體傾印模式所需的控制訊號樣式,並將控制訊號提供至記憶體裝置320。
於本發明之實施例中,於記憶體傾印模式中,由樣式產生電路311所產生之控制訊號可至少包括一位址訊號ADDR、一記憶體致能訊號ME與一讀取致能訊號WE,其中的讀取致能訊號WE亦可被視為一寫入致能訊號。例如,讀取致能訊號WE的一訊號位準可被定義為用以致能記憶體裝置的寫入操作的位準,讀取致能訊號WE的另一訊號位準可被定義為用以致能記憶體裝置的讀取操作的位準。而於內建自我測試模式中,由樣式產生電路311所產生之控制訊號可更包括資料訊號D。於記憶體傾印模式中,樣式產生電路311將控制訊號提供至記憶體裝置320,以控制記憶體裝置320根據位址訊號ADDR所指示的內容依序讀取對應之記憶體位址所儲存之資料,並將讀取資料依序透過輸出通訊埠Q提供至暫存器模組340,其中暫存器模組340可包括一或多個暫存器,用以依序接收並儲存資料。於本發明之一實施例中,樣式產生電路311所產生之控制訊號樣式可以是僅包括記憶體讀取操作的一序列樣式。
第4圖係顯示根據本發明之一實施例所述之控制訊號範例波形圖。響應於記憶體傾印模式之設定,樣式產生電路311可將記憶體致能訊號ME之位準設為1(高位準),用以致能記憶體裝置320,並且將讀取致能訊號WE之位準設為0(低位準),用以致能記憶體裝置320的讀取操作。此外,第4圖亦顯示出處理器的時脈訊號CLK波形,而樣式產生電路311於記憶體傾印模式中所產生的位址訊號ADDR可包括被安排於處理器的複數連續時脈週期的複數記憶體位址,例如圖中所示的記憶體位址A_0~A_5。
於本發明之實施例中,樣式產生電路311藉由設定位址訊號ADDR的樣式將一個記憶體位址的讀取操作安排於處理器的一個時脈週期內,並且在位址訊號ADDR的樣式中,樣式產生電路311可於複數連續的時脈週期內安排複數記憶體位址,例如,複數連續的記憶體位址,用以於連續時脈週期依序一個接著一個讀取這些記憶體位址所儲存之資料,如第4圖所示的操作OP波型所示意的,於複數時脈週期內將連續執行的多個讀取操作Read。藉由所述記憶體位址的安排,以及其他對應的控制訊號樣式的設定,使得測試電路300於處理器的一既定數量的時脈週期內可對記憶體裝置320完成此既定數量次的資料讀取操作。其中,假設由記憶體裝置320的一個記憶體位址所定址的一個記憶體空間可儲存128位元之資料,則測試電路230/300可於處理器的一個時脈週期內完成128位元之資料之讀取操作,並且可於處理器的一既定數量的時脈週期內響應於前述控制訊號完成此同等數量個(即,前述既定數量個)記憶體位址之讀取操作,其中每次讀取的資料量為128位元,但不以此為限。
以下為利用測試電路或MBIST電路自動完成記憶體傾印的腳本(script)範例。於此範例中,記憶體傾印腳本包括P個步驟,以讀取N個記憶體位址,並且其對應的描述依序為:
步驟0: 由主機裝置傳送記憶體傾印指令。
步驟1: 由晶片執行記憶體傾印。
步驟2: (測試電路內部操作) 由測試電路讀取第一記憶體位址,並將資料存於暫存器。
步驟3: 執行暫存器之讀取操作。
步驟4: 將讀取資料傳送至主機裝置。
(…省略)
步驟(P-3): (測試電路內部操作) 由測試電路讀取第(N-1)個記憶體位址,並將資料存於暫存器。
步驟(P-2): 執行暫存器之讀取操作。
步驟(P-1): 將讀取資料傳送至主機裝置。
由於本發明並非透過處理器依序對每一個記憶體位址下讀取指令,而是藉由設定訊號Memory_Dump_Mode觸發測試電路進入記憶體傾印模式並產生對應之控制訊號樣式以執行對應的讀取操作,因此本發明相較於先前技術會以更短的時間完成讀取N個記憶體位址的操作。例如,以上範例之步驟1、步驟2與步驟3皆不涉及處理器之操作。
第5圖係顯示根據本發明之一實施例所述之用以於一記憶體傾印操作中讀取一記憶體裝置所儲存之資料之方法流程圖,包括以下步驟:
步驟S502: 響應於處理器對於記憶體傾印模式之一設定產生複數控制訊號。
步驟S504: 將控制訊號提供至記憶體裝置。
步驟S506: 響應於控制訊號依序於連續時脈週期讀取多個記憶體位址所儲存之資料。
於步驟S506中,於處理器之一既定數量的時脈週期內,記憶體裝置將依序輸出同等數量個記憶體位址所儲存之資料。
根據本發明之另一實施例,暫存器模組除一或多個暫存器之外,可更包括一調度器(Scheduler),用以調度資料之接收,並且調度器可與控制模組可進行交握( handshake),以完成資料的序向(serial)輸出或多筆資料的平行(parallel)輸出。
第6圖係顯示根據本發明之另一實施例所述之一測試電路方塊圖。測試電路600耦接記憶體裝置620,用以於記憶體傾印操作中讀取記憶體裝置620所儲存之資料。需注意的是,為說明測試電路600之操作,第6圖亦繪示有記憶體裝置620。然而,測試電路600實際上可以不包括記憶體裝置620。
測試電路600可包括一控制模組610、一多工器630與一暫存器模組640。控制模組610可包括一樣式產生電路611與一傾印控制器612。傾印控制器612可響應於一處理器(例如,包含測試電路600之晶片所配置的處理器)對於一記憶體傾印模式之設定產生一起始訊號Start(例如,產生一對應之脈衝),並且觸發樣式產生電路611開始對應之樣式產生操作。
於本發明之一實施例中,測試電路600同樣可以是為記憶體裝置620專屬配置的MBIST電路,其中的控制模組610、記憶體裝置620、多工器630、樣式產生電路611與傾印控制器612的基本操作分別與第3圖中的控制模組310、記憶體裝置320、多工器330、樣式產生電路311與傾印控制器312相同,因此可參考以上段落說明內容,並於此不再贅述。
根據本發明之一實施例,暫存器模組640可包括複數暫存器,例如,暫存器REG_0、暫存器REG_1與暫存器REG_2,以及調度器642,用以調度資料之接收。需注意的是,本發明並不限於第6圖中的暫存器數量。
控制模組610接收設定訊號Memory_Dump_Mode,並且傾印控制器612可響應於記憶體傾印模式之設定(例如,前述之既定值)產生起始訊號Start,並觸發樣式產生電路611開始產生記憶體傾印模式所需的控制訊號樣式,其中起始訊號Start會被提供給調度器642,以通知讀取操作的開始,並且控制訊號會被提供給記憶體裝置620,以控制記憶體裝置620的讀取操作。記憶體裝置620會響應於控制訊號並根據其中位址訊號ADDR所指示的內容依序讀取對應之記憶體位址所儲存之資料,並將讀取資料依序透過輸出通訊埠Q提供至暫存器模組640,其中暫存器模組640可包括一或多個暫存器,用以依序接收並儲存資料。調度器642可響應於起始訊號Start依序安排暫存器之其中一者儲存接收自記憶體裝置620之資料。
於暫存器模組640之儲存達到一既定程度時,調度器642可將暫存器模組640所儲存之資料以序向或平行的方式讀出,並輸出至與主機裝置相連的匯流排,以將資料傳送給與主機裝置。此外,調度器642可向傾印控制器612發出一通知訊號Next(例如,產生一對應之脈衝),以通知傾印控制器612可繼續次一輪的讀取操作。
傾印控制器612可響應於通知訊號Next之接收再次產生起始訊號Start(例如,產生一對應之脈衝),並觸發樣式產生電路611可響應於起始訊號Start(其等同於響應於通知訊號Next)接續於位址訊號ADDR內安排複數尚未被讀取的記憶體位址,並且產生對應之位址訊號ADDR、記憶體致能訊號ME與讀取致能訊號WE。
根據本發明之一實施例,調度器642也可計數一既定時間,例如,計數一特定數量的時脈週期,並且於既定時間屆期時,調度器642可將暫存器模組640所儲存之資料以序向或平行的方式讀出,並輸出至與主機裝置相連的匯流排,以將資料傳送給與主機裝置,並且調度器642可於既定時間屆期時向傾印控制器612發出一通知訊號Next(例如,產生一對應之脈衝),以通知傾印控制器612可繼續次一輪的讀取操作。
根據本發明之一實施例,所述既定時間或特定數量可與暫存器模組640內配置的暫存器數量相關。例如,若暫存器模組640內包含3個暫存器,響應於起始訊號Start之接收,調度器642可反覆地計數3個時脈週期,並且每計數完3個時脈週期,調度器642可將3個暫存器所儲存之資料讀出並產生對應之通知訊號Next之脈衝,以通知傾印控制器612可繼續次一輪的讀取操作。
需注意的是,暫存器模組640也可由一先進先出(FIFO)電路實現,而於這樣的實施中,起始訊號Start與通知訊號Next可分別被提供做為指標使用,用以指示資料寫入FIFO電路或自FIFO電路輸出的操作。
第7圖係顯示根據本發明之一實施例所述藉由測試電路的控制將記憶體裝置之資料以序向輸出之訊號波形圖。第7圖除顯示處理器的時脈訊號CLK、位址訊號ADDR、記憶體致能訊號ME、讀取致能訊號WE、起始訊號Start及通知訊號Next等訊號的波形外,也顯示了於記憶體裝置之輸出通訊埠Q的訊號Value、寫入暫存器的資料訊號REG*、以及於連接在暫存器模組與主機裝置之間的匯流排上傳送的訊號OUT等訊號的波形。
如圖所示,響應於起始訊號Start的脈衝,樣式產生電路會產生對應的控制訊號,並且記憶體裝置會根據控制訊號的設定於時脈訊號CLK的各週期依序將記憶體位址A_0~A_8的資料D0~D8輸出。假設於此實施例中暫存器模組內包含3個暫存器,其編號分別為REG_0~REG_2,暫存器的資料訊號REG*的波形中則以簡化的暫存器編號R_0~R_2與括號內標記的資料D0~D8說明各暫存器於不同時脈週期所被寫入的資料。於此實施例中,暫存器模組會依序將接收到的資料輸出至匯流排上,因此,匯流排上傳送的訊號OUT在對應的時脈週期內具有有效資料,圖中以斜線填滿的部分代表匯流排上的有效資料。於此實施例中,記憶體位址A_0~A_8所對應的資料D0~D8會依序於連續的9個時脈週期被讀取,並且依序於連續的9個時脈週期被輸出至匯流排,而調度器可於每計數完1個時脈週期產生對應之通知訊號Next之脈衝,以通知傾印控制器可繼續次一輪的讀取操作。因此,於序向輸出的實施例中,因測試電路可於處理器的一個時脈週期內完成一筆資料的讀取操作,因此在相鄰的N個時脈週期可連續將N筆資料輸出,其中N為一正整數。
第8圖係顯示根據本發明之另一實施例所述藉由測試電路的控制將記憶體裝置之多筆資料平行輸出之訊號波形圖。於此實施例中,於不同時脈週期被寫入暫存器REG_0~REG_2的資料R_0(D0),R_1(D1)與R_2(D2)、R_0(D3), R_1(D4)與R_2(D5)、以及R_0(D6), R_1(D7)與R_2(D8)等會同時被平行輸出至匯流排上,因此,匯流排上傳送的訊號OUT僅在資料被輸出的時脈週期內具有有效資料。於此實施例中,響應於起始訊號Start的脈衝,樣式產生電路會產生對應的控制訊號,而調度器可於暫存器的資料被讀取後,或者於計數至少3個時脈週期後,產生對應之通知訊號Next之脈衝,以通知傾印控制器可繼續次一輪的讀取操作。於平行輸出的實施例中,因測試電路可於處理器的一個時脈週期內完成一筆資料的讀取操作,因此記憶體裝置可在相鄰的M個時脈週期連續輸出M筆資料,其中M為一正整數,並且調度器可於M筆資料被寫入暫存器後,例如,於計數M個時脈週期後,將資料平行輸出至匯流排上,因此M筆資料可同時被平行輸出至匯流排上。
綜上所述,於本發明之實施例中,主機裝置僅需發出切換模式的訊號,並且於切換至記憶體傾印模式以執行記憶體傾印時,將由待測晶片內部的測試電路依序對不同記憶體位址執行數值讀取之操作,而無須再經由處理器對各記憶體位址分別發出對應的讀取指令。即,於接收到切換模式的訊號,待測晶片內部的處理器僅須執行設定訊號Memory_Dump_Mode的數值設定操作,無須參與記憶體的讀取操作。響應於記憶體傾印模式之設定(例如,設定訊號Memory_Dump_Mode的數值被設定為既定值),測試電路可自動產生對應的控制訊號,包含於複數連續時脈週期內安排了複數記憶體位址的位址訊號ADDR,並控制記憶體裝置於記憶體傾印模式中僅執行對應的讀取操作。如此一來,本發明之實施例相較於先前技術可大幅縮短記憶體傾印的執行時間。此外,本發明之測試電路可直接利用一般為記憶體裝置所專屬配置的MBIST電路,而無須新增額外的記憶體傾印電路,因此,雖本發明係利用硬體電路執行記憶體傾印操作,但實際上並不會增加額外的電路面積,為一種低面積開銷的解決方案。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
200:開發板
210:晶片
220, 320, 620:記憶體裝置
230, 300, 600:測試電路
240, 340, 640:暫存器模組
250:主機裝置
255:電路模擬器
260:測試介面
310, 610:控制模組
311, 611:樣式產生電路
312, 612:傾印控制器
330, 630:多工器
642:調度器
ADDR:位址訊號
A_0, A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8:記憶體位址
BIST_Mode, Memory_Dump_Mode:設定訊號
CLK:時脈訊號
CMD:指令
D:資料訊號
D0, D1, D2, D3, D4, D5, D6, D7,D8:資料
Function_Input:功能輸入訊號
ME:記憶體致能訊號
Next:通知訊號
OP:操作
OUT:匯流排上傳送的訊號
Q:輸出通訊埠
Read:讀取操作
REG*:寫入暫存器的資料訊號
REG_0, REG_1, REG_2:暫存器
R_0(D0), R_1(D1), R_2(D2), R_0(D3), R_1(D4), R_2(D5), R_0(D6), R_1(D7), R_2(D8) :暫存器被寫入的資料
Start:起始訊號
Value:輸出通訊埠的訊號
Value_From_Memory:讀取自記憶體之數值
WE:讀取致能訊號
第1圖係顯示根據本發明之一實施例所述之除錯流程。
第2圖係顯示根據本發明之一實施例所述之一系統方塊圖。
第3圖係顯示根據本發明之一實施例所述之一測試電路方塊圖。
第4圖係顯示根據本發明之一實施例所述之控制訊號範例波形圖。
第5圖係顯示根據本發明之一實施例所述之用以於一記憶體傾印操作中讀取一記憶體裝置所儲存之資料之方法流程圖。
第6圖係顯示根據本發明之另一實施例所述之一測試電路方塊圖。
第7圖係顯示根據本發明之一實施例所述藉由測試電路的控制將記憶體裝置之資料以序向輸出之訊號波形圖。
第8圖係顯示根據本發明之另一實施例所述藉由測試電路的控制將記憶體裝置之多筆資料平行輸出之訊號波形圖。
300:測試電路
320:記憶體裝置
340:暫存器模組
310:控制模組
311:樣式產生電路
312:傾印控制器
330:多工器
BIST_Mode,Memory_Dump_Mode:設定訊號
Function_Input:功能輸入訊號
Q:輸出通訊埠
Claims (10)
- 一種測試電路,耦接一記憶體裝置,用以於一記憶體傾印操作中讀取該記憶體裝置所儲存之資料,包括: 一傾印控制器,用以響應於一處理器對於一記憶體傾印模式之設定觸發一樣式產生電路開始一樣式產生操作;以及 該樣式產生電路,用以於該樣式產生操作中產生複數控制訊號,並將該等控制訊號提供至該記憶體裝置,其中該等控制訊號至少包括一位址訊號、一記憶體致能訊號與一讀取致能訊號,該位址訊號包括被安排於該處理器的複數連續時脈週期的複數記憶體位址,用以於該等連續時脈週期讀取該等記憶體位址所儲存之資料。
- 如請求項1所述之測試電路,其中該測試電路於該處理器之一既定數量的時脈週期內完成該既定數量次的資料讀取操作。
- 如請求項1所述之測試電路,其中該傾印控制器更響應於該記憶體傾印模式之設定產生一起始訊號,並且該測試電路更包括: 一暫存器模組,耦接該記憶體裝置,包括: 複數暫存器,用以依序接收並儲存該資料;以及 一調度器,用以調度該資料之接收,其中該調度器響應於該起始訊號依序安排該等暫存器之一者儲存接收自該記憶體裝置之該資料。
- 如請求項3所述之測試電路,其中該調度器更計數一既定時間,該既定時間與該等暫存器之一數量相關,於該既定時間屆期時,該調度器更將該等暫存器所儲存之該資料讀出,並發出一通知訊號。
- 如請求項4所述之測試電路,其中該樣式產生電路響應於該通知訊號接續於該位址訊號內安排複數尚未被讀取的記憶體位址,並且產生對應之該位址訊號、該記憶體致能訊號與該讀取致能訊號。
- 一種方法,用以於一記憶體傾印操作中讀取一記憶體裝置之資料,包括: 響應於一處理器對於一記憶體傾印模式之設定產生複數控制訊號,其中該等控制訊號至少包括一位址訊號、一記憶體致能訊號與一讀取致能訊號,並且該位址訊號包括被安排於該處理器的複數連續時脈週期的複數記憶體位址,用以於該等連續時脈週期讀取該等記憶體位址所儲存之資料; 將該等控制訊號提供至該記憶體裝置;以及 響應於該等控制訊號依序於該等連續時脈週期讀取該等記憶體位址所儲存之該資料。
- 如請求項6所述之方法,其中於該處理器之一既定數量的時脈週期內,該記憶體裝置輸出該既定數量個記憶體位址所儲存之該資料。
- 如請求項6所述之方法,更包括: 響應於該記憶體傾印模式之設定產生一起始訊號;以及 響應於該起始訊號依序安排複數暫存器之一者自該記憶體裝置接收該資料。
- 如請求項8所述之方法,更包括: 計數一既定時間,其中該既定時間與該等暫存器之一數量相關;以及 於該既定時間屆期時,將該等暫存器所儲存之該資料讀出,並發出一通知訊號。
- 如請求項9所述之方法,更包括: 響應於該通知訊號產生該等控制訊號, 其中複數尚未被讀取的記憶體位址被接續安排於該位址訊號內。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111114835A TWI783898B (zh) | 2022-04-19 | 2022-04-19 | 測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法 |
US18/129,087 US20230335208A1 (en) | 2022-04-19 | 2023-03-31 | Test circuit and method for reading data from a memory device during memory dump |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111114835A TWI783898B (zh) | 2022-04-19 | 2022-04-19 | 測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI783898B TWI783898B (zh) | 2022-11-11 |
TW202343465A true TW202343465A (zh) | 2023-11-01 |
Family
ID=85794553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111114835A TWI783898B (zh) | 2022-04-19 | 2022-04-19 | 測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230335208A1 (zh) |
TW (1) | TWI783898B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527825B2 (en) * | 2010-09-21 | 2013-09-03 | Qualcomm Incorporated | Debugger based memory dump using built in self test |
US8589749B1 (en) * | 2011-05-31 | 2013-11-19 | Apple Inc. | Memory content protection during scan dumps and memory dumps |
US8495443B1 (en) * | 2011-05-31 | 2013-07-23 | Apple Inc. | Secure register scan bypass |
US9805825B1 (en) * | 2015-08-24 | 2017-10-31 | Apple Inc. | Memory error capture logic |
FR3047348B1 (fr) * | 2016-02-03 | 2018-07-27 | STMicroelectronics (Alps) SAS | Protection de donnees pour une memoire a autotest integre |
-
2022
- 2022-04-19 TW TW111114835A patent/TWI783898B/zh active
-
2023
- 2023-03-31 US US18/129,087 patent/US20230335208A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
TWI783898B (zh) | 2022-11-11 |
US20230335208A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4571749B2 (ja) | 既知の良品デバイスを使用して期待する応答を生成するための集積回路デバイスの効率的な同時テスト | |
US6523136B1 (en) | Semiconductor integrated circuit device with processor | |
US6829728B2 (en) | Full-speed BIST controller for testing embedded synchronous memories | |
KR100488232B1 (ko) | 집적 dma 제어기를 이용한 집적 메모리 테스트 방법 | |
JPH04227560A (ja) | 直列データ入出力テスト装置および方法 | |
JPS58151631A (ja) | Dmaバス負荷可変装置 | |
CN117234831B (zh) | 一种基于多核cpu的芯片功能测试方法及系统 | |
US7149944B2 (en) | Semiconductor integrated circuit device equipped with read sequencer and write sequencer | |
JP2006252267A (ja) | システム検証用回路 | |
JP3072531B2 (ja) | 集積回路試験装置のパターンメモリ回路 | |
JPH04178580A (ja) | 半導体メモリの故障自己診断装置 | |
JP2591825B2 (ja) | 圧縮データを用いた論理回路試験方法及びその装置 | |
TWI783898B (zh) | 測試電路與於記憶體傾印操作中讀取記憶體裝置之資料之方法 | |
US20140365809A1 (en) | Semiconductor circuit apparatus and electronic apparatus | |
JPH03226852A (ja) | データ処理装置 | |
CN112466381B (zh) | 一种适用于测试ddr3物理层电气功能的测试芯片 | |
CN116994638A (zh) | 测试电路与在存储器转储操作中读取存储器装置数据的方法 | |
US20240310436A1 (en) | Mechanism capable of performing on-chip test and verification | |
JP4526985B2 (ja) | テストシステム | |
US20040107388A1 (en) | Microcomputer | |
JP3102600B2 (ja) | Icテスタ | |
JPS6153579A (ja) | 論理回路機能試験機 | |
JPS59211123A (ja) | 半導体集積回路 | |
JPH02296165A (ja) | Icデバイステスト装置 | |
JPH11353897A (ja) | Ic試験装置 |