TWI593234B - 環形振盪器之測試解決方案 - Google Patents
環形振盪器之測試解決方案 Download PDFInfo
- Publication number
- TWI593234B TWI593234B TW102130640A TW102130640A TWI593234B TW I593234 B TWI593234 B TW I593234B TW 102130640 A TW102130640 A TW 102130640A TW 102130640 A TW102130640 A TW 102130640A TW I593234 B TWI593234 B TW I593234B
- Authority
- TW
- Taiwan
- Prior art keywords
- ring oscillator
- test
- input
- oscillating
- signal
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/03—Astable circuits
- H03K3/0315—Ring oscillators
-
- 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/2851—Testing of integrated circuits [IC]
- G01R31/2884—Testing of integrated circuits [IC] using dedicated test connectors, test elements or test circuits on the IC under test
-
- 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/318502—Test of Combinational circuits
-
- 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/31708—Analysis of signal quality
- G01R31/31709—Jitter measurements; Jitter generators
Description
本發明之實施例是一種關於環形振盪器的領域,特別係一種關於多個環形振盪器之測試方案,例如,可以適用於高解析度數位內容保護(high-definition content protection,HDCP)之密鑰產生的亂數產生器中。
在確保資料傳輸安全性的密碼系統中,隨機性被認為是一關鍵性的角色。為了實現在硬體中的隨機性,正反器(flip-flop)的亞穩度(metastability)或時脈抖動(clock jitter)都被作為產生隨機性的來源。在許多實施方案中係使用環形振盪器作為時脈(clock)。大量的環形振盪器經常被用來維持隨機性所需的水平。例如,高解析度數位內容保護2.0版即是採用256個環形振盪器以作為安全資料傳輸使用之密鑰的產生。
圖一為在HDCP中資料加密的簡化示意圖。參照圖一,密鑰101是由真實亂數產生器(True Random Number Generator,TRNG)102所產生之亂數所構成。亂數係用以計算在來源端與接收端中的密鑰。亂數首先在來源端中產生,而密鑰即被計算。在此同時,該亂數可傳輸至接收端中,使得接收端亦可計算出接收端的密鑰。例如,透過XOR運算120使用密鑰而在來源端中加密一視訊串流,視訊資料110,且加密後的視訊串流111被傳輸至接收器中。接收器係使用本身的密鑰對所接收之加密過的視訊串流111進行解密。
真實亂數產生器102係採用大量的環形振盪器以產生亂數。圖二為一種真實亂數產生器之例子。參照圖二,如圖所示環形振盪器(ROs)2011-N為奇數個反相器210,並透過如圖所示的組合反饋(combinational feedback)而背對背連接。環形振盪器2011-N之輸出訊號透過XOR邏輯202而結合,且XOR邏輯之輸出係與正反器203相連接。為了獲得亂數,提供取樣時序(sampling clock)Fs以擷取XOR邏輯202之輸出訊號串流。
由於環形振盪器2011-N中的一固有的組合反饋,因此若採用較符合經濟效應的測試結構,例如固定型測試(stuck-at test),針對每一個環形振盪器
2011-N個別進行測試是困難的。因此較常採用的作法是,在一段時間內針對一環形振盪器2011-N單獨的進行功能測試。上述傳統的環形振盪器測試方案,可以包括觀察在測試器中環形振盪器之直接輸出訊號,或藉由一些晶片上的計數器,以檢測由環形振盪器在測試下所產生的振盪訊號。由於環形振盪器的異步性與低效率的測試途徑,使得在測試器中檢測環形振盪器之輸出訊號是較為昂貴的。此外使用晶片上的計數器作為測試方案,需要針對每一個環形振盪器個別進行測試設定,因此需要承擔大量的硬體與測試時間開銷。
若待測試之環形振盪器數量龐大且可能會增加,則將造成相當大的功能性測試成本。提供低成本之測試解決方案是一個關鍵,其對於因大小增加(亦即使用的環形振盪器數目)而產生的問題不用成本考量,特別是在當商用積體電路的價格持續地受到壓力而其測試成本也持續不增加的狀況下。
本發明揭示一種用於測試多個環形振盪器之裝置與方法。在一實施例中,本裝置包括至少一環形振盪器結構與一測試結構,其中所述之環形振盪器結構是用以操作以產生一振盪輸出訊號,且其包含具有一組背對背連接的奇數反相器之反向器鏈的環形振盪器;所述之測試結構係耦合以提供可觀測鏈的輸入或一測試輸入至環形振盪器,並從環形振盪器接收作為反饋的振盪訊號輸出。
101‧‧‧密鑰
102‧‧‧真實亂數產生器
110‧‧‧視訊資料
111‧‧‧加密後產生的視訊串流
120‧‧‧XOR運算
2011-N‧‧‧環形振盪器
202‧‧‧XOR邏輯
203‧‧‧正反器
210‧‧‧反相器
300‧‧‧及閘
301‧‧‧反相器鏈
310‧‧‧賦能訊號
311‧‧‧osc_out
401‧‧‧及閘
402‧‧‧反相器鏈
403‧‧‧RO測試結構
410‧‧‧賦能訊號
411‧‧‧osc_in
412‧‧‧osc_out
421‧‧‧環形振盪器的測試模式(OTM)訊號
422‧‧‧test_in
423‧‧‧obc_in
424‧‧‧賦能控制點(CPE)
425‧‧‧test_out
426‧‧‧obc_out
427‧‧‧osc_out
600‧‧‧測試結構
601‧‧‧互斥或閘
602‧‧‧及閘
603‧‧‧旁路多工器
604‧‧‧互斥或閘
605‧‧‧反及閘
606‧‧‧多工器
610‧‧‧TRACK
如下所述之對本發明的詳細描述與實施例之示意圖,應使本發明更被充分地理解;然而,應可理解此僅限於作為理解本發明應用之參考,而非限制本發明於一特定實施例之中。
圖一為在HDCP下資料加密之示意圖。
圖二為真實亂數產生器之例示圖。
圖三為環形振盪器之先前技術示意圖。
圖四為本發明實施例之一的具有環形振盪器測試結構之環形振盪器裝置的示意圖。
圖五本發明實施例之一的環形振盪器測試結構之操作示意圖。
圖六A為本發明實施例之一的部分被使用為環形振盪器裝置之測試結構示意圖。
圖六B為本發明測試結構之另一實施例示意圖。
圖七為本發明實施例之一測試結構之保存與設定時間之示意圖。
圖八為本發明實施例之一測試結構之非同步有限狀態機(asynchronous FSM)描述的測試程序示意圖。
圖九為本發明實施例之一在一環狀振盪器檢測中之測試存取示意圖。
圖十為本發明實施例之一階層式環形振盪器測試結構之示意圖。
圖十一為一可測試的環形振盪器(TRO)之穩態程序模型示意圖。
本發明係提供一種大量環形振盪器的測試方案,其係應用於真實亂數產生器中用以高解析度數位內容保護(HDCP)中的視頻加密與解密之密鑰產生。在一實施例中,係使用所揭露晶片上的環形振盪器之測試方案,透過固定型結構測試(stuck-at structural test)或一提出的虛擬功能測試法(pseudo-functional test),可立即性地檢測所有環形振盪器之振盪。在另一實施例中,測試結構為一模組化,且一測試結構之集合當連接時建構一測試途徑以提供環形振盪器之平行測試、特性化(characterization)與晶片除錯(silicon debug)。本發明所公開之測試解決方案的優點在於一詳細的效能規格測試之前即能快速確定缺陷部分,因此能夠縮短整個製造測試所需的時間。
在一實施例中,所述環形振盪器的檢測方案可以透過其他系統邏輯於結構測試期間即測試環形振盪器,而消除大量的環形振盪器之測試成本,或在其單獨檢測中可降低測試成本至一微小的水平(亦即在環形振盪器中的反相器鏈之延遲)。在另一實施例中,環形振盪器的測試方案,透過轉換現有的環形振盪器成為更具可測試性形式,而實現了本發明所述之“環形振盪器測試結構”之目標。環形振盪器測試結構可以重新配置數個環形振盪器為一可測試性結構,以允許進行結構的固定型測試和環形振盪器之平行功能性測試。所述方案可以降低更大量的環形振盪器所增加的測試時間至一微小的水平。
在以下描述中,將對許多細節進行更加詳細地闡述以提供他人更透徹得理解本發明之意涵。然而,對於本領域所屬之技藝者可能可在沒有具體細節的情況下實施本發明內容,此外為了避免模糊本發明之內容,對於已知的結構與裝置將不再贅述,而係以方塊圖的形式將其呈現。
在詳細描述之一些部分係以在電腦記憶體內之資料位元上的運
算之演算(algorithms)與符號(symbolic)表示之詞彙來呈現。這些演算的描述與表示,係基於其為在資料處理領域中,其習知技藝者以最有效地傳達實質地工作內容給其他技術領域技術人員的表示方法。所述之演算通常被認為係引導至預期結果步驟之一自我相容程序。其中該步驟是指要求物理量的物理性操作;儘管不是必須的,但通常係以電或磁之訊號形式,進行儲存、傳輸、組合與其他操作方式;此外,為了通用的原因,所述之訊號可被視為位元、值、元件、符號、字元、項、數目等其他用詞,此為本領域習知常識。
此外,應注意的是,所有這些類似的術語將與適當的物理量相關聯,並且應用到這些數量僅係作為利於認知的標記;除非在如下的描述中有特別聲明的部分,否則應可被理解,當使用諸如“處理”或“計算”或“運算”或“決定”或“顯示”或類似之詞彙,是指計算機系統、或類似的電子計算裝置之動作和方法,其操作和變換電腦(計算機)系統的暫存器和記憶體內表示為物理(電子)量的資料,成為類似地於計算機系統記憶體或暫存器或其它此類資料存儲、傳輸或顯示裝置內表示為物理量的其他資料。
本發明亦涉及執行所述之操作的裝置。該裝置可以是基於特殊使用目的而被建構,亦可能包括一般目的電腦(計算機)以藉由儲存在電腦中的電腦程式而選擇性啟動或重新配置。所述之電腦程序(程式)係指存儲於一計算機可讀取存儲媒體中,例如但並不侷限於此,任何類型的磁碟,包括軟磁碟、光碟、CD-ROM和磁光碟,唯讀記憶體(ROM),隨機存取記憶體(RAM)、EPROM、EEPROM,磁卡或光卡,或任何適用於儲存電子指令之媒體,並且每個都耦合到電腦(計算機)系統匯流排。
本發明所述之演算與顯示,並非固有地與任何特定計算機或其它裝置相關。如前所述,各種通用系統可與程序一起使用,或該系統亦可驗證有利於建構執行較特殊的裝置時所需的方法或步驟。對於本發明之系統所需之各種結構,將如下所描述。此外,本發明所參考的任何特定之程式語言(programming language)在此不作敘述。應可理解,本發明係使用多種程式語言進行敘述,以使他人更充分地理解本發明之內容。
機器可讀取媒體(machine-readable medium)包括具有儲存或以機器(例如,電腦)可讀的形式傳送信息之任何機制。例如,一機器可讀取媒體可包括:唯讀記憶體(ROM),隨機存取記憶體(RAM),磁碟儲存媒體,光儲存媒體與
快閃記憶體裝置等。
在一實施例中,環形振盪器架構具有至少一個環形振盪器結構,並且每個環形振盪器結構具有一環形振盪器和一個測試結構。其中所述之環形振盪器結構是用以操作輸出一振盪訊號,且包含具有一組以背對背連接的奇數反相器之反向器鏈的環形振盪器。所述之測試結構係耦合至一環形振盪器以提供可觀測鏈的輸入或一測試輸入至環形振盪器,並從環形振盪器接收作為反饋的振盪訊號輸出。在另一實施例中,測試結構透過將現有的環形振盪器配置為一可測試結構,而允許環形振盪器進行一個或多個固定型測試與功能測試,以驗證環形振盪器是否可以在指定的抖動限值(jitter limit)內產生預期的振盪頻率。在另一實施例中,所述之環形振盪器架構還包括一個及閘(AND gate),其具有一對輸入端和一個輸出端,其輸出端被耦合到所述環形振盪器之輸入端。
在一實施例中,測試結構係回應多個控制訊號。在另一實施例中,所述之控制訊號之一包括從一內部暫存器(register internal)至環形振盪器架構之測試控制訊號。在另一實施例中,所述之控制訊號之一包括一環形振盪器測試模式訊號,其表示待測試的環形振盪器是否處於功能模式或測試模式中。
在一實施例中,每個環形振盪器的結構包括一組環形振盪器結構以一串聯鏈(serial chain)連接,其中在串聯鏈環形振盪器結構之最後一個之測試輸出訊號係反饋用以測試輸入至串聯鏈上的第一個環形振盪器結構。在另一實施例中,所述之串聯鏈具有奇數的反相器。在另一實施例中,所述之每個環形振盪器結構進一步地包括一閘,在基於反饋賦能訊號下,使其有條件地啟動反饋路徑以對測試輸出訊號進行反饋。在另一實施例中,所述之每個環形振盪器結構進一步地包括一互斥或閘(XOR gate),以從測試結構之最後一個之測試輸入訊號反饋至進行XOR之測試輸出訊號。在另一實施例中,一個或多個(小於整體數)的環形振盪器被選定,藉由發出指定的賦能訊號以對多個所述之環形振盪器進行檢測。
圖三為環形振盪器之一實施例的示意圖。參照圖三所示,環形振盪器的功能是產生振盪輸出osc_out 311。振盪輸出osc_out 311,用以提供一時脈至晶片上電路(on-chip circuitry),並使亂數產生以進行加密和解密之使用。圖三顯示出環形振盪器之功能表示。在一實施例中,所有的環形振盪器可以在類比電路中實施。在另一實施例中,環形振盪器係在數位電路中實施。環形振盪
器在功能上可被視為是奇數(2N+1)個反相器的組合迴接(loop-back)並由一賦能訊號310透過閘300所賦能(enabled)。若該賦能訊號310等於1時,則環形振盪器可在osc_out 311產生一個振盪輸出訊號。另外,輸出被固定在邏輯狀態,例如,osc_out 311相當於~Enable,其中符號~表示邏輯非。因此,如圖三所示環形振盪器之行為可被簡述為“forever osc_out=Enable?(~osc_out:1)”。若賦能信號310等於0時,此時osc_out 311則因奇數的反轉而為1。在另一方面,osc_out 311可被持續地增加,以在osc_out 311中產生振盪輸出訊號。
由於測試方案之限制及需求會根據應用程序之不同而有所不同,故在測試個別應用程序時其目標導向皆係有所不同的。為了測試大量的環形振盪器足以被加密系統使用,例如,從經濟角度來看,使產生振盪輸出訊號能力有效是比其詳細的效能分析具有更大的重要性。只要環形振盪器本身能夠振盪,則其本身即可成功地被作為亂數之產生來源以產生亂數。因此,在對用以產生亂數之環形振盪器進行檢測時,振盪之功能可以先於詳細效能規格測試而作為測試目標。然而,若有必要,於測試其基本功能性之後再接續進行詳細的效能規格測試。
本發明所述之環形振盪器方案可以提供效能測試之測試存取(test access)。假若環形振盪器在特定之抖動限制內輸出預定的振盪頻率,則效能規格測試是有效的。一般來說,環形振盪器之基本功能測試可能於功能速度時不用實施,但若在速度較慢的情況下,則在權衡測試品質與測試成本效益後亦有可能進行基本功能測試。此外,當功能測試與效能規格測試的執行速率不同時,則此測試被稱為虛擬功能測試(pseudo-functional test)。為了實現在各種頻率的虛擬功能測試,環形振盪器的週期可能需要受到測試工程師控制。
在一個實施例中,虛擬功能測試是由嵌入在環形振盪器之一個測試控制機制來實現。該測試控制機構使得環形振盪器的頻率從主要輸入訊號於測試過程中受到控制。使用所提供的測試控制,該環形振盪器被強制在任何可允序的頻率(可能係低於或超出其規格頻率)下操作。此項特徵在環形振盪器的基本功能測試中是有用的,此外,該特徵亦在執行環形振盪器之結構測試上具有助益。
一般情況下,功能測試不涉及故障模式。故障模式可被視為一物理(實體)缺陷之邏輯表示。不同種類的故障模式可以用於模擬物理缺陷之行為。
故障模式可藉由底下所提供的故障模式,有助於抽象的層級確定缺陷之行為的發生原因。一個推定的故障模式是一固定型故障模式(stuck-at fault model)。該固定型故障模式代表因至電源VDD(模擬為固定型邏輯1或SA-1)和到接地GND(模擬為SA-0)短路而導致之物理缺陷。在此種故障模式中,該SA-0和SA-1的故障係被推定在一個閘的每一埠。
如下文所示,一環形振盪器(RO)測試結構之一實施例被敘述。從RO測試結構所建構之測試存取,亦將隨著階層式環形振盪器測試結構的建構而被討論。在一實施例中,測試存取係藉由以串聯方式連接的RO測試結構而形成。在一個實施例中,該階層式RO係由測試存取所建構而成,其係藉由從RO鏈的輸入到輸出而建立背對背連接以形成一個較大的RO。在一實施例中,階層式RO包含在RO鏈中的所有環形振盪器。階層式RO可以與單獨的RO同樣的方式進行測試,並可用於檢測總延遲缺陷。因此,在此之後將進行對虛擬功能測試之討論,其次接續討論結構測試。且這兩種測試都通過所公開的測試存取來執行。
為了控制在環形振盪器於測試期間的非同步行為(asynchronous behavior),一測試點可以併入環形振盪器中,使得環形振盪器的輸出訊號可以藉由測式輸入訊號的控制之下而得到改變。從而便得環形振盪器之振盪頻率可錯由測式輸入訊號而控制。
圖四為本發明實施例之一RO測試結構示意圖。該RO測試結構可以被設置在環形振盪器中之任何位置。參照圖四,所述之RO檢測結構包括一及閘(AND gate)401、反相器鏈402與RO測試結構403。賦能訊號410係被耦合至AND閘401之一輸入端及RO測試結構403之一輸入。AND閘401之另一輸入端被耦合至RO測試結構403之輸出端osc_in 411。AND閘401之輸出端係耦合至反相器鏈402的輸入端。在一實施例中,反相器鏈402包括奇數個反相器(例如,2N+1個反相器)。且該反相器鏈402的輸出為osc_out 412,其也耦合至RO測試結構403之osc_out輸入端427。
osc_out 412透過AND閘輸入端401可與經由RO測試結構403
的osc_in 411相連結。在一實施例中,在初始化時,osc_in 411被重置為邏輯1(logical 1),以提供一非控制邏輯值(non-controlling logic value)至AND閘401,並使賦能訊號410可在osc_out412被觀察到。
本發明公開一種可測試的振盪器可以合併整體測試控制信號以協調環形振盪器測試。在一實施例中,該測試控制信號係從內部暫存器所提供,其可以通過一個眾所周知的IO介面(e.g.,I2C,IEEE STD 1149.1 Boundary Scan,etc.)以被存取。在一實施例中,當在進行結構固定型測試中,測試之輸入訊號係由內部暫存器所提供,且測試之輸出訊號亦由內部暫存器所擷取。
環形振盪器測試模式(OTM)訊號421決定待測環形振盪器是處於功能模式或測試模式之狀態。在功能模式中,當OTM 421等於0時,該測試結構是靜態的,且對環形振盪器之功能沒有效果。在測試模式中,根據賦能控制點(control point enable,CPE)424判斷環形振盪器是否可自由運作的方式來運作或者其係在測試輸入控制頻率下運作。如果該控制點係被啟用的(enable)(例如,當CPE 424等於1),則環形振盪器的頻率將取決於測試輸入信號(test_in 422)的頻率。反之若僅RO被啟動,則環形振盪器係可以由自由運作的方式來運作或者其係在功能速度下運作。在一個實施例中,CPE 424被假定為在頂層被與OTM 421所閘接,並使當OTM 421等於0時,其可被失效(亦即,CPE424等於0)。
在一實施例中,觀察鏈輸入(obc_in)423和輸出(obc_out)426是作為觀察賦能訊號410及osc_out412上的故障。而osc_in訊號411及osc_out訊號412分別為反相器鏈的輸入和輸出。若賦能訊號410等於1,則osc_out 412等於~osc_in。反之則osc_out 412等於~Enable或邏輯1。測試輸出(test_out 425)是osc_in 411的複製。在test_in 422的控制下,該osc_out 412可以被傳遞至osc_in 411。
在一實施例中,當OTM 421等於1、CPE 424等於0且賦能訊號410等於0時,測試結構被初始化。在初始化時,測試輸入(test_in 422)被假定為設定與osc_in 411具有相同的訊號狀態,即test_in 422等於1,osc_out 412等於~Enable。若在CPE 424等於1且賦能訊號410等於1時,則osc_in 411係可以追踪test_in 422的變化。由於振盪器輸出(osc_out 412)為osc_in 411的反相輸出,故osc_out 412的改變係由test_in 422所直接控制。
表示於圖五的是在測試期間環形振盪器測試結構之行為。當
OTM 421及CPE 424均等於1時,環形振盪器的頻率可以從插入的測試點進行控制。若賦能訊號410等於1,則該環形振盪器將被啟動並等待test_in 422改變其訊號狀態。此時,環形振盪器的輸出保持不變,直到test_in 422被改變為止。在一實施例中,test_in 422的每一個訊號轉變,其可能是從低到高或高到低之狀態,使得振盪器在osc_out 412與test_ot 425皆產生相同的訊號轉變。因此,環形振盪器之輸出可在test_in 422的控制下被可靠地測量或觀察。此外須注意的是,測試期間環形振盪器係於test_in 422之頻率下操作。
圖六為本發明所提供之環形振盪器測試結構之一實施例。在本發明中稱為可測試的環形振盪器(TRO),是指在環形振盪器上設有測試結構之裝置。OTM 421為進行測試而啟動測試結構,為正常功能模式而停止啟動測試結構。若OTM 421及CPE 424皆等於1,則環形振盪器是在測試結構的控制之下。否則,環形振盪器是自由運作的。
為了實施控制點,故在osc_out 427與osc_in 411之間插入多工器606。多工器606會根據TRACK 610之訊號狀態而輸出osc_out 427或鎖存輸出至osc_in 411,且TRACK 610耦合至其選擇輸入。透過耦合反及閘(NAND gate)605之一輸入的CPE 424啟動TRACK 610,其中,互斥或閘604(XOR gate)之輸出係耦合於反及閘605之另一輸入。當CPE 424等於1,TRACK 610是由test_-n 422和osc_in 411之訊號狀態所決定的。如果它們的訊號狀態是相同的,則TRACK 610等於0,否則TRACK 610等於1。若當TRACK 610等於1時,則功能路徑是透過連接osc_out 427至osc_in 411所建立的。若當TRACK610等於0時,則可透過一通過多工器606之組合反饋以形成鎖存器(latch)。所述之鎖存器在三個邏輯閘(logic gate)延遲(通過閘1至閘3)後,可被非同步初始化為與test_in 422相同的邏輯狀態。此時,若OTM 421或CPE 424等於0時,則鎖存器為可處於通透的(transparent)狀態。
一旁路多工器(bypass multiplexor,MUX)603可以實施本發明之測試存取。旁路多工器可以允許失效的環形振盪器從測試中被排除。旁路多工器603受賦能訊號410控制,且其耦合於及閘(AND gate)602之一輸入,所述之及閘602具有一輸出耦合旁路多工器(MUX)603之選定輸入。及閘602之輸入係與OTM 421耦合。旁路多工器603在測試過程中安排測試路徑。若Enable=1,則環形振盪器的輸出可與test_out 425相連結。否則,test_in 422可以旁通而
直接至test_out 425。需注意的是,互補輸入(complementary inputs)係被用在旁路多工器603以增加可測試性。亦即,在穩定狀態下osc_in 411等於test_in 422。當輸出是在有效邏輯狀態時,且除非輸入被改變否則係保持不變,則該穩定狀態可被定義為訊號狀態。
所述之旁路的功能亦有助於特性化(characterization)與晶片除錯(silicon debug)。其在特性化之用途為,由於藉由繞過所有其他的環形振盪器,任何被隔離之環形振盪器皆可被特性化。相同地,一個受懷疑的環形振盪器可以在隔離中進行測試或一缺陷的TRO(faulty TRO)可被繞過以作進一步地診斷。
可觀測鏈之互斥或閘(XOR gate)601具有一輸入耦合obc_in 423與osc_out 427並輸出obc_out 426。在一實施例中,互斥或閘601是用來檢測在賦能訊號410及osc_out 427中的SA缺陷(SA faults)。當CPE 424等於1時,該賦能訊號410可以在穩定狀態下進行測試。當賦能訊號410為失去效能與賦能狀態時,則分別對應至SA-1測試與SA-0測試。若賦能訊號410等於0,則osc_out 427等於1,且obc_out 426等於~obc_in。反之則為obc_out 426等於obc_in 423。因此,任何在賦能訊號410上的SA缺陷且其係違反obc鏈行為(obc chain behavior),則其係可在obc_out 426被檢測。在一實施例中,互斥或閘的使用表示在閘之輸出被觀察到可檢測的SA缺陷的數值必定為奇數。例如,若obc_in 423與賦能路徑二者皆是缺陷的,則互斥或閘601之輸出會被標示為偶數缺陷。如果任何數值的SA缺陷檢測係為必要,則單一位元obc結構可以被2位元所取代,其利用AND邏輯在一位元而OR邏輯在另一位元以提高測試覆蓋率。根據結果,1位元obc_in和obc_out被擴展到2位元obc_in[1:0]及obc_out[1:0]。若所有的環形振盪器分別被啟用和失去效能,當test_in=1,所有在賦能訊號上之固定0故障及固定1故障(stuck-at-0 and 1 faults),係可分別藉由在osc_out之固定1故障及固定0故障而被檢測出來,如圖6B所示。
鎖存器在賦能測試前進行初始化以保持邏輯1。這可以確保osc_in 411等於1,並提供一非控制值至及閘602之輸入,使得其輸出僅受賦能訊號410控制。例如,若對於所有環形振盪器OTM 421等於1、CPE 424及test_in 422亦等於1時,則在賦能訊號路徑410上發生的SA缺陷可以補充obc_out 426,並且因此被檢測到。
若TRACK 610等於0,因測試結構而能夠形成一鎖存器,則鎖
存器係受制於設定時間及保持時間限制,如圖七所示。該設定時間及保持時間指定一段時間使osc_out 427(412)在期間是穩定的。由於test_in 422的轉變可以導致osc_out 427的轉變,若振盪器中反相器鏈的延遲係大於該保持時間,則時間限制很容易被滿足。
圖八係透過非同步有限狀態機(asynchronous finite state machine,AFSM)描述在測試過程中TRO之行為。參照圖八,圖中向上和向下的箭頭分別表示訊號轉變從邏輯0至邏輯1以及從邏輯1至邏輯0。從邏輯0到1與從邏輯1到0訊號轉換分別被稱為一高與低轉換。且該狀態係可以按test_in 422、osc_in 411及test_out 425順序之輸入與輸出之訊號狀態而被列舉出來。反斜線符號係用來分開測試結構之輸入與輸出。例如,在初始化之後(即,OTM 421等於1,CPE 414等於0,且賦能訊號410等於0),test_in=1,osc_in=1和test_out=1(或1/11)。
當在啟動時,賦能訊號410被假定為失去效能(即賦能訊號410為0)。在1/11狀態,當CPE 424及test_in 422均等於1時,透過賦能訊號410等於1可以起始化該測試。假設當賦能訊號410等於1,該測試結構是在1/11狀態且其等待test_in 422的低轉變(low transition)。在1/11狀態下,osc_in 411與test_in 422皆為相同的邏輯狀態,使得TRACK 610等於0,其阻止了從osc_out 427到osc_in 411的功能路徑。osc_out 427(及test_out 425)與osc_in 421之互補訊號狀態經由反相器鏈而更新。
當test_in 422等於0時,狀態被更改為0/11狀態。輸入訊號狀態造成TRACK 610之高轉變(high transition)。當TRACK 610等於1時,osc_out 427係與osc_in 411相連接,使得osc_in 411能夠被互補。測試結構之狀態前進至0/01狀態。TRACK 610之狀態等於0且osc_in 411的更新訊號狀態能夠被鎖存。在同時,test_out 425能夠接續osc_in 411,而該狀態被更改至0/00狀態。當TRACK 610等於0時,在反相器鏈延遲後osc_out 427被更改為1。osc_out 427的改變係被多工器606阻斷,且並不會前進至osc_in 411。測試結構可以是靜止狀態(standstill),直到test_in 422改變。這個方法可以重複用於輸入和輸出訊號的相反的轉換。同樣地,若OTM 421、CPE 424及賦能訊號410均等於1時,則整個測試過程可以持續進行。
在一實施例中,測試結構是通過test_in422及test_out 425以串
聯方式連接而形成一個階層式測試結構。階層式測試結構可以作為一測試存取以用於特性化與晶片除錯。圖九為建構的測試存取之一範例。test_in與test_out可被作為測試存取埠。每個TRO鏈係指本發明所述之可測試振盪器鏈(testable oscillator chain,TOC)。參照圖九,每個TRO鏈具有兩個輸入,一個obc_in輸入與一個test_in輸入。除了在鏈中的第一個TRO之外,在TOC中,obc_in輸入和test_in輸入皆來自於鏈中前述的TRO。鏈中的第一TRO之輸入,例如TRO[1,N1-1],係耦合至反相器901之輸出端與OR閘之輸出端,如OR閘9021。反相器901的輸入端係被耦合至OTM訊號,它也被連接到OR閘9011-K之一個否定輸入。OR閘9021-K之其他輸入則被耦合至test_in訊號。
在一實施例中,若一專用的賦能訊號被提供至每個環形振盪器,則在階層式測試(hierarchical test)結構中任何數量的環形振盪器,能夠被獨立的測試與特性化。各環形振盪器的賦能訊號可以被用以在測試的TRO之接合與非接合(engagement and disengagement)的確定或編程。圖6中所示的測試結構中的多工器603可以被設置,以從測試排除或繞過非接合環形振盪器。例如,CPE 424等於0用以特性化,且每個環形振盪器可透過編程賦能訊號以逐個被賦能,使得其功能行為可以藉由儀器於test_out被觀察,例如電子示波器與ATE。
如圖十所示,階層式RO測試結構(簡稱為,階層式測試結構)可以由本發明之測試存取來建構,其係利用一經由XOR閘(1001,1002)從test_out[k]至test_in[k]以建立一反饋連接。反饋控制訊號fb_en[k]能夠與及閘(1003,1004)一起使用以條件式啟動反饋迴路。且若fb_en[k]1010等於1,則該反饋可被賦能,反之則為失去效能。若饋係在賦能狀態,則此階層式環形振盪器能接合反饋迴路,其係由test_in[k,Nk-1]等於test_in[k]⊕fb[k]所建立。須注意的是,test_in[k]可作為一控制輸入並用以跟fb[k]互補。
在一實施例中,階層式環形振盪器由所有賦能環形振盪器之反相器鏈所構成。為了作為一環形振盪器,階層式環形振盪器中的反相器(inversions)數目一定為奇數。環形振盪器所需之奇數反相器,能夠藉由test_in[k]之訊號狀態所提供,如圖十所示。在檢測過程中,若在給定之階層式測試結構中的賦能TRO為奇數個,則沒有多餘的反相器是必需的。但若其是偶數個,則為了提供所需之反相器,此時test_in等於1。若fb_en[k]等於0,則如預期,階層式測試結構可被減小至測試存取結構。
階層式測試可以自動地操作而無需測試輸入(test_in[k])的相互作用。在該測試中,僅test_out[k]輸出係需要被測量以用於測試決定。由於階層式測試結構可以包括任何一組賦能環形振盪器,這種測試可能不僅驗證了環形振盪器的功能,而且還可以檢測其中的一個總的延遲缺陷。例如,當階層式環形振盪器之頻率比測試的極限值低時,則可得到有一延遲缺陷的結論。此外,本發明所提供之階層式RO亦可適用於矽晶圓的製程特性化。藉由賦能任何數目的TRO,基於階層式RO之延遲(delay)和抖動(jitter)特性,故其可被用於關連工作晶圓與不合規格晶圓。
所公開的環形振盪器測試結構可以通過不同的測試方法,例如結構測試和虛擬功能試驗,以增加晶片上數量龐大的環形振盪器之可測試性。由於結構測試之過程方法與步驟,係與虛擬功能測試相當類似,故底下主要討論虛擬功能測試,結構測試可參照虛擬功能測試來討論。
可使用於環形振盪器測試結構來實施之虛擬功能測試(pseudo-functional test)將在以下進行討論。
藉由本發明所揭示之測試結構與測試存取的幫助,若設定和保持時間可以符合,則虛擬功能測試能在任何速度下運作。在一實施例中,所公開之方案係假設一奇數的環形振盪器能被任何給定之測試賦能。奇數環形振盪器以可反映嵌入於所公開之測試存取的故障檢測特徵。在一實施例中,所公開之方案係使用兩個全域賦能訊號(global enable signals),且每一個賦能訊號(例如,賦能訊號410)能被奇數的環形振盪器所分享。此外,任何數量的賦能訊號皆可被使用,且每個賦能訊號可被任何數目的環形振盪器共享。在一實施例中,一個單獨的賦能訊號可用於每個環形振盪器。或是一個單一賦能可適用於所有的環形振盪器。使用測試存取結構之虛擬功能測試之一實施例,可以概括如下:
1. OTM=1;CPE=0;Enable[1:0]=00; 2. for all k,test_in[k]=1;CPE=1; 3. for all k,fList[k]=Φ; 4. for all k,polarity[k]=total_No_RO(TOC[k])mod2; 5. for(i=0;i<2;i++){ 1. for all k,test_in[k]=1;Enable[i]=1; 2. for all k,fault-detect(TOC[k],polarity[k],N,fList1[k]=Φ); 3. if(fList1[k]≠Φ){fList[k]=fList[k]^fList1[k];}} 4. Enable[i]=0; 6. for all k,report fList[k]; 7. end
所述之虛擬功能測試可以在步驟1至2進行初始化。TOC[k]的故障列表,被註記為fList[k],其包括從每個測試環形振盪器所偵測出之故障列表。且fList[k]可被重置或初始化為一空白列表,該過程被表示於步驟3的Φ。polarity[k]係指包含於TOC[k]中的TROs是奇數或偶數。若TROs為奇數則polarity[k]等於1,反之則為polarity[k]等於0。此mod 2被註記為模式2運算(modulo-2 operation)。若N分別為奇數或偶數,則mod 2可返回至1與0的狀態。當轉換類型從整數到二進位是不具重大影響時,則為方便以下之說明其係不再詳述。例如,mod 2的運作結果為整數,且其在被指定至二進位的polarity[k]前,則其以等同於可被轉換成二進位。
步驟五係表示執行虛擬功能測試。在一實施例中,為了檢測功能與旁路路徑二者,需要重複兩次的步驟5.1至步驟5.3。在步驟5.1中TROs是賦能或失去效能端視Enable[i]而定,而測試是在步驟5.2中執行。例如,執行第一次測試時,透過Enable[0]賦能的TROs是在TOC[k]中測試。因此,測試路徑包括賦能的TROs之功能路徑與失能的TROs之旁路(bypass)。同樣地,在執行第二次的測試時,賦能訊號可以互補使得已賦能的TROs失能,反之亦然。在步驟5.2中故障檢測測試程序,判定檢測故障列表提供於給定的TOC[k]、極性(polarity)及數個振盪器(N)以在測試中執行。在測試後,其結果係呈現在fList1[k]。在一實施例中,fList1[k]係包含TOC[k]在每個測試中的測試結果。在另一個實施例中,fList1[k]亦包括在測試結束時與其相連之一故障列表。偵測到的故障係累積於步驟5.3,並且Enable[i]在步驟5.4中重置。
在所有的賦能或失能的TROs上分別進行功能測試與旁路測試,由於這些故障可以改變週期或藉由測試存取所形成的階層式環形振盪器之延遲,故可幫助檢測錯誤地旁路或賦能的環形振盪器之偶數數量。例如,若有
偶數個錯誤地賦能TROs,則從test_in[k]至test_out[k]的延遲期間會被延長。階層式環形振盪器之週期可被相同的延遲量所延長。類似地,錯誤地失能之TROs可以縮短延遲及週期。
故障檢測測試程序之一個實施例提供如下:
fault-detect(TOC[k],polarity[k],N,fList)
1. inversion[k]=#disabled(TOC[k])mod2;
2. acc_status[1:0]=00;
3. for(n=0;n<2N;n++){//pseudo-functional test
//Fault-detection via functional path
1. exp_test_out[k]=test_in[k]⊕inversion[k];
2. Measure test_out[k]at steady-state;
3. if(test_out[k]⊕exp_test_out[k]){status[1:0]=01;}
4. else{status[1:0]=00;}
//Fault-detection via obc path
5. if(test_in[k]){exp_obc_out[k]=inversion[k];}
6. else{exp_obc_out[k]=polarity[k];}
7. Measure obc_out[k]at steady-state;
8. if(exp_obc_out[k]⊕obc_out[k]){status[1:0]=10;}
9. else{status[1:0]=00;}
10. acc_status=acc_status|status[1:0];
11. test_in[k]=test_in[k]⊕1;}//end for
4. if(acc_status≠00){fList=fList^(k,acc_status);}
5. return fList;
缺陷檢測測試程序進行測試與儲存其檢測到的缺陷。在步驟1中,決定test_out[k]是否為test_in[k]之反相。藉由在TOC[k]中失能之環形振盪器數量以決定反相。若有奇數與偶數個失能之TROs分別在TOC[k]中,則反相可為1和0。acc_status儲存測試結果並在步驟2中被重置。
在步驟3中,N個環形振盪器可以在test_out[k]及obc_out[k]於每個轉變中而被量測。在步驟3.2中,test_out[k]可以在穩定狀態下的test_in[k]於每個轉變中而被量測,並與在步驟3.1中獲得之test_out[k]期望值進行比較。透
過exp_test_out[k]=test_in[k]⊕ inversion[k]可決定test_out[k]之預期值,且其係被註記exp_test_out[k],所述之符號⊕係代表XOR功能(XOR function)。若所檢測之test_out[k]並非如預期,則可得到有一缺陷之結論。在一實施例中,若有缺陷被檢測出來,該狀態則被設為狀態等於01(status=01)。
同樣地,相關的賦能路徑包括所述反相器鏈可在obc_out[k]被檢測到故障。在一實施例中,在穩定狀態的每一個轉變之後,賦能路徑係會持續地被觀測,而預期的obc_out[k],被註記為exp_obc_out[k],係藉由發生在obc鏈中的反相數目所決定。在一實施例中,在每個TRO中的obc_out之反相係由osc_out=1所引起。該osc_out取決於賦能、test_in及polarity[k]。若Enable等於0,則無論test_in,osc_out=1。反之,在穩定狀態下osc_out=~test_in。若test_in[k]=1,則所有賦能的TROs之osc_out為邏輯0,且因此exp_obc_out[k]=inversion[k]。反之,所有TROs之osc_out為邏輯1,且exp_obc_out[k]=polarity[k]。步驟3.7可對obc_out[k]進行量測,並對從測試決定的步驟3.5及3.6所獲得的預期obc_out[y]進行比較。
在一實施例中,該狀態係透過結合一逐位元或功能(bit-wise OR function)之狀態所累積。需注意的是,若步驟3.3及3.8中皆檢測到缺陷,則acc_status=11。一旦檢測到缺陷,其仍然持續進行檢測程序直缺陷檢測測試程序被終止執行。在步驟3.11中,test_in[k]係被互補且可對N個數目振盪器繼續進行檢測程序。
當檢測完成後,若沒有發現缺陷或status=00,則fList將返回未做修改。反之,被檢測到之缺陷TOC[k]的索引(index)與最終累積之狀態將被附加於fList上。
如以下所述,相同之測試可透過結構性測試達成。
結構性測試是一種主要適用於數位隨機邏輯的低成本測試方法。在結構性測試中,內部暫存器(或正反器)被串聯連接以形成一稱為掃描鏈之測試存取。掃描鏈是用來初始化內部暫存器以利於測試,並觀察其被捕捉後之測試結果。由於內部暫存器能被負載(loading)之掃描鏈初始化至任何狀態,使得結構性測試將測試順序電路(sequential circuit)之問題轉換為組合之問題。此外,
由於非同步反饋(asynchronous feedback),結構性測試通常不能直接應用到環形振盪器之測試中。
本發明所公開之在結構性測試中的TRO,其優點係在於控制的非同步回饋。根據如前之敘述,只要穩定態的訊號達到相關的狀態,反饋似乎即破壞或不存在。因此,當在沒有非同步回饋且使用相同的結構測試其它隨機邏輯下,TRO可以被視為一隨機邏輯。本發明其它優點包括,基於在TOC中TRO的數量增加,而增加一小型計算模式。由於本發明所提供之測試存取係與包括在TOC中的反相器鏈串聯連接,在一TRO上檢測缺陷的測試型態亦可在包括相同的TOC中的多個TROs上進行缺陷檢測。即是說,串聯連接的TROs可以增加相當量的缺陷,使得檢測到一故障存在,即可引導出許多相同的潛在缺陷,且無須耗費額外努力。
如圖11所示,其係關於環形振盪器測試結構在穩定狀態中的一實施例。須注意的是,當CPE=1時,非同步反饋被破壞。在一實施例中,如在圖11所示的穩定狀態行為模式,其係應用於自動測試圖樣產生(automatic test pattern generation,ATPG)中,其可被商用的APTG工具所施用。在本發明之討論中,結構性檢測程序係被解釋為在環形振盪器之測試中如何被其合併。
1. STM=1; 2. SE=1;//CPE=0; 3. Scan load/unload;//initialize test & check test result 4. SE=0;//CPE=1; 5. Force PI; 6. Measure PO;//check{test_out,obc_out},if primary outputs 7. capture;//capture test result from{test_out,obc_out} 8. go to step 2 until done; 9. end
在步驟1中,當結構式測試模式STM=1,則啟動結構性測試。在步驟2中啟用掃描鏈,且當SE=1時,包括TRO的組合性系統邏輯(combinational system logic)係失能的。OTM被假定為係由內部暫存器所提供,因此在結構性測試期間,其可被檢測且可被掃描賦能(scan enable,SE)所控制。
test_in及the obc_in於步驟3中被負載。在測試輸入負載後,該SE將失能(SE=0)使得環形振盪器邏輯因而被賦能。主要輸入訊號(primary input,PI)被強制(forced)且主要輸出訊號被量測,分別在步驟5及步驟6中。在結構性測試過程中,若測試輸入訊號(test_in and obc_in)及測試輸出訊號(test_out and obc_out)係與PI及PO分別連結,則其係被強制與被量測的。否則,它們在步驟7中被捕獲至內部暫存器中,且於步驟2中,SE被啟動(SE=1)而未負載測試結果。在步驟3中,所捕獲的測試結果在事後對試驗判定(ATE)被檢查以測試決定。因為負載的測試輸入可以與未負載試驗結果重疊,因此兩者在步驟3中被合併。
步驟4及步驟5實現了在虛擬功能測試法敘述中的關於測試裝置的討論。在穩定狀態下若Enable=0且osc_in=~test_in,則被控制的非同步反饋迫使osc_in成為與穩定狀態下test_in相同之邏輯狀態或osc_in=~Enable。或者,相同的測試設置是由在步驟2的掃描賦能訊號,以額外使用的邏輯閘(logic gates)所完成的。例如,若SE=1時,則迫使CPE=0、Enable[1:0]=00及test_in=1。反之,該測試控制訊號由系統邏輯所決定。
結構性測試經常是一必備檢測(mandatory test),且與本發明所提供之環形振盪器檢測方案相比,結構性測試需要花更長的測試時間。且由於環形振盪器測試重疊於所述其他隨機邏輯測試,環形振盪器TRO的測試成本可以被遮蔽去除或是非常輕微的。此外,可用的測試時間可以被利用來改善在某些測試應用中,環形振盪器測試的診斷分辨率,特別是在指定賦能係有效的狀況下時。
因此,本發明所揭示在HDCP框架與其他加密晶片下,用以產生安全密鑰之真實亂數產生器之大量環形振盪器之具有成本效益的檢測方案,皆已悉數描述如上。本發明所公開之方案允許環形振盪器測試方案將結構性測試納入,即使是在環形振盪器的數量增加下。本發明亦很好地擴展可解決之問題大小,並使得測試成本最小化。此外,該方法若應用至IP及終端產品中,將可降低測試成本,並提高測試質量及優化工程設計之研發測試。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此參照本發明之各種實施例細節,其僅是作為揭示本發明之必要技術特徵,並非用以限制申請專利範圍之範圍。
401‧‧‧及閘
402‧‧‧反相器鏈
403‧‧‧RO測試結構
410‧‧‧賦能訊號
411‧‧‧osc_in
412‧‧‧osc_out
421‧‧‧環形振盪器的測試模式(OTM)訊號
422‧‧‧test_in
423‧‧‧obc_in
424‧‧‧賦能控制點(CPE)
425‧‧‧test_out
426‧‧‧obc_out
427‧‧‧osc_out
Claims (19)
- 一種振盪裝置,包括:至少一環形振盪器結構,包括:一環形振盪器,具有奇數個反相器以串聯連接之一反相器鏈,該環形振盪器經操作以產生回應接收一振盪輸入之一振盪輸出;及一測試結構,耦合至該環形振盪器,並包含一XOR閘,其具有一輸入耦合至一可觀測鏈輸入和另一輸入耦合至該振盪輸出,以藉由該環形振盪器根據在該測試結構所接收之一測試輸入及藉由從該環形振盪器接收以作為一反饋之該振盪輸出,以驗證在指定的抖動限值內產生該振盪輸出之一預期的振盪頻率,該可觀測鏈輸入將用以觀測與賦能或去能該反饋訊號相關之錯誤之一訊號呈現至該環形振盪器,該測試輸入將一輸入訊號以一預期的振盪頻率呈現。
- 如請求項第1項所述之裝置,其中該測試結構係操作以重新配置該環形振盪器成為一可測試結構,以允許在該環形振盪器進行至少一個結構測試及功能性測試。
- 如請求項第1項所述之裝置,更包含:一複數個環形振盪器結構,該複數個環形振盪器結構包含至少一環形振盪器結構,該複數個環形振盪器結構以一串聯鏈連接以從一第一環形振盪器結構將一訊號路徑提供至該複數個環形振盪器結構中一最後環形振盪器;及一反饋路徑,係配置以將在該串聯鏈中該最後環形振盪器結構之一測試輸出反饋至該複數個環形振盪器結構之該第一環形盪器結構,該測試輸出連接由該第一環形振盪器結構所接收之一測試輸入以控制該振盪器輸出之一頻率。
- 如請求項第3項所述之裝置,更包括在該串聯鏈中耦接至該第一環形振盪器結構之一閘回應接收一賦能訊號,以有條件地啟動該反饋路徑以對該最後環 形振盪器結構之該測試輸出進行反饋。
- 如請求項第3項所述之裝置,更包括一互斥或(XOR)閘,係配置以從該最後環形振盪結構執行在該測試輸出一互斥或(XOR)之操作及執行在由該第一環形振盪結構所接收之該測試輸入一互斥或XOR之操作。
- 如請求項第3項所述之裝置,其中在該連續鏈中該複數個環形振盪器結構之一或多個個別的環形振盪器係經選定以根據該一或多個個別的環形振盪器之對應的賦能訊號來測試。
- 如請求項第3項所述之裝置,其中該反相器鏈具有從一第一環形振盪器結構至該複數個環形振盪器結構中一最後環形振盪器結構沿該訊號路徑之奇數個反相器。
- 如請求項第1項所述之裝置,更包括一及(AND)閘,具有一對輸入和一輸出,該及(AND)閘之輸出耦合到該環形振盪器之一輸入,且該及(AND)閘有條件地啟動或停止啟動該反饋路徑以回應一反饋賦能訊號。
- 如請求項第1項所述之裝置,其中該測試結構接收複數個控制訊號。
- 如請求項第9項所述之裝置,其中該複數個控制訊號中至少一個控制訊號係從一內部暫存器至該裝置所獲得之一測試控制訊號。
- 如請求項第9項所述之裝置,其中該複數個控制訊號中至少一個控制訊號係一環形振盪器測試模式訊號,其係決定該環形振盪器是否處於功能模式中以提供一自由運作的振盪輸出或處於測試模式中以在一指定頻率中產生該振盪輸出。
- 一種亂數產生器係可應用於高畫質數位內容HDCP中用以產生安全密鑰,該亂數產生器包括至少一環形振盪器結構,該環形振盪器結構包含:一環形振盪器,具有奇數個反相器以串聯連接之一反相器鏈,該環形振盪器經操作以產生回應接收一振盪輸入之一振盪輸出;及 一測試結構,耦接至該環形振盪器,並包含一XOR閘,其具有一輸入耦合至一可觀測鏈輸入和另一輸入耦合至該振盪輸出,以藉由該環形振盪器根據在該測試結構所接收之一測試輸入及藉由從該環形振盪器接收以作為一反饋之該振盪輸出,以驗證在指定的抖動限值內產生該振盪輸出之一預期的振盪頻率,該可觀測鏈輸入將用以觀測與賦能或去能該反饋訊號相關之錯誤之一訊號呈現至該環形振盪器,該測試輸入將一輸入訊號以一預期的振盪頻率呈現。
- 一種振盪裝置,包括:一複數個環形振盪器結構以一串聯鏈連接以從一第一環形振盪器結構將一訊號路徑提供至該複數個環形振盪器結構中一最後環形振盪器,複數個環形振盪器結構中每一個環形振盪器結構包含:一環形振盪器,具有反相器以串聯連接之一反相器鏈,該環形振盪器經操作以回應接收一振盪輸入產生一第一振盪輸出;及一環形振盪器測試結構,耦合至該環形振盪器,該環形振盪器測試結構包含一XOR閘,其具有一輸入耦合至一可觀測鏈輸入和另一輸入耦合至該振盪輸出,該環形振盪測試結構經操作以重新配置該環形振盪器至一可測試結構以賦能一結構性測試之至少一個別的測試及該環形振盪器之一功能性測試,該個別測試係是否該環形振盪器產生一預期的振盪頻率;及一閘耦合至在該串聯鏈中該第一環形振盪結構以有條件地啟動一反饋路徑以在串聯鏈中該第一環形振盪器結構將該最後環形振盪測試結構之一測試輸出反饋至該複數環形振盪器結構,經由該反饋路徑,該有條件的啟動回應一反饋賦能訊號,該測試輸出經反饋至該複數個環形振盪器結構用來與由該第一環形振盪器結構所接收之一測試輸出以控制該複數環形振盪器結構之該最後環形振盪器結構之一振盪輸出之一頻率。
- 如請求項第13項所述之裝置,更包括一互斥或(XOR)閘,配置以執行該最後環形振盪器結構及由該第一環形振盪器結構接收之該測試輸入之互斥或(XOR)操作。
- 如請求項第13項所述之裝置,其中該串聯鏈中該複數環形振盪器結構之一或多個個別的環形振盪器係藉由對應該一或多個環形振盪器之賦能訊號而被選定測試。
- 如請求項第13項所述之裝置,其中該串聯鏈具有從一第一環形振盪器結構至該複數個環形振盪器結構中一最後環形振盪器結構沿該訊號路徑之奇數個反相器。
- 如請求項第13項所述之裝置,更包括邏輯閘係耦合至該複數環形振盪器結構,該邏輯閘係配置以去能反饋在穩定狀態下的至少一個該複數個環形振盪器以用於一結構性固定型測試。
- 一種亂數產生器係可應用於加密系統中用以產生安全密鑰,該亂數產生器包括:一複數個環形振盪器結構以一串聯鏈連接以從一第一環形振盪器結構將一訊號路徑提供至該複數個環形振盪器結構中一最後環形振盪器,複數個環形振盪器結構中每一個環形振盪器結構包含:一環形振盪器,具有反相器以串聯連接之一反相器鏈,該環形振盪器經操作以回應接收一振盪輸入產生一第一振盪輸出;及一環形振盪器測試結構,耦合至該環形振盪器,該環形振盪器測試結構經配置以從該環形振盪器接收一第二振盪輸出作為一反饋訊號,該環形振盪測試結構經配置以藉由根據接收一可觀測鏈輸入或在該環形振盪器測試結構所接收之一測試輸入之該環形振盪器在指定的抖動限值內產生該第一振盪輸出之一預期的振盪頻率,該可觀測鏈輸入將用以觀測與賦能或去能反饋訊號相關之錯誤之一訊號呈 現至該環形振盪器,該測試輸入將一輸入訊號以該預期的振盪頻率呈現,該環形振盪器結構經操作以重新配置該環形振盪器至一可測試結構以賦能該環形振盪器之一結構性測試或功能性測試之至少一個別的測試,該個別的測試用以決定該環形振盪器產生一預期的振盪頻率;及一閘,其與該環形振盪器測試結構分開,並耦合至在該串聯鏈中該第一環形振盪結構以有條件地啟動一反饋路徑以在串聯鏈中該第一環形振盪器結構將該最後環形振盪測試結構之一測試輸出反饋至該複數環形振盪器結構,經由該反饋路徑,該有條件的啟動回應一反饋賦能訊號,該測試輸出經反饋至該複數個環形振盪器結構用來與由該第一環形振盪器結構接收之一測試訊號以控制該複數環形振盪器結構之該最後環形振盪器結構之一振盪輸出之一頻率。
- 一種振盪裝置,包括至少一環形振盪器結構,該環形振盪器結構包括:一環形振盪器,具有反相器以串聯連接之一反相器鏈,該環形振盪器經操作以回應接收一振盪輸入產生一第一振盪輸出;及一反饋路徑,係配置以接收從該反向器鏈接收該振盪輸出,及以提供該振盪輸入至該反向器鏈,該反饋路徑包含:一測試結構,包含一XOR閘,其具有一輸入耦合至一可觀測鏈輸入和另一輸入耦合至該振盪輸出,該測試結構經配置以從該環形振盪器接收該振盪輸出作為一反饋訊號及接收該可觀測鏈輸入或一測試輸入,該可觀測鏈輸入將用以觀測與賦能或去能該反饋訊號相關之錯誤之一訊號呈現至該環形振盪器,該測試輸入將一輸入訊號以一預期的振盪頻率呈現;及一閘元件以有條件地啟動或停止啟動該反饋路徑來回應置一反饋賦能訊號。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/605,708 US8841974B2 (en) | 2012-09-06 | 2012-09-06 | Test solution for ring oscillators |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201419758A TW201419758A (zh) | 2014-05-16 |
TWI593234B true TWI593234B (zh) | 2017-07-21 |
Family
ID=50186712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102130640A TWI593234B (zh) | 2012-09-06 | 2013-08-27 | 環形振盪器之測試解決方案 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8841974B2 (zh) |
EP (1) | EP2893639A4 (zh) |
JP (1) | JP2015534673A (zh) |
KR (1) | KR20150054899A (zh) |
CN (1) | CN104604131A (zh) |
TW (1) | TWI593234B (zh) |
WO (1) | WO2014039226A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI799930B (zh) * | 2020-11-23 | 2023-04-21 | 大陸商深圳市繪王動漫科技有限公司 | 壓力檢測電路 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6423277B2 (ja) * | 2015-01-09 | 2018-11-14 | 株式会社メガチップス | 乱数生成装置及び乱数生成方法 |
US9891276B2 (en) | 2015-07-28 | 2018-02-13 | International Business Machines Corporation | Performance-screen ring oscillator (PSRO) using an integrated circuit test signal distribution network |
US10078114B2 (en) * | 2015-09-24 | 2018-09-18 | Renesas Electronics Corporation | Test point circuit, scan flip-flop for sequential test, semiconductor device and design device |
CN106874177A (zh) * | 2015-12-14 | 2017-06-20 | 中国航空工业第六八研究所 | 一种基于场景的锁存器测试方法 |
CN106656460A (zh) * | 2016-11-22 | 2017-05-10 | 浙江大学 | 一种针对密码芯片电磁脉冲故障分析的防御装置 |
CN111010880A (zh) * | 2018-08-08 | 2020-04-14 | 深圳市汇顶科技股份有限公司 | 随机数发生器的建模方法、装置、介质及随机数发生器 |
US11316687B2 (en) * | 2019-03-04 | 2022-04-26 | Cypress Semiconductor Corporation | Encrypted gang programming |
US10761809B1 (en) * | 2020-03-12 | 2020-09-01 | Katholieke Universiteit Leuven | Random number generator |
TWI719917B (zh) * | 2020-07-14 | 2021-02-21 | 金麗科技股份有限公司 | 將類比動態電路運用於數位測試工具的處理方法 |
US20230259433A1 (en) * | 2022-02-11 | 2023-08-17 | Stmicroelectronics S.R.L. | Systems and methods to test an asychronous finite machine |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0770573B2 (ja) * | 1989-07-11 | 1995-07-31 | 富士通株式会社 | 半導体集積回路装置 |
US5963104A (en) * | 1996-04-15 | 1999-10-05 | Vlsi Technology, Inc. | Standard cell ring oscillator of a non-deterministic randomizer circuit |
US6069849A (en) * | 1996-09-17 | 2000-05-30 | Xilinx, Inc. | Method and system for measuring signal propagation delays using the duty cycle of a ring oscillator |
JP2000183694A (ja) * | 1998-12-18 | 2000-06-30 | Mitsumi Electric Co Ltd | 発振回路 |
JP2002311091A (ja) * | 2001-04-10 | 2002-10-23 | Mitsubishi Electric Corp | 半導体装置 |
JP2004096237A (ja) * | 2002-08-29 | 2004-03-25 | Nec Electronics Corp | 発振回路及び半導体集積回路 |
US6798230B1 (en) * | 2003-01-15 | 2004-09-28 | Advanced Micro Devices, Inc. | Structure and method for increasing accuracy in predicting hot carrier injection (HCI) degradation in semiconductor devices |
US7205854B2 (en) * | 2003-12-23 | 2007-04-17 | Intel Corporation | On-chip transistor degradation monitoring |
US7233212B2 (en) * | 2005-03-31 | 2007-06-19 | International Business Machines Corporation | Oscillator array with row and column control |
US7675372B2 (en) * | 2006-08-09 | 2010-03-09 | Qualcomm Incorporated | Circuit simulator parameter extraction using a configurable ring oscillator |
US7532078B2 (en) * | 2007-02-09 | 2009-05-12 | International Business Machines Corporation | Scannable virtual rail method and ring oscillator circuit for measuring variations in device characteristics |
CN101373203A (zh) * | 2007-08-21 | 2009-02-25 | 中芯国际集成电路制造(上海)有限公司 | 环形振荡器速度测试结构 |
US8676870B2 (en) * | 2007-09-18 | 2014-03-18 | Seagate Technology Llc | Active test and alteration of sample times for a ring based random number generator |
JP2009117894A (ja) * | 2007-11-01 | 2009-05-28 | Univ Of Tokyo | 注入同期型発振器 |
JP4427581B2 (ja) * | 2008-01-08 | 2010-03-10 | 株式会社東芝 | 乱数生成回路 |
US8081037B2 (en) * | 2008-06-11 | 2011-12-20 | Qualcomm Incorporated | Ring oscillator using analog parallelism |
DE102008048292B4 (de) * | 2008-09-22 | 2012-07-12 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge |
JP2010087275A (ja) * | 2008-09-30 | 2010-04-15 | Panasonic Corp | 半導体集積回路および電子機器 |
CN101819515B (zh) * | 2010-02-08 | 2012-06-20 | 清华大学 | 基于环型振荡器的真随机数发生电路及真随机数发生器 |
US8381144B2 (en) * | 2010-03-03 | 2013-02-19 | Qualcomm Incorporated | System and method of test mode gate operation |
-
2012
- 2012-09-06 US US13/605,708 patent/US8841974B2/en active Active
-
2013
- 2013-08-15 WO PCT/US2013/055176 patent/WO2014039226A1/en unknown
- 2013-08-15 EP EP13835091.3A patent/EP2893639A4/en not_active Withdrawn
- 2013-08-15 CN CN201380046554.9A patent/CN104604131A/zh active Pending
- 2013-08-15 JP JP2015531099A patent/JP2015534673A/ja active Pending
- 2013-08-15 KR KR1020157008839A patent/KR20150054899A/ko not_active Application Discontinuation
- 2013-08-27 TW TW102130640A patent/TWI593234B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI799930B (zh) * | 2020-11-23 | 2023-04-21 | 大陸商深圳市繪王動漫科技有限公司 | 壓力檢測電路 |
Also Published As
Publication number | Publication date |
---|---|
KR20150054899A (ko) | 2015-05-20 |
EP2893639A4 (en) | 2016-06-22 |
TW201419758A (zh) | 2014-05-16 |
US8841974B2 (en) | 2014-09-23 |
US20140062606A1 (en) | 2014-03-06 |
WO2014039226A1 (en) | 2014-03-13 |
JP2015534673A (ja) | 2015-12-03 |
EP2893639A1 (en) | 2015-07-15 |
CN104604131A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI593234B (zh) | 環形振盪器之測試解決方案 | |
US7475311B2 (en) | Systems and methods for diagnosing rate dependent errors using LBIST | |
US9231567B2 (en) | Test solution for a random number generator | |
JP5373403B2 (ja) | データ処理システムを試験するための方法および装置 | |
US8086924B2 (en) | Implementing diagnosis of transitional scan chain defects using logic built in self test LBIST test patterns | |
US9297855B1 (en) | Integrated circuit with increased fault coverage | |
US9666302B1 (en) | System and method for memory scan design-for-test | |
US20170131355A1 (en) | Using Embedded Time-Varying Code Generator to Provide Secure Access to Embedded Content in an On Chip Access Architecture | |
Da Rolt et al. | A smart test controller for scan chains in secure circuits | |
US6446229B1 (en) | Method and apparatus for integrated flip-flop to support two test modes | |
US10545188B2 (en) | Functional diagnostics based on dynamic selection of alternate clocking | |
Zadegan et al. | A self-reconfiguring IEEE 1687 network for fault monitoring | |
Kochte et al. | Test strategies for reconfigurable scan networks | |
US10459029B2 (en) | On-chip clock control monitoring | |
Jutman et al. | Reliable health monitoring and fault management infrastructure based on embedded instrumentation and IEEE 1687 | |
US10520550B2 (en) | Reconfigurable scan network defect diagnosis | |
US7962766B2 (en) | Method and system for encryption-based design obfuscation for an integrated circuit | |
Lubaszewski et al. | On the design of self-checking boundary scannable boards | |
US20130198578A1 (en) | Maximizing Re-Use of External Pins of an Integrated Circuit for Testing | |
US8140923B2 (en) | Test circuit and method for testing of infant mortality related defects | |
US6904554B2 (en) | Logic built-in self test (BIST) | |
KR100694315B1 (ko) | 다중 시스템 클럭 및 이종 코어를 포함하는 시스템 온 칩용연결선 지연 고장 테스트 제어기 | |
Wang et al. | Concurrent test of reconfigurable scan networks for self-aware systems | |
CN112585486A (zh) | 扩展jtag控制器和使用扩展jtag控制器进行功能复位的方法 | |
JP2013242746A (ja) | 故障検出システムと方法並びに半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |