第一節:ICL概述
ICL(Instrument Connectivity Language)是IEEE 1687(IJTAG)標準的一部分,用于描述芯片內嵌入式器件的連接性和訪問方式。它是一種硬件架構描述語言,專注于定義器件之間的連接關系,而不涉及器件內部的具體操作細節。ICL的主要作用是提供一種標準化的方式來描述嵌入式器件的連接網絡,以便實現對這些器件的高效訪問和控制。
第二節:ICL的主要組成部分
模塊(Module):ICL的核心是模塊,每個模塊代表一個邏輯單元,可以是一個器件、一個器件的封裝(wrapper)、一個掃描鏈網絡等。模塊可以包含其他模塊的實例(Instance),形成層次化的網絡結構。模塊定義了其內部的器件接口(如掃描輸入、掃描輸出、數據輸入、數據輸出等)以及與其他模塊的連接關系。
器件(Instrument):器件是模塊中的關鍵節點,包括TAP(測試訪問端口)、SIB(Segment Interconnect Bit,段互連位)、TDR(Test Data Register,測試數據寄存器)以及各種DFT IP(如EDT、OCC、MBIST等)。每個器件都在模塊中定義,具有特定的接口和功能。
連接描述(Connection Description):描述模塊之間的連接關系,包括掃描鏈的連接、掃描多路復用器(Scan Mux)的配置、SIB的控制等。通過定義輸入端口(InputPort)、輸出端口(OutputPort)和連接源(Source)等,明確模塊之間的數據流向。
第三節:ICL的作用
標準化的連接描述:ICL提供了一種標準化的方式來描述嵌入式器件的連接網絡,使得不同供應商的芯片和工具能夠以一致的方式進行交互和操作。這有助于減少芯片設計和測試過程中的復雜性和成本,提高測試覆蓋率和效率。
層次化的網絡結構:ICL支持層次化的網絡結構,允許將復雜的芯片設計分解為多個層次的模塊和子模塊。這種層次化結構使得對嵌入式器件的訪問和控制更加靈活,便于在不同層次上進行測試和調試。
與PDL的協同工作:ICL與PDL(Procedural Description Language,過程描述語言)協同工作,PDL用于描述對器件的操作過程,而ICL則定義了這些操作所依賴的硬件連接。通過ICL和PDL的結合,可以實現對嵌入式器件的高效訪問和控制,以及測試向量的可移植性。
以下是一個簡單的ICL示例,描述了一個包含TDR和SIB的模塊:
Module TDR_Module {
ScanInPort si;
ScanOutPort so { Source R[0]; }
ShiftEnPort se;
CaptureEnPort ce;
UpdateEnPort ue;
SelectPort sel;
TCKPort TCK;
ScanRegister R[7:0] {
ScanInSource si;
Module SIB_Module {
ScanInPort TDI;
ScanOutPort TDO { Source SIB_Mux; }
ScanRegister SIB {
ResetValue 1'b0;
ScanInSource TDI;
CaptureSource SIB;
ScanMux SIB_Mux SelectedBy SIB {
1'b0 : SIB;
1'b1 : TDR_Module.so;
在這個示例中,TDR_Module定義了一個8位的TDR,SIB_Module定義了一個SIB,用于控制TDR是否被包含在掃描鏈中。
第四節:ICL中各個組件的介紹
ICL的核心組件包括TAP(測試訪問端口)、SIB(Segment Interconnect Bit,段互連位)、TDR(Test Data Register,測試數據寄存器)以及各種DFT IP(如EDT、OCC、MBIST等)。這些組件共同構成了ICL描述的網絡結構,使得對嵌入式器件的訪問和控制更加靈活和高效。
TAP是JTAG(Joint Test Action Group)標準中的一個關鍵組件,用于控制和訪問芯片內的測試邏輯。在ICL中,TAP的作用是提供一個外部接口,通過這個接口可以訪問和控制嵌入式器件。TAP的功能是提供對內部測試邏輯的訪問;控制掃描鏈的操作;與外部測試設備(如ATE)進行通信。
TAP代碼示例:
AccessLink Tap_1149_dot_1 Of STD_1149_1_2001 {
BSDLEntity XC6SLX9_FTG256;
USER1 {
ScanInterface { IJTAG_Demo_1Bit_ET_0.BSCAN_SPARTAN6_Gateway; }
SIB是一個單比特單元,用于控制掃描鏈中器件的插入和排除。SIB的作用類似于一個開關,決定是否將某個器件的數據包含在掃描鏈中。當SIB設置為0時,器件被跳過,不包含在掃描鏈中;當SIB設置為1時,器件被包含在掃描鏈中;SIB提供動態配置掃描鏈的能力。SIB結構包括輸入端口、輸出端口和選擇信號;輸入端口如reset、sel、ce、ue、se、si、from_so、tck;輸出端口如so;選擇信號如to_sel。
SIB代碼示例:
Module LD_1Bit_Instr_1__Wrapper {
ScanInPort TDI;
ScanOutPort TDO { Source SIB_mux; }
DataOutPort LD0 { Source LD_1Bit_Instr_1.LD0; }
Instance LD_1Bit_Instr_1 Of BST_IO_LD_1Bit_Instr_1__LD_1Bit_Instr_1 {
InputPort xi_LD0 = Write_TDR[0];
ScanRegister Write_TDR[0] {
ResetValue 1'b0;
ScanInSource SIB;
CaptureSource LD_1Bit_Instr_1.LD0[0];
ScanRegister SIB {
ResetValue 1'b0;
ScanInSource TDI;
CaptureSource SIB;
ScanMux SIB_Mux SelectedBy SIB {
1'b0 : SIB;
1'b1 : Write_TDR;
TDR是ICL中的另一個關鍵組件,用于存儲和傳輸測試數據。TDR類似于JTAG標準中的邊界掃描寄存器,但專為嵌入式器件設計。TD可以存儲測試數據,提供數據的捕獲、更新和掃描操作,支持對嵌入式器件的訪問和控制。TDR結構包括輸入端口和輸出端口。輸入端口如si、to_sel、ue、ce、se、tck;輸出端口如from_so。
TDR代碼示例:
Module TDR {
ScanInPort si;
ScanOutPort so { Source R[0]; }
ShiftEnPort se;
CaptureEnPort ce;
UpdateEnPort ue;
SelectPort sel;
TCKPort TCK;
ScanRegister R[7:0] {
ScanInSource si;
DFT IPs是一系列用于測試和驗證的知識產權模塊,包括但不限于EDT(Embedded Deterministic Test)、OCC(On-Chip Controller)、MBIST(Memory Built-In Self Test)以及其他測試模塊。
EDT:提供確定性測試功能,用于快速診斷和驗證芯片功能。
OCC:控制和管理芯片內部的測試邏輯。
MBIST:提供內存自測試功能,用于驗證內存模塊的正確性。
其他測試模塊:包括邏輯BIST、I/O BIST、傳感器、電源控制器等,提供各種測試功能,支持芯片的驗證和調試,提高測試覆蓋率和可靠性。
ICL通過定義這些組件的連接和交互,實現了對嵌入式器件的高效訪問和控制。
TAP與SIB的連接:TAP通過掃描鏈與SIB連接,SIB控制掃描鏈中器件的插入和排除。
SIB與TDR的連接:SIB通過選擇信號to_sel控制TDR的插入,TDR存儲和傳輸測試數據。
TDR與器件的連接:TDR通過數據輸入和輸出端口與器件連接,提供對器件的訪問和控制。
DFT IPs的集成:DFT IPs通過掃描鏈與TDR連接,提供各種測試功能。
第五節:ICL的應用場景
芯片級測試:在芯片設計階段,ICL可以用于定義芯片內部的測試網絡,使得在芯片制造完成后能夠方便地進行內部器件的測試和驗證。通過ICL描述的測試網絡,可以實現對芯片內部各種功能模塊的快速訪問和測試,提高芯片的測試覆蓋率和可靠性。
系統級測試:在系統級測試中,ICL可以用于描述多個芯片之間的測試網絡,實現對整個系統的測試和驗證。通過ICL定義的系統級測試網絡,可以方便地對系統中的各個芯片進行協同測試,確保系統的整體性能和可靠性。
3D堆疊芯片測試:在3D堆疊芯片設計中,ICL可以用于描述堆疊芯片之間的測試網絡,實現對堆疊芯片內部器件的訪問和測試。通過ICL定義的測試網絡,可以方便地對堆疊芯片中的各個芯片進行單獨測試或協同測試,提高3D堆疊芯片的測試效率和可靠性。
第六節:ICL的限制與挑戰
復雜性:ICL的語法和語義相對復雜,需要一定的學習成本來掌握其使用方法。在描述復雜的芯片設計時,ICL代碼可能會變得非常龐大和難以維護。
工具支持:ICL的使用依賴于EDA工具的支持,目前市場上對ICL的支持還不夠完善,部分工具可能無法完全實現ICL的功能。不同工具之間的兼容性問題也可能導致ICL描述的網絡在不同工具中無法正確解析和使用。
性能影響:在芯片設計中引入ICL描述的測試網絡可能會對芯片的性能產生一定的影響,如增加芯片面積、功耗和延遲等。需要在測試功能和芯片性能之間進行權衡,以確保芯片在滿足測試需求的同時,仍能保持良好的性能表現。
第七節:ICL的未來發展方向
工具改進:隨著對ICL需求的增加,EDA工具供應商將不斷改進工具對ICL的支持,提高工具的易用性和兼容性。未來可能會出現更加智能化的工具,能夠自動優化ICL描述的網絡結構,減少對芯片性能的影響。
與其他技術的融合:ICL可能會與其他測試技術(如ATPG、BIST等)進一步融合,形成更加完善的芯片測試解決方案。通過與其他技術的協同工作,可以更好地滿足復雜芯片設計的測試需求,提高芯片的測試覆蓋率和可靠性。
標準化的推進:IEEE 1687標準的不斷推進和完善將為ICL的發展提供更加堅實的基礎。隨著標準的廣泛接受和應用,ICL有望在芯片設計和測試領域得到更加廣泛的應用和推廣。
dsfsdfsdf
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.