TW200817704A - Method and apparatus for testing a data processing system - Google Patents
Method and apparatus for testing a data processing system Download PDFInfo
- Publication number
- TW200817704A TW200817704A TW096102861A TW96102861A TW200817704A TW 200817704 A TW200817704 A TW 200817704A TW 096102861 A TW096102861 A TW 096102861A TW 96102861 A TW96102861 A TW 96102861A TW 200817704 A TW200817704 A TW 200817704A
- Authority
- TW
- Taiwan
- Prior art keywords
- test
- processor
- stop
- signature
- scan
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318544—Scanning methods, algorithms and patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318552—Clock circuits details
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
200817704 九、發明說明: 【發明所屬之技術領域】 本發明-般有關資料處理系統,尤其有關測試資料處理 系統。 【先前技術】 /為確保正確操作,資料處理系統的測試很重要。製造 後,在使用者應用程式中使用資料處理系統之前,可在工 f ϋ 廠中執行測試。此確保終端使用者收到正確運作的產品。 然而,在終端使用者操作資料處理系統期間,仍需要繼續 測試資料處理系統,以便在產品正常操作期間仙可能發 生的失敗。 【發明内容】 本發明係關於—種用於測試—處理器之至少-邏輯塊的 I法。該方法其包含:在由該處理器執行_使用者應用程 ;期間’該處理器回應於停止執行該使用者應用程式之— 停止與測試指示符的產生,產生該停止與測試指示符,及 ^需要儲存該處理器之該至少_邏輯塊m及㈣ 測武刺激’以測試該處理器的該至少一邏輯塊。 =發明亦關於-種用於測試—處理器之至少—邏輯塊的 理口。^亥裝置包含:-測試控制器,其經組態以在由該處 里益執行一使用者應用式 饵、, μ間產生一停止與測試指示 回應於停止該使用者應_式之該執行之該停止與 日示符的該產生’及視需要儲存該處理器之該至少一 塊的一狀態;至少一掃描鏈,其中該測試控制器進一 117738.doc 200817704 步經組態以將測钴兮者 、 5亥處理器之該至少一邏輯塊的一測試刺 激輸入該至少一播> ^ 、 田鏈持績複數個時脈週期,及將測試处 果輸出該至少一播 幹為鏈,一型樣產生器,其經組態以產生 該測試刺激,·及一芩音八乂 σσ 4 分早分析裔,其經組態以產生至少一對 應於該等輸出^:士 JL μ # ' 果的簽早,及比較該至少一簽章與一相對 應的預期簽章。 【實施方式】 Γ :製以貝枓處理系統並送交終端使用者之後,需要在正 間進行測試,以確保資料處理系統仍然運作正 二例:、:資料處理系統可能是在汽車中使用,因此在使 π車之後’將需要對此資料處理系統測試進行。 。:乍』間疋期執订測試碼的片段’以測試資料處理系 、·。…、'而,此測試碼通常提供一 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 率。此測nw" ⑯且不凡全的測試覆蓋 式碼通吊也报緩慢,且對於測試資料處理系統很 ==率°此外’這些測試碼必須針對錯誤進行分級,這 :二複雜。另—種選擇是掃描測試。使用掃描測試容 易徒供較尚的測試覆蓋率。秋 么…L 复盖手然而,如果在操作期間執行傳 、,,的知描測試,每次執行掃描 -灿处,, 彳、时,將逍失處理器的目 刖狀恶。如本文即將說明的, 資料_ _ 0 β ^ 不 '明的具體貫施例允許在 貝枓處理系統的正常操作期間 試,其中侵入式測試是指影塑資料卢軟肢引導的侵入式測 ^能、, “貝科處理系統之狀態或造成 八狀恶这失的測試。例如,一 ^ _ ,、體貫施例結合邏輯内建自 我測忒(LBIST)使用掃描測試方法, 行測試。在一且體每浐存丨由 在正吊知作期間進 在具體貝施例中,使用停止與測試指令以啟始 117738.doc 200817704 測試。
本文中所使用的術語,,匯流排”是指複數個信號或導體, 可用來傳送-或多個各種類型的資訊,例如資料、位址、 控制或,態。本文所述導體可以解釋為單_導體、複數個 導體一單向導體、或雙向導體、然而,不同具體實施例的 導體貫細會有所不同。例如,可能會使用分開的單向導體 :不使用雙向導體’反之亦然。同樣地,可能會以依序或 心時間多工之方式傳送多個信號的單—導體取代複數個導 體。相同地,載送多個信號的單一導體可以分成载送這此 信號子集的各種不同導體。因此,有許多用於傳送信號的 當論及分別使信號、狀態位元、或類似裳置變成邏輯直 或邏輯假狀態時,使用用語"確立"或"設定"及”否定"或”取 请"。如果邏輯真狀態是邏輯位準―,則邏輯假狀態是邏 輯位準零。及如果邏輯真狀態是邏輯位準零,則邏輯假狀 態是邏輯料―。目此,本文料每—㈣可料為正邏 輯或負邏輯…負邏輯如信號名稱上的橫槓或名稱後的 星號(*)所示。纟負邏輯信號的情況中,此信號為有效低位 準,其中邏輯真狀態對應於邏輯位進 铒位旱零。在正邏輯信號的 情況中,此信號為有效高位準,复由、溫拉士, + 其中邏輯真狀態對應於邏 輯位準-。請注意,本文所述任何信號可設計為負邏輯信 號或正邏輯信號。因此’可將這些所述為正邏輯信號的信 號實施為負邏輯信號,及將這些所述為負邏輯信號的信號 貫施為正邏輯彳6 "5虎。 117738.doc 200817704 ’以方塊圖顯示根據本發明之—項具體實施例的資料 處理系統10。貧料處理系統1〇包括處理器U、停止與測試 S 巾斷t制②20、其他模組16、記憶體1 8及匯流排 26。處理器12、中斷控制器20、停止與測試電路14、其他 模組16、及記憶體18全部與匯流排%為雙向熬合。盆他模 組柯包括任何類型及數量的模組,例如,其他記憶體、 處理器、共同處理器、輸入/輸出設備、計時器、或任何 其他類型的週邊設備。或者,資料處理系統H)中也可以沒 有任何其他模組。記憶體18可為任何類型的記憶體,例 如,唯㈣憶體(ROM)、隨機存取記憶體(RA⑷等。在一 具體實施例中,由處理器12執行的使用者應用程式係儲存 於記憶體18中°還有’在所示的具體實施例中,處理器12 包=其他模組監控器5〇(此為非必要模組,其說明如下)。 ϋ :了止與測4電路14係麵合至中斷控制器別及處理器I〕。 中斷控制器20提供中斷指示符22至停止與測試電路μ。停 ^與測試電路14提供重設48至處理⑽並自處理器η接收 了止與測試指示符24。還有’資料處理系統1〇包括多工器 32及解多工器28,各接收停止與測試啟用料。處理器 12輪出掃描出(1-N) 40至解多工器28,基於停止與測試啟 =4’將掃描出(1·Ν)作為停止與測試心苗出㈣⑼或外 部掃描出(1-Ν) 37提供至停止與测試電路14。多工器3〇接 ,自停止與測試電路14的停止與測試掃描入(1, 35及外 部掃描入(1·Ν) 38 ’及基於停止與測試啟用料,提供這此 。虎之-作為處理器12的掃描入(1_Ν) 41。多工器32接收 117738.doc -10- 200817704 自停止與測試電路14的停止與測試掃描啟用36及外部掃插 啟用39,及基於停止與測試啟用44,提供這些信號之一作 為處理器12的掃描啟用42。請注意,圖】中的N代表任何大 於零的整數及對應於存在於處理器丨2中之掃描鏈的數目。 • 因此,請注意,多工器3〇可包括N個多工器,及解多工哭 • 28可包括N個解多工器。還有,在供選擇的具體實施: 中,可此不存在解多工器28。例如,在不執行掃描測試 時,可完全忽略掃描輸入。 可將外部掃描出(1_N) 37、外部掃描入(1_N) 38、及外部 掃描啟用39之每-者遞送至資料處理系統1〇的外部接點或 接腳。或者,可將這些外部信號的任何信號多工至較少數 的外部接點或接腳。例如,可透過相同接點或接腳輸入所 有掃描入鏈,而非透過^^個接點或接腳來輸入。還有,在 供選擇的具體實施例中,可提供不同電路,以實施多工器 3〇與32及解多工器Μ的功能。在又另一具體實施例中,完 全不提供外部掃描輸入及輸出(如外部掃描出37及外部掃 描入38),致使從停止與測試電路14提供所有掃描輸入及 輸出及將所有掃描輸入及輸出提供至停止與測試電路 14 〇 在刼作中,在未確立停止與測試啟用44時,多工器3〇及 32分別選擇外部掃描入(1-Ν) 38及外部掃描啟用^,致使 :卜Ρ掃描入(1-Ν) 38提供為處理器12的掃描入(1-Ν) 41, 及將外部掃描啟们9提供為掃描啟用42。同樣地,在未確 立停止與測試啟用44時,解多工器38提供來自處理器㈣ 117738.doc 200817704 掃描出(1·Ν) 4〇至外部掃描出(i_n) 37。依此方式,可將外 部測試器轉合至處理哭〗9 ^ p 口口勺知十田輸入及輸出,以掃描測試 處理°。12 Μ如,在製造處理器' 12或資料處理系統10之 後’可使用叙合至外部掃描出(1_N)37、外部掃描入d_N) 38及外部掃描啟用39的傳統測試It,對處理器12進行工薇 測試。因此’可使用傳統掃描賴方法執行此工薇測試。 然而,可使用停止與測試電路14,以在實際操作期間(如 在為終端使用者所使用時)’對處理器12提供改良的測 »式以下將參考圖2及3,進一步說明停止與測試電路Μ的 操作。(請注意,資料處理系統1〇其他部分的操作如本技 術中已知的方式進行操作,因此,僅對瞭解本文所述具體 實施例相關之資料處理系統1G及處理器12的這些部分進行 洋細說明。) 圖2根據本發明之_具體實施例,顯示處理器12的部分 (在虛線之内)及停止與測試電路14的部分(在虛線之外卜 :!又而σ可將處理器12的電路顯示為複數個正反器或鎖 存器#自組合邏輯或電路接收輸入及提供輸出至組合邏 輯或電路。例如,圖2顯示處理器12之一小部分的電路, 其包括〇正反器128-130與146-147及組合邏輯140與142。 、、且口邏輯140與142之每一者可包括任何類型的組合邏輯, 以執行各種不同函數。例如,14〇與142之每一者可包括任 何數量的邏輯間(例如,and(及)閘、〇R(或)閘、N〇R(反 或)閘、XOR(互斥或)閘等)。 正反斋128及正反器129提供其輸出至組合邏輯14〇,及 117738.doc -12· 200817704
組合邏輯140提供輸出至多工器144,多工器144再提供其 輪出至正反器146。同樣地,正反器129及正反器13〇提供 其輸出至組合邏輯142,及組合邏輯142提供輸出至多工器 ,多工器145再提供其輸出至正反器147。正反器13〇亦 提供其輸出s〇mi 109至簽章分析器112及至其他邏輯 150(如處理器12内的其他組合邏輯,圖2未顯示多工器 144亦接收Sin2 110作為輸入。正反器128_13〇之每一者; 別接收自多工器131_133輸入的資料。多工器ΐ3ι接收來自 隨機型樣產生器1()2的輸人Sinl 1()8及來自其他邏輯134的 另一輸入(如處理器12内的其他組合邏輯,圖2未顯示)。多 工器132接收正反器128的輸出作為輸人,及接收來自其他 邏輯135的另一輸入(如處理器12内的其他組合邏輯,圖2 未顯示)。多工器133接收正反器129的輸出作為輸入,及 接收來自其他邏輯136的另一輸入(如處理器12内的其他組 合邏輯,圖2未顯示)。還有,正反器146提供其輸出至多 工器145的輸入及至其他邏輯148(如處理器12内的其他組 合邏輯’圖2未顯示)。正反器147提供其輸出s晴2⑴至 簽章分析器m及至其他邏輯149(如處理器12内 组 合邏輯’圖2未顯示)。 、 、也啦。例如,可網1 任何正反器的輸出提供至任何數量的組合邏輯部分,且甚 至可將其反饋至提供輸人至相同正反器的組合邏輯部分。 同樣地,每一正反器可自任何組合邏輯部分接收盆輸:。 處理器12可視需要包括任何數量的正反器及任何數量的組 117738.doc 13 200817704 合邏輯,以執行處理器12的函數。還有,可說明處理器⑴ 包括任何數量之叙合一起的邏輯塊,其中每一邏輯塊可包 括至少-掃描鏈或掃描鏈的部分。因此,可掃描測試所有 處理器12或處理器12的一或多個邏輯塊。 在圖2的虛線之外顯示停止與測試電路μ的部分,其包 括隨機型樣產生哭〗、/古* ^ σσ k止铃測試控制器1 0 0、簽章分析 "〇' 簽早比車乂器114、預期簽章儲存器116及測試結果 暫存器1心隨機型樣產生器102提供Sinl則及sin2 11〇
U 至處理器12。請注意,Sinl 108及Sin2 H0可以是圖!中顯 不至處理器12之掃描入(1_N) 41輸入中的兩個,其係在確 立停止與測試啟用44時經由多工器3〇接收自停止與測試電 路H。將SouU 109及Sout2⑴提供至簽章分析器丨⑴請 注意,109及S()ut2⑴可以是旧中顯示自處理器^ 之掃描出㈣40輸出中的兩個,其係在確立停止與測試 啟用44時經由解多工器28自處理器碑供至停止與測試電 路14。還有’停止與測試控制器⑽提供掃描啟用㈣m 至所有多卫器131_133'144及⑷。請注意,SE 138可以 是圖i中顯示至處理器12的掃描啟用42,其係在確立停止 與:試啟㈣時經由多卫器32接收自停止與測試電路Μ。 請注意’在圖2中,將停止與測試電路似處理器以 間的輸出及輸入顯示為直接連接’而沒有多工器Μ、刊及 32’以免圖2變得太複雜。還有’如果處理器邱需要外 部掃描連接,則資料處理系統1G亦可不包括多mu 及32,且停止與測試電路14及處理化之間的輸入及輪出 117738.doc •14- 200817704 可直接連接,如圖2所示。 仍然參考圖2 ’停止與測試控制器1〇〇接收重設ι〇6,及 提供重設48至所有正反器128_13〇、146及147。在一具體 實施例中,重設106是經由匯流排26接 f Λ ㈣提供至簽章分析器112、隨機型樣產生器⑽^ '。果暫存„ 118 Μτ止與測試控制器1〇〇亦包括復原向量 '最大時脈154及最小時脈156。這些可以是位在停止 與測試控制器100(或甚至可以位在停止與測試電路14或資 料如理系統10中他處)中的暫存器或其他儲存電路。停止 與測试控制器100接收來自中斷控制器2〇的中斷指示符 22,提供強制錯誤信號158及啟動16〇至隨機型樣產生器 1〇2 ’提供簽章識別符124至預期簽章儲存器⑴,及提供 比較126至簽章比較器114。簽章比較器m接收來自簽章 ί析器112的簽章120及來自預期簽章健存器116的預期簽 早115 \並比較此二者,然後將比較結果122提供至測試結 :暫:二18。測試結果暫存器118亦可與匯流排26雙向耦 口。二主意’可將測試結果暫存器Π8及預期簽章儲存器 116各貝加為暫存器,或實施為任何其他儲存電路。例 如’其可位在資料處理系統10内的記憶體 結果暫存哭丨彳S芬:父立 ^ 5式 内的料器116可位在㈣處理系統 生哭10 _^中已知所產生的時脈104提供至隨機型樣產 器㈣坦Γ止與測試控制器100、簽章分析器112及處理 σ ϋ供至正反器128-130、146及147的每一者)。時脈 117738.doc -15- 200817704 i〇4代表資料處理系統10内 系統1〇或處㈣匕…唯時脈’或代表資料處理 … 時脈域。在此例中,處理器12的 = 分例如可位在不同時脈域之内,因而可接收不同: …、時軸不同)。時脈域時脈之每 脈產生或分閱姦+ _ , ㈡々日U糸統時 , i。延坠時脈’無論組態為何,均如本技 何中已知的方式產生及提供。
U 請注意’在操作中,多工器131_133、144及⑷允許對 7理.12進行掃描測試。這些多工器係用以建立各種掃描 .(其中兩個顯示於圖2 ’ ―個具有輸人Shu 1G8及輸出 S〇UU 1〇9’及另-個具有輸入Sin2 110及Sout2 lu)。例 如,一個掃描鏈包括正反器128-130,其中,在確立SE 138日?提供掃描鏈輸入如"〇8作為至正反器128的輸 入提供正反窃128的輸出作為至正反器129的輸入,提供 正反器129的輸出作為至正反器13〇的輸入,及正反器130 的輸出提供掃描鏈輸出s〇utl 1〇9。同樣地,處理㈣的另 一個掃描鏈包括正反器146及147,其中,在確立沾138 時’提供掃描鏈輸入Sin2 11〇作為至正反器146的輸入,提 供正反器146的輸出作為至正反器147的輸入,及正反器 147的輸出提供掃描鏈輸出s〇ut2 lu。因此,在確立se 138時’彳分別轉移入及轉移出掃描輸入及輸出’以測試 處理器12的全部或部分。 清注意,在未確立SE 138時,處理器12正常操作,其中 由處理器12的組合邏輯提供正反器128_13〇、146及147的 輸入,並將輸出提供至處理器12的組合邏輯。也就是說, 117738.doc -16- 200817704 在未確 138的正常操作期間,正反器的輸入及輸出未 經鏈接’因此無法形成上述掃描鏈。 出未 =注意’在所示的具體實施例中,顯示其中在每正 反态之輸入處使用多工考 〇勺mUX-D掃描鏈組態,因而D正 ^偷態用於正常操作及經組態為測試的掃描鏈。缺 而’清注意,亦可倍用使 、 I他知描鏈、组態及其他記憶體元 件。例如,如本技術中 可使用位準敏感掃描設計 (Level-Sensitive Scan Design,ls 理器12的掃描鏈組態可有 ^、。'、⑭注意,處 有斤不冋。例如,處理器12可包括 =鏈或任何數量的掃描鏈。還有,每—時脈域可存 何數量的掃描鏈,如上所述。還有,每-择描 於任何任意的長度(因此包括任何任意數量的正反 益或其他記憶體元件此外,在一些具體實施例中,掃 田鏈組織為可組態’因而可修改掃描鏈連接,以允 處理器12之部分内之掃描鍵的數量及/或長度。此組態可 猎由以下方式來完成:修改多工器⑶、132、133、144及 :45的輸入及控制,以達成處理以2之正反器之輸出之供 4 Γ的互連。此控制可由停止與測試控制器100供應,或 自資料處理系統10内他處提供。 請注意,在否定SE 138時的正常操作期間,處理器12的 正反器儲存處理器的目前狀態。隨著每一時脈脈衝,基於 透過組合邏輯自一個正反器傳播至另一個正反器的值,相 應地更新正反器的值。例如’在否定se 138時的正常操作 期間’正反器128及129的輸出透過組合邏輯⑽傳播,以 117738.doc -17- 200817704 η ο 產生至多工器144的輸入。在時脈104對正反器146計時 後’工由夕工态144將組合邏輯140的此輸出儲存至正反器 146(因為多工器144、沾138的選擇信號已遭否定)。當在 掃描測試期間轉移時(其中確立SE 138),正反器形成 T鏈(士 Ji所述;>,丨中轉移入若干掃描鍵輸入(即測試刺 激或測試輸入)。在轉移入若干輸入後,將否定SE 138 ’ 2使下-個時脈在測試期間產生功能週期,其中在掃描鏈 2㈣#自透過組合邏輯傳播之轉移人測試輸人的測試結 後,再次確立SEm,以便接著轉移出擷取的輸 、此方式,輸入(測試刺激)係在SE 138確立時提伊至 :理:;2在接著在否一時提供時脈以提供功能週 、再次確立SE 138時從處理器12讀出輸出。 13Γ時主轉V在—具體實施例中,隨著輸入的數量在確立阢 夺轉私入,將轉移出相同數量的輸出。也就是說,每 定人=測試輸入時,同時轉移出㈣ 入及輸出I*可分別轉移入及轉移出任何數量的測試輸 =出,以允許產生功能週期。此數目可以是任何大於 或荨於1的整數。例如,在一具 、 個輸入之後(同時轉移出—個輪:…在轉移入- 功能週期隨著下一個時脈發生。在:、=SE138,致使 中,在否定SE 138之前,可 4擇的具體實施例 五個輸出)’以允許產生功能::入 間,可將時脈⑼說明為’在掃描測試期 期,其中在確立SE138時將輪入及=輪入/輸出轉移週 翰出轉移入及轉移出掃 117738.doc 200817704 描鏈,及如同允許產生其中否定SE 138的功能週期,以擷 取传自透過組合邏輯傳播之轉移入測試刺激的測試結果。
ϋ 例如,芩考圖2,對於掃描測試,確立SE 1 3 8及將特定 數目的測試輸人掃描至掃描鏈中。也就是說,使用時脈 1 〇4之特定數目的時脈週期以輸入測試輸入於每一鏈中。 例如,在時脈104的第一測試輸入/輸出轉移週期中,分別 、、工由Sinl 108及Sin2 11〇,將測試刺激轉移入正反器以^及 146的每一者。在時脈1〇4的此第一測試輸入/輸出轉移週 期期間,亦分別經由s〇utl 1〇9及3〇加2 m,自正反器I” 及147轉移出數值。在時脈1〇4的下一個測試輸入/輸出轉 移週期期間,分別將在正反器128及146中的值轉移入正反 器129及147,及將在正反器129中的值轉移入正反器丨3〇。 正反器130及147的值係分別輸出為s〇uU丨⑽及以加2 111。視需要’可發生任何數量之此測試輸人/輸出轉移週 期。在所要數量的測試輸入/輸出轉移週期之後,藉由否 定SE 138來執行功能週期。在此功能週期中,分別將自其 他逯輯134、其他邏輯135、其他邏輯136、組合邏輯“ο、 及、且a迷輯142傳播的值與時脈104擷取至正反5|丨28 130、146及147。在下一個測試輸入/輸出轉移週期期間, 轉移出這些擷取的值(同樣地轉移入新的輸入)。 口月左思,通常在啟動掃描測試之前,將重設正反器至已 知的值,例如,邏輯位準零。亦請注意,在啟動掃描測試 之前,可將正反器、、组態成數個替代選擇之—,以定義掃描 鏈的數量及掃描鏈長度。組態控制可自圖2的停止與測: 117738.doc •19- 200817704 控制器ιοο供應’或自f料處理“職處供應。 基於轉移入的測試輸入’將預期特定的結果。因此,可 將轉移出掃描鏈的輸出值提供至簽章分析器,以建立 與對應於轉移入之測試輸入之預期簽章比較的簽章。如果 . 此二者不匹配,則表示失敗。請注意,在—具體實施例 . 巾’可轉移人輸人的預定向量,其中這些敎向量之每一 者具有相對應的預期簽章。或者,可使fflLBIST,其中可 Ο =用,隨機數產生器產生偽隨機向量(測試輸入),即非預 疋向里。攻些向量亦具有相關聯的預期簽章,其可用以決 定測試的通過或失敗。 請注意’掃描測試是提供系統之整體健全的優良方式。 也就是說,其可用來確實測試要測試之設備的全部、大多 數部分、或僅-大部分(即待測設備或加丁’其在圖2的範 例中為處理器12)。然:而,由於掃描測試需要使用儲存 謝狀態的相同正反11,因此其極具侵入性,因為DUT的 目前狀態將在掃描測試後遺失。還有,LBIST透過在掃描 測試中使用偽隨機型樣,其為測試而整體健全的便利方 法。LBIST提供基於DUT偽隨機數的掃描刺激。藉由使用 先前所提掃描刺激所獲得的錯誤覆蓋率可以非線性覆蓋率 曲線表示,其中,例如’測試覆蓋率的增加始於特定數量 之時脈後的急速下降。所獲得的實際覆蓋率係由在LBIST 產生期間使用的工具決定,及通過/失敗狀態係由比較實 際簽早與預期簽早決定。通常有兩個方式可獲得較高的錯 决覆盍率’將可控制點及/或可觀察點插入設計或重複序 117738.doc •20- 200817704 =長的時m’通常在運送設備給終端使用者之前 (因此=由終端使用者正常操作之前),在工廢完成L· ㈣田測武’其中測試是否具有侵入性並無關緊要。 /考圖2及3所說明的’本發明的具體實施例允許在正 ^呆作期間進行此類型的侵人式測試。也就是說,可寫入 :处里12在正吊刼作期間(如為終端使用者所使用時) 進行掃描測試的軟體。例如,在-具體實施例中,可在使 ϋ ^用!式中使用軟體指令(如停止與測試指令)啟始處 益2的# &測s式。或者’軟體指令可造成使處理器η進 行掃描測試的某個動作。例如,寫入位元於特定暫存哭或 ―位置的指令可啟始處理器12的掃描測試。請注意了依 …,執行於處理器12的軟體可產生啟始處理器12本身 之掃描測試的停止與測試指示符。因A,可透過在正常操 2期間的軟體控制達成所有或大部分處理器12的整體置声 :級’而不必寫入複雜的軟體測試函數,士。同本技術中目 ^做的。如上述,這些軟體測試函數僅測試含軟體之處 心的部分,並僅提供有限的覆蓋率,不像掃描測試。 遲有,如圖1所示’處理器12可包括其他模組監控器 ’其監控資料處理系統_的其他模組,如其他模电 中以^何時應該執行停止與測試程序。在一具體實施 例。中’其他模組監控器50因此提供停止與測試指示符至處 理為、12,以回應於資料虛备 處理糸統10中-或多個其他模組的 疋/ 日應於#止與測試指示符’啟始處理器J 2之人 部或部分的掃描測試,或取代測試處理器12或除;測試2 117738.doc 200817704 理為12之外,測試處理器12外部的電路部分。例如,其他 模組監控器50亦可提供指示,以指示在停止與測試程Μ 間’要對哪個其他模組16(或其他模組16的部分) 打 測試。 Μ田 Π
I 請注意,將關於作為DUT的處理器卞提供圖2及3的說 明。然而,本文說明亦適用於可以是處理器12之任何部八 的繼(如處理器12的—或多個邏輯塊)或資料處理系統二 7任何其他部分。也就是說’圖2的掃描鏈可以屬於資料 處理系統10中的某個其他模組,而非處理器12。在—且體 貫施例中,除了資料處理系統10的任何其他模組之外了可 在測試的處理器12中共用及使用停止與測試電路14,或單 獨的停止與測試電路可用於處理器12及能夠以本文所述的 方式在正常操作期間進行掃描測試的任何其他模組。 圖二根據本發明之一具體實施例,顯示在正常操作期間 -22- 200817704 使用者應用程式控制此工廠測試的時序。 流程接著繼續進行至方塊,其中可將f料處理㈣ 顧入終端使用者應用料。例如,可將資料處理系㈣ 納入汽車、手持設備等。在一具體實施例中,可僅在處理 器12上執行在方塊202中說明的工廠測試。在此例中,在 方塊204中,可接著將處理器12納人f料處理系統(如 處理系統1〇),及接著亦可納入終端使用者應用程式。、在 -具體實施例中,資料處理系統1G本身可以是終端使 應用程式。 流程從方塊204經由點A繼續進行至方塊2〇6,其中執行 使用者應用程式。例如,—旦處理器12在終端使用者岸用丁 程式(如汽車)中,即在處理器12上執行使用者應用程式。 此夺貞料處理系統1〇已經出廉且在終端使用者的掌握 中。流程接著繼續進行至決策菱形2〇8,其中決定使用者 應用程式是否指示停止與測試程序。如上述,這可藉由使 ^者應用程式以各種方式來進行。在一具體實施例中,可 已、工解馬使用者應用程式内的停止與測試軟體指令,以 指示停止與測試程庠。+、 W序或者,使用者應用程式内寫入特定 子^或°己憶體位置的軟體指令可能已由處理器12内的電 路所4貞側5並4b ~ 。。貝U /、心不停止與測試程序。在任一情況中,在處 理二112内1旨示停止舆測試程序時,自處理器12提供停止與 „符24至停止與測試電路14。在停止與測試軟體指 令的前一個具體眷 也列中’處理器12的指令解碼器可提供 停止與測試指示符24,及在寫入特定位置的後一個具體實 117738.doc -23- 200817704 鉍例中’輪詢特定位置或以其他方 供停止與測試指示符24。(或者,可::的電路可提 指示Wm程序,如上所述。)以他⑼監控器50 彺回參考圖3,如果使用者應用程 試程序,流p ^ 未拍不停止與測 如果浐干疒王回點A ’其中使用者應用程式繼續執行。 盆中=止與測試程序,則流程繼續進行至方塊21〇,
Ο 1 T仃使用者應用程式並儲存處理ϋ 12的狀態。視 而要,可儲存處理器12中正反器全部戍 Λ ^ L Λ 1 4 4分内的值,以便 、測試程序之後,能夠從相同點繼續執行。或者, 制=應用程式在指示停止與賴程序時可能處於閒置狀 因2不需要儲存狀態。在又另_供選擇的具體實施例 可施僅需要儲存一些正反器’以節省時間與資源。在 =選擇的具體實施例中’可使用軟體指示要儲存處理器 那個部分。還有,如果需要儲存狀態,可在使用者應 用程式中提供額外的軟體指令’以指示要儲存哪個正反器 =存於何處’或可提供指示健存所有正反器的額外軟體 指令。或者’在指示停止與測試程序後’可使用專用硬體 電路’以對正反器之全部或部分的目前狀態執行更快 儲存。 在視情況儲存狀態之後,流程繼續進行至方塊212,其 中將停止與測試指示符24提供至例如停止與測試電路丨4。 流程繼續進行至方塊214, #中執行重設。例如,停止與 測試電路14提供重設48至處理器12的正反器及至資料處理 系統10内需要重設的任何其他電路,例如,隨機型樣產生 117738.doc -24- 200817704 器102 簽章分析器112及測試結果暫存 如停止與*m ㈣存杰118。此確保例 〇州4程序始於已知的值。在一 設(如重設48^ 具體貫施例中,重 艘初始::每個元件’其中,例如,可使用軟 著繼續進行至方塊216’其中將時脈計數檢查點 、擇作為目前的檢查點。也 馮測忒係在正常操 …。在執行使用者應用程式期間)執行,每次指示停 止與測試程序時,日㈣可能不允許完整的職。因此,僅 在已先達到特定數目的時脈時]需要比較及分析測試結 ^ 下列為使犄脈數與LBIST提供之DUT的錯誤覆 蓋率相關的取樣表。(僅提供下表作為範例,其中實際值 為设计敏感值。) 時脈數 覆蓋率 20 5% 100 10% 500 30% 2000 70% 因此, 如果提供500個時脈, ϋ 因此,在-具體實施例中,僅在達到特定時脈檢查點後更 新測試結果。在一具體實施例中,根據所要的覆蓋率等級 (例如,5%、10%、3 0%等)設定時脈檢查點,其中在2〇時 脈(對應於5%)之後、在1〇〇個時脈(對應於1〇%)之後、在 500時脈(對應於30%)等之後,更新測試結果。還有,在目 前的具體實施例中,上表中的時脈數是指功能時脈週期 (如上所述),其中未計算提供用於測試輸入/輸出轉移週期 117738.doc -25 · 200817704 、日守脈n在供選擇的具體實施例中,該表可經設定 致使時脈數代表所提供的所有時脈。因此,在方塊216, 選擇第-時脈計數檢查點,例如,2〇個時脈。 流程繼續進行至方塊218,其中在確立犯138時,對χ個 時脈轉移入測試刺激,同時轉移出測試結果至簽章分析器 112如上述’可執订任何數量㈣)的測試輸入/輸出轉移 週期,其中X可以是大於或等於_的任何整數。還有,在 所示的具體實施例中,LBIST係在停止與測試程序期間執 仃因此,考圖2,分止與測試控制器i 〇〇回應於停止盘
測試指示符24,提供啟動⑽至隨機型樣產生器1〇2(在I 具體貫施例中’其為偽隨機型樣產生器)並確立SE 138。 回應於啟動副,隨機型樣產生器1〇2開始經由⑽1〇8及
Sin2 H0提供偽隨機輸入至掃描鏈。(請注意,由於這此輸 入係經由Shl1⑽及如2 110提供,輸出亦經由Soutl 109 及Sout2 111轉移出。) ϋ 流程接著繼續進行至方塊220,其中在否定卯時提 供系統時脈(如時脈104)(以提供功能時脈週期),則更基於 在方塊218轉移入的測試刺激,在掃描鏈中擷取㈣輸 出。還有,使時脈計數增量’其記錄為功能週期提供的時 脈。在-具體實施例中,將此時脈計數保持在測試結果暫 存器118中,其中測試結果暫存器118可包括例如時脈⑽ 攔。也就是說’在-具體實施例中,測試結果暫存号⑴ 可健存使時脈週期量化的值。或者,可將此時脈計數儲 於資料處理系統1〇中他處,其令,如以下所說明 117738.doc * 26 - 200817704 結果暫存HU8的時脈計數欄可僅料達到時脈計 點時的時脈計數。 一 流程繼續進行至決策菱形221,其中決定是否已接收中 斷。❹,在一具體實施例中,資料處理系統呢括中斷 控制裔20,其決定何時在資料處理系統10中接收中斷。接 收:斷後,其提供中斷指示符22至停止與測試電路14。在 目前的具體實施例中,任何中斷將使停止與測試程序社束 並使正常操作重新開始。或者,僅特定中斷或特定優先等 級的中斷可使停止與測試程序結束及使正常操作重新開 始。往回參考圖3,如果已接收中斷(由巾斷指*符22對停 止與測試電路14指示),流程透過點6繼續進行至方塊 234’其中執行另一重設。此重設類似於參考方塊214中說 明=重設。流程繼續進行至方塊236 ’其中執行始於復原 向量位置。也就是說,可使用復原向量指示處理器12的執 行應重新開始於何處。此復原向量可以是圖2的復原向量 152,並經儲存於停止與測試控制器1〇〇内(或停止與測試 電路14内他處)。或者,此復原向量的作用為處理器12的 邏輯中所固在此例中,將不需要停止與測試控制器 100的復原向量152。流程接著繼續進行至方塊238,其中 若在方塊210中儲存狀態,則復原狀態。流程然後返回點 A ’其中使用者應用程式繼續執行。 請注意,如果在決策菱形221,在達到第一時脈檢查點 之4接收中斷’將不為決策菱形2〇8至方塊21〇之,,是,,分支 啟始的停止與測試程序儲存任何測試結果。如果在決策菱 117738.doc -27· 200817704 形221尚未接收中斷,流 氺贪拄脱4去m 運仃至決朿菱形222,i中 决疋時脈汁數(如測試結果暫存器ιΐ8的時 = 到或超過第一時脈計數檢查_卩疋達 意’在-具體實施例中, 、仏-點)。(請注 時脈舛勣納述,測試結果暫存器118的 時脈什數攔僅儲存達到時 此測試結果暫存器118永遠顯干=占時的時脈計數,因
Et * 曰_ "、最新達到的時脈計數檢杳 點。在此具體實施例中,在 - 形222中決定曰不" 增量及用以在決策菱 數可二1: 超過目前檢查點的實際時脈計 數了儲存於處理器12或資料處理系統!。中他處,或甚至可
儲存於測試結果暫存器118的另一 ^ T 形222尚未達到目1 1位中。)如果在決策菱 方心S甘 脈計數檢查點,流程返回 方塊2 1 8,其中轉移入更多、^ ^ ^ 果,及返回方塊22。,其;執;出更多測試結 試達到目前的檢查點。執订另—功成時脈週期,以嘗 士口果在決策菱形222 ’時脈計數已達到或超過目前的檢 一點,流程繼續進行至方塊224,1 輪ψ Τ比較自轉移出測試 輸出㈣_ Π)9及S_2111)計算料章與預期簽章,及 二也:整通過/失敗指示符。在一具體實施例中,測試 :暫存:亦包括通過/失敗指示符’其可以是只要測試 =才曰不通過便保持邏輯位準一的單—位元,且其在測試 ¥致,敗時(即測試結果不匹配預期簽章時)變成邏輯位準 零:早一位元。或者’可在測試結果暫存器118中為上表 的每-時脈計數檢查點提供通過/失敗指示符,其中邏輯 位準-指示通過相對應的檢查點’及邏輯位準零指示=相 H7738.doc -28- 200817704 對應的檢查點失敗,或反之亦然。或者,可使用其他儲存 通過/失敗結果的方法。 凊注意,參考圖2,將經由soutl 109及sout2 Hi自掃描 鏈轉移出的測試結果提供至簽章分析器112。簽章分析器 112基於這些輸出建立簽章12(),並基於停止與測試控制 100提供的比較126,提供簽章12()至簽章比較器114,以啟 用比較。還有,預期簽章儲存器116提供預期簽章115至簽 章比較器114以進行比較。基於接收自停止與測試控制器 二〇的簽章識別符124 ’選擇預期簽章儲存器116的預期簽 章。因此’停止與调J試控帝I器1〇〇控制隨機型樣產生器 102,並相應地控制預期簽章的選擇。請注意,如本技: 中已知,可使用習用的偽隨機型樣產生器及簽章分析器。 此外’如本技術中已知’亦可建立儲存於儲存器m的預 期簽章。例如,可藉由DUT的模擬來計算預期簽章。 仍然參考圖2,簽章比齡$ 1 ] 4 ^ Ο 欢早比竿乂态II4比較簽章與預期簽章 11 5,並將比較結果122提供 促1八主,則试結果暫存器11 8。然 後’可視需要更新測試結果暫在 、 。衣节存态118中的通過/失敗指示 符,以反映比較結果i22。你丨士 丄田t ^ 士’如果比較結果122指示匹 配則5又疋^日示通過的通過/失敗 > -义/ 、天敗杉不符(如設為邏輯位準 一)。然而,如果比輕έ士罢1 〇 〇 一 , 、 早乂、、、口果122指不失配,則設定指示失敗 的通過/失敗指不符(如清除為邏輯位準零)。 往回參考圖3,流程繼續進 θ 具延仃至決朿雯形226,其中決定 是否由於方塊224的比鲂而一 , 〇比i而心不通過或失敗。如果發生通 過(如指示簽章1:2〇確實匹酎 隹只匹配預期簽章115,如比較結果122 117738.doc -29- 200817704 所示),則流程繼續進行至決策菱形228。在決策菱形228 中’再次決定是否已接收中斷。如上述,可經由中斷2 2將 此中斷指示給停止與測試電路14。為決策菱形221之中斷 提供的相同說明亦適用於決策菱形228。如果已接收中 • 斷,流程繼續進行至方塊234,其中流程繼續進行通過方 塊234、236、238、206等,如上所述。因此,在接收中斷 時,測試並不繼續,且正常操作重新開始(例如,其中使 用者應用程式的執行重新開始)。 然而’如果未在決策菱形228接收中斷,流程繼續進行 至決策菱形230,其中決定是否已達到最大時脈計數。例 如,在一具體實施例中,可使用最大時脈計數(例如,其 可對應於圖2的最大時脈1 5 4,其儲存於停止與測試控制器 100或停止與測試電路14中他處)。如果已達到最大時脈計 數,流程返回決策菱形228,以決定是否已接收中斷。(還 有,如以下進一步說明,如果已指示失敗,如在方塊 U 227,流程亦返回決策菱形228。)如果已達到最大時脈計 數,測試並不繼續,而是流程在決策菱形228及23〇之間繼 續,直到接收中斷為止。此時,流程從決策菱形228繼續 進行至方塊234,其中正常操作重新開始,如上述。(在供 選擇的具體實施例中,在達到最大時脈計數後,停止與測 試程序停止及流程繼續進行至方塊234,其中使用者應用 程式的執行重新開始,不必等待中斷。)在決策菱形23〇, 如果尚未達到最大時脈計數(及因為尚未接收中斷以停止 此停止與測試程序),流程繼續進行至方塊232,其中選擇 117738.doc •30- 200817704 J,個時脈核檢查點作為目前的檢查點。例如,參照上 J 了 —個時脈計數檢查點是指下-個項目為H) 0個時 …就是說,下一次更新測試結果時(在方塊224)將是目 别守&汁數在接收中斷前達到100個時脈時。 2具體實施财,如果時脈計數未制目前的時脈計 广點,例如因為在提供足夠數量的功能時脈之前發生 4下個彳τ止與測試程序必須從開頭再次啟動,豆 中^如’將τ—個停止與測試程序的目前時脈計數檢查 點设回至第—時脈檢查點(此在上文提供的取樣表中為20 個時脈)。 往回參考決策菱形226,如果發生失敗(如指示簽章12〇 不,配預期簽章115,如比較結果122所示),則流程繼續 :仃至方塊227,#中指示失敗。請注意,指示失敗可參 照於上文參考方塊224所述之測試結果暫存器ιΐ8中對於通 過/失敗指示符的調整,或亦可包括提供指示失敗的額外 輸出。流程接著繼續進行至決策菱形228,其中決定是否 =收中斷。流程如上文參考決策菱形228所述繼續進行。 。月注思,在所不的具體實施例中,流程在決策菱形及 230之間繼績,直到接收中斷為止,致使流程繼續方塊 234,因此重新開始正常操作(如重新開始使用者應用程式 的執行)。在供選擇的具體實施例中,在決策菱形23〇 ,如 果已達到最大時脈計數,或如果已指示失敗,流程可立即 繼續至方塊234,及重新開始使用者應用程式的執行,而 不必等待中斷以退出停止與測試程序。 117738.doc 200817704 在供選擇的具體實施例中’圖3的流程亦可包括最小時 脈檢查。例如,如圖2所示,可在停止與測試程序期間, 使用儲存於停止與測試控制器1〇〇(或 存於停止與測試電 路14内他處)的最小時脈15 6。在一呈每 〜篮κ施例中,在更新 任何結果之前,應接收最小數量的時脈。在另一具體實施 例,甚至在檢查是否已接收中斷(如在決策菱形叫之前^ 接收最小數量的時脈。還有,在另一供選擇的具體實施例 中’將不使用最大時脈計數。在此例中,決策菱形咖僅 包括是否發生失敗的檢查。 ( 圖3係參考在停止與測試程序期間所執行的LBIST測試 來說明。然而’在供選擇的具體實施例中,可執行其他類 型的掃描測試。或者,在停止與測試程序期間,除了掃描 測試或在掃描測試之外,還可執行其他類型的測試,包括 擾亂處理器狀態的測試°在這些例子中,停止與測試電路 1何包括與圖2所示不同的電路或額外電路,卩完成所要 =型:測試。此外,請注意,圖3流程係為—個範例,並 呀注意’可使用包括額外步驟之供選擇的流程,其包括較 少步驟或其結合步驟。 還有’請注意’以上描述說明其中將測試刺激轉移入掃 描鏈及將測試輸出轉移出掃描鏈的掃描測試。缺而,在供 選擇的具體實施例中,可以不同的方式套用測試刺激。例 如二將測試刺激平行載人掃描鏈。同樣地,彳自掃描鍵 平行5買取掃描測試輸出。 因此,應明白本發明各種具體實施例(如圖3的流程)如 H7738.doc -32- 200817704 r'、 ( 何允許在正常操作期間進行軟體引導的侵入式測試,致使 在出薇後及在正常操作(如在終端使用者應用a式中)期 ]可對資料處理系統、處理器、或其部分進行侵入式測 試。由於處理器12的軟體”知道”處理器12本身何時為閒置 或何時能夠進行侵入式測試,軟體在處理器12上執行以控 制執行此侵入式測試之方式及時間的能力(例如,透過使 用停止與測試指示符24),將允許在終端使用者應用程式 中的正常操作期間進行改良的測試。同樣地,軟體(執行 ;处里12上或另一耦合至匯流排%的處理器)通常知道 共同處理或岸馬合至匯流排26的週邊設備何時處於閒置或何 日:可以是閒置。例如,軟體可藉由監控系統活動、按照協 定/或利帛流程控制來得知。因此,由於軟體知道何時可 擾亂設備狀態(透過侵X式測試)然後按狀方式恢復⑼ 如,透過重設及復原操作),軟體可對處理器以或資料處 理系統10的其他部分或二者執行侵入式測試。在一具體實 鈿例中,來自處理器12的停止與測試指示符24亦可指示要 對資料處理系統10的哪個模組或部分進行侵入式測試。 在圖2顯不的具體實施例中,停止與測試控制器提供 強制錯誤信號158至隨機型樣產生器1〇2。此信號可用來測 試及確保測試電路本身操作正確。例如,可設定強制錯誤 :言:158以確保失敗(致使至少一簽章不匹配相對應的預期 簽章’例如’藉由在隨機型樣產生器1〇2的輸出中產生變 化)。然@,如果測試結果暫存器118未指示失敗,則測試 電路本身可能有問題。因此’強制錯誤信號158提供產生 H7738.doc • 33 - 200817704 。果的方式’以確保測試電路本身的正確操作。可使 用軟體指令提供此強制# 執行以確保正確操作。…、^,或者,這可由硬體定期
U 圖4顯示可存在於處理器12之掃描鏈的供選擇的且體實 施例1_掃描鍵根據本發明之一具體實施例,利用額 卜的XOR閘,以更快速地傳播輸人至掃描鏈中較遠的末 端。圖4包括正反器机鳩,其可經組態以在正常操作中 知作(分別接收來自組合邏輯312、314、316、318及咖的 'J )及可、、工組怨以操作為掃描鏈(接收來自另一正反器 的輸入)。請注意’在圖4的具體實施例中,每—正反器内 P匕括夕工器的功旎’該等多工器位在圖2之正反器的輸 入端圖4的每一正反器接收掃描啟用(SE)及時脈輸入。 在否定SE時,每—正反器操作於經由,輸人接收的輸入 ^,因此允許正常操作。在確立_,每一正反器操作為 掃描鏈’其中輸人係經由,,SD,,輸人傳播至掃描鏈。雖然未 在:4中顯示,但亦將正反器的輸出提供至組合邏輯。請 主μ亦可在圖2的具體實施例中使用這些相同類型的正 反器。 圖4的掃描鏈亦包括互斥或以〇11)閘3〇8及31〇。又〇尺閘 3〇8自正反器3()1的輸出接收第一輸入,及自正反器如的 輸出接收第二輸入。χ0ϊ^€ 31〇自正反器3〇4的輸出接收第 輸入’及自正反斋3 05的輸出接收第二輸入。x〇R閘允 許測試輸入以較少量的時脈往掃描鏈下方更遠處傳播。也 就疋說,由於部分正反器(例如,正反器3〇1)的輸出經由 117738.doc -34- 200817704 x〇R閘向前饋送至播折 知描鏈下方更遠的正反器(例如,正反 播、s % 4 遞值的正反器能夠比等待測試輸入傳 播通過掃描鏈中所有 $,σ ^ m 反為更早變更狀態。依此方 ::的時脈週期對掃描鏈的較遠區段執行測試, ;一要沒些較遠正反器的狀態變更狀態,即提供刺激給 =的電路’因而允許更高的測試覆蓋率。
為取代又〇11間3〇8及31〇或除了义011閘3 08及310 之外可使用其他邏輯間,例如互斥反或(XNOR)閘。還 在閘的輸入之間可以有任何數量的正反器,且其數量 不限於圖4所不的數量。例如,可為特定設計產生最佳掃 描職,而選擇閘(如x〇R閑3〇8及31〇)的配置。 运有’請注意,可將處理器12的-或多個掃描鏈說明為 包括第-記憶體元件、記憶體元件鏈及第二記憶體元件, /、中第°己憶體70件的輸出連接至記憶體元件鏈的輸入及 連2至至少_邏輯閘的輸人,及至少—邏輯閘的輸出連接 至第二記憶體元件的輸彳。例%,記憶體元件可以是掃描 鏈内的正反為,其中邏輯閘可以是參考圖4說明的X〇R 閘。記憶體元件鏈可包括任何數量的記憶體元件。 於剷面的"兒明書中,已參考特定具體實施例說明本發 明。然而,熟習本技術者應明白本發明的各種修改,並且 其修改不會背離如下申請專利範圍所設定的本發明範嘴。 例如,方塊圖可包括與所示方塊的不同方塊及可具有更多 或更少方塊或按不同的方式排列。還有,方塊圖亦可按不 同的方式排列、包括更多或更少步驟、或具有可分成多個 117738.doc -35- 200817704 步驟的步驟或可同時互相 圖應視為解說,而不應視為限制;驟。因此,說明書暨附 屬本發明範疇内。 並且所有此類的修改皆 以上已針對特定具體實施例說 題解決方案。但是,優勢、 /、俊勢、其他優點及問 彰顯任何優勢、優點或解決問題解決方案及產生或 任何或所有申請專利範圍的關鍵的=二不應視為 件。本文中所使用的術語 ”"5 土本的功能或元 化,都以來涵蓋非專有内、”包含”或其任何其他變 程、方法、物品或裝置,不二、枯使得包括元件清單的製 未明確列出或此類製程、方、/括廷些元件’而且還包括 件。 万法、物品或裝置原有的其他元 圖式簡單說明】 本發明藉由實例及附圖 此實例㈡進仃解說,但本發明未限定在這 一貝例及附圖内,其中相同 、 及圖式中: > 考付號代表相同的元件, 圖1以方塊圖顯示根據 處理系、統; "月之-項具體實施例的資料 圖2根據本發明之一具徐 柿抑, 版只施例,以方塊圖顯示圖1之處 理為及停止與測試電路的部分· 处 圖3根據本發明之一具 之處理器的方法;& &例,以方塊圖顯示測試圖〗 圖4根據本發明的一項具每 . 。 、焉知例’以方塊圖顯示圖1夕 處理器的部分。 只I Q丄之 117738.doc * 36 - 200817704
熟悉本技術者應明白,為H 例繪製圖式中的元件。例如,為 緊,並不見得按照比 體實施例,圖中部分元件的尺寸:助於瞭解本發明的具 …。 寸和其他元件比起來可能過
【主要元件符號說明】 10 資料處理系統 12 處理器 14 停止與測試電路 16 其他模級 18 記憶體 20 中斷控制器 22 中斷指示符 24 停止與測試指示符 26 匯流排 28 解多工器 30, 32, 13 卜 133, 144, 145 多工器 34 知止與測試掃描出(1-N) 35 停止與测試掃描入(1-N) 36 知止與测試掃描啟用 37 外部掃描出(KN) 38 外部掃描人 39 外部掃描啟用 40 掃描出(1-N) 41 掃描入(1-N) 117738.doc -37- 200817704 42, 138 掃描啟用 44 停止與測試啟用 48, 106 50 100 102 104 108 Π 109 110 111 112 114 115 116 118 U 120 122 124 126 重設 其他模組監控器 停止與測試控制器 隨機型樣產生器 時脈
Sinl
Sout 1
Sin2
Sout2 簽章分析器 簽章比較器 預期簽章 預期簽章儲存器 測試結果暫存器 簽章 比較結果 簽章識別符 比較 128-130, 146-147 D正反器 134, 135, 136, 148, 其他邏輯 149, 150 140, 142, 312, 314, 組合邏輯 316, 318, 320 117738.doc -38- 200817704 152 復原向量 154 最大時脈 156 最小時脈 158 強制錯誤信號 160 啟動 301-306 正反器 308, 310 互斥或(XOR)閘 Γ 117738.doc -39-
Claims (1)
- 200817704 十、申請專利範圍: 】.二種用於測試一處理器之至少一邏輯塊的方法,其包 含· 在由該處理器執行-使用者應用程式期間,該處理哭 回應於停止執行該使用者應用程式之—停止與測試指: :的產生’產生該停止與測試指示符,及視需要儲存該 處理器之該至少一邏輯塊的一狀態;及 塊套用-測試刺激’以測試該處理器的該至少一邏輯 月长項1之方法,其進一步包含由該處理器解碼一停 止與測試指令,以產生該停止與測試指示符。 3·:叫求項2之方法’其進-步包含解碼該停止與測試指 以在套用該測試刺激之前決定一掃描鏈組態。 4·如1求項1之方法’其中套用該測試刺激進-步包含將 、J式刺激轉私入至少一掃描鏈持續複數個時脈週期。 5· 士明求項4之方法’其中該至少一掃描鏈對應於該處理 器的該至少一邏輯塊。 6 士 μ求項4之方法’其進_步包含在轉移入該測試刺激 之前,重設該處理器的該至少一邏輯塊。 θ求員4之方法,其進_步包含將對應於一第一檢查 第-組測試結果轉移出該至少一掃描鏈,及接收 二弟㈣m結果至_簽章分析器,以產生對應於該第 ::測試結果的一第一簽章,其中該第一檢查點對應於 弟1數個時脈週期,及比較該第—簽章與-第-預期 117738.doc 200817704 簽章。 8·如凊求項7之方法,其進一步包含將對應於一第二檢查 點的一第二組測試結果轉移出該至少一掃描鏈,及接收 4第一組測試結果至該簽章分析器,以產生對應於該第 =組測試結果的一第二簽章,&中該第二檢查點對應於 第一複數個時脈週期,及比較該第二簽章與一第二預期 簽章。 9.10. 如明求項4之方法,其中該至少一掃描鏈包含一第一記 隐體το件、一記憶體元件鏈及一第二記憶體元件,其中 3第一兄憶體兀件的一輸出連接至該記憶體元件鏈的一 輸入及連接至至少一邏輯閘的一輸入,及該至少一邏輯 閘的一輸出連接至該第二記憶體元件的一輸入。 如請求項9之方法,其中該至少一邏輯閘為一互斥或 (OR)閘或一互斥反或(N〇R)閘中至少一項。 11. ϋ 12. 13. 14. 15. 如明求項1之方法,其進一步包含使用該測試刺激操作 該處理器的該至少一邏輯塊。 如明求項1之方法’其進一步包含回應於一中斷的一接 收’在該處理器上執行該使用者應用程式。 如請求項12之方法,豆中勃斿兮杜Ώ丄 ^ /、甲執订该使用者應用程式包括執 行始於一復原向量的該使用者應用程式。 如請求項13之方法,其中教杆兮你m | ,、T轨仃忒使用者應用程式進一步 包含如果儲存該處理器之該至少一 ^ ^ ^ 乂 邏軏塊的該狀態,則 復原该處理器之該至少一邏輯塊的該狀態。 如請求項1之方法,其中該複數 心 炎数個時脈週期具有一預定 I17738.doc 200817704 極大值及一預定極小值中至少一項。 16·如6月求項丨之方法’其進—步包含將測試結 至少-掃描鏈,及接收該測試結果至一簽… 妄吐 5; ,1、 , t 〇§ 5 \J\ 座生至少一對應於該測試結果的簽章。 17. 如請求項16之方法’其進—步包含比較該至 一相對應的預期簽章。 _早… 18. :種用於測試一處理器之至少_邏輯塊的裳置,其包 一測試控制器,其經組態以在由該處理器執行 者應用程式_門,# + ^ 吏用 式』間’產生一停止與測試指示符 用者應用程式之該執行之該停止與測試指二 生’ &視需要儲存該處理器之該至少-邏輯㈣ 一狀態; 、弭塊的 、至^ - ^描鏈’其中該測試控制器進一步經組態 測試該處理哭之兮$ /丨、〜、 ,卜一 * 之忒至少一邏軏塊的一測試刺激輪入該至 ^掃描鏈持績複數個時脈週期,及將測試結 至少一掃描鏈; j出该 、樣產生态,其經組態以產生該測試刺激;及 -簽章分析器’其經組態以產生至少一對應於 出結果的簽章’及比較該至少 雨 簽章。 ^贫早/、相對應的預期 月求員1 8之裝置,其進—步包含—測試結果暫存器, 一工組悲以儲存至少一指示測試成功或失敗的值。 士明求項19之裝置,其中該測試結果暫存器進一步經組 117738.doc 200817704 恶以儲存一使該複數個時脈週期量化的值。 2 L 月求項19之裝置,其中該測試結果暫存器進-步經組 、儲存一對應於一最後完成檢查點之一時脈週期數的 值。 =:求項1 8之裝置,其進_步包含一測試結果暫存器, 其、、&組怨以儲存複數個指示測試成功或失敗的值,其中 。亥複數個值中的每一個值對應於一檢查點。 23·如請求項18之裝置,其中該測試控制器進一步經組態以 產生一使該至少一簽章不匹配該相對應之預期簽章的強 制錯誤信號。 月求項23之裝置,其中該強制錯誤信號在該型樣產生 器的—輪出中造成一變化。 25· 士明求項18之裝置,其進一步包含在該停止與測試指示 符的該產生之前’設定該處理器之該至少一邏輯塊的暫 存器為一預定值。 117738.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/355,681 US7444568B2 (en) | 2006-02-16 | 2006-02-16 | Method and apparatus for testing a data processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200817704A true TW200817704A (en) | 2008-04-16 |
| TWI403744B TWI403744B (zh) | 2013-08-01 |
Family
ID=38475623
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW096102861A TWI403744B (zh) | 2006-02-16 | 2007-01-25 | 測試資料處理系統之方法及裝置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7444568B2 (zh) |
| JP (1) | JP5373403B2 (zh) |
| KR (1) | KR101318697B1 (zh) |
| TW (1) | TWI403744B (zh) |
| WO (1) | WO2007103591A2 (zh) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7797599B2 (en) * | 2006-09-27 | 2010-09-14 | Verigy (Singapore) Pte. Ltd. | Diagnostic information capture from logic devices with built-in self test |
| US20080098269A1 (en) * | 2006-09-29 | 2008-04-24 | Bhavsar Dilip K | Mechanism for concurrent testing of multiple embedded arrays |
| US20090228751A1 (en) * | 2007-05-22 | 2009-09-10 | Tilman Gloekler | method for performing logic built-in-self-test cycles on a semiconductor chip and a corresponding semiconductor chip with a test engine |
| US7721176B2 (en) * | 2007-12-06 | 2010-05-18 | International Business Machines Corporation | Method, system, and computer program product for integrated circuit recovery testing using simulation checkpoints |
| US8086925B2 (en) * | 2008-05-20 | 2011-12-27 | International Business Machines Corporation | Method and system for LBIST testing of an electronic circuit |
| US8373435B2 (en) * | 2008-09-30 | 2013-02-12 | Freescale Semiconductor, Inc. | Method and apparatus for handling an output mismatch |
| US8522085B2 (en) * | 2010-01-27 | 2013-08-27 | Tt Government Solutions, Inc. | Learning program behavior for anomaly detection |
| WO2010120737A1 (en) * | 2009-04-13 | 2010-10-21 | Telcordia Technologies, Inc. | Learning program behavior for anomaly detection |
| US8312331B2 (en) * | 2009-04-16 | 2012-11-13 | Freescale Semiconductor, Inc. | Memory testing with snoop capabilities in a data processing system |
| US8136001B2 (en) * | 2009-06-05 | 2012-03-13 | Freescale Semiconductor, Inc. | Technique for initializing data and instructions for core functional pattern generation in multi-core processor |
| US9874870B2 (en) * | 2009-08-26 | 2018-01-23 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to manage testing of a process control system |
| US20110087861A1 (en) * | 2009-10-12 | 2011-04-14 | The Regents Of The University Of Michigan | System for High-Efficiency Post-Silicon Verification of a Processor |
| US8458543B2 (en) * | 2010-01-07 | 2013-06-04 | Freescale Semiconductor, Inc. | Scan based test architecture and method |
| US8438442B2 (en) * | 2010-03-26 | 2013-05-07 | Freescale Semiconductor, Inc. | Method and apparatus for testing a data processing system |
| US8335881B2 (en) * | 2010-03-26 | 2012-12-18 | Freescale Semiconductor, Inc. | Method and apparatus for handling an interrupt during testing of a data processing system |
| US8527826B2 (en) * | 2011-11-07 | 2013-09-03 | International Business Machines Corporation | Logic corruption verification |
| US9281079B2 (en) * | 2013-02-12 | 2016-03-08 | International Business Machines Corporation | Dynamic hard error detection |
| US9404969B1 (en) * | 2013-11-01 | 2016-08-02 | Cadence Design Systems, Inc. | Method and apparatus for efficient hierarchical chip testing and diagnostics with support for partially bad dies |
| US9285424B2 (en) | 2014-07-25 | 2016-03-15 | Freescale Semiconductor,Inc. | Method and system for logic built-in self-test |
| US10031181B1 (en) * | 2015-06-18 | 2018-07-24 | Marvell Israel (M.I.S.L.) Ltd. | Integrated circuit package receiving test pattern and corresponding signature pattern |
| US9891282B2 (en) | 2015-12-24 | 2018-02-13 | Intel Corporation | Chip fabric interconnect quality on silicon |
| US10578672B2 (en) * | 2015-12-31 | 2020-03-03 | Stmicroelectronics (Grenoble 2) Sas | Method, device and article to test digital circuits |
| US10452493B2 (en) * | 2016-05-24 | 2019-10-22 | Virginia Tech Intellectual Properties, Inc. | Microprocessor fault detection and response system |
| US10249380B2 (en) * | 2017-01-27 | 2019-04-02 | Qualcomm Incorporated | Embedded memory testing with storage borrowing |
| JP2019158749A (ja) * | 2018-03-15 | 2019-09-19 | 株式会社東芝 | 画像処理装置及び画像処理方法 |
| US11204849B2 (en) * | 2020-03-13 | 2021-12-21 | Nvidia Corporation | Leveraging low power states for fault testing of processing cores at runtime |
| CN115356620B (zh) * | 2022-08-17 | 2025-07-25 | 地平线(上海)人工智能技术有限公司 | 片上系统的数字逻辑自测试方法、装置、电子设备和介质 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3671940A (en) * | 1970-03-19 | 1972-06-20 | Burroughs Corp | Test apparatus for digital computer |
| US3839705A (en) * | 1972-12-14 | 1974-10-01 | Gen Electric | Data processor including microprogram control means |
| US4042914A (en) * | 1976-05-17 | 1977-08-16 | Honeywell Information Systems Inc. | Microprogrammed control of foreign processor control functions |
| US4679194A (en) * | 1984-10-01 | 1987-07-07 | Motorola, Inc. | Load double test instruction |
| JP2644798B2 (ja) * | 1988-01-29 | 1997-08-25 | 株式会社日立製作所 | 信号処理回路の自己診断方式 |
| JPH0455778A (ja) * | 1990-06-26 | 1992-02-24 | Toshiba Corp | 半導体装置のテスト方法 |
| US5617021A (en) | 1992-07-23 | 1997-04-01 | Xilinx, Inc. | High speed post-programming net verification method |
| US5672966A (en) | 1992-07-23 | 1997-09-30 | Xilinx, Inc. | High speed post-programming net packing method |
| KR960000616B1 (ko) | 1993-01-13 | 1996-01-10 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치 |
| JPH0764817A (ja) * | 1993-08-30 | 1995-03-10 | Mitsubishi Electric Corp | 故障検出システム |
| US5485467A (en) | 1993-09-24 | 1996-01-16 | Vlsi Technology, Inc. | Versatile reconfigurable matrix based built-in self-test processor for minimizing fault grading |
| US5900757A (en) | 1996-05-01 | 1999-05-04 | Sun Microsystems, Inc. | Clock stopping schemes for data buffer |
| US5841867A (en) | 1996-11-01 | 1998-11-24 | Xilinx, Inc. | On-chip programming verification system for PLDs |
| US6442723B1 (en) * | 1999-05-12 | 2002-08-27 | International Business Machines Corporation | Logic built-in self test selective signature generation |
| US20070168736A1 (en) * | 2005-12-19 | 2007-07-19 | Ottavi Robert P | Breakpoint groups |
-
2006
- 2006-02-16 US US11/355,681 patent/US7444568B2/en not_active Expired - Fee Related
-
2007
- 2007-01-18 KR KR1020087020067A patent/KR101318697B1/ko not_active Expired - Fee Related
- 2007-01-18 WO PCT/US2007/060660 patent/WO2007103591A2/en not_active Ceased
- 2007-01-18 JP JP2008555430A patent/JP5373403B2/ja not_active Expired - Fee Related
- 2007-01-25 TW TW096102861A patent/TWI403744B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| TWI403744B (zh) | 2013-08-01 |
| KR20080098609A (ko) | 2008-11-11 |
| JP2009527821A (ja) | 2009-07-30 |
| JP5373403B2 (ja) | 2013-12-18 |
| WO2007103591A2 (en) | 2007-09-13 |
| KR101318697B1 (ko) | 2013-10-16 |
| US20070260950A1 (en) | 2007-11-08 |
| WO2007103591A3 (en) | 2008-12-04 |
| US7444568B2 (en) | 2008-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW200817704A (en) | Method and apparatus for testing a data processing system | |
| US7274235B2 (en) | Electronic circuitry protected against transient disturbances and method for simulating disturbances | |
| US9097762B2 (en) | Method and apparatus for diagnosing an integrated circuit | |
| US20030115525A1 (en) | Restartable logic bist controller | |
| US20050193254A1 (en) | System and method for debugging system-on-chips | |
| TWI593234B (zh) | 環形振盪器之測試解決方案 | |
| EP2074515A2 (en) | Method and apparatus for injecting transient hardware faults for software testing | |
| US8677196B1 (en) | Low cost production testing for memory | |
| TW200533940A (en) | Circuit and method for comparing circuit performance between functional and AC scan testing in an integrated circuit (IC) | |
| US8458540B2 (en) | Integrated circuit and diagnosis circuit | |
| TWI358633B (en) | Method for testing a first module and a second mod | |
| KR100727975B1 (ko) | 시스템 온 칩의 고장 진단 장치 및 방법과 고장 진단이가능한 시스템 온 칩 | |
| CN106662614B (zh) | 用于管理具有三模冗余的电路的操作的方法及相关装置 | |
| US6467044B1 (en) | On-board clock-control templates for testing integrated circuits | |
| US6954886B2 (en) | Deterministic hardware reset for FRC machine | |
| JP2014185981A (ja) | 半導体集積回路および半導体集積回路の自己テスト方法 | |
| US5568407A (en) | Method and system for the design verification of logic units and use in different environments | |
| Caselli et al. | Cooperative built-in self-testing and self-diagnosis of NoC bisynchronous channels | |
| JPS5925980B2 (ja) | 同期化クロツクの検査回路 | |
| US7146551B2 (en) | Method and system of modifying data in functional latches of a logic unit during scan chain testing thereof | |
| US7500165B2 (en) | Systems and methods for controlling clock signals during scan testing integrated circuits | |
| TW200819769A (en) | Testing of a circuit that has an asynchronous timing circuit | |
| CN112585486A (zh) | 扩展jtag控制器和使用扩展jtag控制器进行功能复位的方法 | |
| US5661731A (en) | Method for shrinking a clock cycle when testing high speed microprocessor designs | |
| US20060242505A1 (en) | Apparatus for performing stuck fault testings within an integrated circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |