一種基于開關矩陣控制的可變鏈長動態邊界掃描結構和方法
【技術領域】
[0001] 本發明涉及電路邊界掃描,具體為一種基于開關矩陣控制的可變鏈長動態邊界掃 描結構和方法。
【背景技術】
[0002] 邊界掃描技術由于其靈活度高、集成性好等多項特點,被廣泛應用在計算機、通信 以及航空航天等諸多領域。通過邊界掃描,能夠使得許多系統功能得以實現,例如在線"健 康"狀況監測、信息采集、故障檢測、故障注入(用于故障轉移測試或冗余度測試)以及診斷 等等。就健康管理和信息采集而言,對于芯片或系統的實時性或動態性要求較高,這就需要 邊界掃描對此能夠有較好的適應性。
[0003] 然而,目前大多設計電路內部邊界掃描結構是確定的,不論是邊界掃描單元的順 序,還是邊界掃描鏈的長度都是固定不變的。這樣的邊界掃描結構在應用時容易受到管腳 數量和位置的限制,靠近串行輸出端口附近的管腳信息容易被采樣到,位置靠近串行輸入 端的管腳信息,就需要經過較長時間的移位才能獲取,導致移位周期長,效率較低,不能夠 較好地適應健康管理、信息采集的實時、動態性要求。
【發明內容】
[0004] 針對現有技術中存在的問題,本發明提供一種基于開關矩陣控制的可變鏈長動態 邊界掃描結構和方法,其能夠根據不同的采集需求,能夠針對邊界掃描鏈長進行調整,進而 實現邊界掃描的快速訪問,彌補現有技術的不足。
[0005] 本發明是通過以下技術方案來實現:
[0006] -種基于開關矩陣控制的可變鏈長動態邊界掃描方法,包括如下步驟,
[0007] 步驟一,根據電路中最長邊界掃描鏈內所有邊界掃描單元的數量和位置,生成如 下對應的總開關矩陣,
[0009] 其中,m表示最長邊界掃描鏈中所有邊界掃描單元的數量,m為正整數;
[0010] i表示全部邊界掃描單元對應的序號,1彡i彡m ;
[0011] j表示最長邊界掃描鏈中邊界掃描單元的序號,I < j < m ;
[0012] 全部邊界掃描單元對應的序號i和最長邊界掃描鏈中邊界掃描單元的序號j均分 別按最長邊界掃描鏈中的位置從鏈尾到鏈首由1開始依次編號;
[0013] 總開關矩陣中對應的默認開關狀態均為打開狀態;
[0014] 步驟二,根據需要觀測控制的邊界掃描單元數量和位置,確定總開關矩陣中需要 閉合開關的鏈路開關矩陣;表示如下,
[0016] 其中,η表示需要觀測控制邊界掃描單元個數,1彡η彡m,
[0017] k表示需要觀測控制邊界掃描單元的序號,K k < η ;
[0018] 需要觀測控制邊界掃描單元的序號k按其在最長邊界掃描鏈中的位置從鏈尾到 鏈首由1開始依次編號;
[0019] η和k均為正整數;
[0020] 步驟三,根據鏈路開關矩陣和需要觀測邊界掃描單元的序號k,確定總開關矩陣中 需要閉合的開關為a、 k,s為需要觀測邊界掃描單元的序號k在最長邊界掃描鏈中邊界掃描 單元中對應的序號,I < S < m,S為正整數;
[0021] 步驟四,通過寄存器配置或譯碼邏輯控制將需要閉合的開*aSik的狀態更改為閉 合狀態后,組成邊界掃描短鏈,實現所有需要觀測控制的邊界掃描單元的邊界掃描操作。
[0022] 優選的,步驟2中,將鏈路開關矩陣中的無效開關剔除后,得到如下的有效鏈路開 關矩陣如下,
[0024] -種基于開關矩陣控制的可變鏈長動態邊界掃描結構,包括電路上設置的邊界掃 描單元,直通開關,以及一一對應邊界掃描單元連接的控制開關組,
[0025] 邊界掃描單元依次串行后組成最長邊界掃描鏈,
[0026] 第一邊界掃描單元對應的第一控制開關組的輸入端連接電路的串行輸入端,第一 控制開關組的輸出端分別連接全部邊界掃描單元的串行輸入端;
[0027] 其余邊界掃描單元對應的控制開關組的輸入端分別連接前一級邊界掃描單元的 輸出端,對應的控制開關組的輸出端分別連接包括該邊界掃描單元及其后所有邊界掃描單 元的串行輸入端;
[0028] 每個邊界掃描單元對應的控制開關組均分別與一個直通開關輸入端并聯,所有直 通開關的輸出端均與電路的串行輸出端連接;
[0029] 最后一個邊界掃描單元的串行輸出端通過一個直通開關連接電路的串行輸出端。
[0030] 其中,從第一控制開關組到最后控制開關組中開關分別與優選的方案中所述的有 效鏈路開關矩陣中的每列的開關一一對應。
[0031] 進一步,電路的串行輸入端為標準JTAG測試數據輸入端TDI。
[0032] 進一步,電路的串行輸出端為標準JTAG測試數據輸出端TDO。
[0033] 與現有技術相比,本發明具有以下有益的技術效果:
[0034] 本發明基于開關矩陣控制的可變鏈長動態邊界掃描結構和方法,通過對應每個邊 界掃描單元設置的開關組成的開關控制矩陣,使其在進行不同數量和位置的邊界掃描單元 時能夠進行最為優化的開關和鏈路控制,形成效率極高的邊界掃描短鏈,完成預定的掃描 目標。同時在結構上,將矩陣的輸入端是開關矩陣的控制邏輯和全部邊掃單元的串行輸出 端,而開關矩陣的輸出端則是全部邊掃單元的串行輸入端。開關矩陣的控制啟動后,開關矩 陣將根據設定的目標進行掃描鏈的組合裝配,將需要觀測的管腳按照一定的順序串聯起來 組成目標掃描鏈,用于快速捕獲和傳輸所需的數據信息;其相比較現有技術中的鏈路掃描 結構和方法能夠節省的周期數能夠達到90%以上,極大的提高了觀測和控制的效率及相應 時間。
【附圖說明】
[0035] 圖1為現有的邊界掃描鏈結構示意圖。
[0036] 圖2為邊界掃描單元結構圖。
[0037] 圖3為本發明實例中所述的開關矩陣結構控制示意圖。
[0038] 圖4為本發明實例中所述的觀測一個管腳的開關矩陣控制鏈路示意圖。
【具體實施方式】
[0039] 下面結合具體的實施例對本發明做進一步的詳細說明,所述是對本發明的解釋而 不是限定。
[0040] 本發明基于開關矩陣控制的可變鏈長動態邊界掃描結構和方法,設計了一種開關 控制矩陣,矩陣的輸入端是開關矩陣的控制邏輯和全部邊掃單元的串行輸出端,而開關矩 陣的輸出端則是全部邊掃單元的串行輸入端。開關矩陣的控制啟動后,開關矩陣將根據設 定的目標進行掃描鏈的組合裝配,將需要觀測的管腳按照一定的順序串聯起來組成目標掃 描鏈,用于捕獲和傳輸所需的數據信息。這個過程就好比扳道岔,組成的目標鏈就是根據需 要快速組合成的高速鐵路。開關矩陣的控制邏輯可以通過寄存器來配置,亦可通過譯碼邏 輯實現,這部分結構較為簡單,在此不再贅述。本發明的重點和難點是開關矩陣的設計。
[0041] 其中,開關矩陣通式如下。
[0042] 假設電路有m個邊界掃描單元,要實現一條長度為η,η為正整數,I < η < m,的邊 界掃描短鏈,最多需要開關為m*n個,用矩陣A表示如下:
[0044] 其中,i表示m個邊界掃描單元序號,I < i < m,k表示長度為η的邊界掃描短鏈 中邊界掃描單元序號,K k < η。
[0045] 要組成不定長度η的邊界掃描短鏈,用矩陣B表示如下:
[0047] 其中,alik表示矩陣中任一元素,只有當k < i < m時,a lik= 1,即存在開關,其他 元素均為〇,即不需要開關。
[0048] 組成不定長度η的邊界掃描短鏈所需的開關總數為:
[0050] 其中,1彡η彡m,可以實現的組合數為
[0051] 要實現不定長度η的邊界掃描短鏈控制和觀測所需的開關總數為:
[0053] 其中,0彡η彡m,可以實現的組合數為
[0054] 其中,開關矩陣生成的步驟如下。
[0055] 要組成一個鏈長為n,1彡η彡m,的邊界掃描短鏈,首先需要創建開關控制矩陣,創 建開關矩陣的步驟如下:
[0056] 1)將m個邊界掃描單元從鏈尾(TDO)到鏈首(TDI)依次編號為Ml、M2、……、Mm。
[0057] 2)選擇要觀測的η個邊界掃描單元,按照順序依次編號為nl、n2、…、ni、…、nn, 1<11;[<1111,并分別記為1111、1]12、*"、111;[、*"、1]111,其中111;[,1<111;[<111,表示第11;[個被選 擇的邊界掃描單元在m個邊界掃描單元中的對應編號。
[0058] 3)根據η個邊界掃描單元的序號和其對應編號創建m行η列的鏈路開關矩陣, aniini表示開關矩陣的第mi行第ni列元素。η個邊界掃描單元的編號作為矩陣的列號,其 在m個邊界掃描單元中的對應編號作為矩陣的行號。根據選中的邊界掃描單元的序號和對 應編號,將矩陣對應位置元素置1,表示此處開關需要閉合;矩陣元素為〇,表示此處不需要 開關或開關不需要閉合。
[0059] 4)依據開關矩陣中的元素值情況進行相應控制,就可以組成任意鏈長η的邊界掃 描短鏈。
[0060] 具體的,下面以邊界掃描收發器電路為例,介紹開關矩陣及其控制方法。
[0061] 邊界掃描收發器電路中共有36個邊界掃描單元,可組成最長36位的邊界掃描鏈。 開關矩陣的主要作用是實現從36個邊界掃描單元中取出一部分邊界掃描單元組成一條短 的邊界掃描鏈,從而提高監測和診斷效率。要實現短鏈的控制和觀測,首先要組成短的邊界 掃描鏈,接下來將通過介紹如何設計開關矩陣,實現短鏈的組建。
[0062] 如果要實現一條長度為η,η為正整數,1 < η < 36,的邊界掃描鏈,最多需要開關 為36*η個,用矩陣表示如下:
[0063]
[0064] 記作矩陣A,其中,矩陣的行號i表示36個邊界掃描單元,i = 1,2,…,36;矩陣 的列號k表示邊界掃描短鏈的η個邊界掃描單元,k = 1,2,…,η。
[0065] 假設從36個邊界