一:Boundary Scan的基本概念及應(yīng)用
-> 什么是Boundary SCAN?
首先我們都知道BSCAN是一種用于測試和驗(yàn)證集成電路的技術(shù)。在集成電路中,有許多引腳***(pins)*** 用于與其他器件進(jìn)行通信和連接。BSCAN 通過在芯片引腳之間添加可控的掃描鏈***(Scan Chain)*** ,使得我們能夠在測試和調(diào)試時(shí)以串行方式訪問每個(gè)芯片引腳。如下圖
-> BSCAN誕生的契機(jī)是什么呢?
電路板的日益復(fù)雜和 surface mount technologies (表面貼裝技術(shù))等技術(shù)的轉(zhuǎn)變導(dǎo)致系統(tǒng)設(shè)計(jì)師們達(dá)成一致,采用了一種統(tǒng)一的基于掃描的方法,稱為邊界掃描***(boundary scan)*** ,用于在電路板(任何系統(tǒng))級別上測試芯片。
-> BSCAN為芯片驗(yàn)證帶來了什么?
1. 連通性測試:
假設(shè)你在設(shè)計(jì)一個(gè)SoC,其中涉及許多引腳用于連接不同的子系統(tǒng)。使用邊界掃描,你可以測試這些引腳之間的連通性。例如,你可以加載一個(gè)測試模式,通過觀察TDO信號,檢查引腳是否按預(yù)期連接,是否存在開路或短路問題。
2.故障定位:
在芯片制造過程中,可能會(huì)出現(xiàn)一些未預(yù)料的故障,例如焊接問題或晶體管故障。通過加載適當(dāng)?shù)臏y試模式,你可以觀察故障信號在掃描鏈上的傳播路徑,從而精確定位故障的位置,加速故障排除過程。
3.邏輯驗(yàn)證:
在芯片設(shè)計(jì)的早期階段,你可以使用邊界掃描來驗(yàn)證芯片的基本邏輯功能。通過加載測試模式,觀察輸出是否與預(yù)期相符,以驗(yàn)證芯片的功能性。
4.硬件調(diào)試:
假設(shè)你遇到了一些奇怪的硬件問題,如時(shí)序問題或邏輯錯(cuò)誤。通過在掃描鏈上加載特定的測試模式,你可以觀察信號在芯片內(nèi)部的傳播路徑,有助于理解信號的行為,從而更有效地進(jìn)行硬件調(diào)試。
5.芯片級聯(lián)測試:
在多芯片系統(tǒng)中,邊界掃描可以用于測試不同芯片之間的連接性。通過將多個(gè)芯片的邊界掃描鏈連接在一起,你可以檢測引腳和信號在整個(gè)系統(tǒng)中的傳輸情況。
總之,邊界掃描在SoC設(shè)計(jì)驗(yàn)證中是一項(xiàng)強(qiáng)大的工具,可以幫助芯片驗(yàn)證工程師在不同階段進(jìn)行測試、調(diào)試和驗(yàn)證,從而提高芯片的質(zhì)量和可靠性。
二:Boundary Scan的硬件實(shí)現(xiàn)
邊界掃描的核心思想是在SoC芯片的引腳周圍添加一個(gè)可控的掃描鏈,將芯片內(nèi)部的邏輯電路與掃描鏈相連。這個(gè)掃描鏈由一系列的Scan Cells (掃描單元)組成,每個(gè)掃描單元可以存儲一個(gè)比特的數(shù)據(jù)。通過操控TAP(Test Access Port) 控制器,我們可以在掃描鏈上加載測試模式,然后觀察測試模式在芯片內(nèi)部的傳播路徑,從而實(shí)現(xiàn)測試、調(diào)試和驗(yàn)證。
沒錯(cuò),下面就要詳細(xì)介紹一下我們的主角TAP了!
TAP控制器是邊界掃描的核心,它負(fù)責(zé)管理掃描鏈的操作。TAP控制器通過四個(gè)或個(gè)基本信號進(jìn)行操作測試訪問端口。
- TCK(Test Clock):用于控制掃描鏈的時(shí)鐘信號。
- TMS(Test Mode Select):用于控制TAP控制器狀態(tài)機(jī)的狀態(tài)切換。
- TDI(Test Data Input):用于將數(shù)據(jù)加載到掃描鏈中。
- TDO(Test Data Output):用于從掃描鏈讀取數(shù)據(jù)。
- TRST(Test Reset):用于異步復(fù)位TAP控制器,如果芯片沒有自動(dòng)生成上電復(fù)位信號的話。
不過一般我們用到前面四個(gè)就夠了,下面是一個(gè)基本的TAP架構(gòu)圖。
下面我們就按照這張圖剖析一下TAP的組成部分。
1. TAP控制器(TAP Controller):
TAP控制器是TAP的核心,負(fù)責(zé)控制掃描操作的狀態(tài)轉(zhuǎn)換和時(shí)序。它通過TCK(Test Clock)、TMS(Test Mode Select)、TDI(Test Data Input)和TDO(Test Data Output) 等信號,實(shí)現(xiàn)從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)換,以便執(zhí)行不同的操作,如掃描測試數(shù)據(jù)或讀取測試結(jié)果。TAP控制器按照JTAG(Joint Test Action Group) 標(biāo)準(zhǔn)定義了一組狀態(tài),如Test-Logic-Reset狀態(tài)、Run-Test/Idle狀態(tài)等。
2.指令寄存器(Instruction Register):
指令寄存器用于存儲和加載TAP控制器的指令。在測試和調(diào)試過程中,可以通過加載不同的指令來控制芯片的操作。指令寄存器的位數(shù)決定了可以定義的不同指令數(shù)量,從而支持多種測試模式和操作。
3. 測試數(shù)據(jù)寄存器(Test Data Register):
測試數(shù)據(jù)寄存器用于存儲測試模式數(shù)據(jù),它是掃描鏈(Scan Chain)的一部分。測試數(shù)據(jù)可以被輸入到芯片進(jìn)行測試,也可以從芯片中讀取出來作為測試結(jié)果。測試數(shù)據(jù)寄存器又分為不同的子寄存器,包括邊界掃描寄存器、旁路寄存器和TDO驅(qū)動(dòng)器。
3.1. 邊界掃描寄存器(Boundary Scan Register):
邊界掃描寄存器是邊界掃描技術(shù)的關(guān)鍵,用于在芯片的引腳之間插入可控的測試邏輯。它允許在芯片的輸入和輸出之間插入額外的邏輯電路,以便執(zhí)行連通性測試、故障定位等操作。邊界掃描寄存器存儲了掃描鏈上的測試模式數(shù)據(jù),可以通過TAP控制器進(jìn)行加載和讀取。
3.2. 旁路寄存器(Bypass Register):
旁路寄存器用于繞過邊界掃描邏輯,將芯片的輸入直接連接到輸出。當(dāng)不需要執(zhí)行邊界掃描時(shí),可以通過加載指令將旁路寄存器中的數(shù)據(jù)傳遞給TDO輸出,從而繞過邊界掃描邏輯。
3.3. TDO驅(qū)動(dòng)器(TDO Driver):
TDO驅(qū)動(dòng)器用于控制TDO輸出信號的驅(qū)動(dòng)。在掃描鏈操作期間,TDO驅(qū)動(dòng)器負(fù)責(zé)將測試模式數(shù)據(jù)從邊界掃描寄存器或旁路寄存器傳遞到TDO輸出。TDO驅(qū)動(dòng)器還可以根據(jù)TAP控制器的狀態(tài)控制TDO輸出信號的開關(guān)。
這些組成部分共同構(gòu)成了TAP結(jié)構(gòu),使得邊界掃描技術(shù)成為一種強(qiáng)大的芯片測試和驗(yàn)證工具,為集成電路設(shè)計(jì)和制造過程提供了可靠的測試手段。下圖展示一個(gè)完整的Boundary SCAN。
結(jié)語
Boundary SCAN作為現(xiàn)代芯片設(shè)計(jì)驗(yàn)證領(lǐng)域的重要工具,為芯片工程師提供了強(qiáng)大的測試和調(diào)試手段。它通過TAP控制器、掃描鏈和測試模式生成器的協(xié)同工作,實(shí)現(xiàn)了對芯片內(nèi)部功能和連通性的全面測試。
-
集成電路
+關(guān)注
關(guān)注
5388文章
11547瀏覽量
361836 -
晶體管
+關(guān)注
關(guān)注
77文章
9693瀏覽量
138195 -
芯片制造
+關(guān)注
關(guān)注
10文章
623瀏覽量
28828 -
邊界掃描
+關(guān)注
關(guān)注
1文章
32瀏覽量
15022 -
Scan
+關(guān)注
關(guān)注
0文章
12瀏覽量
3547
發(fā)布評論請先 登錄
相關(guān)推薦
評論