柔性接口的制作方法
【技術領域】
[0001] 本發明涉及嵌入式系統的測試,例如芯片上系統(SoC)中的嵌入核的測試。
【背景技術】
[0002] 隨著芯片上系統(SoC)或嵌入式系統的尺寸和復雜度的增加,設計再利用成為重 要的考慮。在設計再利用中,可以針對新的芯片和應用再利用早已存在的設計功能(例如, 核或所謂的知識產權(IP)模塊)。例如,原始集成在第一SoC中的IP模塊可以在其他SoC設計 中被再利用。此外,可以在SoC中使用相同IP模塊設計的若干示例。
[0003] 雖然這降低了 SoC的設計復雜度,但這會在執行SoC的測試時導致困難。不同的核 或IP模塊可以通過不同的供應商來設計和提供,并且SoC設計者不知道IP模塊的內部工作。 此外,不同的IP模塊可具有不同的測試要求和機制。
[0004] 為了克服該問題,引入測試標準來提供對SoC和SoC內的IP模塊的測試接口。這種 測試標準的示例可以是IEEE 1149.1標準(JTAG)和用于嵌入式核測試的IEEE 1500標準 (SECT)〇
[0005] IEEE 1149.1標準可以管理芯片外測試器和芯片上測試控制器之間的通信,而 IEEE 1500標準可以管理芯片上訪問端口或測試模式控制器與每個IP模快的測試接口之間 的接口。
【發明內容】
[0006] 根據第一方面,提供了一種設置在一個或多個同伴芯片(companion chip)上的系 統,包括多個核,每個核都包括核電路裝置以及用于執行與核電路裝置相關的測試的測試 接口,測試接口包括:地址寄存器,被配置為保持核的地址;以及地址確定電路裝置,被配置 為將在地址線上接收的地址與保持在地址寄存器中的地址進行比較以確定核是否正在被 尋址并且響應于確定配置接口以執行測試操作。
[0007] 接口可以通過選擇耦合在測試數據輸入和測試數據輸出之間的多個寄存器中的 一個或多個來配置。測試數據輸入可以是串行測試數據輸入,并且測試數據輸出可以是串 行測試數據輸出。地址線可以是并行輸入。每個核都可以是用于執行系統的至少一個功能 的電路的模塊。
[0008] 多個寄存器中的一個可以是旁路寄存器。當確定在地址線上接收的地址與保持在 地址寄存器中的地址不匹配時,旁路寄存器可以耦合在測試數據輸入和測試數據輸出之 間。
[0009] 多個寄存器中的一個可以是局部測試控制寄存器。當確定在地址線上接收的地址 與保持在地址寄存器中的地址匹配時,局部測試控制寄存器可以耦合在測試數據輸入和測 試數據輸出之間。
[0010] 接口可以進一步包括解碼器和控制線,其中,解碼器被配置為解碼控制線上的指 令并且根據指令配置局部測試控制寄存器。
[0011] 當第一核的解碼器確定控制線上的指令無效且第一核的地址確定電路裝置確定 第一核正在被尋址時,第一核的局部測試控制寄存器可以耦合在相應的測試數據輸入和測 試數據輸出之間。當第一核的解碼器確定控制線上的指令有效且第一核的地址確定電路裝 置確定第一核正在被尋址時,可以對指令進行解碼并且可以根據指令加載局部測試控制寄 存器。
[0012] 根據第二方面,提供了一種用于在系統中執行測試的方法,其中系統包括設置在 一個或多個同伴芯片上的多個核,該方法包括:通過將地址線上接收的地址與保持在核的 測試接口的地址寄存器中的地址進行比較來確定核是否正在被尋址;以及響應于確定配置 測試接口以執行與核的核電路相關聯的測試操作。
[0013] 該方法可進一步包括:選擇將耦合在測試數據輸入和測試數據輸出之間的多個寄 存器中的一個或多個。
[0014] 該方法可進一步包括:確定地址線上接收的地址與保持在地址寄存器中的地址不 匹配;以及響應于此將旁路寄存器耦合在測試數據輸入和測試數據輸出之間。該方法可進 一步包括:確定地址線上接收的地址與保持在地址寄存器中的地址匹配;以及響應于此將 局部測試控制寄存器耦合在測試數據輸入和測試數據輸出之間。
[0015] 該方法可進一步包括:解碼控制線的指令;以及根據指令配置局部測試控制寄存 器。
[0016]該方法可進一步包括:確定第一核的控制線上的指令無效;確定第一核正在被尋 址;以及響應于確定,將第一核的局部測試控制寄存器耦合在對應的測試數據輸入和測試 數據輸出之間。
[0 017 ]該方法可進一步包括:確定第一核的控制線上的指令有效;確定第一核正在被尋 址;響應于確定對指令進行解碼;以及根據指令加載局部測試控制寄存器。
[0018] 根據第三方法,提供了一種包括設置在一個或多個同伴芯片上的多個核的系統, 每個核都包括核電路裝置以及用于執行與核電路相關聯的測試的測試接口,測試接口包 括:地址寄存器,用于保持核的地址;局部測試控制寄存器;以及解碼器,被配置為如果地址 線上的地址與保持在地址寄存器中的地址匹配,則根據指令接收測試控制線上的指令并配 置局部測試控制寄存器。
[0019] 根據第四方面,提供了一種接口,用于在系統中執行與核的核電路相關的測試,系 統包括設置在一個或多個同伴芯片上的多個核,接口包括:地址寄存器,被配置為保持與接 口相關聯的核的地址;以及地址確定電路裝置,被配置為將地址線上接收的地址與保持在 地址寄存器中的地址進行比較以確定核是否正在被尋址以及響應于確定配置接口以執行 測試操作。
[0020] 根據第五方面,提供了一種用于形成系統的一部分的核,系統包括設置在一個或 多個同伴芯片上的多個核,核包括核電路裝置以及用于執行與核電路相關的測試的測試接 口,測試接口包括:地址寄存器,被配置為保持核的地址;以及地址確定電路裝置,被配置為 將地址線上接收的地址與保持在地址寄存器中的地址進行比較以確定核是否正在被尋址 以及響應于確定配置接口以執行測試操作。
【附圖說明】
[0021]參照以下附圖描述非限制性和非排他性的實施例,其中在各個附圖中,類似的符 號表示類似的部件,除非另有指定。現在將參照以下附圖描述實施例,其中:
[0022]圖1示出了具有測試能力的SoC的示意性示例;
[0023]圖2示出了根據實施例的芯片上測試的示意性示例;以及 [0024]圖3示出了測試接口的示例。
【具體實施方式】
[0025] 圖1示出了具有測試能力的芯片上系統(SoC) 100的示例。圖1的SoC 100包括測試 模式控制器(TMC)lOl、所謂的第一 "IP"模塊111和第一 IP模塊包裝器(IPl_Wrapper)110、以 及所謂的第二"IP"模塊121和第二IP模塊包裝器(IPSjrapperHSOJMC 101經由嵌入式系 統測試接口 102耦合至第一和第二IP模塊包裝器110和120。此外,TMC 101通過包裝器串行 輸入(WSI)103耦合至第一 IP模塊包裝器110以及經由包裝器串行輸出(WS0) 104耦合至第二 IP模塊包裝器120。第一 IP模塊包裝器110的串行輸出在105處耦合至第二IP模塊包裝器120 的串行輸入。應該理解,在一些實施例中,WSI 103和WS0 104可以形成嵌入式系統測試接口 的一部分。
[0026] 在一些示例中,TMC 101可以用作芯片外測試控制器的接口,并且可以根據嵌入式 系統測試標準控制SoC 100上的測試的執行。應該理解,雖然TMC 101被描述為芯片上,但其 可以形成芯片上系統的一部分。TMC 101例如可以是IP模塊111和121的同伴芯片。同伴芯片 可以是與承載IP模塊的芯片相同的SoC的一部分。
[0027] TMC 101可以經由嵌入式系統測試接口 10 2配置將被測試的IP模塊111和121并且 控制IP模塊的測試操作。每個IP模塊111和121都可以包括在TMC 101和IP模塊本身之間提 供測試接口的IP模塊包裝器110和120。
[0028] TMC 101可以進一步經由WSI 103將被偏移的數據提供到IP模塊的寄存器中以及 經由WS0 104接收從IP模塊偏移出的數據。例如,IP模塊111和121可以經由嵌入式系統接口 來配置以形成掃描鏈,并且WSI 103上的數據可以通過該鏈偏移,順次通過第一 IP模塊111、 經由耦合105通過第二IP模塊121并且經由WS0 104返回到TMC 101。
[0029] SoC中的IP模塊可以通過不同的供應商來提供,并且例如可以對應于供應商自己 的所有權設計。這些IP模塊可以具有獨立的測試要求。為了允許IP模塊被測試,每個IP模塊 都設置有允許根據標準或同意的協議執行測試的包裝器。例如,在一些實施例中,可以根據 IEEE 1500標準來執行測試。
[0030] 應該理解,"IP"模塊可以不是必須具有與其相關聯的任何知識產權。
[0031] 例如,第一 IP模塊包裝器110可以經由嵌入式系統測試接口 102接收標準的測試控 制信號并且將它們連接到IP模塊111的測試信號。例如,第一 IP模塊包裝器110可以接收來 自嵌入式系統測試接口 102的測試控制信號并且根據該模塊的