專利名稱:測試包含秘密信息的集成電路的方法
技術領域:
本發(fā)明涉及對集成電路,具體地對包含必須受到保護以防止未授權 訪問的秘密信息的集成電路的測試。
背景技術:
可測試性和保密性對于集成電路強加了沖突的設計要求??蓽y試性要求每個電路元件應當被耦合至掃描鏈(scan chain),這樣,電路元件 中預期的缺陷響應來自電路元件的信號而顯現(xiàn),這些電子元件響應來自 掃描鏈的測試激勵信號被捕獲至掃描鏈中。因此,通過采用掃描鏈施加 測試激勵和移出測試響應,很容易測試集成電路。不幸的是,這也意味 著電路元件中由秘密信息影響的信號很容易地通過掃描鏈訪問。在另一方面,采用其中帶有秘密信息的電路不以任何方式影響掃描 鏈中的捕獲響應的電路構造,可以實現(xiàn)保密性。這限制了測試這些電路 以觀察在正常功能條件下整個電路的功能響應的可能。由此,不可能保 證電路將在所有的環(huán)境下正確工作,或者僅僅在長時間的并因此昂貴的 測試之后才行。在2004年7月的the 10th International On-Line Testing Symposium (IOLTS)第219-224頁中公布的、D. H6ly、 M—L. FIottes, F. Bancel、 B, Rouzeyre、 N. B6rard禾口 M. Renovell的標題為"Scan Degign and Secure Chip"的文章中處理了該問題。H61y等人提出,如果沒有提供適當?shù)拿?鑰,或者如果熔斷了測試禁用熔絲,則變動其中作為時間的函數(shù)掃描單 元出現(xiàn)在掃描中的次序。由此,仍然可能進行一些測試,但不能從掃描 鏈變動后的輸出端重新構建相關的數(shù)據(jù)。歐洲專利申請1089083類似地描述了一種使得掃描鏈的輸出端對于逆向工程沒有用處的方法。其中,除非已經(jīng)接收到適當?shù)拿荑€,測試輸 出數(shù)據(jù)是加密的。除了對測試數(shù)據(jù)的隱匿效果之外,這些技術也使得難以識別連接到 掃描鏈的集成電路外部端子。在移位期間,其他端子也對測試數(shù)據(jù)進行 響應,通過功能邏輯電路。由于所述變動,不能通過將測試輸入數(shù)據(jù)與 輸出數(shù)據(jù)匹配而容易地確定測試數(shù)據(jù)輸出。然而,這只是這些出版物的一種可能的不希望有的副作用。對于使 得難以識別掃描鏈輸入端和輸出端沒有進行系統(tǒng)的努力。事實上,識別 掃描鏈的輸入端和輸出端通常仍然是可能的。發(fā)明內(nèi)容本發(fā)明的目的其中之一是使得更難以識別集成電路的外部掃描鏈 輸入和輸出端子。本發(fā)明提供了依據(jù)權利要求l的集成電路。在該集成電路中,作為 移位處理的內(nèi)在部分,掃描鏈修改電路改變測試數(shù)據(jù)通過掃描鏈的路由。 掃描鏈修改電路改變測試數(shù)據(jù)在外部端子之間在通過掃描鏈的路程上穿 過掃描單元的次數(shù)。因而, 一些部分的測試數(shù)據(jù)比另一部分的測試數(shù)據(jù) 更經(jīng)常地通過該掃描單元,盡管兩部分的測試數(shù)據(jù)均移位通過掃描鏈。 這使得更難以識別掃描鏈。在一個實施例中,在向集成電路提供預定的密鑰時,或者直到已經(jīng) 熔斷一個或更多個(反)熔絲,禁用可變的路由。因而,在提供密鑰或 還沒有熔斷熔絲時,可能進行正常的測試。如果沒有提供密鑰,或者在 已經(jīng)烙斷一個或更多個(反)熔絲之后,啟用可變路由,使得測試數(shù)據(jù)向量(vector of test data)的移位引起一些部分的向量比另一些部分更經(jīng) 常地通過掃描單元。在替代的實施例中,在正常測試期間也可以使用可 變路由。在該情形下,對測試向量和/或期望的測試結果進行調(diào)整 (adaptation),以補償可變路由,和/或?qū)ο蚱涫┘訙y試向量、或者接收 測試結果的外部端子進行時間相關的(time dependent)改變以補償可變 路由。在一個實施例中,在移位期間,在掃描鏈中臨時產(chǎn)生反饋環(huán)路。因 而,僅僅一些測試數(shù)據(jù)通過反饋環(huán)路,由此返回到已經(jīng)通過的掃描單元。 在另一個實施例中,沿掃描鏈臨時產(chǎn)生旁路,使得一些測試數(shù)據(jù)不通過 掃描鏈而另一些測試數(shù)據(jù)通過。因而,在移位期間,掃描鏈的長度作為 時間的函數(shù)而變化,使得更難以識別哪些外部端子形成掃描鏈的輸入端 和輸出端。在又一個實施例中,改變掃描鏈至集成電路的外部端子的連 接,從而一些測試數(shù)據(jù)通過掃描單元到達一個外部端子,而另一個測試 數(shù)據(jù)通過掃描單元到達另一個外部端子,使得更難以識別哪些外部端子 形成掃描鏈的輸入端和輸出端。在又一個實施例中,使用耦合在集成電 路的相應對外部端子之間的多個掃描鏈,并且在不同的掃描鏈之間形成 時變交叉連接。因而,難以確定何時外部端子被連接到掃描鏈且沒有測 試數(shù)據(jù)丟失。在一個替代實施例中,使用運行中的密鑰比較,以產(chǎn)生控制信號, 維持通過掃描鏈的預定路徑和/或啟用/禁用通過掃描鏈的傳輸和/或啟用 /禁用功能電路的工作。因而,可以使用很長的密鑰而不會不適當?shù)卦黾?測試時間或工作前的延遲,因為可以測試或工作發(fā)生的同時進行密鑰校 驗。從利用以下附圖對非限制性實施例的描述中,本發(fā)明的這些和其他 的目的和有利方面將變得很明顯。
圖1示出了帶有熔絲來防止通過掃描鏈訪問電路的集成電路圖2示出了借助于多個熔絲的掃描功能控制 圖2a示出了掃描鏈圖2b示出了借助于多個熔絲的掃描功能控制圖3示出了其中測試端子與功能端子多路復用的電路圖4示出了掃描鏈圖5示出了掃描鏈圖6示出了授權控制電路圖6a示出了授權控制電路的另一應用 圖7示出了多個并聯(lián)的掃描鏈具體實施方式
圖1示出了集成電路10,包含功能電路12a-c、掃描鏈14、測試控 制電路16和熔絲元件18。測試控制電路16有耦合至外部測試接口 17 的輸入端和耦合至掃描鏈14的控制輸出端(未示出連接)。掃描鏈14 具有耦合至外部測試接口 17的測試數(shù)據(jù)輸入端的輸入端和耦合至外部 測試接口 17的測試數(shù)據(jù)輸出端的輸出端。熔絲元件18耦合至測試控制 電路16和掃描鏈14。掃描鏈14耦合至功能邏輯功能電路12a-c中輸入 端和輸出端。盡管在功能電路12a-c和掃描鏈14之間示出單個輸入和輸 出線路,應當理解,在實踐中,可以并聯(lián)提供許多這樣的線路。應該強調(diào)的是,將附圖限制在集成電路中用來解釋熔絲元件18的 使用的各方面。已經(jīng)示出了帶有任意外部連接的任意數(shù)量的功能電路 12a-c。在實踐中,可以給出許多額外的測試特性,如耦合在集成電路-外部輸入端與功能電路12a-c的輸出端之間的邊界掃描鏈,耦合在相同 測試數(shù)據(jù)輸入端和輸出端之間的多個并聯(lián)的掃描鏈,共享使用集成電路 IO的端子,用于功能電路和測試接口 17的輸入/輸出,等等。至少一個功能電路12a-c包含"秘密"信息,即,不應離開集成電 路10的信息。典型地,這種信息是可以存儲在相關功能電路12a-c中的 非易失性存儲器中、或另外編程在功能電路12a-c中、或通過在功能電 路12a-c中已實現(xiàn)的電路來定義的密鑰或識別碼。典型地,每個已制造 的集成電路具有其唯一的秘密信息,但替代地,對每類集成電路,該秘 密信息可能相同。在工作中,電路可以在正常功能模式和測試模式間轉(zhuǎn)換。在正常工 作模式中,來自掃描鏈14的觸發(fā)器作為耦合在功能電路12a-c輸入端和 輸出端之間的觸發(fā)器。在測試模式中,掃描鏈中觸發(fā)器的輸入端耦合至 掃描鏈中其他的觸發(fā)器的輸出端上,從而形成了一系列的移位寄存器。當許多個熔絲元件18己經(jīng)熔斷時,集成電路可以在測試模式中通過傳統(tǒng)的掃描測試協(xié)議來測試。在此協(xié)議的一個例子中,電路首先進入 移位工作模式,其中掃描鏈中的觸發(fā)器被串聯(lián)耦合,并且來自測試數(shù)據(jù)輸入端的測試激勵從它們被施加到功能電路12a-c的輸入端的位置逐次 移位通過掃描鏈14。隨后,電路進入捕獲模式,其中掃描鏈14的觸發(fā) 器的輸入端耦合至功能電路12a-c的輸出端,從而這些觸發(fā)器捕獲來自 功能電路12a-c的測試響應。在這之后,電路返回至移位模式,其中掃 描鏈14的觸發(fā)器再次形成移位寄存器并且掃描鏈14將捕獲的數(shù)據(jù)從集 成電路10中移至測試數(shù)據(jù)輸出端中。不同的熔絲元件18在其未熔斷時,分別用于啟用或禁用傳統(tǒng)的測 試工作。熔絲元件18可連接至測試控制電路16以在測試期間啟用或禁 用不同工作模式間的切換。在一個例子中,熔絲元件18被設置成禁用切 換至捕獲模式。在另一例子中,熔絲元件18被設置成禁用或啟用向來自 掃描鏈14的電路和/或向測試控制電路16提供測試時鐘。熔絲元件18 可以耦合至掃描鏈14以啟用或禁用正常移位,即,通過阻塞或建立通過 掃描鏈14的移位路徑,或通過繞開部分掃描鏈14。熔絲元件可以是熔絲和/或反熔絲。在這里用的熔絲/反熔絲是一種 電連接,可以使其呈現(xiàn)提供導電/非導電(熔斷)連接的狀態(tài),由此,需要 物理修復,如沉淀導電材料,來恢復在熔斷前的狀態(tài)。熔斷可以通過比 如通過在熔絲/反熔絲兩端施加高電壓來實現(xiàn),或通過采用激光束或電加 熱熔絲/反熔絲來實現(xiàn)。圖2示出了帶有多個熔絲20a-b的電路。該電路包括耦合在電源連 接Vdd、 Vss之間的熔絲20a-b和電阻元件22a-b的多個串聯(lián)配置。盡管 只示出了兩個串聯(lián)配置,應該認識到可以給出任意數(shù)量。該電路包括與 門24,其輸入端耦合至熔絲20a-b與電阻元件22a-b之間的相應串聯(lián)配 置中的節(jié)點。與門24的一些輸入端是反相的而另一些是同相的。與門 24具有耦合至測試電路26的啟用/禁用控制輸入端的輸出端。測試電路 26被構建成使得當它接收到邏輯低的啟用/禁用控制信號時禁用正常測 試工作,當接收到邏輯高的啟用/禁用控制信號時啟用正常測試工作。測 試電路26可以是啟用切換至捕獲模式、提供測試時鐘信號、將測試數(shù)據(jù)通過連接掃描鏈14等的電路。在部分串聯(lián)配置中,串聯(lián)配置中的熔絲20a-b將節(jié)點耦合至電源連 接Vdd、 Vss之一上。在余下的串聯(lián)配置中,熔絲20a-b將節(jié)點耦合至電 源連接Vdd、 Vss中的另一個上。因此,僅僅當?shù)谝活愡B接的熔絲20a-b 未保持原樣且第二類連接的熔絲20a-b保持原樣(intact)時,正常測試 工作才被啟用。此處,第一類連接的熔絲20a-b是連接至較高電源連接 Vdd和與門24的非反相輸入端的熔絲20a-b,以及連接至較低電源連接 Vss和與門24的反相輸入端的熔絲20a-b。相反地,第二類連接的熔絲 20a-b是連接至較低電源連接Vss和與門24的非反相輸入端的熔絲20a-b 和連接至較高電源連接Vdd和與門24的反相輸入端的熔絲20a-b??梢圆捎梅慈劢z代替部分或所有熔絲20a-b。熔絲和反熔絲將一般 地稱為熔絲元件。作為熔絲元件的反瑢絲根據(jù)它們在測試前是否必須熔 斷也可以類似地區(qū)分為第一類或第二類。第一類連接的反熔絲20a-b是 連接至較高電源連接Vdd和與門24的反相輸入端的反熔絲20a-b,以及 連接至較低電源連接Vss和與門24的非反相輸入端的反熔絲20a-b。相 反地,第二類連接的反熔絲20a-b是連接至較低電源連接Vss和與門24 的反相輸入端的熔絲20a-b和連接至較高電源連接Vdd和與門24的非反 相輸入端的反熔絲20a-b。在制造集成電路10后,所有的熔絲元件20a-b保持原樣。在測試前, 第二類連接的熔絲元件20a-b熔斷,但第一類連接的熔絲元件未熔斷。 于是集成電路準備好測試。測試后,至少一部分第一類連接的熔絲元件 20a-b也熔斷。結果,那些不知道哪些熔絲元件具有第一類連接或第二類連接的人 無法預知哪些熔斷的熔絲元件需要修復,哪些不需要修復,以重新啟動 測試。正如將理解的那樣,通過連接熔絲元件使得其端子處的電壓不提 供關于熔絲類型的任何信息,確定熔絲元件的類型變得更加困難。在附圖的例子中,通過對于在熔斷時提供高邏輯電平輸入信號的熔絲元件使 用與門的反相和非反相輸入端,和/或通過對于在熔斷時產(chǎn)生低邏輯電平 的輸入信號的熔絲元件使用與門的反相和非反相輸入端,實現(xiàn)此點。反相輸入可以通過包括位于熔絲元件和與門的輸入端(或其他多輸入邏輯 電路)之間的奇數(shù)個反相電路鏈來實現(xiàn)。非反相輸入可以通過包括位于 熔絲元件和與門輸入端(或其他多輸入邏輯電路)之間的偶數(shù)個反相電 路鏈或非反相電路來實現(xiàn)。通過采用大于零的偶數(shù)數(shù)量,使得將區(qū)分第 一類和第二類熔絲元件變得更加困難。正如將理解的那樣,例如,通過將包含與門24的集成電路的一部 分和其反相/非反相輸入端置于覆蓋層下面,在不損壞電路的情形下不能 輕易移去該覆蓋層,通過將與門的分布在集成電路不同的區(qū)域上等,確 定連接的類型變得很困難.正如將理解的那樣,具有反相和非反相輸入端的與門24僅僅是具 有這種效果的電路的一個例子??梢允褂脙H僅當熔絲20a-b的一個預定 的組合或一些組合之一保持原樣而其他未保持原樣時才啟用測試的任何 其他電路。同樣,當然代替地可連接至少部分熔絲20a-b使得它們并不 影響測試。這使得識別那些必須恢復的熔絲變得更困難。使用將熔絲的效果組合成一個信號中的電路并非必要,如圖2中的 例子那樣。替代地,可以使用這樣的電路,其中不同位置的熔絲在測試 電路中有不同的效果,但只有當適當組合的熔絲己熔斷/未熔斷時,它們 組合后的效果才允許可檢測的測試。這使得該電路具有不易受局部篡改 攻擊的優(yōu)點。為防止修復,僅在其中在預定第一位置處影響掃描鏈的熔 絲已熔斷和在第二位置處影響掃描鏈的熔絲未熔斷時的配置中,才應當 允許測試。代替沿掃描鏈的每一個位置有一個單獨的熔絲,可以使用成 組的熔絲。如圖2中的電路可以用來實現(xiàn)這個例子。圖2a示出了如下的例子,其中具有掃描觸發(fā)器28的掃描鏈包含耦 合至相應的熔絲元件18的修改電路29。在此電路中,每個修改電路29 被設置成如果相應的熔絲/反熔絲18未熔斷,則按第一方式影響流經(jīng)掃 描鏈的測試數(shù)據(jù);如果相應的熔絲/反熔絲18熔斷,則按第二方式影響 流經(jīng)掃描鏈的測試數(shù)據(jù)。選擇修改電路29,使得它們組合的效果是當僅 僅選擇的熔絲組合熔斷時沒有修改。如果熔絲/反熔絲18熔斷,修改電路29例如可以向前傳輸未修改的數(shù)據(jù);如果熔絲/反熔絲18未熔斷,向前傳輸時間相關偽隨機序列的連續(xù)測試數(shù)據(jù)比特的異或(exclusive OR)結果。在該情形下,不同的修 改電路29的偽隨機序列可以是彼此的時移版本,時移量對應于它們在掃 描鏈上的距離,使得組合后的效果是數(shù)據(jù)移位經(jīng)過二者的修改電路29 后保持數(shù)據(jù)未修改。在更復雜的實施例中,對于不同的修改電路29可以 使用不同的偽隨機序列,選擇所述偽隨機序列使得時移后的異或總是為 零。因而,它們組合后的效果是數(shù)據(jù)移位經(jīng)過二者的修改電路29后保持 數(shù)據(jù)未修改。在另一實施例中,在掃描鏈的不同級中可以并聯(lián)使用不同 的觸發(fā)器,使得沿著部分掃描鏈可以獲得并聯(lián)支路。在此實施例中,修 改電路29在不同的支路間轉(zhuǎn)換數(shù)據(jù),使得僅僅當形成適當組合的開關 時,數(shù)據(jù)才傳送到并聯(lián)支路以外。圖2b示出了可以啟用不同狀態(tài)下的工作的電路的例子。提供了多 個與門24,每個用來啟用在不同狀態(tài)中的工作,其中與門啟用掃描鏈(沒 有示出)以訪問包含秘密信息的不同組的一個或更多個功能電路(沒有 示出)。由此可見,與門至少部分地從相同的(反)熔絲接收信號。優(yōu)選 地,到與門的連接被設置成使得首先選擇的(反)熔絲必須熔斷以產(chǎn)生 來自第一與門的使能信號,隨后另外的(反)熔絲必須熔斷以產(chǎn)生來自 第二與門的使能信號,因此同時禁用第一與門。因而,存在三類(反)熔絲。第一與門連接至所有的三類,使得如 果僅僅第一類(反)熔絲熔斷則輸出邏輯1,第二與門連接到所有的三 類,使得如果僅僅第一類和第二類(反)熔絲熔斷則輸出邏輯1。應當 理解的是,可以按此方式使用多于兩個的與門,定義更大組的反熔絲必 須熔斷。在圖2中已注意到,與門和特定的連接僅僅用作說明的目的??梢?使用對測試訪問有相同效果的其他電路。此外,盡管來自所有(反)熔 絲的信號耦合至兩個與門24,應當理解到這并非必要。盡管如實施例中所示,其中對含有秘密信息的電路的測試訪問是作 為整體啟用和禁用,應當理解這并非必要。代替地,集成電路可以提供 多個不同的狀態(tài),在每一個狀態(tài)中,僅僅對于秘密信息的相應部分,測試訪問才是可能的(盡管不排除疊加,不同狀態(tài)的相應部分是不同的)。 在這種情形下,優(yōu)選地,在測試期間,每次通過熔斷額外數(shù)量的熔絲或 反熔絲,集成電路被設置為這些狀態(tài)中的連續(xù)狀態(tài)。優(yōu)選地,在不同狀 態(tài)中使用相同的(反)熔絲以啟用工作。圖3示出了集成電路,該集成電路具有多路復用為測試數(shù)據(jù)輸入端/輸出端和功能電路12a-b的輸入端/輸出端的外部連接32, 34。在集成 電路10的多路復用輸出端提供了多路復用器30。每個多路復用器30具 有耦合至功能電路12a-c的輸出端的第一輸入端和耦合至掃描鏈14a,b 的輸出端的第二輸入端。多路復用器30的輸出端耦合至集成電路10的 外部端子34。多路復用器的控制輸入端(沒有示出)耦合至測試控制電 路16。多個輸入端子并聯(lián)耦合至功能電路12a-c的輸入端和掃描鏈的輸 入端。此外,可以使用能夠轉(zhuǎn)換成交替作為輸入端和輸出端的功能的端 子32。應當理解的是,所示出的多路復用輸入端32和輸出端34僅是舉 例說明。在實際中,可以有數(shù)量大得多的端子,其中的一些或所有可以 多路復用為測試輸入端和輸出端。示出了多個掃描鏈14a-b。為完整性考慮,所示出的每個功能電路 12a-b耦合至所有掃描鏈14a-b,盡管當然優(yōu)選地,每個功能電路12a-b 具有耦合至僅其中一個掃描鏈上的輸入端和輸出端。優(yōu)選地,集成電路被構建成難以確定掃描鏈14a-b的輸入端和/或輸 出端耦合至集成電路的哪些外部端子。至少在測試沒被授權時,例如由 于正確組的熔絲元件(沒有示出)分別沒有保持原樣/熔斷,或在已經(jīng)提 供了適當?shù)拿荑€時,通過避免在移進測試輸入端的測試數(shù)據(jù)與移出測試 輸出端的測試數(shù)據(jù)之間的一一對應的關系,實現(xiàn)這一點。各種電路可以 用來隱藏測試數(shù)據(jù)的輸入/輸出。圖4示出了掃描鏈的一部分,具有按照其中測試數(shù)據(jù)移位通過掃描 鏈的名義次序(nominal sequence)從左向右示出的掃描觸發(fā)器40a畫e。 只示出了用來移位的連接。應當理解的是,對當前和接下來的附圖中的 掃描鏈,所有或大多數(shù)掃描觸發(fā)器40a-e具有耦合至功能電路(沒有示 出)的輸入端的輸出端和/或耦合至功能電路(沒有示出)的輸出端的輸入端,以及耦合至測試控制電路的控制輸入端(沒有示出),以控制是否從功能電路或掃描鏈中的在前的掃描觸發(fā)器40a-e中加載數(shù)據(jù)。在掃描鏈中加入環(huán)路42、旁路46和邏輯門44。提供了環(huán)路多路復 用器43,其第一輸入端耦合至掃描鏈中第一掃描觸發(fā)器40a的輸出端, 其輸出端耦合至第二掃描觸發(fā)器40b的輸入端,在名義次序的掃描鏈中 第二掃描觸發(fā)器40b毗鄰第一掃描觸發(fā)器40a。環(huán)路多路復用器43的第 二輸入端耦合至第三掃描觸發(fā)器40c的輸出端,在名義次序掃描鏈中第 三觸發(fā)器40c緊隨第二掃描觸發(fā)器40b之后。提供了旁路多路復用器47, 其第一輸入端耦合至掃描鏈中第四掃描鏈觸發(fā)器40d的輸出端,其輸出 端耦合至第四掃描鏈觸發(fā)器40e的輸入端,在名義次序掃描鏈中第五掃 描觸發(fā)器40e毗鄰第一掃描觸發(fā)器40d。環(huán)路多路復用器43的第二輸入 端耦合至掃描觸發(fā)器40c的輸出端,在名義次序掃描鏈中第三觸發(fā)器40c 在第四掃描觸發(fā)器40d之前。提供了或門44,其第一輸入端和輸出端分 別耦合至掃描鏈中名義上接連的觸發(fā)器40c-d的輸出端和輸入端。授權控制電路49具有控制線48,該控制線耦合至環(huán)路復用器43 和旁路多路復用器47的控制輸入端和或門44的第二輸入端。在工作中,授權控制電路49檢測測試是否被授權,例如由于正確 組的熔絲元件(沒有示出)分別沒保持原樣/熔斷,或在提供了適當?shù)拿?鑰時。當授權控制電路49檢測到測試被授權時,控制電路49將某一邏 輯電平的穩(wěn)定信號施加到控制線48上,使得環(huán)路復用器43、或門44和 旁路復用器47通過來自掃描觸發(fā)器40a-e的測試數(shù)據(jù),以便正常次序移 位。當授權控制電路49檢測到測試沒有被授權時,授權控制電路49對 控制線48施加時變信號(比如隨機或偽隨機信號)以控制線48。結果, 環(huán)路多路復用器43將不時使測試數(shù)據(jù)被回送,等效于延長了掃描鏈;旁 路多路復用器47將不時使掃描鏈變短并且或門44將不時用邏輯1重寫 測試數(shù)據(jù)。由此,對測試數(shù)據(jù)響應的信號的變化通過掃描鏈,但在輸入 端和輸出端的測試數(shù)據(jù)流之間不再有一一對應的關系。在數(shù)據(jù)移位通過 掃描鏈時,功能電路12a-c的輸出端保持與外部端子的連接,功能電路12a-c的輸出端連接至集成電路的外部端子并對掃描鏈中的數(shù)據(jù)響應,使 得通過測試鏈的數(shù)據(jù)的移位在這些端子處引起信號變化。這使得難以將 承載輸出信號的集成電路外部端子與其他的外部端子區(qū)分開來,例如,耦合至同樣將響應測試數(shù)據(jù)而產(chǎn)生信號變化的功能電路12a-c的輸出端的端子。應當理解,環(huán)路多路復用器43,旁路多路復用器47和或門44的結 構及它們的連接僅僅以舉例的方式示出。在實際中,可以使用包含不同 數(shù)量的掃描觸發(fā)器的環(huán)路和旁路,環(huán)路和/或旁路可以疊加。邏輯門可以 用在掃描鏈中的任意位置,也可以使用其他類型的邏輯門比如與門或異 或門(XOR),也可以提供一個以上的邏輯門。優(yōu)選地,可使用環(huán)路、 旁路和邏輯門的組合,因為這使得更難重構掃描鏈的結構。圖5示出了一部分掃描鏈,其中增加了更復雜的環(huán)路。在此實施例 中,當授權控制電路(沒有示出)提供適當?shù)目刂菩盘枙r,形成線性反 饋移位寄存器(LFSR)。在掃描鏈中一些掃描觸發(fā)器40前提供了多個異 或門52。己經(jīng)提供了與門50,如果在控制線48上接收到來自授權控制 電路(沒有示出)的相應控制信號,則將來自掃描觸發(fā)器40的信號反饋 至異或門的輸入端。應當理解,僅示出了線性反饋移位寄存器(LFSR) 的一個例子,可以使用其他沿掃描鏈在更多和/或不同的位置具有異或門 的線性反饋移位寄存器(LFSR)。優(yōu)選地,使用能在反饋時響應邏輯脈 沖時產(chǎn)生長重復周期的重復序列的線性反饋移位寄存器(LFSR)。從線 性反饋移位寄存器(LFSR)的現(xiàn)有技術己知產(chǎn)生長序列的連接的例子。 還應當注意,在沒有檢測到授權時授權控制電路(沒有示出)保持反饋 接通就足夠,接通或斷開反饋并非必要。優(yōu)選地,線性反饋移位寄存器 (LFSR)之前是包含一個或更多個類似于或門44或異或門的邏輯門的 掃描鏈的一部分,所述邏輯門被設置成在移位經(jīng)過掃描鏈的數(shù)據(jù)中產(chǎn)生 邏輯信號變化,即使提供僅包含邏輯0或邏輯1的測試數(shù)據(jù)。在該情形 下,線性反饋移位寄存器(LFSR)將響應邏輯l,產(chǎn)生更廣延的(extensive) 偽隨機模式。圖6示出了授權控制電路的實施例的一部分。授權控制電路包含密鑰發(fā)生器電路66,具有第一觸發(fā)器60的第一移位寄存器,具有第二觸 發(fā)器62的第二移位寄存器和異或門64 (XOR)。密鑰發(fā)生器電路66有 耦合至第一移位寄存器輸入端的輸出端。第二移位寄存器有耦合至集成 電路外部端子的輸入端。異或門64各自具有耦合至相應的一對第一和第 二觸發(fā)器60、 62的輸入端,以及耦合至控制線48的輸出端??刂凭€耦 合至例如圖4中所示的掃描鏈。盡管示出了相對短的第一和第二移位寄 存器,應當理解的是,可以使用更長的移位寄存器,和/或可以連接更多 的異或門以產(chǎn)生額外的控制信號。在工作中,密鑰發(fā)生器電路66 (即,偽隨機發(fā)生器)輸出連續(xù)比特 的密鑰至第一移位寄存器。來自外部輸入端的比特被移位通過第二移位 寄存器。異或門64比較來自第一和第二寄存器中的對應比特。如果來自 第一和第二寄存器中的比特匹配,異或門64提供信號至控制線48,使得掃描鏈正常工作,抑制反饋、和/或繞開、和/或重寫測試數(shù)據(jù)。如果 來自第一和第二寄存器的比特不匹配,控制線上將出現(xiàn)時變信號,這將引起掃描鏈偏離正常的移位工作。優(yōu)選地,第一和第二移位寄存器采用與受到授權控制電路控制的掃 描鏈(沒有示出)相同的時鐘計時。作為替代,該時鐘的下分頻版本 (divided down version)可以用于對第一和二組移位寄存器計時。采用 相同或相關的時鐘信號,在測試掃描移位期間,需要繼續(xù)匹配新比特。 由此,可以使用非常長的運行中的密鑰(running keys),這使獲得未授 權的訪問更困難。此外,這自動為掃描鏈提供了時變控制信號,使掃描 鏈很難被識別。盡管對于密鑰的比特移位已經(jīng)示出了使用僅一個移位寄存器,但是 應該理解的是,可以并聯(lián)使用多個移位寄存器和/或可以作為比較多于一 個比特的外部密鑰數(shù)據(jù)與內(nèi)部密鑰數(shù)據(jù)的結果而產(chǎn)生控制線48上的控 制信號。授權控制電路可以使用單個密鑰比較來控制多個掃描鏈。替代 地,對于不同掃描鏈,可并聯(lián)使用多個密鑰比較。另外替代地, 一個密 鑰比較器電路可以用來校驗不同掃描鏈的不同密鑰。作為一個替代的方案,傳統(tǒng)的靜態(tài)密鑰校驗可用在授權控制電路中,或者一旦已經(jīng)加載完整的密鑰則可以阻止第一和第二移位寄存器移 位。在這個方案中,外部密鑰被加載進授權控制電路中并且此授權控制 電路檢測此密鑰是否正確。當授權控制電路發(fā)現(xiàn)密鑰是正確的,它將設 定控制線48上的控制信號,使掃描鏈正常起作用。如果密鑰不正確,授 權控制電路將來自時變信號發(fā)生器,如偽隨機發(fā)生器甚至真隨機發(fā)生器的信號饋送給控制線48。這具有可以使用任意密鑰校驗技術的優(yōu)點,但它在密鑰的長度和測試需要的總時間之間強加了折中。圖6a示出了其中具有第一和第二移位寄存器的結構可以用來啟用 或禁用對掃描鏈的訪問的實施例。第一和第二移位寄存器分別用來密鑰 數(shù)據(jù)和密鑰基準(key reference)的移位,由相同或相關的時鐘信號計時。 在此實施例中,提供了比較器電路67和置位/復位存儲電路68。比較器 電路67的輸入端耦合至第一和第二移位寄存器,輸出端耦合至置位/復 位存儲電路68的置位輸入端。置位/復位存儲電路68被設置為當它加電 時或集成電路復位時復位。置位/復位存儲電路68耦合至掃描鏈(沒有 示出)中使能電路69的啟用/禁用控制輸入端。在工作中一旦置位/復位 存儲電路68被置位,則置位/復位存儲電路68禁止輸入到掃描鏈和/或 從掃描鏈輸出。當在第一和第二移位寄存器中發(fā)生密鑰數(shù)據(jù)與基準數(shù)據(jù) 之間的失配時,置位復位存儲電路68由比較器電路67置位。優(yōu)選地, 置位/復位存儲電路68是時控的(沒有示出),使得僅僅當存在穩(wěn)定的比 較結果時才發(fā)生置位。優(yōu)選地,密鑰比較無期限地持續(xù),至少直到捕獲測試響應。優(yōu)選地, 密鑰發(fā)生器產(chǎn)生至少在數(shù)據(jù)移位通過掃描鏈所需的周期期間不重復的基 準序列??梢宰⒁?,即使沒有使用另外的比較器電路64, g卩,對掃描鏈沒有 產(chǎn)生其他的變化時,仍可應用具有使能電路69的結構。該實施例在測試 數(shù)據(jù)移位通過掃描鏈時提供了持續(xù)的運行中的密鑰比較。由此,由于啟 動測試不需要等待比較的結束,因而贏得了時間。因此,可以使用非常 長的密鑰而不產(chǎn)生長的延遲。還可以注意,這種結構可以用來啟用掃描 鏈中的使能電路之外的使能電路(甚至不啟用掃描鏈中的使能電路)。因此,例如在密鑰和基準之間失配后,可禁用集成電路的保護功能。這具 有防止未授權使用集成電路和/或未授權訪問集成電路的優(yōu)點。然而,在 掃描鏈中使用使能電路的優(yōu)點在于正常的測試訪問不必限于防止訪問秘 密信息。圖7示出了具有第一、第二、第三掃描鏈的電路,各自具有一組耦合作為移位寄存器的掃描觸發(fā)器40a-e, 70, 72。每個掃描鏈耦合至集成 電路不同對的外部端子,將測試數(shù)據(jù)供給集成電路并且接收來自集成電 路的測試結果。交換電路74a-c耦合在成對的掃描鏈的掃描觸發(fā)器之間。 交換電路74a-c各自具有兩個輸入端和兩個輸出端,并且被設置成在來 自授權控制電路49的控制信號的控制下,將第一和第二輸入端的輸入信 號分別饋送到第一和第二輸出端,或者交叉饋送到第二和第一輸出端。 每個交換電路74a-c可以實現(xiàn)為一對多路復用器,控制彼此相反,但其 他的電路也有可能。在工作中,當授權控制電路49授權測試時,它使交換電路74a-c 沿掃描鏈并聯(lián)地通過測試數(shù)據(jù)。當授權控制電路49授權測試時,它將時 變控制信號施加至交換電路74a-c中(例如偽隨機信號),使得測試數(shù)據(jù) 不時從一個掃描鏈交叉至另一個掃描鏈,因而掩蓋了掃描鏈的哪些輸出 對應于哪些輸入。優(yōu)選地,當測試被授權時,授權控制電路49使交換電路74a-c沿掃 描鏈并聯(lián)地通過測試數(shù)據(jù)。然而,這并非必要。在一個替代的實施例中, 當測試被授權時,授權控制電路使交換電路74a-c以預定的時變方式在 掃描鏈之間交換連接。效果上,這意味著被用作掃描鏈的輸入端和輸出端的外部端子在移 位期間作為時間的函數(shù)而變化。在測試數(shù)據(jù)移進時采用這種形式的交換 時,來自特定掃描鏈的用于測試的測試數(shù)據(jù)將必須按照施加到不同掃描 鏈的外部端子的比特序列而施加到集成電路。類似地,在測試數(shù)據(jù)移出 時采用這種形式的交換時,來自特定掃描鏈的測試結果將必須按照從不 同掃描鏈的外部端子收集的比特序列而收集。這使得識別掃描鏈變得更 困難。交換掃描鏈之間連接的預定時變方式可以例如響應復位信號、或響 應檢測到己經(jīng)提供預定的密鑰時而啟動,隨后啟動交換的周期性重復模 式。因此,外部測試設備可以被同步到交換的預定時變方式??梢宰⒁猓梢圆⒙?lián)使用數(shù)個掃描鏈用于測試期間移進和移出。在 該情形下,必須將不同掃描鏈的測試數(shù)據(jù)混合在一起,并且必須收集用 于不同掃描鏈的測試結果。優(yōu)選地,授權電路被設置成在測試數(shù)據(jù)的移進和測試結果的移出期 間引起交換。但是,替代地,僅在移進和移出期間,可以啟用交換。這 仍然使識別掃描鏈變困難。在其最簡單的形式中,可僅通過在掃描鏈的輸出端和集成電路的外部端子之間交換電路來實現(xiàn)交換。因而,可以實現(xiàn)將掃描鏈的輸出端時 變連接到不同外部端子,使得識別應當使用哪個外部端子變得更加困難。 然而,在掃描鏈的不同部分之間使用"內(nèi)部"交換電路具有額外的優(yōu)點, 對功能電路的控制更難識別并且相關的外部端子更難識別。當然,交換可以與環(huán)路、旁路和邏輯門相加組合至掃描鏈中。使用其他形式的時間相關的有源邏輯門和/或線性反饋移位寄存器(LFSR)結構極其有利,因為它將擾亂可以施加到掃描鏈探針的任何測試模式。盡管已經(jīng)示出了二輸入二輸出的交換電路,替代地,可以使用n輸入n 輸出的交換電路(例如,縱橫開關),"n"是大于2的整數(shù),使得在不同 的時間可以實現(xiàn)不同的交換,或可以實現(xiàn)比交換更復雜的連接變動 (permutation),使識別掃描鏈變得更為困難。盡管附圖建議將交換電路 置于不同掃描鏈的相應位置(輸入端連接至兩條鏈的第m個掃描觸發(fā) 器),但這并非必要。交換也可以與圖6中的授權控制電路組合在一起,使得在第二移位 寄存器和一個或更多個掃描鏈之間交換比特。應當注意,除了對掃描鏈的所公開修改,可以采來其他安全機制, 防止秘密信息被加載到任何掃描鏈和/或移位通過掃描鏈,除非提供授 權。因此,所提出的方式用于使得確定至掃描鏈的連接變得很困難,除 非有授權信息。替代地,所公開的修改可以被他們自己使用,以防止訪問和/或識別將要加載或移位的秘密信息。在此情形中,沒有提供獨立的 安全機制以防止秘密信息加載或移位。所公開的對掃描鏈的修改可以用來使得確定是否已經(jīng)提供適當?shù)?密鑰或是否恢復了適當?shù)娜劢z/反熔絲變得更加困難。相反,熔絲和/或 反熔絲的適當組合的存在可以用于禁止對掃描鏈的修改,或?qū)⑺鼈冊O定 為允許系統(tǒng)訪問測試數(shù)據(jù)的預定的結構。
權利要求
1.一種集成電路(10),包括外部端子(32,34),功能電路(12a-c),測試訪問電路(14,16),包括具有耦合到功能電路(12a-c)的輸入端和輸出端的掃描鏈(14),掃描鏈(14)另外耦合在耦合在外部端子(32,34)的一系列輸入端和輸出端之間,掃描鏈(14)包括掃描單元(40b,c,d,70,72),掃描鏈修改電路(43,47,70a-c),耦合到掃描鏈(14),掃描鏈修改電路(43,47,70a-c)被設置成響應將測試數(shù)據(jù)時鐘移位通過掃描鏈的信號,在沿外部端子(32,34)之間的方向移位期間,引起相應的臨時連續(xù)部分的測試數(shù)據(jù)在其通過掃描鏈(14)的路程上穿過掃描單元(40b,c,d,70,72)次數(shù)之間的差異。
2. 依據(jù)權利要求1的集成電路,其中所述掃描鏈修改電路包括 多路復用電路(43),具有耦合到掃描單元(40b)的輸入端的輸出端、控制輸入端(48)、以及耦合到位于掃描鏈中掃描單元(40b)之前 的第一另外的掃描單元(40a)和掃描單元(40b)的或位于掃描鏈中掃 描單元(40b)之后的第二另外的掃描單元(40c)的輸出端的信號輸入A山頓;時間相關信號發(fā)生電路(49),具有耦合到多路復用電路(47)的 控制輸入端(48)的輸出端。
3. 依據(jù)權利要求1的集成電路,其中所述掃描鏈修改電路包括 多路復用電路(47),具有控制輸入端(48)、耦合到位于掃描鏈中掃描單元(40d)之后的第一另外的掃描單元(40e)的信號輸出端、以 及耦合到掃描單元(40d)的輸出端和位于掃描鏈中掃描單元(40d)之 前的第二另外的掃描單元(40c)的輸出端的信號輸入端;時間相關信號發(fā)生電路(49),具有耦合到多路復用電路(47)的 控制輸入端(48)的輸出端。
4. 依據(jù)權利要求1的集成電路,其中所述掃描鏈修改電路包括切換電路(74a-c),具有耦合到掃描單元(70, 72)的輸出端的輸 入端、控制輸入端(48)、以及各自直接或經(jīng)由一個或更多個相應的另外 的掃描單元(70, 72)耦合到相應的一個外部端子的多個輸出端,切換 電路(74a-c)被設置成從掃描單元(70, 72)選擇性地向所選擇的一個 輸出端傳送測試數(shù)據(jù),通過來自控制輸入端(48)的控制信號選擇該輸 出端;時間相關信號發(fā)生電路(49),具有耦合到切換電路(74a-c)的控 制輸入端(48)的輸出端。
5. 依據(jù)權利要求4的集成電路,包括多個掃描鏈,包含所述掃描鏈, 每個掃描鏈具有耦合在集成電路相應的一對外部端子之間的輸入端和輸 出端,其中,切換電路(74a-c)被設置成在第一部分掃描鏈的輸出至第 二部分掃描鏈的輸入之間引起可選擇的連接變動,在時間相關信號發(fā)生 電路(49)的控制下選擇該變動。
6. 依據(jù)權利要求1的集成電路,包括時間相關信號發(fā)生電路(49),具有用于供給時間相關的信號的輸 出端;邏輯電路(44),具有耦合到時間相關信號發(fā)生電路(49)的輸出 端和第一部分的掃描鏈的輸出端的輸入端,該邏輯電路(44)具有耦合 到第二部分的掃描鏈的輸入端的輸出端,用于從第一部分的掃描鏈向第 二部分的掃描鏈施加時間相關的信號和測試數(shù)據(jù)的組合邏輯函數(shù)。
7. 依據(jù)權利要求6的集成電路,在通過第二部分的掃描鏈的移位路 徑中包括線性反饋移位寄存器結構(50, 52)。
8. 依據(jù)權利要求1的集成電路,包括耦合到掃描鏈修改電路(43, 47, 74a-c)的訪問控制電路(60, 62, 64, 66),該訪問控制電路(60, 62, 64, 66)被設置成在檢測到禁用信息時禁止引起所述差異。
9. 依據(jù)權利要求1的集成電路,其中所述掃描鏈修改電路包括 路由電路(43, 47, 74a-c),耦合到掃描單元,可控制地提供用于將測試數(shù)據(jù)路徑移至掃描單元、或從掃描單元移至一個或更多個外部端 子的替代路徑;時間相關信號發(fā)生電路(66);第一移位寄存器(60),具有耦合到時間相關信號發(fā)生電路的輸入a山 順;第二移位寄存器(62),具有用于從集成電路外部接收密鑰信號的 輸入端;比較器電路(64),具有耦合到對應級的第一和第二移位寄存器(60, 62)的輸出端的輸入端、以及耦合到路由電路的控制輸入端(48)的輸 出端。
10. 依據(jù)權利要求1的集成電路,包括多個路由電路(43, 47, 74a-c),耦合到掃描鏈中相應的掃描單元, 可控制地提供用于將測試數(shù)據(jù)路徑移至掃描單元、或從掃描單元移至一 個或更多個外部端子的替代路徑,時間相關信號發(fā)生電路(66);第一移位寄存器(60),具有耦合到時間相關信號發(fā)生電路的輸入a山 順;第二移位寄存器(62),具有用于從集成電路外部接收密鑰信號的 輸入端;多個比較器電路(64),每個具有耦合到對應級的相應一對第一和 第二移位寄存器(60, 62)的輸出端的輸入端、以及耦合到相應的一個 路由電路(43, 47, 74a-c)的控制輸入端的輸出端。
11. 依據(jù)權利要求l的集成電路,其中所述掃描鏈修改電路包括 傳輸使能電路(69),耦合在掃描鏈中,用于可控制地啟用/禁用將測試數(shù)據(jù)移至外部端子或從外部端子移入; 時間相關信號發(fā)生電路(66);第一移位寄存器(60),具有耦合到時間相關信號發(fā)生電路(66) 的輸入端;第二移位寄存器(62),具有用于從集成電路外部接收密鑰信號的 輸入端;比較器電路(64),具有耦合到對應級的第一和第二移位寄存器(60, 62)的輸出端的輸入端、以及耦合到移位使能電路(69)的控制輸入端(48)的輸出端。
12. 依據(jù)權利要求1的集成電路,包括功能電路使能電路(69),耦合到功能電路U2a-c),用于可控制地 啟用/禁用功能電路(12a-c)的工作; 時間相關信號發(fā)生電路(66);第一移位寄存器(60),具有耦合到時間相關信號發(fā)生電路(66) 的輸入端;第二移位寄存器(62),具有用于從集成電路外部接收密鑰信號的 輸入端5比較器電路(64),具有耦合到對應級的第一和第二移位寄存器(60, 62)的輸出端的輸入端、以及耦合到功能電路使能電路(69)的控制輸 入端(48)的輸出端。
13. —種集成電路(10),包括 外部端子(32, 34), 功能電路(12a-c),測試訪問電路(14, 16),包括具有耦合到功能電路(12a-c)的并 聯(lián)的多個輸入端和多個輸出端的掃描鏈(14),掃描鏈(14)另外耦合在 耦合在外部端子(32, 34)的一系列輸入端和輸出端之間,傳輸使能電路(69),耦合在掃描鏈中,用于可控制地啟用/禁用將 測試數(shù)據(jù)移至外部端子中的至少之一或從外部端子中的至少之一移入; 耦合到掃描鏈的時鐘端子,用于對測試數(shù)據(jù)定時移位; 時間相關信號發(fā)生電路(66),被設置成操作來自時鐘端子的時鐘; 第一移位寄存器(60),具有耦合到時間相關信號發(fā)生電路(66) 的輸入端;第二移位寄存器(62),具有用于從集成電路外部接收密鑰信號的 輸入端;比較器電路(64),具有耦合到對應級的第一和第二移位寄存器(60, 62)的輸出端的輸入端、以及耦合到移位使能電路(69)的控制輸入端 (48)的輸出端。
14. 一種集成電路(10),包括外部端子(32, 34), 功能電路(12a-c),寄存器(14),具有并聯(lián)地耦合到功能電路(12a-c)的輸入端和輸 出端;耦合到寄存器(14)的時鐘端子,用于定時更新寄存器(14)中的 數(shù)據(jù);功能電路使能電路,耦合到功能電路(12a-c),用于可控制地啟用/禁用功能電路(12a-c)的工作;時間相關信號發(fā)生電路(66),被設置成操作來自時鐘端子的時鐘; 第一移位寄存器(60),具有耦合到時間相關信號發(fā)生電路(66)的輸入端;第二移位寄存器(62),具有用于從集成電路外部接收密鑰信號的 輸入端;比較器電路(64),具有耦合到對應級的第一和第二移位寄存器(60, 62)的輸出端的輸入端、以及耦合到功能電路使能電路的控制輸入端(48) 的輸出端。
15. —種測試集成電路(10)的方法,該方法包括 在測試時鐘信號的控制下將測試數(shù)據(jù)移位通過掃描鏈(14); 在測試數(shù)據(jù)移位的同時,在測試時鐘的控制下將密鑰數(shù)據(jù)提供給集成電路;在測試數(shù)據(jù)移位的同時,對集成電路中的密鑰數(shù)據(jù)執(zhí)行運行中的校 驗;以及在已經(jīng)檢測到偏離所需密鑰之后,禁用或干擾測試數(shù)據(jù)的移位。
16. 依據(jù)權利要求15的測試集成電路的方法,其中從捕獲測試響 應之前直至捕獲測試響應之后執(zhí)行所述運行中的校驗。
全文摘要
一種集成電路(10),包括具有耦合至功能電路(12a-c)的并聯(lián)輸入端和輸出端的掃描鏈(14)。設置耦合至掃描鏈(14)的掃描鏈修改電路(43,47,70a-c)。當授權測試時,掃描鏈修改電路按照其中提供通過掃描鏈的正常移位路徑的模式工作。當未授權測試時,掃描鏈修改電路(43,47,70a-c)的工作在移位路徑中引起自發(fā)的動態(tài)變化,從而在發(fā)生移位時動態(tài)地改變集成電路的外部端子之間的移位路徑的長度。在一個實施例中,通過運行中的密鑰比較來控制動態(tài)變化。在另一個實施例中,將運行中的密鑰比較用于禁用通過掃描鏈傳輸和/或功能電路的工作。
文檔編號G01R31/28GK101238381SQ200680029224
公開日2008年8月6日 申請日期2006年8月9日 優(yōu)先權日2005年8月10日
發(fā)明者亨得里克斯·P·E·瓦蘭肯, 休伯特斯·G·H·韋爾默朗, 埃里克·J·馬里尼森, 安德烈·K·紐蘭, 桑迪普庫馬爾·戈埃爾 申請人:Nxp股份有限公司