TWI759717B - 在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質 - Google Patents

在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質 Download PDF

Info

Publication number
TWI759717B
TWI759717B TW109112551A TW109112551A TWI759717B TW I759717 B TWI759717 B TW I759717B TW 109112551 A TW109112551 A TW 109112551A TW 109112551 A TW109112551 A TW 109112551A TW I759717 B TWI759717 B TW I759717B
Authority
TW
Taiwan
Prior art keywords
circuit
pulse
path
signal path
active signal
Prior art date
Application number
TW109112551A
Other languages
English (en)
Other versions
TW202101268A (zh
Inventor
傑森艾文 迪克斯
Original Assignee
美商葛蘭碼科技股份有限公司
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 美商葛蘭碼科技股份有限公司 filed Critical 美商葛蘭碼科技股份有限公司
Publication of TW202101268A publication Critical patent/TW202101268A/zh
Application granted granted Critical
Publication of TWI759717B publication Critical patent/TWI759717B/zh

Links

Images

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/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • 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/31706Testing of digital circuits involving differential digital signals, e.g. testing differential signal circuits, using differential signals for testing
    • 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/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • 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/3177Testing of logic operation, e.g. by logic analysers
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318328Generation of test inputs, e.g. test vectors, patterns or sequences for delay tests
    • 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/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31937Timing aspects, e.g. measuring propagation delay

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本案描述的系統、方法和電腦可讀介質涉及用於在諸如但不限於現場可程式設計閘陣列(FPGAs)和特殊應用積體電路(ASICs)的積體電路中的特徵化和/或異常檢測的技術。在一些示例實施例的一個示例方面中,全數位技術依賴於透過待測路徑傳播的訊號之脈波寬度。在另一個示例方面中,利用積體電路的可重新配置性將脈波傳輸技術與延遲特徵化技術相結合,以更好地檢測一些類型的木馬程式(Trojans)等。另一個示例方面中提供了透過可重新配置的路徑段運行測試,以便隔離和識別異常電路元件。另一個示例方面提供了執行特徵化和異常檢測而無需絕佳的參考等。

Description

在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質
本案是關於一種在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質。
在幾乎每一現代使用領域中,各種設備中都存在各種複雜的積體電路(ICs)。由於ICs在各種環境中都非常普遍,因此惡意行為者極有可能暗中修改IC。這樣的秘密修改可能導致包含所述IC的設備以IC設計者不希望的方式運作。對IC的一種秘密修改是對IC中的一個或複數訊號路徑進行惡意修改,通常稱為「木馬程式(Trojan)」。由於積體電路通常在世界各地生產,因此很難依靠設計和製造過程和/或人員的可信任性。因此,希望能夠從製造商處收到對IC的惡意修改。
當前,許多技術正在用於驗證IC的設計和功能。在一些情況下,被稱為「信任設計(DfT)」的技術用於在製造之前驗證IC,然後在製造後使用「測試設計(DFT)」技術和製造到IC中的組件來驗證功能。美國專利號第9,081,991號描述了DfT技術,例如基於電路路徑延遲、功率使用側通道訊息,環 形振盪器的變化等對IC建立識別。美國公開號第2017/0161485號描述了指紋技術和簽名分析技術,並且還描述了監控由執行一組預設編碼的IC產生的副通到訊息。美國專利號第8,850,608號描述了將晶片(chip)上結構與外部電流測量相結合以用於IC中的威脅檢測。美國專利號第8,386,990號描述了基於IC的固有特性產生IC的唯一標識符,並使用所述唯一標識符來檢測惡意修改。這些專利文件中的每一個的全部內容透過引用合併於此。
儘管當前可用的技術在檢測木馬程式和IC中的其他惡意修改方面具有不同的成功水準,但是鑑於威脅的種類繁多和IC廣泛,希望提供進一步的技術來測試和檢測異常潛在的風險。
本案描述的系統、方法和電腦可讀介質涉及用於在諸如但不限於現場可程式設計閘陣列(FPGAs)和特殊應用積體電路(ASICs)的積體電路中的特徵化和/或異常檢測的技術。在一些示例性實施例的一個示例方面中,全數位技術使用透過待測路徑傳播的訊號之脈波寬度。在另一個示例方面中,利用積體電路的可重新配置性將脈波傳輸技術與延遲特徵技術相結合,以更好地檢測一些類型的木馬程式(Trojans)等。另一個示例方面中提供了透過可重新配置的路徑段運行測試,以便隔離和識別異常電路元件。另一個示例方面提供了執行特徵化和異常檢測而無需絕佳的參考等。
一些示例實施例涉及一種用於特徵化和/或測試電路的系統。脈波產生器被合併於電路中,並耦接至電路中至少一有源訊號路徑的訊號輸入點,並且被配置為產生一序列具有多變的脈波寬度的脈波,以透過至少一有源訊號路徑傳播。脈波檢測器被合併於電路中,並且被耦接到至少一有源訊號路徑的 訊號輸出點,並且被配置為檢測透過至少一有源訊號路徑傳播的一列脈波序中的各個脈波。
根據一些示例實施例,脈波產生器可以進一步被配置為包含在序列中多變寬度的脈波,使得在序列中各個脈波的脈波寬度根據預設分佈而變化。在電路中,至少一有源訊號路徑中的一個或複數元件可以放大具有脈波寬度大於特徵脈波寬度的脈波,並且可以使具有小於特徵脈波寬度的脈波衰減。
根據一些示例實施例,處理器可以被配置為在一些實施例中基於預設分佈和檢測到的脈波來特徵化至少一訊號路徑,例如,特徵化可能包含基於所產生的脈波的序列來確定特徵脈波寬度,使得根據所述序列中的脈波,寬度小於特徵脈波寬度的脈波不能傳播到脈波檢測器,而寬度不小於特徵寬度的脈波則傳播至脈波檢測器。處理器可進一步被配置為基於檢測到的脈波的脈波寬度來檢測至少一有源訊號路徑中的電路電容性負載的差異;檢測至少一有源訊號路徑中的電路電容性負載的差異、至少一有源號路徑中的一個或複數邏輯閘的修改,以及至少一有源訊號路徑中的電路老化的修改;和/或等。
根據一些示例實施例,系統在一些情況下可以包含FPGA,其中FPGA包含電路。在這樣的系統中,例如,脈波產生器、脈波檢測器和至少一有源訊號路徑可完全包含位於FPGA上的數位邏輯。在一些情況下,所述系統可以進一步包含ASIC,所述ASIC包含電路。
根據一些示例實施例,電路可以是可重新程式化的,例如,使得電路內的所有邏輯元件、網路和可程式化互連點都包含在脈波產生器與脈波檢測器之間的有效訊號路徑中。
根據一些示例實施例,脈波檢測器可以進一步被配置為使用正反器(flip-flop)裝置的邊緣檢測功能來計數接收到的脈波數量,例如,其中漣波計數器(ripple counter)中的正反器裝置可以是用於邊緣檢測。
根據一些示例實施例,脈波產生器可以進一步被配置為透過由所述電路的晶片上時脈(on-chip clock)產生電路產生的兩個時脈訊號進行邏輯組合來產生脈波,例如,與具有不同時脈頻率的兩個時脈訊號進行邏輯組合來產生脈波,如此,每一時脈週期從所述邏輯組合產生不同的脈波寬度。在一些實例中,脈波產生器更可被配置為透過改變邏輯組合時脈中的頻率差來控制序列中各個脈波的脈波寬度,脈波產生器可以被配置為以在兩個極端之間遞增和遞減固定量的順序交替改變脈波的寬度等。
根據一些示例實施例,可以在電路中合併一個或複數延遲測量電路,例如,其中,延遲測量電路被配置為測量至少一有源訊號路徑中的延遲。在一些情況下,延遲測量電路可以包含邊緣啟動(edge launch)電路和邊緣擷取(edge capture)電路,所述邊緣啟動電路和邊緣擷取電路被配置為提供在啟動和檢測至少一有源訊號路徑上的訊號之間的時間。在一些情況下,電路可以是可重新配置的,以交替地使脈波產生器和邊緣啟動電路能夠在至少一有源訊號路徑上進行發送。在一些情況下,至少一有源訊號路徑可以包含複數路徑段,並且電路可以進一步重新配置為在包含至少一有源訊號路徑的少於全部段的交替路徑上傳播來自脈波產生器或邊緣啟動電路的訊號。在一些情況下,處理器可以進一步被配置為基於在脈波檢測器和/或邊緣檢測器處檢測到的訊號來識別電路中的異常元件,例如,所檢測到的訊號可能包含在至少一有源訊號路徑上傳播的訊號,以及在所述交替路徑上傳播的訊號。在一些情況下,電路可以是 可重新配置的,以交替地使脈波產生器和邊緣啟動器沿著訊號路徑傳輸訊號,因此,電路上選定位置的複數元件交替包含在各個路徑中,以及處理器可更配置為基於從沿著訊號路徑傳輸的訊號中檢測到的數據以確定待側路徑的期望值以及選定位置的一個或複數期望值。
在一些實施例中,提供了一種用於特徵化和/或測試電路的方法,所述方法包含在電路中配置脈波產生器,脈波產生器耦接至電路中至少一有源訊號路徑的訊號輸入點,並且被配置為產生一序列具有多變的脈波寬度的脈波,以透過至少一有源訊號路徑傳播;在電路中配置脈波檢測器,脈波檢測器耦接到至少一有源訊號路徑的訊號輸出點,並且被配置為檢測透過至少一有源訊號路徑傳播的一列脈波序中的各個脈波。
在一些實施例中,提供了一種具有儲存在其中的指令的非暫態電腦可讀儲存介質,所述指令在被電腦的至少一處理器執行時,促使電腦執行操作,包含:在電路中配置脈波產生器,脈波產生器耦接至電路中至少一有源訊號路徑的訊號輸入點,並且被配置為產生一序列具有多變的脈波寬度的脈波,以透過至少一有源訊號路徑傳播。以及在電路中配置脈波檢測器,脈波檢測器耦接到至少一有源訊號路徑的訊號輸出點,並且被配置為檢測透過至少一有源訊號路徑傳播的一列脈波序中的各個脈波。
除了在前兩個段落中概述的示例方法和非暫態電腦可讀儲存介質的特性之外,包含在那些段落之前的段落中闡述的那些特性可以與這樣的實施例結合使用。
這些方面,特性和示例實施例可以分開使用和/或以各種組合應用,以實現本發明的其他實施例。
100:IC(FPGA)
102:待測路徑(測試路徑)
104:脈波產生器
106:脈波檢測器
108:邏輯閘
110:互連器
112:網路
200:系統(SoC)
202:IC(FPGA)
204:記憶體
206:時脈
208:計數器
210:主機(處理器)
212:處理器(主機組件)
214:裝置介面(主機組件)
216:記憶體(主機組件)
218:儲存器(主機組件、永久性記憶體)
220:網路介面(主機組件)
224:輸入介面(主機組件)
226:顯示介面(主機組件)
228:互通匯流排(主機組件)
230:配置訊息(電路配置)
232:程序
300:流程
302:步驟
304:步驟
306:步驟
308:步驟
310:步驟
312:步驟
400:IC(FPGA)
400':IC
402:待測路徑(測試路徑)
402':待測路徑
404:脈波產生器
406:脈波檢測器
414:邊緣啟動器
416:邊緣檢測器電路(邊緣擷取器電路)
418:木馬程式(木馬程式級)
418':木馬程式
500:流程
502:步驟
504:步驟
506:步驟
508:步驟
510:步驟
512:步驟
514:步驟
600:IC
700:流程
702:步驟
704:步驟
706:步驟
708:步驟
710:步驟
712:步驟
800:FPGA
802:待測路徑
804:切片
806:尋找表
808:輸入
900:流程
902:步驟
904:步驟
906:步驟
908:步驟
910:步驟
912:步驟
1000:流程
1002:步驟
1004:步驟
1006:步驟
1008:步驟
1010:步驟
1012:步驟
1014:步驟
1016:步驟
A:閘
B:閘
C:閘
D:閘
E:閘
F:閘
G:閘
H:閘
I:閘
[圖1]係為根據包含測試治具的積體電路(例如,FPGA)之一些實施例之方塊示意圖。
[圖2]係為示例用於特徵化和執行諸如圖1所示的積體電路的異常檢測的系統之一些實施例的示意圖。
[圖3]係為提供用於特徵化和/或執行諸如圖1所示的積體電路的異常檢測的過程之一些實施例之的流程圖。
[圖4A]係為根據一些示例場景在測試路徑內具有置入的木馬程式(Trojan)並且在其中配置有脈波產生器、脈波檢測器、邊緣啟動電路和邊緣檢測器電路的FPGA。
[圖4B]係為根據一些示例場景的FPGA,其類似於如圖4A所示的FPGA,但是木馬程式已經以與圖4A不同的方式(即,附接至待側路徑)被置入。
[圖5]係為根據提供如圖3中的脈波傳播測試和在待測的相同路徑上執行的延遲特徵化測試的過程之一些實施例的流程圖。
[圖6]係為示例根據被配置為透過將路徑段包含在不同的等效路徑配置中來以多種不同方式測試路徑段的FPGA之一些實施例的示意圖。
[圖7]係為根據使得能夠在用於以多種不同方式測試路徑段的配置中執行脈波傳播測試和延遲特徵化測試之一或二者的過程之一些實施例的流程圖。
[圖8]係為根據具有示例邏輯配置的FPGA,所述示例邏輯配置用於提取位置平均值和路徑平均值之一些實施例的示意圖。
[圖9]係為根據用於在不使用絕佳的參考的情況下執行異常檢測的過程之一些實施例的流程圖。
[圖10]係為根據用於特徵化和異常檢測的過程,所述過程將圖3中示出的過程的脈波傳播與延遲特徵化、交替物理性等效路徑的測試,以及位置平均值和路徑平均值的提取中的一項或多項相互結合。
在一些實施例中,提供了能夠高度靈敏地檢測異常的混合積體電路(IC)特徵化和數據分析技術。一些示例技術包含全數位方法,用於特徵化和隔離裝置的數位電路(例如,FPGA)中的電容值變化,而無需進行硬體修改和/或最佳參考(golden reference)。全數位測試技術能夠檢測電路電容性負載、邏輯閘修改和電路老化中的微小差異。
在一些實施例中,一些示例實施例的技術使用現有的電路路徑和邏輯來在待測裝置內的源裝置和目的裝置之間傳播多變寬度的脈波。當這些脈波的寬度超過特徵最小值時,沿著這些路徑的裝置將放大這些脈波的強度。低於此臨界寬度的脈波會被路徑中的每一個連續邏輯閘衰減,直到它們無法一直傳播通過路徑為止。透過改變通過測試路徑發送的重複脈波的寬度,並注意脈波無法通過的閾值,可以對路徑進行特徵化。一些示例實施例的技術改進了傳統的積體電路特徵化和測試技術,其中,除其他外,僅使用標準FPGA上可用的數位邏輯(例如Xilinx Virtex5TM,Xilinx ZynqTM,Xilinx UltraScaleTM,Xilinx KintexTM,Altera StratixTM,Altera ArriaTM,Altera CycloneTM)等。
在一些實施例中,在一些情況下,透過結合基於延遲的互補特徵化方法來加強檢測,可以對所述技術進行進一步的改進。在一些實施例中,基 於延遲的特徵化方法可以用作替換基於脈波寬度的特徵化方法。更進一步,在一些示例實施例中,透過對裝置中的系統變化進行創新性特徵化以及從測量中刪除特徵變化以增強異常檢測能力,可以進一步改善前述兩種方法中的一種或兩種方法的組合。
在一些實施例中,示例實施例的技術可以用於檢測異常情況,例如但不限於惡意電路修改、可靠性問題,以及使用裝置上現有硬體資源的市售現成FPGA裝置中的組件老化影響。所述技術還可在結合了用於信任技術的設計的ASIC裝置中使用,以驗證裝置實例的可信任度。在一些示例實施例中,由所述技術產生的數據還可以用於理解特定於設備的電路特徵變化和/或改善放置在FPGA/ASIC上的設計。
在一些實施例中,無需FPGA訊號路徑修改即可提供電容性負載的特徵化,並採用全數位方法,僅利用現有的FPGA功能。一些示例實施例的技術使用具有可預測分佈的數位產生的脈波寬度變化和數位脈波存在檢測。一些示例實施例為嵌入到積體電路中的所有類別的硬體木馬程式提供了更高的檢測靈敏度,並且一些實施例提供了混合檢測以加強對異常的檢測。一些示例實施例還可以提供電路異常的詳細定位,提供無需絕佳參考的異常檢測,和/或提供用於提取系統的裝置變化的技術。
圖1是根據一些示例實施例的IC 100的方塊示意圖。利用IC 100(在所述示例中為FPGA)的可重新程式化性,建立了複數測試路徑102。這使得能夠特徵化FPGA 100中的邏輯元件、網路和可程式化互連點。根據一些實施例,測試路徑102可以包含FPGA 100上的所有邏輯元件、網路、可程式化互連器和/或其他邏輯元件。在一些示例實施例中,測試路徑102可以包含FPGA 100上 的邏輯元件、網路、可程式化互連器等的選定子集。測試路徑102可以是在FPGA 100上配置的眾多(例如,數千或數百萬)訊號路徑之一。
在圖1中,一個路徑包含三個邏輯閘(例如,邏輯閘108)、三個可程式化互連器(例如,互連器110)和網路(例如,網路112)沿著所述路徑連接多種邏輯元件。沿著路徑的邏輯元件的類型可以包含邏輯閘和可程式化互連器,但不限於此。圖1中所示的待測路徑102是簡化路徑。在不同情況下,每一待測路徑可以包含任意數量和任何類型的邏輯元件。
在一些實施例中,脈波產生器104和脈波檢測器106連接至待測路徑102,因此,由脈波產生器104產生的訊號可以透過待測路徑102的一個或複數路徑傳輸,並在脈波檢測器106處被接收。儘管所使用的網路、邏輯閘、可程式化互連器等的數量和類型可以變化,但是一些示例實施例利用了脈波產生器與脈波檢測器之間的有源訊號路徑(例如,脈波具有在脈波寬度的預設範圍內的寬度),所述路徑允許足夠寬的脈波從脈波產生器傳播至檢測器。
眾所周知,訊號路徑中閘極上的附加電容性負載將增加成功傳播通過閘極所需的所需脈波寬度。因此,對邏輯閘的修改也可能導致成功傳播所需的脈波寬度發生變化。此導理解為觀察到的臨界脈波寬度是電容負載和路徑中閘極設計的量度。此外,透過觀察通過待測路徑的已知脈波寬度的分佈結果,可以特徵化路徑的變化。
美國專利號第9,081,991號(標題為「基於環形振盪器的信任設計」)和美國專利號第8,850,608號(標題為「用於積體電路安全和威脅檢測的嵌入式環形振盪器網路」)都描述了信任設計(design-for-trust)技術。根據這兩項專利,專門用於測試的電路被添加到晶片設計中(無論是ASIC還是FPGA)。 前者似乎建議在待測路徑周圍建立一個環形振盪器,並檢測相對於絕佳參考值的頻率變化。後者似乎提出了一種基於測量對暫態(transient)功率使用(例如不是延遲或脈波)的影響的側通道方法,其中放置在所述部件中的環形振盪器的頻率被用作瞬態功率使用的量度。其他一些常規方法可直接控制每一產生脈波的寬度,因此可以透過在選定的寬度範圍內掃描此值來建立傳播閾值。與上述常規技術相反,一些示例實施例不需要向IC、類比脈波產生器或類比檢測器引入任何附加電路。一些示例實施例也不需要添加待測裝置中尚未存在的電路。例如,一些示例實施例不需要標準市售FPGA中不存在的電路。
與上述美國專利相反,一些示例實施例使用全數位方法來產生具有已知脈波寬度分佈的脈波序列,同時放棄對每一脈波寬度的特定控制。例如,在一些示例實施例中,隨後的每一脈波的脈波寬度都是根據選定的分佈設置的,並且不會以與所選定脈波寬度分佈不一致的方式調整單個脈波的寬度。另外,在一些示例實施例中,透過使用標準正反器裝置的邊緣檢測能力來計數接收到的脈波數來完成脈波檢測。透過註記在定義的時間段內接收到的脈波數並得知在所述時間段內產生的脈波寬度分佈,可以計算出臨界脈波寬度。在一些示例實施例中,臨界脈波寬度是在待測路徑上從脈波產生器傳播到脈波檢測器的最小脈波寬度,充足的訊號強度足以由脈波檢測器檢測,作為與脈波產生器發送的脈波相對應的訊號。
在一些示例實施例中,透過邏輯組合(例如,邏輯及(ANDing))兩個時脈訊號來實現脈波產生,這兩個時脈訊號由待測積體電路內的現有時脈產生電路產生。諸如FPGA之類的積體電路中存在多種方法來產生各種頻率的時脈,包含晶片上鎖相迴路(PLLs)、晶片上數位時脈控制模組(DCMs)和邏輯 反饋以產生振盪。一些示例實施例可以使用任何此技術產生兩個不同頻率的時脈。當兩個時脈頻率的產生的頻率不相同時,每一時脈週期從「及(AND)」電路產生不同的脈波寬度。透過選擇彼此接近的時脈頻率,可以在每一週期之後以很小的寬度增減來產生非常窄的脈波寬度。一些示例實施例使用在兩個極端之間遞增和遞減固定量的順序交替改變脈波的寬度以激發待側路徑(path under test;PUT)。
此外,與常規方法相反,一些示例實施例可以使用漣波計數器提供全數位檢測器,以檢測傳播到待測路徑末端的脈波數。計數器中正反器的邊緣檢測功能用於檢測脈波檢測器接收到的每一脈波,因為接收到的脈波不再與任何時脈同步,它們也不一定是全強度的。在使用正反器檢測接收到的脈波之後,可以應用各種同步方法來同步實現剩餘計數和數據收集電路。
圖2示意性地示出了根據用於特徵化和執行IC的異常檢測的系統之一些實施例的示意圖。系統200包含經受測試的IC 202和包含連接至(或可拆卸地連接至)IC 202的處理器210的主機系統。
根據一些示例實施例,IC 202可以是FPGA或類似裝置,其在每次通電時被配置。在根據一些示例實施例中,IC 202還可以在通電時被一些或全部重新程式化。IC 202可以例如包含配置記憶體204,所述配置記憶體204在IC 202斷電時被抹除。配置記憶體204可以包含靜態隨機存取記憶體(SRAM)等,其可以接收和儲存用於IC 202的配置訊息。配置訊息可以例如指定IC 202上的訊號路徑、沿著訊號路徑的邏輯元件、輸入邏輯塊、輸出邏輯塊、時脈、計數器、暫存器等的配置。在通電時,可以自主機210在配置記憶體204中接收配置訊息,並且可以根據接收到的配置訊息來配置IC 202。例如,在一些示例實施例中,其 中IC 202包含脈波產生器、脈波檢測器以及FPGA 100中所示的待測路徑,所述配置訊息可以包含針對每一訊號路徑的路徑配置,所述訊號路徑可以是待測路徑102、脈波產生器104和脈波檢測器106。
主機210包含處理器212,其可以控制IC 202的配置。主機210可以包含諸如由一個或複數互通匯流排(buses)228互連的裝置介面214、記憶體216、儲存器218、(複數)網路介面220、(複數)輸入介面224、(複數)顯示介面226的元件。某些示例實施例可以具有除了以上列出之外的元件,並且在一些其他實施例中,主機210中可能不存在一個或複數列出的元件。在所示的IC 202中,還配置了(複數)時脈206和(複數)計數器208。如上所述,在一些示例實施例中,脈波產生器可以利用IC 202上可用的兩個時脈訊號來產生脈波序列,並且脈波檢測器可以利用諸如漣波計數器之類已存在的計數器(例如使用FPGA中已存在的電路進行配置)來檢測接收到的脈波。
主機210可以將配置訊息230儲存在其揮發性記憶體(Volatile memory)216和/或永久性記憶體218(例如快閃記憶體(FLASH)、硬碟等)中。可以經由裝置介面214將配置訊息230下載至IC 202,其可以包含可以連接到IC 202上的主機介面的序列介面、並列介面或聯合測試工作群組(Joint Test Action Group;JTAG)介面中的一個或複數。下載的配置訊息230儲存在配置記憶體204中,以用於配置IC 202的電路。
記憶體216和/或儲存器218還可以包含異常檢測程序232,其可以由處理器212運行,以便分析由IC 202中的特徵化和異常檢測組件收集的結果。例如,程序232可以分析由脈波檢測器106收集的脈波檢測訊息,以便確定待測路徑102的特徵化和/或檢測待測路徑102中的異常。可以將由脈波檢測器106收集 的脈波檢測訊息儲存在諸如IC 202上的記憶體204之類的記憶體中。然而,在一些示例實施例中,可以將脈波檢測訊息傳送到主機210而不將其儲存在IC 202。異常檢測程序232可以使用經由輸入介面224連接的輸入裝置(例如,鍵盤、滑鼠等)來接收使用者輸入,和/或經由顯示介面226連接的顯示器來向使用者顯示分析結果。
可注意到,主機組件212-228不限於任何特定類型的硬體,並且至少在一些示例實施例中,可以包含使得能夠配置IC 202以及運行異常檢測程序232的組件的任何組合。可以用任何硬體描述語言,例如VHDL、Verilog等來指定配置訊息。
在一些實施例中,IC 202和主機210可以分別是獨立裝置。然而,在一些其他實施例中,系統200可以形成為系統單晶片(SoC),其包含微處理器(例如,處理器212)和諸如IC 202的電路。IC 202或SoC 200可以被結合在任何類型的數位電子裝置中。
圖3是根據用於特徵化和/或執行積體電路的異常檢測的流程300之一些實施例的流程圖。用於流程300的程序指令可以例如被包含在配置訊息230和/或異常檢測程序232中。根據一些示例實施例,流程300可以在系統200上執行。更特別地,待測IC可以是FPGA 202,其還包含脈波產生器、脈波檢測器和諸如圖1所示的待測路徑。
在進入流程300之後,在執行步驟302時,在待測IC中識別一個或複數訊號路徑。例如,在所述執行中,來自一個或複數路徑的特定訊號路徑可以被確定為待測路徑102。所述確定可以基於已經建立的電路配置(例如,FPGA 202的配置訊息230)或在電路配置230的建立期間。
在一些示例實施例中,確定待測IC上的一個或複數訊號傳播路徑,使得可以在應用中啟用的所有邏輯元件都位於至少一待測訊號路徑中。在一些其他示例實施例中,在應用期間從可以為啟用的複數路徑中選擇一個或複數訊號路徑作為待測路徑。
在步驟304中,在待測IC上配置脈波產生器。例如,脈波產生器104可以被配置在待測IC上。如上所述,脈波產生器被配置為產生具有已知脈波寬度分佈的訊號序列。在一些示例實施例中,可以通過對待測IC上的兩個時脈信訊號(例如,時脈206)進行「及(ANDing)」運算來產生脈波。彼此靠近的兩個時脈產生具有已知分佈的一序列變化的脈波寬度。在一些示例實施例中,可以使用頻率彼此接近的時脈訊號的AND來產生窄的脈波寬度,並且可以增加所選時脈訊號之間的頻率差,以產生更大的脈波寬度。如上所述,脈波寬度的序列可以在兩個極端之間在增加和減小脈波寬度之間以固定量交替,以激發待測路徑。例如,一對在100百萬赫茲(Mhz)和100.01Mhz的時脈周期相差1ps。因此,對於100Mhz時脈的每一週期,100.01Mhz的相對相位將提高1皮秒(ps)。這些時脈訊號進行「及」運算後,這兩個方波時脈重疊將產生一個脈波。它們在每一週期內重疊的時間取決於它們的相對相位,如前所述,每100Mhz時脈週期(10奈秒(ns))的相位變化為1ps。應當注意的是,這是循環關係,因為相對相位超過時脈週期的1/2(脈波寬度產生在所述週期),訊號可再次開始重疊一增加數量。因此,可能會產生一系列脈波寬度,這些脈波寬度在最大約5ns(100.01Mhz時脈週期的1/2)和0ns(以1ps的增量)之間的數值斜坡上來回。
在步驟306中,在待測IC上配置脈波檢測器。例如,脈波檢測器106可以被配置在待測IC上。根據一些示例實施例,脈波檢測器可以被配置為使 用計數器208,例如以標準FPGA上可用的邏輯實現的標準漣波計數器。如上所述,漣波計數器的正反器的邊緣檢測能力可以用於檢測各個脈波,以提高檢測的魯棒性(robustness)。
在步驟308中,一序列脈波自脈波產生器通過待測的一個或複數路徑傳輸到脈波檢測器。例如,脈波產生器104發送具有變化的脈波寬度的訊號序列通過待測路徑102。所傳輸的訊號傳播通過待測路徑(通過每一邏輯元件和沿著待測路徑的網路),並且在已經傳播通過待測路徑102之後在脈波檢測器106處被接收。
在步驟310中,分析在脈波檢測器處的檢測訊號。所述分析可以得出待測路徑102中一個或複數路徑的特徵化。所述分析還可以擁有檢測一個或複數訊號路徑中的異常的能力。如上所述,一些示例實施例利用脈波寬度可沿著待測路徑通過邏輯元件。由於路徑中邏輯閘上的額外電容性負載會增加對於成功通過閘時傳播所需的脈波寬度,通過待測路徑傳播的脈波寬度分佈的特徵化可以檢測到修改和/或將附加邏輯附加到被測路徑。在一些示例實施例中,特徵化和異常檢測可基於沿著待測路徑中的每一訊號路徑的各種邏輯元件的每種類型的已知電容性閾值、已知的發送脈波序列、所選定的待測路徑以及檢測到的脈波序列。在一些示例性實施方式中,具有相同脈波寬度分佈的一序列脈波被傳播通過一組待測等效路徑,然後在檢測器處計數。使用這些計數值,可以確定計數值集合的平均值和標準差(standard deviation)。這些統計值是待測路徑設計的特徵化。然後,與計算的平均值相比,超出指定偏差的個別計數值將指示為測試的路徑不是預期的路徑,並且可能已被修改。
在步驟312中,輸出確定。例如,程序232等可以將結果輸出到附接到顯示介面226的顯示器(例如,顯示裝置等)。輸出可指示所發送的脈波序列的標識和/或描述、關於在脈波檢測器處檢測到的脈波序列的訊息、檢測到的脈波寬度特性以及待測路徑中一個或複數訊號路徑的描述和/或例證。在步驟312之後,流程300為終止。
根據一些示例實施例,可以透過(或使用)程序232和/或在處理器212上執行的其他軟體來執行步驟302、310、312。然而,在一些示例實施例中,可以使用從主機210提供給待測IC上的配置暫存器204的配置訊息,對待測IC執行步驟304、306、308。
在一些示例實施例中,透過將關於圖1和圖3所述之脈波傳播測試方法與補償基於延遲的檢測測試方法相結合,並利用待測IC(例如FPGA)的可重程式化性來防止(或至少降低)一些電路變化不被檢測出來,從而提高了關於圖1和圖3所述之技術的特徵化和異常檢測能力。圖4A和圖4B示例了根據具有改進能力的FPGA配置之一些示例實施例的示意圖。
如以上關於圖1和3所述,脈波傳播技術可檢測待測路徑中關鍵級的脈波寬度閾值。即,檢測到需要最大脈波寬度才能成功傳播的待測路徑中的閘極和閘極負載。如上所述,在相同類型的級之間,沿著路徑的每一級的脈波閾值應該非常相似,因為FPGA內的邏輯閘、網路和可程式化互連器被設計為基本一致。然而,僅利用關於圖1和圖3討論的脈波傳播技術,惡意使用者就有可能專門設計不是關鍵級的附加惡意路徑級(例如,木馬程式),且因此未被檢測到。即,儘管脈波傳播技術可以檢測到其中關鍵級邏輯元件受到木馬程式影 響的待測路徑,但它可能無法檢測到對關鍵級的電容性閾值沒有貢獻的木馬程式。
因為嵌入的附加惡意級必須在不向先前的路徑級提供額外負載的情況下傳遞脈波(例如,如果惡意級向先前的路徑級提供了額外的負載,則可能會被脈波傳播檢測到),所以嵌入的惡意級必須由惡意使用者配置為自己擁有的增益,因此會在路徑中添加大量延遲。透過將脈波傳播檢測方法與延遲測量方法(例如時脈掃描)相結合,組合的混合方法可以提供改進的異常檢測,包括檢測特殊情況的能力,例如插入精心製作的惡意程序級或將小型木馬程式附加到路徑網路,這兩種方法可能會分別遺漏。
存在用於木馬程式檢測的延遲特徵化方法。(例如,參見標題為「恢復積體電路的檢測」的美國公開號第2014/0103344號,其全部內容透過引用合併於此)。然而,常規技術沒有將延遲特徵化方法與基於電容性負載的方法(例如,脈波傳播)相結合以實現更全面的檢測能力。圖4A和圖4B示出了其中沿著待測路徑的元件在多種配置期間被重新使用,以結合延遲特性使用脈波傳播,以產生更全面的異常檢測能力之一些實施例的示意圖。
圖4A示出了其中配置有脈波產生器404、脈波檢測器406、邊緣啟動電路414和邊緣檢測器電路416以及待測路徑402的IC 400(例如,FPGA)。如上面關於IC 100所述,待測路徑402可以代表來自IC中一個或複數訊號路徑的特定路徑,每一路徑包含諸如邏輯閘、網路和可程式化互連器之類的元件的組合。IC 400還可以包含諸如關於IC 202所描述的配置暫存器、時脈和計數器(例如,配置暫存器204、時脈206和計數器208)。
如圖4A所示(以及在圖4B中),在給定的配置中,僅脈波產生器404與脈波檢測器406或邊緣啟動電路414與邊緣擷取電路416一起配置並連接到待測路徑402。圖4A所示的交替連接(例如,連接器至脈波產生器/檢測器對或連接器至邊緣啟動/檢測電路對)代表可以靈活配置沿同一待測路徑的脈波傳播或延遲特徵化的選項。邊緣啟動和邊緣擷取方法代表了可以採用的許多現有延遲測量技術之一。透過檢測啟動和檢測之間的時間,在一些示例實施例中特徵化了通過電路的延遲。兩種配置都針對每一待測路徑進行測試。
在圖4A所示的第一個示例場景中,其中木馬程式級418已直線嵌入測試路徑402中,即使木馬程式418自脈波傳播技術精心掩蓋了,木馬程式418的增加延遲也將透過延遲測量來檢測。在如圖4B所示的第二示例場景中,IC 400'中待測路徑402'中的附加木馬程式418'將增加邏輯閘H的負載,因此可以透過脈波傳播技術檢測到。即使未顯示,脈波傳播技術也可以檢測參數的木馬程式或來自網路訊號的耦接。因此,混合組合方法使得能夠檢測到多種已知的硬體木馬程式嵌入方法。
IC配置中示例實施例中提供的功能,例如如圖4A和4B所示,以多次重配置IC(例如FPGA)進行測試,可以使延遲測試在與脈波傳播測試相同的待測路徑上執行。如上所述,儘管脈波傳播測試通常會檢測到兩種類型的木馬程式418和木馬程式418',但可能會錯過精心製作的木馬程式418。延遲測試通常會遺漏木馬程式418',而脈波傳播測試很可能會檢測到它。它們適合用作為附加方法。
圖5示出了流程500,使得能夠相對於上述圖3描述的脈波傳播測試以及延遲特徵化測試能夠在相同的待測路徑上運行。根據一些示例實施例, 流程500可以由在主機210上執行的程序232來執行。可以在連接到主機210的IC(例如FPGA 202)上執行重新配置和測試,所述IC還可以包含關於圖4A和/或4B描述的配置。
在進入流程500之後,在操作步驟502中,從一個或複數訊號路徑中選擇待測路徑。例如,如上述關於圖3中所示的步驟302所描述的,選擇待測路徑可以被執行。
在步驟504中,配置脈波產生器和脈波檢測器。脈波產生器和脈波檢測器配置可以如上述關於圖3所述地執行。
在步驟506中,配置邊緣啟動器和邊緣檢測器。邊緣啟動器和邊緣檢測器可以以有助於檢測在待測路徑一端訊號的啟動與在待測路徑另一端訊號的檢測之間的時間間隔的任何方式來配置。可使用已知的延遲測量技術。
在步驟508中,IC被選擇性地重新配置以將脈波產生器/脈波檢測器對或邊緣啟動器/邊緣檢測器對連接到待測路徑。根據一些示例實施例,FPGA 400可以被配置為如圖4A所示,以將待測路徑連接到脈波產生器和脈波檢測器。未選擇的對可未連接到待測路徑。
在步驟510中,在測試路徑上運行所選定的測試。例如,當連接脈波產生器/脈波檢測器對時,如以上關於圖3所述運行脈波傳播測試。
重複步驟508-510以重新配置IC,以將脈波產生器/脈波檢測器和邊緣啟動器/邊緣檢測器對分開連接到待測路徑,並執行相對應的測試。當重新配置用於延遲特徵化測試時,如圖4B所示,邊緣啟動器和邊緣檢測器可以連接到待測路徑。
在步驟512中,分析從針對同一待測路徑的脈波傳播測試和延遲特徵化測試獲得的結果數據,以確定路徑特徵化和存在的任何異常。
在步驟514中,一些檢測到的訊息可以被輸出到顯示器等。在步驟514之後,流程500終止。
除了能夠在同一待測路徑上運行脈波傳播和延遲特徵化測試外,在一些示例實施例中,諸如FPGA等的IC的可重新配置性還提供了透過以多種不同方式測試路徑段來增強檢測的能力。在一些示例實施例中,透過將路徑段包含在待測的交替等效路徑中來執行以多種不同方式測試路徑段。用於實現此目的的一些示例路徑配置如圖6所示。
可以為圖6中的IC 600(例如,FPGA)中所示的邏輯元件配置許多不同的路徑。為了說明,訊號路徑可以由所述路徑所經過的閘的字母符號表示。例如,路徑ABC(即,包括閘A、B、C的路徑)可以具有確定所述路徑的脈波寬度極限的閘。但是,可以使用其他路徑隔離(並由此識別)設置此限制的路徑ABC中的閘。例如,在不失一般性的前提下,假設路徑ABC所需的最小脈波寬度小於路徑DEF和路徑GHI的最小脈波寬度。然後測試路徑AEF將確定閘A是否是路徑ABC的極限情況。如果是如此,則此新路徑的值應與路徑ABC具有相同的限制。相同地,閘的其他組合可以用於隔離路徑段,以便確定延遲測量和確定脈波寬度極限。
特徵化每一路徑段的能力以及重新配置測試以單獨包含IC邏輯架構(例如FPGA邏輯架構)的所有元件的能力,使一些示例實施例能夠識別IC內異常或木馬程式的詳細位置。
圖7示出了根據用於執行以上關於圖6描述的異常識別的示例流程700之一些示例實施例的流程圖。根據一些示例實施例,流程700可以由在主機210上執行的程序232來執行。可以在連接到主機210的IC(例如FPGA 202)上執行重新配置和測試,所述IC也可以包含關於圖6描述的配置。所需的配置訊息可以由程序232產生,並經由配置訊息230傳輸到FPGA 202。
在進入流程700之後,在步驟702中,識別其中存在異常的關注的路徑。關注的路徑可以是經受脈波傳播測試和延遲特徵化測試之一或二者的待測路徑。在一種或兩種類型的測試中,可能已檢測到針對關注的路徑獲得的結果數據異常。所識別的關注的路徑是從脈波產生器和/或邊緣啟動器到脈波檢測器和/或邊緣檢測器的完整路徑。例如,在圖6中,關注的路徑可以是路徑ABC。
在步驟704中,所識別的關注路徑被分成多段。以可以導致因檢測到異常的一個或複數邏輯元件的隔離和識別的方式來標識段。因此,這些段可以具有相同或不同的長度和/或可以包含相同或不同數量和類型的邏輯元件。在一示例中,每一段包含一個邏輯閘和一個可程式化互連器。在關注路徑ABC的所選示例中,各個段可以是僅包含閘A的第一段、僅包含閘B的第二段和僅包含閘C的第三段。
在步驟706中,IC(例如,FPGA)被重新配置為路由(route)新路徑,所述新路徑結合了另一個路徑的一部分和關注路徑的一部分。例如,新路徑可以是路徑AEF,它將路徑ABC的一部分與路徑DEF的一部分相結合。
在步驟708中,在新路徑(即,待測新路徑)上運行脈波傳播測試和延遲特徵化測試之一或兩者。測試的執行和數據的收集可以類似於關於圖3和圖5描述的方式執行。
可以針對待測的複數新路徑重複步驟706-708。例如,可以將關注路徑中的每一片段併入至少一測試中的新路徑中,以便可將異常隔離並識別為關注路徑的特定片段。在所選擇的示例中,可以針對測試中的每一新路徑AEF、DBF、DEC重複步驟706-708。
在步驟710中,分析從各種重新配置的待測路徑獲得的結果數據,以將先前檢測到的異常隔離到關注路徑的特定段。如果適當地選擇段,則將能夠識別異常邏輯元件。
在步驟712中,可以將諸如檢測到的異常和異常位置的結果輸出到顯示器等。在步驟712之後,流程700終止。
在一些示例實施例中,可以進一步改進上述實施例的混合脈波傳播和延遲特徵化,以在不使用期望值或所謂的「絕佳參考」的情況下檢測異常。就這一點而言,一些示例實施例可以測量等效路徑的陣列,然後使用待測IC中識別出的系統變化對值進行歸一化(normalize)。歸一化這些值以便可以將它們視為等效值,從而可以應用多種數學方法來檢測異常。它還可以進行木馬程式檢測,而無需預設的期望值,這些期望值有時被稱為絕佳參考。取而代之的是,將期望值導出為歸一化測量值的平均值。
在沒有絕佳參考的情況下執行的一些示例實施例可以忽略同樣影響整個IC的任何變化。這樣的全體偏移可能是晶元(die)與晶元之間的變化,甚至可能是測試的溫度。這是因為所有確定的值都將被歸一化,並且將去除所有值中包含此類變化的平均值。這是透過假設物理局部變化小於晶片上觀察到的整體變化來實現的。
IC分為複數位置陣列。在每一位置測試等效待測路徑。對於每一位置,可以使用上述測試之一的多種變化來確定所述位置的平均值。然後,透過所述平均值調整對所述位置進行的所有測量,以對數據進行歸一化並去除對所述位置觀察到的系統變化。由於所使用的路徑不能完全相同,因此在位置執行的各個測試都有其自身的系統變化。但是,可以使用晶片上所有位置中所有等效路徑變化的路徑平均值來提取此變化。因此,路徑變化也可以被去除以提供所述數據的歸一化。結果為等效數據值的陣列。這些數據值具有與之相關的平均值和標準差。可以將異常或木馬程式視為高於自平均值的選定變異數(variance)的歸一化值。
為了說明方法,描述了步驟的一個例子。如圖8中示出了用於提取位置平均值的示例邏輯配置。所述邏輯配置可以在所有或幾乎所有等效電路位置複製到IC中。用於說明目的的模型可以是具有邏輯切片(logic slice)804之陣列的FPGA 800。每一邏輯切片804可以包含足夠的尋找表(LUT)806,以提供待測路徑802。在以上關於圖4和圖6的描述中,圖8的示例中的每一LUT 806可以被認為充當邏輯閘的功能。然而,每一LUT具有複數輸入808。出於具體性,可以指定每一LUT六個輸入和每一切片四個LUT的非限制性示例。所定義的位置可以被認為是待測路徑中的第一切片的位置。
在所示的情況下,每一測試可以執行24次-對第一個切片(即最左側的切片804)中的LUT輸入和LUT選擇的每種組合一次。作為參考,每一輸入和LUT組合都可以標記為路徑編號1到編號24。由於第一切片中的所有LUT都位於晶片上大約相同的位置,選擇的24個路徑僅在訊號路由的系統變化中有所變化。同樣地,由於這24個路徑的等效版本是在IC的其他位置測量的,這種系統 的變化可以確定。對於每一路徑編號,將在IC中測量的所有具有此數字的路徑取平均值,以得出路徑平均值。然後從每一值中減去所述路徑平均值,以從數據中消除由路徑變化引起的系統變化。
此後,每一位置的24個路徑的調整數據的平均值可用於估計位置平均值。對待測路徑中所有切片804和IC中所有(或基本上所有)等效位置重複測試,以提供一套完整的定位方式。
作為此流程的結果,位置平均值和路徑平均值均從每一值中刪除,並產生了無絕佳參考檢測所需的歸一化數據。
由於所有得到的歸一化值都保留了它們與晶片中物理位置的關聯,詳細的局部化(localization)結果直接來自任何檢測到的異常。
圖9示出了根據用於在不使用黃金參考的情況下執行異常檢測的流程900之一些示例實施例的流程圖。根據一些示例實施例,流程900可以由在主機210上執行的程序232來執行。可以在連接到主機210的IC(例如FPGA 202)上執行重新配置和測試,所述IC還可以包含關於圖8描述的配置。
在進入流程900之後,在步驟902中,將IC劃分為複數邏輯切片,使得關注路徑在複數切片上延伸。圖8示出了待測路徑802分成三個分開的切片804。
在步驟904中,針對分別包含複數邏輯元件(以及每一邏輯元件的複數輸入中的每一個)中的每一個的待測試的各個路徑重複地重新配置IC,並且執行脈波傳播測試和延遲特徵化測試中的一者或兩者。例如,重複的重新配置可以包含將脈波產生器/脈波檢測器對或邊緣啟動器/邊緣檢測器對交替地連接到每一待測路徑,其中,待測路徑被重新配置,以隨著時間推移在每一切 片中利用複數邏輯元件。如上所述,在圖8所示的配置中,對24個不同的路徑重複測試,以利用第一切片中每一邏輯元件的每一輸入。
在步驟906中,對於每種類型的測試,每一切片的平均位置值透過計算對於所述切片重複進行的特定類型所有測試的結果平均值。例如,在圖8所示的示例配置中,脈波傳播測試的第一個切片的位置值將是所有24個路徑的平均值,包含第一個切片中相對應的輸入/邏輯元件對。
在步驟908中,對於每一路徑,對所有切片的測試值求平均,並從每一路徑的路徑值中減去路徑平均值。
在步驟910中,基於歸一化的切片和路徑值來確定局部異常。可以將異常或木馬程式視為高於平均值的選定預設選定變異數的歸一化值。
在步驟912中,輸出結果,並且在此之後,流程900可以終止。
圖10是根據用於特徵化和異常檢測的流程1000的流程圖,其將圖3所示的流程300的脈波傳播與一個或複數延遲特徵化相結合,透過測試複數交替等效路徑或提取位置平均值和路徑平均值來識別異常路徑段之一些示例實施例。
在進入流程1000之後,在步驟1002中,一個或複數訊號路徑被確定為待測路徑。例如,如以上關於圖3中所示的步驟302所描述的,可以執行選擇待測路徑。
在步驟1004中,配置脈波產生器和脈波檢測器,並且在步驟1006中,配置邊緣啟動器和邊緣檢測器。可以以類似於以上關於圖3和圖5描述的方式執行步驟1004和步驟1006。
在步驟1008中,選擇待測路徑的特定配置以運行測試。例如,選擇(1)標準模式、(2)例如在圖6中的路徑段測試模式或(3)例如在圖8中所示的路徑切片測試模式之一。在標準模式下,待測路徑的配置如圖1和4所示,從脈波產生器/邊緣啟動器延伸到脈波檢測器/邊緣檢測器。在路徑段測試模式中,透過將訊號路徑分解成複數段並以諸如關於圖6所描述的分開的組合來測試這些段來測試特定的訊號路徑。在路徑切片測試模式中,透過如參考圖8所示對IC進行切片並測試分開的切片來測試所選的待測路徑。
在步驟1010中,將脈波產生器和脈波檢測器連接到待測路徑。脈波序列從脈波產生器通過一個或複數待測路徑傳輸到脈波檢測器。例如,脈波產生器104通過待測路徑102發送具有變化的脈波寬度的訊號序列。所發送的訊號傳播通過待測路徑(即通過每一邏輯元件和沿著待測路徑的網路),並且在已經傳播通過待測路徑102之後在脈波檢測器106處被接收。
在步驟1012中,邊緣產生器和邊緣檢測器連接到待測路徑。產生複數邊緣並通過待測路徑傳播。
在步驟1014中,分析在脈波檢測器和/或邊緣檢測器處的檢測訊號。分析可以得出待測路徑102中的一個或複數路徑的特徵化。分析還可以產生檢測一個或複數訊號路徑中的異常的能力。如上所述,一些示例實施例利用了可以沿著待測路徑通過邏輯元件傳播的脈波寬度。由於路徑中邏輯閘上的額外電容性負載會增加成功通過閘傳播所需的脈波寬度,通過待測路徑傳播的脈波寬度分佈的特徵化可以檢測到修改和/或將附加邏輯附加到邏輯閘。在一些示例實施例中,特徵化和異常檢測可以基於沿著待測路徑中的每一訊號路徑的各種邏輯元件的每種類型的最小脈波寬度閾值(例如,對應於電容性閾值的脈波寬 度)、已知的傳送脈波序列、待測的所選路徑以及檢測到的脈波序列。從測試數據確定閾值而無需先驗,因此無需絕佳參考即可進行操作。下面描述了一種在FPGA中檢測異常的方法的一種變型示例。建立等效電路的陣列分佈在整個FPGA中。總而言之,建立了一組如此的陣列覆蓋了FPGA中要測試的所有元件。對於每一陣列中的每一PUT,如圖8所示,透過將PUT與脈波產生器/邊緣啟動器和脈波檢測器/邊緣檢測器組合在一起來構建測試。使用先前描述的測量方法,為陣列中的每一PUT確定原始的最小脈波寬度/延遲值。
在檢測之前,原始數據通過其他測試(包括路徑變化測試)進行歸一化,以確定局部平均值,如圖9所示。如前所述,陣列中的每一點可能會經歷不同的局部平均值和局部路徑平均值。從每一PUT收集的原始值中減去這些值,以對收集的數據進行歸一化。
最後,為陣列測量產生的一組標準化值計算平均值和標準偏差。與所述平均值相差超過指定數量的標準差的各個值表示其陣列位置處的IC異常。
在步驟1016中,確定輸出。例如,程序232等可以將結果輸出到附接到顯示介面226的顯示器。輸出可以指示所發送的脈波序列的識別和/或描述、有關在脈波檢測器上檢測到的脈波序列的訊息、檢測到的脈波寬度特性,以及對待測路徑中一個或複數訊號路徑的描述和/或說明。在步驟1016之後,流程1000終止。
一些示例實施例提供了諸如FPGA和適當設計的ASIC裝置之類的IC的詳細特徵化。這種特徵化的產品可以用於許多重要的應用。檢測異常值的 能力已應用於檢測硬體木馬程式、檢測組件故障以及測量裝置老化,所有這些都呈現出可由一個或複數示例實施例檢測到異常。
此外,在設備和/或電路的特定部分中,對變化的更多理解可以用於實現變化感知設計的實踐、提供更好的功耗估算、為設計時序分析提供更好的估計,以及產生物理上不可克隆(uncloneable)的裝置。
如示例實施例所提供的那樣,在部分每一點增加的電容值和延遲的理解,取代了傳統上使用的統計平均值,可使設計人員透過有選擇地選擇更快的路徑來優化設計效能,或者透過選擇較低的電容值網路來最佳化功耗。
而且,由於示例實施例提取了部分中的系統變化,因此在所述流程之後剩下的是對在所測量的特定部分中觀察到的變化的更強度量。換句話說,結果是部分實例特有的訊息可有助於在部分中創建物理上不可克隆的功效。僅透過重新測量相同的部分實例才能複製此唯一訊息,從而證明僅在所述實例上可複製的功能。
一些示例實施例可以用於硬體保證,例如木馬程式檢測。其他用途可能包含可靠性檢測、老化、故障檢測和鑑識。一些示例實施例提供的其他功能是物理不可克隆功能(PUF)、唯一識別碼(ID)創建、感知變化的設計實踐以及時序/功率分析。
應當理解,如本文所使用的術語系統、子系統、服務、程式化邏輯電路和類似物,可以被實現為軟體、硬體、韌體的任何合適的組合和/或類似物。還應當理解,本文中的儲存位置可以是磁碟驅動器設備、記憶體位置、固態驅動器(solid state drives)、唯讀記憶光碟(CD-ROMs)、數位多功能影音光碟(DVD)、磁帶備份、儲存區域網絡(SAN)系統和/或任何其他適當的有 形電腦可讀儲存介質的任何合適的組合。還應當理解,本文所述的技術可以透過使處理器(例如,中央處理單元(CPU)或專用處理器)執行可以有形地儲存在電腦可讀儲存介質上的指令來實現。
儘管已經結合當前被認為是最實用和優選的實施例描述了本發明,但是應當理解,本發明不限於所公開的實施例,但相反地,本發明旨在涵蓋所附權利要求的精神和範圍內所包含的各種修改和等效設置。
100:IC(FPGA)
102:待測路徑(測試路徑)
104:脈波產生器
106:脈波檢測器
108:邏輯閘
110:互連器
112:網路

Claims (31)

  1. 一種用於特徵化和/或測試一電路的系統,包含:一脈波產生器,合併於該電路中,且耦接至該電路中一至少一有源訊號路徑的一訊號輸入點,並且該脈波產生器被配置為產生具有多變的複數脈波寬度的脈波之一序列,以通過該至少一有源訊號路徑傳播;一脈波檢測器,合併於該電路中,且耦接至該至少一有源訊號路徑的一訊號輸出點,該脈波檢測器被配置為檢測在脈波之該序列中對應的各個脈波,以通過該至少一有源訊號路徑傳播;及一處理器,配置為檢測該至少一有源訊號路徑中電路電容性負載的差異、檢測在該至少一有源訊號路徑中的一個或複數邏輯閘之修改,以及檢測在該至少一有源訊號路徑中的電路老化之修改。
  2. 如請求項1所述之系統,其中,該脈波產生器更被配置為包含在該序列中之多變寬度的脈波,使得在該序列中之各個脈波的該些脈波寬度根據一預設分佈而改變。
  3. 如請求項2所述之系統,其中,該處理器被配置為基於該預設分布及該檢測的脈波來特徵化該至少一訊號路徑。
  4. 如請求項3所述之系統,其中,該特徵化包含基於產生的脈波的該序列,確定一特徵化脈波寬度,以使得自該序列中的脈波中,寬度小於該特徵化脈波寬度的脈波不能傳播到該脈波檢測器,而寬度不小於該特徵化脈波寬度的訊號將傳播到該脈波檢測器。
  5. 如請求項3所述之系統,其中,該處理器更配置為基於檢測的脈波的脈波寬度檢測該至少一有源訊號路徑中電路電容性負載的差異。
  6. 如請求項2所述之系統,其中,在該電路中,在該至少一有源訊號路徑中的一個或複數元件放大具有脈波寬度大於一特徵化脈波寬度的脈波,並衰減具有寬度小於該特徵化脈波寬度的脈波。
  7. 如請求項1所述之系統,更包含一現場可程式化邏輯閘陣列(FPGA),該FPGA包含該電路。
  8. 如請求項7所述之系統,其中,該脈波產生器、該脈波檢測器及該至少一有源訊號路徑完整包含位於該FPGA上的數位邏輯。
  9. 如請求項1所述之系統,更包含一特殊應用積體電路(ASIC),該ASIC包含該電路。
  10. 如請求項1所述之系統,其中,該電路為可重新程式化的,使得該電路內的所有邏輯元件、網路和可程式化互連點包含在該脈波產生器和該脈波檢測器之間的該有源訊號路徑中。
  11. 如請求項1所述之系統,其中,該脈波檢測器更配置為使用一正反器裝置的邊緣檢測功能來計算接收到的脈波的數量。
  12. 如請求項11所述之系統,其中,一漣波計數器(ripple counter)中的該正反器裝置可以是用於邊緣檢測。
  13. 如請求項1所述之系統,其中,該脈波產生器更進一步被配置為透過一邏輯組合由該電路的晶片上時脈產生電路產生的兩個時脈訊號產生脈波,其中,該兩個時脈訊號具有不同的時脈頻率,使得每一時脈週期從該邏輯組合產生不同的脈波寬度。
  14. 如請求項13所述之系統,其中,該脈波產生器更配置為透過改變在該邏輯組合的時脈中的頻率差異來控制在該序列中各個脈波的該些脈波寬度。
  15. 如請求項13所述之系統,其中,該脈波產生器更配置為透過以兩個極端之間的一固定量以遞增和遞減之間交替的順序改變脈波的寬度。
  16. 如請求項1所述之系統,更包含併入該電路中之一個或複數延遲測量電路,其中,該延遲測量電路被配置為測量該至少一有源訊號路徑中的延遲。
  17. 如請求項16所述之系統,其中,該延遲測量電路包含一邊緣啟動電路和一邊緣擷取電路,該邊緣啟動電路和該邊緣擷取電路被配置為提供對在該至少一有源訊號路徑上的訊號的啟動和檢測之間的時間的檢測。
  18. 如請求項17所述之系統,其中,該電路是可重新配置,以交替地使該脈波產生器和該邊緣啟動電路能夠在該至少一有源訊號路徑上進行發送。
  19. 如請求項18所述之系統,其中,該至少一有源訊號路徑包括複數路徑段,並且其中,該電路可以進一步重新配置為在包含該至少一有源訊號路徑的少於全部段的複數交替路徑上傳播來自該脈波產生器或該邊緣啟動電路的訊號。
  20. 如請求項19所述之系統,其中,該處理器更被配置為基於在該脈波檢測器和/或該邊緣檢測器處檢測到的訊號來識別在該電路中的異常元件,其中,該檢測到的訊號包含在該至少一有源訊號路徑上傳播的訊號和在該交替路徑上傳播的訊號。
  21. 如請求項17所述之系統,其中,該電路為可重新配置的,以交替地使該脈波產生器和該邊緣啟動器沿著該訊號路徑傳輸複數訊號,因此,該電路上一選定位置的複數元件交替包含在各個路徑中,以及其中,該處理器更配置為基於自沿著訊號路徑發送的該些訊號中檢測到的數據以確定一待側路徑的期望值以及該選定位置的一個或複數期望值。
  22. 一種用於特徵化和/或測試一電路的方法,包含:在該電路中配置一脈波產生器,該脈波產生器耦接至該電路中一至少一有源訊號路徑的一訊號輸入點,並且該脈波產生器被配置為產生具有多變的複數脈波寬度的脈波之一序列,以通過該至少一有源訊號路徑傳播;在該電路中配置一脈波檢測器,該脈波檢測器耦接到該至少一有源訊號路徑的一訊號輸出點,並且脈波檢測器被配置為在通過該至少一有源訊號路徑傳播的脈波之該序列中檢測各個脈波;檢測該至少一有源訊號路徑中電路電容性負載的差異;檢測在該至少一有源訊號路徑中的一個或複數邏輯閘之修改;及檢測在該至少一有源訊號路徑中的電路老化之修改。
  23. 如請求項22所述之方法,更包含:在該電路上配置一邊緣啟動電路和一邊緣擷取電路,以提供對在該至少一有源訊號路徑上的訊號的啟動和檢測之間的延遲的檢測;及重複地重新配置該電路,以交替地使該脈波產生器和該邊緣啟動電路能夠在該至少一有源訊號路徑上發送。
  24. 如請求項22所述之方法,更包含重複地重新配置該電路,以在包含該至少一有源訊號路徑的少於全部段的複數交替路徑上傳播來自該脈波產生器或該邊緣啟動電路的訊號。
  25. 如請求項24所述之方法,更包含基於在該脈波檢測器和/或該邊緣檢測器處檢測到的訊號來識別在該電路中的異常元件,其中,檢測到的訊號包含在該至少一有源訊號路徑上傳播的訊號和在該交替路徑上傳播的訊號。
  26. 如請求項24所述之方法,更包含:重複地重新配置該電路,以交替地使該脈波產生器和該邊緣啟動器沿著複數訊號路徑傳輸複數訊號,因此,該電路上一選定位置的複數元件交替包含在各個該些訊號路徑中;及基於自沿著該些訊號路徑發送的該些訊號中檢測到的數據以確定一待側路徑的期望值以及該選定位置的一個或複數期望值。
  27. 一種具有儲存在其中的指令的非暫態電腦可讀儲存介質,該指令在被一電腦的至少一處理器執行時使該電腦執行包含以下執行複數步驟:在該電路中配置一脈波產生器,該脈波產生器耦接至該電路中至少一有源訊號路徑的一訊號輸入點,並且被配置為產生一序列具有多變的脈波寬度的脈波,以透過至少一有源訊號路徑傳播;在該電路中配置一脈波檢測器,該脈波檢測器耦接到該至少一有源訊號路徑的訊號輸出點,並且被配置為檢測透過該至少一有源訊號路徑傳播的該列脈波序中的各個脈波;檢測該至少一有源訊號路徑中電路電容性負載的差異;檢測在該至少一有源訊號路徑中的一個或複數邏輯閘之修改;及 檢測在該至少一有源訊號路徑中的電路老化之修改。
  28. 如請求項27所述之非暫態電腦可讀儲存介質,其中該些步驟更包含:在該電路上配置一邊緣啟動電路和一邊擷取獲電路,以提供對在該至少一有源訊號路徑上的訊號的啟動和檢測之間的延遲的檢測;及重複地重新配置該電路,以交替地使該脈波產生器和該邊緣啟動電路能夠在該至少一有源訊號路徑上發送。
  29. 如請求項28所述之非暫態電腦可讀儲存介質,其中,該些步驟更包含重複地重新配置該電路,以在包含該至少一有源訊號路徑的少於全部段的一交替路徑上傳播來自該脈波產生器或該邊緣啟動電路的訊號。
  30. 如請求項29所述之非暫態電腦可讀儲存介質,其中,該些步驟更包含基於在該脈波檢測器和/或該邊緣檢測器處檢測到的訊號來識別該電路中的異常元件,其中,該檢測到的訊號可能包含在該至少一有源訊號路徑上傳播的訊號,以及在該交替路徑上傳播的訊號。
  31. 如請求項29所述之非暫態電腦可讀儲存介質,其中,該些步驟更包含:重複地重新配置該電路,以交替地使該脈波產生器和該邊緣啟動電路沿著複數訊號路徑發送複數訊號,使得該電路上選定位置的複數元件交替地包含在各個該些訊號路徑中;及基於從沿著該些訊號路徑傳輸的該些訊號中檢測到的數據以確定待側路徑的期望值以及該選定位置的一個或複數期望值。
TW109112551A 2019-04-15 2020-04-14 在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質 TWI759717B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/384,188 US11092648B2 (en) 2019-04-15 2019-04-15 Systems and/or methods for anomaly detection and characterization in integrated circuits
US16/384,188 2019-04-15

Publications (2)

Publication Number Publication Date
TW202101268A TW202101268A (zh) 2021-01-01
TWI759717B true TWI759717B (zh) 2022-04-01

Family

ID=70289565

Family Applications (2)

Application Number Title Priority Date Filing Date
TW111106880A TW202223710A (zh) 2019-04-15 2020-04-14 在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質
TW109112551A TWI759717B (zh) 2019-04-15 2020-04-14 在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW111106880A TW202223710A (zh) 2019-04-15 2020-04-14 在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質

Country Status (6)

Country Link
US (2) US11092648B2 (zh)
EP (1) EP3726232A1 (zh)
KR (2) KR20220035277A (zh)
CA (1) CA3137069C (zh)
TW (2) TW202223710A (zh)
WO (1) WO2021002914A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109856525A (zh) * 2018-11-07 2019-06-07 宁波大学 一种基于查找表的电路老化检测传感器
US11092648B2 (en) * 2019-04-15 2021-08-17 Grammatech, Inc. Systems and/or methods for anomaly detection and characterization in integrated circuits
EP3977325A4 (en) * 2019-05-24 2023-06-21 University of Cincinnati SYSTEMS AND METHODS FOR ASYNCHRONOUS PROGRAMMABLE GATE ARRAY DEVICES
US20210286881A1 (en) * 2020-03-10 2021-09-16 University Of South Florida Graph-Based Approach Towards Hardware Trojan Vulnerability Analysis

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5436853A (en) * 1991-07-24 1995-07-25 Nec Corporation Remote control signal processing circuit for a microcomputer
US8612815B2 (en) * 2011-12-16 2013-12-17 International Business Machines Corporation Asynchronous circuit with an at-speed built-in self-test (BIST) architecture
CN204166321U (zh) * 2014-10-08 2015-02-18 上海雷尼威尔技术有限公司 用于安全装置的输入回路脉冲检测电路
US9891269B2 (en) * 2012-06-29 2018-02-13 Intel Corporation Pulsed testing of through-body-vias
CN207075112U (zh) * 2017-06-13 2018-03-06 郑州兰盾电子有限公司 一种电子围栏主机

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829521A (en) 1987-09-11 1989-05-09 The United States Of America As Represented By The Secretary Of The Navy Test circuit for detecting short duration pulses
US6477200B1 (en) * 1998-11-09 2002-11-05 Broadcom Corporation Multi-pair gigabit ethernet transceiver
GB0119300D0 (en) 2001-08-08 2001-10-03 Koninkl Philips Electronics Nv Delay fault test circuitry and related method
US7370256B2 (en) * 2001-09-28 2008-05-06 Inapac Technology, Inc. Integrated circuit testing module including data compression
KR100924775B1 (ko) * 2003-04-12 2009-11-05 삼성전자주식회사 동기 신호 보상 장치 및 방법
US7002358B2 (en) * 2003-12-10 2006-02-21 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring jitter
GB0330076D0 (en) 2003-12-27 2004-02-04 Koninkl Philips Electronics Nv Delay fault test circuitry and related method
US7936812B2 (en) * 2007-07-02 2011-05-03 Micron Technology, Inc. Fractional-rate decision feedback equalization useful in a data transmission system
US8027797B2 (en) 2008-04-28 2011-09-27 International Business Machines Corporation Methods and apparatus for determining a switching history time constant in an integrated circuit device
TWI443802B (zh) * 2010-06-22 2014-07-01 Nat Univ Tsing Hua 三維晶片之突波型態層識別編號檢測器及其方法
US8386990B1 (en) 2010-12-07 2013-02-26 Xilinx, Inc. Unique identifier derived from an intrinsic characteristic of an integrated circuit
US8850608B2 (en) 2011-03-07 2014-09-30 University Of Connecticut Embedded ring oscillator network for integrated circuit security and threat detection
US9081991B2 (en) 2011-03-23 2015-07-14 Polytechnic Institute Of New York University Ring oscillator based design-for-trust
CN102592068B (zh) 2011-09-05 2018-04-27 工业和信息化部电子第五研究所 采用功耗分析检测fpga芯片中恶意电路的方法及其系统
US20140103344A1 (en) 2012-03-12 2014-04-17 Mohammad Tehranipoor Detection of recovered integrated circuits
US20140306689A1 (en) * 2013-04-10 2014-10-16 Texas Instruments, Incorporated High resolution current pulse analog measurement
US9720038B2 (en) 2013-05-24 2017-08-01 Mentor Graphics, A Siemens Business Method and circuit of pulse-vanishing test
FR3017467A1 (fr) 2014-02-07 2015-08-14 Commissariat Energie Atomique Procede de caracterisation du fonctionnement d’un circuit electronique numerique et circuit electronique numerique
KR20160109587A (ko) * 2015-03-12 2016-09-21 협진커넥터(주) 프로브 핀
US10872140B2 (en) 2015-05-22 2020-12-22 Power Fingerprinting Inc. Methods and apparatuses for validating supply chain for electronic devices using side-channel information in a signature analysis
KR20180061560A (ko) * 2016-11-29 2018-06-08 삼성전자주식회사 통신 환경에 의존하여 지연을 조절하는 전자 회로
CN108061848B (zh) 2017-12-06 2019-12-10 武汉万集信息技术有限公司 基于fpga的加法进位链延时的测量方法及系统
US11092648B2 (en) 2019-04-15 2021-08-17 Grammatech, Inc. Systems and/or methods for anomaly detection and characterization in integrated circuits

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5436853A (en) * 1991-07-24 1995-07-25 Nec Corporation Remote control signal processing circuit for a microcomputer
US8612815B2 (en) * 2011-12-16 2013-12-17 International Business Machines Corporation Asynchronous circuit with an at-speed built-in self-test (BIST) architecture
US9891269B2 (en) * 2012-06-29 2018-02-13 Intel Corporation Pulsed testing of through-body-vias
CN204166321U (zh) * 2014-10-08 2015-02-18 上海雷尼威尔技术有限公司 用于安全装置的输入回路脉冲检测电路
CN207075112U (zh) * 2017-06-13 2018-03-06 郑州兰盾电子有限公司 一种电子围栏主机

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chung Liang Chen et al.,"A New Path Delay Test Scheme Based on Path Delay Inertia",Proceedings of the 13th Asian Test Symposium (ATS 2004) IEEE,2004/11/15 *

Also Published As

Publication number Publication date
US11092648B2 (en) 2021-08-17
US20200326373A1 (en) 2020-10-15
TW202101268A (zh) 2021-01-01
CA3137069C (en) 2023-09-26
US20220050140A1 (en) 2022-02-17
KR102399629B1 (ko) 2022-05-19
KR20210153079A (ko) 2021-12-16
US11686770B2 (en) 2023-06-27
KR20220035277A (ko) 2022-03-21
WO2021002914A3 (en) 2021-02-11
WO2021002914A2 (en) 2021-01-07
EP3726232A1 (en) 2020-10-21
CA3137069A1 (en) 2021-01-07
TW202223710A (zh) 2022-06-16

Similar Documents

Publication Publication Date Title
TWI759717B (zh) 在積體電路中異常檢測和特徵化的系統和/或方法及其非暫態電腦可讀儲存介質
US10666256B2 (en) Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings
Zhang et al. RON: An on-chip ring oscillator network for hardware Trojan detection
US9081991B2 (en) Ring oscillator based design-for-trust
US9222979B2 (en) On-chip controller and a system-on-chip
US6889368B1 (en) Method and apparatus for localizing faults within a programmable logic device
Gnad et al. Checking for electrical level security threats in bitstreams for multi-tenant FPGAs
US7917319B2 (en) Systems and methods for testing and diagnosing delay faults and for parametric testing in digital circuits
JP2012516629A (ja) 性能監視用クリティカルパス回路
US11971740B2 (en) Timing error detection and correction circuit
Jin et al. Real-time trust evaluation in integrated circuits
JP6968234B2 (ja) 相対遅延を伴うフリップフロップを用いてデータサンプリング完全性チェックを行う電子デバイスおよびその方法
TWI793405B (zh) 使用時脈閘控時脈進行數據取樣完整性檢查之電子裝置及其方法
Moein et al. Classification of hardware trojan detection techniques
Cao et al. Cluster-based distributed active current timer for hardware Trojan detection
Zhang et al. A study on the effectiveness of Trojan detection techniques using a red team blue team approach
Leong et al. Aging monitoring with local sensors in FPGA-based designs
US20210286881A1 (en) Graph-Based Approach Towards Hardware Trojan Vulnerability Analysis
Liu et al. A statistical test generation based on mutation analysis for improving the hardware Trojan detection
Hoque et al. Assessment of NAND based ring oscillator for hardware Trojan detection
Jacob et al. Detection of malicious circuitry using transition probability based node reduction technique
Zhang et al. Red team: Design of intelligent hardware trojans with known defense schemes
Lecomte et al. On-chip fingerprinting of IC topology for integrity verification
JP5731618B2 (ja) 性能監視用クリティカルパス回路
Nirmala Devi et al. Detection of Malicious Circuitry Using Transition Probability Based Node Reduction Technique