邊界掃描的測試原理及九大指令(zz)
[ 轉自http://blog.163.com/[email protected]/ ]
詳細邊界掃描結構及訊號流程參考圖1。
圖1 中“TAP Controller”其實質上是一個狀態機,它根據不同的操作指令能產生16 個不同的狀態,具體狀態邏輯參考圖2。從一個狀態切換成另一個狀態總是發生在TCK 的上升沿,由TMS 從兩個狀態選擇其中一個狀態。在測試向量暫存器中,既有指令暫存器(IR),又有資料暫存器(DR),而且,為了區分是指令還是資料,掃描鏈路中的狀態圖有兩個獨立的完全類似的結構(Scan DR / Scan IR)。
測試操作的最重要步驟是移入和同步移出測試資料(DR SHIFT),新的資料進入移位鏈,測試資料傳送到測試單元(DR-update)的輸出鎖存器中,對於指令暫存器(IR-shift,IR-capture,IR-update)同樣如此。除了邊界掃描暫存器(Boundary Scan Register),IEEE 1149.1標準還定義了在資料暫存器附近至少存在一個旁路暫存器,用來將TDI 到TDO 的可以直連線。資料暫存器根據指令暫存器的指令定址,然後在TDI 和TDO 的引腳之間,各個資料暫存器結合成移位路徑。正如圖2 所示,從一個狀態轉換成另一個狀態由訊號TMS 的邏輯電平決定。“TAP ”是一個時鐘系統,它的時鐘是由訊號TCK 提供。訊號TMS 和訊號TCK共同作用,使得資料一位一位從TDI 移入,最後由TDO 移出。
各種邊界掃描單元是否有效取決於是否實行測試或者得到激勵。
圖3 就是一個最普通的邊界掃描單元的結構圖。如,第一個鎖存器鎖存資料由移位暫存器(SHIFT DR)決定從前一個掃描單元移出的資料(SCAN IN)或者是掃描輸入的資料(DATA IN),並且由CLOCK DR控制鎖存輸出。在第一個鎖存器移出資料穩定後,第二個鎖存器由UPDATE DR 控制鎖存輸出第一個鎖存器移出的資料。MODE 訊號的電平決定是測試模式還是工作模式。邊界掃描單元既有輸入又有輸出。一般來說,在每一個物理引腳不論輸入還是輸出,都有一個獨立的邊界掃描單元,但區別是輸入在每一個物理引腳的後面,而對於所有的輸出是在每一個物理引腳的前面。
MODE, SHIFT DR, UPDATE DR 以及CLOCK DR 這些全域性訊號線與所有掃描單元都相連線,而且同一個時間狀態都一樣。這樣,TAP 狀態在CAPTURE DR 時,所有的掃描單元都能在CLOCK DR 的上升沿取樣輸入資料。測試資料的輸出也相類似,它是在TAP 狀態在UPDATE DR 的下降沿時將掃描輸入端鎖存並輸出。所有的掃描單元都能完成以上功能。所有的掃描單元執行在工作模式還是在測試模式,由MODE 訊號控制選擇其一,同時執行在兩個模式是不可能的。而MODE 訊號是由掃描指令控制的。
九大指令
指令(必須/可選) | 操作碼 | 模式 | 選擇資料暫存器 |
EXTEST |
0...0* | 測試 | Boundary |
SAMPLE/PRELOAD | 使用者定義 | 一般 | Boundary |
BYPASS | 1...1 | 一般 | Bypass |
INTEST | 使用者定義 | 測試 | Boundary |
RUNBIST | 使用者定義 | 測試 | 使用者定義 |
INCODE | 使用者定義 | 一般 | 器件ID |
USERCODE | 使用者定義 | 一般 | 器件ID |
CLAMP | 使用者定義 | 測試 | Bypass |
HIGHZ | 使用者定義 | 測試 | Bypss |
使用者定義 | 使用者定義 | 使用者定義 | 使用者定義 |
Extest指令--強制指令
用於晶片外部測試,如互連測試 測試模式下的輸出管腳,由BSC update鎖存驅動(BSC註釋:暫存器的每一個單元分配給IC晶片的相應引腳,每一個獨立的單元稱為BSC(Boundary-Scan Cell)邊界掃描單元。) BSC scan鎖存捕獲的輸入資料 移位操作,可以從TDI輸入測試激勵,並從TDO觀察測試響應。 在移位操作後,新的測試激勵儲存到BSC的update鎖存原先EXTEST指令時強制為全“0”的,在IEEE 1149.1--2001中,這條強制取消了。選擇EXTEST指令時,IC工作在邊界掃描外部測試模式(external boundary-test mode),也就是說對IC的操作影響晶片的正常工作。選擇邊界掃描暫存器連通TDI和TDO。在這種指令下,可以通過邊界掃描輸出單元來驅動測試訊號至其他邊界掃描晶片,以及通過邊界掃描輸入單元來從其他邊界掃描晶片接收測試訊號。EXTEST指令是IEEE 1149.1標準的核心所在,在邊界掃描測試中的互連測試(interconnect test)就是基於這個指令的。
(該指令初始化外部電路測試,主要用於板級互連以及片外電路測試。EXTEST指令在Shift-DR狀態時將掃描暫存器BSR暫存器連線到TDI與 TDO之間。在Capture-DR狀態時,EXTEST指令將輸入管腳的狀態在TCK的上升沿裝入BSR中。EXTEST指令從不使用移入BSR中的輸 入鎖存器中的資料,而是直接從管腳上捕獲資料。在Update-DR狀態時,EXTEST指令將鎖存在並行輸出暫存器單元中的資料在TCK的下降沿驅動到 對應的輸出管腳上去。)Sample/Preload指令--強制指令
在進入測試模式前對BSC進行預裝載 輸入輸出管腳可正常操作 輸入管腳資料和核心輸出資料裝載到BSC的scan鎖存中。 移位操作,可以從TDI輸入測試激勵,並從TDO觀察測試響應。 在移位操作後,新的測試激勵儲存到BSC的update鎖存。 原先這兩個指令是合在一起的,在IEEE 1149.1--2001中這兩個指令分開了,分成一個SAMPLE指令,一個PRELOAD指令。選擇SAMPLE/PRELOAD指令時,IC工作在正常工作模式,也就是說對IC的操作不影響IC的正常工作。選擇邊界掃描暫存器連通TDI和TDO。 SAMPLE指令---通過資料掃描操作(Data Scan)來訪問邊界掃描暫存器,以及對進入和離開IC的資料進行取樣。PRELOAD指令---在進入EXTEST指令之前對邊界掃描暫存器進行資料載入。 (在 Capture-DR狀態下,SAMPLE/PRELOAD指令提供一個從管腳到片上系統邏輯的資料流快照,快照在TCK上升沿提取。在Update- DR狀態時,SAMPLE/PRELOAD指令將BSR暫存器單元中的資料鎖存到並行輸出暫存器單元中,然後由EXTEST指令將鎖存在並行輸出暫存器單 元中的資料在TCK的下降沿驅動到對應的輸出管腳上去。)PRELOAD
Bypass指令--強制指令 提供穿透晶片的最短通路。 輸入輸出管腳可正常操作 選擇一位的旁路(Bypass)暫存器 強制全為1和未定義的指令為Bypass指令 BYPASS指令為全“1”。選擇BYPASS指令時,IC工作在正常工作模式,選擇一位的BYPASS暫存器連通TDI和TDO,資料的通過不影響IC的正常工作。 (BYPASS指令通過在TDI和TDO之間放置一個1位的旁通暫存器,這樣移位操作時只經過1位的旁通暫存器而不是很多位(與管腳數量相當)的邊界掃描暫存器BSR,從而使得對連線在同一JTAG鏈上主CPU之外的其他晶片進行測試時提高效率。)INTEST指令 ---可選指令
選擇INTEST指令時,IC工作在邊界掃描內部測試模式(internal boundary-test mode),選擇邊界掃描暫存器連通TDI和TDO。在這種指令下,可以通過邊界掃描輸出單元來驅動測試訊號至其內部邏輯,以及通過邊界掃描輸入單元來從 其內部邏輯接受測試訊號。
RUNBIST指令 ---可選指令
選擇RUNBIST指令時,IC工作在自測試模式(self-test mode),對IC的內部邏輯進行全面的自測試,通過選擇使用者自定義的資料暫存器連通TDI和TDO。在這種指令下,邊界掃描單元的輸出被內部邏輯控制了,所以外部訊號不能干擾其相鄰IC。
IDCODE指令 ---可選指令
選擇IDCODE指令時,IC工作在正常工作模式,選擇資料識別暫存器(data
identification
register)連通TDI和TDO。資料識別暫存器是一個32位的暫存器,內容包括IC的生產廠商,晶片型別,版本等。訪問資料識別暫存器不會影響
IC的正常工作。由於IDCODE指令是可選的,不是每個晶片都有的,所以當對一個邊界掃描鏈(scan
chain)執行IDCODE指令來輸出所有IDCODE時,有IDCODE指令的晶片就選擇IDCODE暫存器,輸出輸出IDCODE,沒有
IDCODE指令的晶片會自動選擇BYPASS暫存器,輸出一個“0”。
(讀取CPU
ID號指令。在設計中存在device identification
register時,TAP強制定義。該指令將處理器的ID號暫存器連線到TDI和TDO之間。)
USERCODE指令 ---可選指令
選擇USERCODE指令時,IC工作在正常工作模式,選擇使用者自定義資料暫存器(user defined test data register)連通TDI和TDO。USERCODE指令一般是在進行晶片內部測試時用的。
CLAMP指令 ---可選指令
CLAMP指令使IC的輸出置於由邊界掃描暫存器的當前內容決定的邏輯電平上,選擇BYPASS暫存器連通 TDI和TDO。在載入這個指令之前,邊界掃描暫存器的內容可以由SAMPLE/PRELOAD指令來預置。在CLAMP指令下,資料通過BYPASS寄 存器從TDI傳遞至TDO,不會影響此IC的輸出。
HIGHZ指令 ---可選指令
HIGHZ指令使IC的所有輸出置於高阻狀態,選擇BYPASS暫存器連通TDI和TDO。在HIGHZ指令下,資料通過BYPASS暫存器從TDI傳遞至TDO,不會影響此IC的輸出。
相關推薦
邊界掃描的測試原理及九大指令(zz)
[ 轉自http://blog.163.com/[email protected]/ ] 詳細邊界掃描結構及訊號流程參考圖1。 圖1 中“TAP Controller”其實質上是一個狀態機,它根據不同的操作指令能產生16 個不同的狀態,具體狀態邏輯參考圖2。從一個狀態切換成另一個狀態總是
JSP基本功 pageContext物件page,request,session,application四個域物件的使用及區別JSP執行原理和九大隱式物件及下載檔案、訪問次數的程式碼總結出el表示式簡單
pageContext物件 pageContext物件是JSP技術中最重要的一個物件,它代表JSP頁面的執行環境,這個物件不僅封裝了對其它8大隱式物件的引用,它自身還是一個域物件,可以用來儲存資料。並且,這個物件還封裝了web開發中經常涉及到的一些常用操作,例如引入和跳轉其它資源、檢索其
五大過程組及九大知識領域總結
質量 整體 技術 str 準則 啟動 mar log 供應商管理 五大過程組:啟動,計劃,執行,監控,收尾。啟動:制定項目章程,識別幹系人;計劃:制定項目管理計劃,明確風險,計劃質量,活動歷時估算;執行:指導和管理項目執行,分發信息監控:控制範圍,監控項目工作,控制進度收
網站滲透測試原理及詳細過程
滲透測試(Penetration Testing)目錄 零、前言 一、簡介 二、制定實施方案 三、具體操作過程 四、生成報告 五、測試過程中的風險及規避 參考資料 FAQ集 零、前言 滲透測試在未得到被測試方授權之前依據某些地區法律規定是違法行為。 這裡我們提供的所有滲透測試方法均為(假設為)合法的
固態硬碟掉電保護測試原理及要點
前言 固態硬碟由於必須使用FTL做邏輯地址和實體地址之間的轉換,如果在SSD讀、寫、刪除等正常工作的情況下出現異常掉電,有可能會導致mapping table的因為來不及更新而丟失,從而出現SSD無法被系統識別的故障。 同時,為了提升讀寫效能,通常使用SDRAM做
MySQL索引原理及慢查詢優化-zz
`` 原理 並不是 計劃 ora 實的 birt 總計 war https://tech.meituan.com/mysql-index.html MySQL憑借著出色的性能、低廉的成本、豐富的資源,已經成為絕大多數互聯網公司的首選關系型數據庫。雖然性能出色,但所謂“好馬配
九大排序演算法之插入排序(原理及實現)
1、演算法思路:每趟將一個待排序的元素作為關鍵字,按照其關鍵字值得大小插入到已經排好的部分的適當位置上,知道插入完成。 2、演算法過程 舉個栗子(第一趟的排序過程) 原始序列:49、38、65、97、76、13、27、49 1)開始以第一個元素49為關鍵字,看成一個序列,其餘數看成另
九大排序演算法之選擇排序(原理及實現)
1、演算法思想:選擇排序,從頭至尾掃描序列,找出最小的一個元素,和第一個元素交換,接著從剩下的元素中繼續這種選擇和交換方式,最終得到一個有序序列。 2、演算法過程 舉個栗子(第一趟的排序過程) 原始序列:49、38、65、97、76、13、27、49 1)在進行選擇排
selenium + python自動化測試unittest框架學習(一)selenium原理及應用
自動化 網上 下載安裝 src .cn 基礎 client cnblogs pytho unittest框架的學習得益於蟲師的《selenium+python自動化實踐》這一書,該書講得很詳細,大家可以去看下,我也只學到一點點用於工作中,閑暇時記錄下自己所學才能更加印象深刻
MySql數據庫的基本原理及指令
es2017 price 命令 focus href targe chan 刪除數據庫 結構 1.什麽是數據庫 數據庫就是存儲數據的倉庫,其本質是一個文件系統,數據按照特定的格式將數據存儲起來,用戶可以通過SQL對數據庫中的數據進行增加,修改,刪除及查詢操作。 2、簡介 M
Docker五種存儲驅動原理及應用場景和性能測試對比
Docker 存儲驅動 Docker最開始采用AUFS作為文件系統,也得益於AUFS分層的概念,實現了多個Container可以共享同一個image。但由於AUFS未並入Linux內核,且只支持Ubuntu,考慮到兼容性問題,在Docker 0.7版本中引入了存儲驅動, 目前,Docker支持AUFS
redis相關原理及面試官由淺到深必問的15大問題(高級)
申請 單線程 恢復 其余 異步 優先 follow 兩種 拓撲 1.redis是什麽? redis是nosql(也是個巨大的map) 單線程,但是可處理1秒10w的並發(數據都在內存中) 使用java對redis進行操作類似jdbc接口標準對mysql,有各類實現他的實現類
java中jsp的九大隱式對象及web四大域
會銷 時間 同時 調用 宋體 clas 開始 類加載 相對路徑 JSP運行原理和九大隱式對象 每個JSP 頁面在第一次被訪問時,WEB容器都會把請求交給JSP引擎(即一個Java程序)去處理。JSP引擎先將JSP翻譯成一個_jspServlet(實質上也是一個servlet
二維碼掃描登陸的原理及深入解析
一、單方掃描登陸 基本的實現流程: PC端開啟login.html,ajax請求passport.wx.com?appid=123&redirect_uri=monitor.wx.com,服務端響應帶有uuid=456和狀態碼200的內容,再次發起兩個aj
軟體測試流程及規範(參考大華為的規範)
軟體測試流程及規範(參考大華為的規範) 參考某大佬(窩真不知道是哪位大佬)總結的測試流程並結合在華為做測試學到的規範,整理的我們公司的測試流程,分享是一種美德,so開始你的閱讀吧~ 軟體測試流程及規範 一、目標 制定完整且具體的測試路線和流程,為快速、高效和高質量的軟體測試提供基礎流
(good)相位噪聲基礎及測試原理和方法
摘要:相位噪聲指標對於當前的射頻微波系統、移動通訊系統、雷達系統等電子系統影響非常明顯,將直接影響系統指標的優劣。該項指標對於系統的研發、設計均具有指導意義。相位噪聲指標的測試手段很多,如何能夠精準的測量該指標是射頻微波領域的一項重要任務。隨著當前接收機相位噪聲指標越來越高,相應的測試技術和測試手段
併發容器的原理,7大併發容器詳解、及使用場景
併發容器的原理,7大併發容器詳解、及使用場景 http://youzhixueyuan.com/use-of-concurrent-containers.html 併發容器的由來 在Java併發程式設計中,經常聽到Java集合類,同步容器、併發容器,那麼他們有哪些具體分類,以及各自之間的
美團網大富翁遊戲程式設計原理及實現
美團網大富翁遊戲程式設計原理及實現 題目: 大富翁遊戲,玩家根據骰子的點數決定走的步數,即骰子點數為1時可以走一步,點數為2時可以走兩步,點數為n時可以走n步。求玩家走到第n步(n<=骰子最大點數且是方法的唯一入參)時,總共有多少種投骰子的方法。 輸入描述: 輸入包括一個整數n
大資料教程(8.2)wordcount程式原理及程式碼實現/執行
上一篇部落格分享了mapreduce的程式設計思想,本節博主將帶小夥伴們瞭解wordcount程式的原理和程式碼實現/執行細節。通過本節可以對mapreduce程式有一個大概的認識,其實hadoop中的map、reduce程
jsp 九大物件 七大動作 三大指令
JSP九大物件: 1、out 向客戶端輸出資料,位元組流,如:out.print(“data”); 2、request 接受客戶端的http請求。 3、response 響應客戶的請求,重定向客戶轉任意介面。 4、session 用於儲存使用者資訊,跟蹤使用者行為,當前開啟的瀏覽器內,多個頁