[go: up one dir, main page]

TW200817704A - Method and apparatus for testing a data processing system - Google Patents

Method and apparatus for testing a data processing system Download PDF

Info

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
Application number
TW096102861A
Other languages
English (en)
Other versions
TWI403744B (zh
Inventor
Gary R Morrison
Jose A Lyon
William C Moyer
Anthony M Reipold
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of TW200817704A publication Critical patent/TW200817704A/zh
Application granted granted Critical
Publication of TWI403744B publication Critical patent/TWI403744B/zh

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318552Clock circuits details
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2236Detection 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)

  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
TW096102861A 2006-02-16 2007-01-25 測試資料處理系統之方法及裝置 TWI403744B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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