目錄
5.1 Primary test access port
5.1.1 Specifications
5.1.2 Description
5.2 Primary test access port controller
5.2.1 Specifications
5.2.2 Description
5.3 Secondary test access port (STAP)
5.3.1 Specifications
5.3.2 Description
5.4 Secondary test access port control logic
5.4.1 Specifications
5.4.2 Description
5.5 Registers
5.5.1 Secondary test access port configuration register (3DCR)
5.5.2 Die wrapper register (DWR)
5.5.3 Flexible parallel port configuration register
5.5.4 ECID register
5.5.5 Bypass register
5.5.6 Instruction register and instructions
最近在學習1838協議的內容,本文翻譯的內容來自DeepSeek和博主的個人理解,因為博主也在學習過程中,所以水平有限。如有理解錯誤,歡迎在評論區指正。
附上1838協議原文連結:1838-2019 - IEEE Standard for Test Access Architecture for Three-Dimensional Stacked Integrated Circuits | IEEE Standard | IEEE Xplore
5. Serial test access ports
如圖5所示,Primary Interface的一個子集應為primary test access port(PTAP),其中包含與Primary Interface相關的訊號和內部晶片邏輯連線;而secondary interface的一個子集應為一個或多個secondary test access ports(STAPs),其中包含與secondary interface相關的訊號和內部晶片邏輯連線。需要注意的是,Primary Interface和secondary interface還可能包括一個可選的flexible parallel port(FPP),這一部分將在第7條中進一步討論。
5.1 Primary test access port
序列PTAP是強制支援的。PTAP(Primary test access port)與最接近電路板連線或封裝介面的表面相關,並有五個介面:TCK、TMS、TDI、TDO 和 TRSTN。
5.1.1 Specifications
規則如下:
a) 每個符合標準的晶片都應在其primary Interface中包含一個序列測試訪問埠(PTAP)。
b) PTAP應由五個訊號組成,分別為TCK、TMS、TDI、TDO和TRSTN。(譯註:TRSTN在1149中是可選的,在這裡是強制的)
c) TCK訊號應為時鐘輸入訊號,用於同步測試架構操作和暫存器。
d) 在TMS(測試模式選擇)介面上的訊號應在TCK的上升沿被取樣到測試邏輯中。
e) 在TDI(測試資料輸入)介面上的訊號應在TCK的上升沿被取樣到測試邏輯中。
f) 透過TDO(測試資料輸出)驅動的訊號狀態變化僅應在TCK的下降沿或復位(Reset*)訊號啟用時發生。
g) TRSTN(測試復位)訊號應為非同步的低電平有效控制輸入訊號,為該標準定義的測試暫存器提供非同步復位功能。
h) TCK、TMS和TDI訊號應由專用介面驅動。
i) TDO訊號應驅動一個專用介面。
j) 第一個晶片的TRSTN訊號應由專用介面或提供上電覆位(POR)功能的邏輯驅動。
k) 對於非第一個晶片,TRSTN訊號應從專用介面驅動。
建議如下:
l) 第一個晶片的TRSTN訊號應由專用介面驅動。
5.1.2 Description
這五個晶片介面代表了通常與符合IEEE 1149.1介面相關的訊號——在IEEE 1838晶片用作第一個晶片(即最靠近板連線的晶片)的情況下,這五個介面實際上可能代表IEEE 1149.1 TAP介面到板連線,如果需要IEEE 1149.1合規性要求(請注意,IEEE 1838合規性並不要求IEEE 1149.1合規性——只有當最終元件有單獨的IEEE 1149.1合規性要求時,才需要IEEE 1149.1合規性)。這五個訊號是:
輸入測試時鐘(TCK):同步所有測試架構暫存器的時鐘訊號。
測試模式選擇(TMS):提供輸入控制訊號到測試控制器有限狀態機(FSM),生成所有測試架構暫存器的操作協議。
低電平有效測試復位(TRSTN):提供輸入非同步復位訊號,可用於將所有測試架構暫存器置於已知的預設狀態。
序列測試資料輸入(TDI):允許在測試控制器FSM處於其中一個移位狀態時,在TCK時鐘的上升沿將序列資料傳遞到測試架構資料暫存器。
序列測試資料輸出(TDO):允許在測試控制器FSM處於其中一個移位狀態時,在TCK時鐘的下降沿將測試架構資料暫存器的序列資料呈現到晶片介面。
5.2 Primary test access port controller
PTAP訊號驅動PTAP控制器,這是一個符合IEEE 1149.1標準的TAP控制器。與PTAP控制器相關的暫存器架構包括支援IEEE Std 1838中所需或可選的3D特性的暫存器。
5.2.1 Specifications
規則如下:
a) PTAP訊號應連線到PTAP控制器和相關的暫存器架構。
b) PTAP控制器應按照IEEE 1149.1 TAP控制器有限狀態機(FSM)定義的操作序列進行操作,該操作序列基於TMS輸入控制訊號,並由TCK輸入時鐘訊號進行同步(見IEEE Std 1149.1-2013第6.1節)。
5.2.2 Description
像IEEE 1149.1 TAP一樣,PTAP可以訪問堆疊中任何數量的晶片內部暫存器。然而,PTAP控制器暫存器架構至少應包含旁路暫存器、一個或多個晶片包裝暫存器(DWR)段、3D配置暫存器(3DCR)以及支援這些暫存器的所有必要指令。
PTAP控制器的操作方式與IEEE Std 1149.1 TAP控制器在IEEE Std 1149.1-2013第6.1節中描述的方式相同。圖6展示了PTAP控制器的狀態圖,並用十六進位制編號標註狀態,與圖7中顯示的PTAP控制器波形一致。
注:這裡顯示的PTAP控制器的十六進位制狀態編號僅用於說明目的。PTAP控制器的實際狀態編號由設計者決定
(譯註:圖7的行為依次是:Shift-IR Pause-IR Shift-IR Update-IR Shift-DR Pause-DR Shift-DR Update-DR。Enable訊號在shift的時候有效,用於TDO輸出的三態控制。Select用於Test Data Register和Instruction register二選一MUX的控制。)
(譯註:圖源:IEEE 1149.1協議)
5.3 Secondary test access port (STAP)
透過對IEEE 1149.1架構新增STAP(Secondary Test Access Port,次級測試訪問埠)及其相關的選擇和配置控制邏輯,擴充套件出次級介面。該控制邏輯由STAP本身以及來自主TAP控制器的三個維度配置暫存器(3DCR,參見5.5.1節)的控制組成。次級介面可能支援多個STAP,每個STAP都有一個強制的五針測試介面,使其能夠插入下一個晶片的PTAP(Primary Test Access Port,主測試訪問埠)。
STAP將從1到n進行編號,從TDO PTAP訊號開始,沿著序列掃描鏈回溯到TDI PTAP的起始點。
在本標準中,STAP應稱為STAPn,其中n從1開始。如圖8所示,STAP將從PTAP的TDO訊號開始編號,從1到n,並沿序列掃描鏈回溯到TDI PTAP的起始點。如果存在多個STAP,則編號將按掃描路徑順序從PTAP的TDO埠向PTAP的TDI埠遞增。因此,命名為STAP1的STAP將按掃描路徑順序最接近PTAP的TDO埠。
5.3.1 Specifications
規則如下:
a) 每個晶片應具有N個可選擇的STAP,每個STAP直接一個晶片。
注——如果晶片不支援任何堆疊的下一個晶片,N可能為零。
b) 每個STAP應包括命名為TDI_Sn、TDO_Sn、TMS_Sn、TCK_Sn和TRSTN_Sn的埠,其中n表示STAP編號,0 < n ≤ N。
c) TCK_Sn輸出埠應直接從PTAP的TCK埠驅動,不新增任何暫存器或組合門控邏輯。
d) TRSTN_Sn輸出埠應直接從PTAP TRSTN訊號驅動,不新增任何暫存器或組合門控邏輯。
e) TMS_Sn輸出埠,當由PTAP的TMS埠驅動時,應直接驅動,不新增任何線上暫存器。
f) TDI_Sn輸入埠應在TCK的上升沿取樣資料。
G) TDO_Sn輸出埠應在TCK的下降沿更新資料。
許可如下:
h)允許對驅動TCK_Sn、TMS_Sn和TRSTN_Sn埠的訊號進行緩衝以增強驅動強度。
5.3.2 Description
TCK和TRSTN訊號直接傳遞到STAP,除了一些緩衝(但不允許新增任何暫存器)。無論STAP是否被選中,它們都應始終傳輸到下一個晶片。
TMS、TDI和TDO訊號僅在STAP被選中時才傳輸到下一個晶片或從下一個晶片傳輸來。這些訊號中的每一個在處理過程中至少有一個多路複用器或邏輯閘,以實現選擇和取消選擇。
STAP埠驅動當前晶片的次級介面埠,然後連線到下一個晶片的相關PTAP埠。TCK_Sn、TMS_Sn和TRSTN_Sn輸出分別驅動下一個晶片的相關PTAP埠:TCK、TMS和TRSTN。STAP序列資料埠TDO_Sn輸出和TDI_Sn輸入,分別用於驅動和接收下一個晶片的PTAP埠對應埠:TDI輸入和TDO輸出。
TDI_Sn和TDO_Sn也需要暫存器,因為它們在TCK_Sn的上升沿或下降沿觸發。TDI_Sn應在TCK_Sn的上升沿取樣資料,TDO_Sn應在TCK_Sn的下降沿更新資料。
5.4 Secondary test access port control logic
STAP控制邏輯(簡稱STAP)由兩個子元件組成:selector 和 retiming elements(譯註:也即是MUX和暫存器)
5.4.1 Specifications
規則如下:
a) 每個STAP應使用3DCR中的相應Select_Sn訊號進行選擇。
b) 當Select_Sn訊號被置1時, STAP選擇下一個晶片的關聯PTAP(介於TDO_Sn和TDI_Sn之間)。
c) 第一個STAP(編號為k)應在TCK的下降沿從PTAP的TDI_Sk_int獲得TDO_Sk。(參考圖8中的STAP編號。)
d) STAPn(n < k)應從STAPn+1的TDO_Sn+1_int源出TDI_Sn_int。(譯註:STAP之間是串聯的。)
e) 如果任何STAP被選中(至少有一個Select_Sn被置1),PTAP應從STAP1的TDO_S1_int源出TDO。
f) 最後一個STAP(編號為1)應將TDO_S1_int連線到PTAP TDO的觸發器(由TCK的下降沿觸發)之前的點。
g)TDO_Sn_int應由一個暫存器元素驅動(在ShiftDR和ShiftIR狀態下由TCK的上升沿觸發),資料由TDI_Sn或TDI_Sn_int驅動,具體取決於Select_Sn的值。
注意——ShiftDR和ShiftIR在圖9中由Enable訊號表示。Enable訊號是Shift_IR和Shift_DR訊號的邏輯或(參見圖7)。
h) TDO_Sn應由一個觸發器驅動(例如,由TCK的下降沿觸發),資料由TDI_Sn_int驅動。
i) 當STAP_Sn未被選中(Select_Sn為0)時,TMS_Sn應由RTI_or_TLR_Sn驅動(參見5.5.1)。
j) 當STAP_Sn被選中(Select_Sn為1)時,TMS_Sn應由TMS驅動。
k) 如果沒有STAP被選中(所有Select_Sn訊號都為0),並且所有配置元素都位於PTAP控制器中,PTAP應從TDI_Sk_int源出TDO(參見圖10和圖11),否則PTAP應從TDO_S1_int源出TDO。(譯註:也就是沒有STAP被select的時候,TDI_Sk_int的資料直接送到TDO的暫存器,不考慮STAP相關的訊號。)
l) 序列資料路徑中的移位暫存器元素應由TCK的上升沿觸發,並在除ShiftDR和ShiftIR狀態外的所有狀態下保持狀態。
注意——移位暫存器元素由建議m)和n)以及許可權o)支援。
建議如下:
m) 如果需要,應在PTAP TDI_Sk_int輸出和STAP_Sk TDI_Sk_int輸入之間的序列資料路徑中新增額外的移位暫存器元素。
n) 如果需要,應在STAP_S1 TDO_S1_int輸出和PTAP TDO_S1_int輸入之間的序列資料路徑中新增額外的移位暫存器元素。
許可權如下:
o) 如果需要,可以在每個STAP內的序列資料路徑中新增額外的移位暫存器元素。
5.4.2 Description
在上電時,STAP處於未選中狀態。在選中並啟用之前,每個STAP應處於一種配置狀態,使其關聯的下一個晶片的PTAP控制器保持在空閒狀態,從而不處理任何捕獲、移位或更新操作。預設的停放狀態是Test-Logic-Reset (TLR)狀態;然而,STAP配置暫存器(3DCR)允許選擇Run-Test-Idle (RTI)狀態。
要啟用一個STAP,需要訪問關聯的STAP的3DCR段。然後可以配置3DCR位,並在PTAP控制器處於Update-DR狀態時,在TCK的下降沿(譯註:根據TAP,UpdateDR在下降沿改變)斷言其新配置。停用需要類似的操作。
在STAP控制邏輯塊內,沿每個STAP的序列掃描路徑需要寄存。用負邊沿TCK暫存器將序列資料呈現給TDO_Sn,用正邊沿的TCK暫存器,取樣從晶片外呈現給TDI_Sn端子的序列資料。這些僅用於調整(重新同步)資料位的移位暫存器用於掃描資料路徑,以幫助確保移位資料的完整性得以保持。
任何STAP都可以處於活動狀態幷包含在活動掃描路徑中;或者可以被取消選擇並繞過,不成為活動掃描路徑的一部分。
當STAP被選中為活動狀態時,其控制端子的行為應遵循PTAP的埠操作,並與PTAP的操作同步。然而,當未被選中時,每個STAP可以配置為使關聯的下一個晶片的PTAP保持在停放狀態:Run-Test-Idle (RTI) 或 Test-Logic-Reset (TLR) 。所選的停放狀態取決於STAP配置暫存器中該編號STAP的RTI_or_TLR_Sn配置位的狀態。透過管理TMS訊號從當前晶片的PTAP介面傳遞到同一晶片的STAP介面來實現選擇和停放要求(參見圖9中的示例)。
當STAP被選中時,PTAP的TMS訊號未經修改或寄存直接傳遞到STAP的TMS_Sn。當STAP未被選中時,TMS_Sn應驅動為邏輯0,以使關聯的下一個晶片的TAP FSM保持在停放的Run-Test-Idle (RTI)狀態,或者如果希望關聯的下一個晶片的TAP FSM的停放狀態為Test-Logic-Reset (TLR),則驅動為邏輯1。注意,選擇(取消停放)一個STAP需要遵循以下協議序列:取消停放要求直接從UpdateDR狀態退出到RTI狀態。
STAP相對於彼此的物理位置可能會導致較大的物理分離,以至於與各個TDI_Sn和TDO_Sn連線相關的實際端子可能透過長線路徑連線。由於這些可能對移位資料時序產生影響,正時序調整暫存器不應僅限於從連線晶片返回的次級TDI_Sn埠,而應存在於次級序列測試訪問埠之間的主掃描路徑中。圖9展示了一種優選配置,其中時序調整暫存器無論次級序列測試訪問埠是否被選中,都保持在活動掃描路徑中。
STAP應從晶片內的IEEE Std 1838 PTAP控制器和暫存器架構中進行選擇和配置,並且PTAP控制器應保持在活動序列掃描路徑中,要求掃描路徑到STAP TDO訊號(TDO_S1_int)的源必須放置在PTAP暫存器架構的暫存器架構之後(參見圖11中為TDI_Sk_int提供源的mux的輸出)。
如果使用圖10中的Select3DCR指令訪問3DCR,則難以保持IEEE 1149.1的合規性。(譯註:沒看懂?)例如,BYPASS指令資料路徑將包括旁路暫存器和STAP寄存,即使在未選擇任何STAP時也是如此。因此,在電源上電或TRSTN引腳置位時,啟用了一條短路徑。這條短路徑簡單地繞過了STAP路徑。這條快捷路徑在使用者決定啟用STAP路徑之前一直啟用。因此,其他指令(例如,除了BYPASS之外的指令)也將啟用這條短路徑。實際上,在使用者啟用STAP之前,堆疊將實際上類似於符合IEEE 1149.1的晶片。一旦並且只要啟用了STAP,就不再使用短路徑,並且STAP寄存將新增到序列資料路徑中。圖10顯示了透過OR門解 碼Select_Sn訊號,在未選擇任何STAP時選擇堆疊旁路路徑。(譯註:圖10和圖11的區別在於,用來實現規則k的2選1MUX的選擇訊號從哪裡來。所以應該從哪裡來?)
還應注意的是,一些晶片可能被定位為堆疊的最後一個或終止晶片,因此不需要次級介面——出於這個原因,STAP的支援被指定為可選的。要求是次級介面可能支援0到n個STAP。
5.5 Registers
5.5.1 Secondary test access port configuration register (3DCR)
5.5.1.1 Specifications
3DCR是三個訊號的來源:
— 3DCR Config-Hold signal(強制的),該訊號復位為邏輯0,使3DCR輸出的訊號在PTAP控制器的狀態機為Test-Logic-Reset時復位;
— Select_Sn訊號,該訊號復位為邏輯0,選擇並啟用某個STAP_Sn;
— RTI_or_TLR_Sn停放狀態定義訊號,該訊號復位為邏輯1狀態(對應於TLR狀態),定義TMS_Sn訊號的停放狀態。
所有這些訊號都由3DCR中更新位的獨熱編碼(邏輯1等於斷言)生成,這些更新位與3DCR中的移位位一一對應,並具有從LSB到MSB的指定順序。這些訊號的置0/1的操作在PTAP控制器的Update DR狀態中在TCK的下降沿發生。
規則如下:
a) 任何包含一個或多個STAP的晶片應有一個3DCR。
b) 3DCR應按照IEEE Std 1149.1-2013第9條中描述的捕獲更新測試資料暫存器(TDR)進行設計。
c) 每個3DCR移位暫存器元素應有一個關聯的update元素。
d) 3DCR暫存器輸出(由更新元素驅動)應在更新DR狀態中在TCK的下降沿改變。
e) 3DCR應從晶片內的IEEE 1838 PTAP控制器和暫存器架構中進行選擇和配置。
f) 3DCR應為每個STAP有一個選擇位(即Select_Sn)。
g) 3DCR應為每個STAP有一個TMS保持位(即RTI_or_TLR_Sn)。
h) 在電源上電覆位(POR)後,或在TRSTN被斷言時,或在永續性禁用時進入TLR狀態後,所有STAP應被取消選擇,RTI_or_TLR_Sn訊號配置為驅動邏輯1。
i) 在電源上電覆位(POR)後,或在TRSTN被斷言時,或在永續性禁用時進入TLR狀態後,所有STAP應被取消選擇,Select_Sn訊號配置為驅動邏輯0。
j) 3DCR選擇配置位(Select_Sn)應以邏輯1值斷言。
k) 設定STAP_Sn的RTI_or_TLR_Sn位為邏輯0應在STAP_Sn未被選中時驅動STAP_Sn端子TMS_Sn為邏輯0。
l) 設定STAP_Sn的RTI_or_TLR_Sn位為邏輯1應在STAP_Sn未被選中時驅動STAP_Sn端子TMS_Sn為邏輯1。
m) 3DCR應為每個STAP有一個Config-Hold_Sn。
n) 每個3DCR Config-Hold訊號應在電源上電時處於未斷言狀態(即“不保持”配置)。
o) 每個3DCR Config-Hold訊號應在TRSTN為1時復位為0。
p) 當3DCR Config-Hold訊號為0,其關聯的STAP邏輯和3DCR暫存器位應在PTAP控制器進入Test-Logic-Reset狀態時復位。
q) 當3DCR Config-Hold訊號為1時,其關聯的STAP邏輯和3DCR暫存器位在PTAP控制器進入Test-Logic-Reset狀態時不應改變狀態。(譯註:因此reset和ConfigHold_3DCR是OR的關係,當reset和ConfigHold_3DCR同時為0時才對暫存器進行復位)
r) 當3DCR不是掃描路徑中選定的活動資料暫存器時,3DCR應保持其狀態。
建議如下:
s) 每個3DCR位的捕獲掃描暫存器應在捕獲DR狀態中捕獲關聯更新元素的更新暫存器的值。
許可權如下:
t) 3DCR配置元素可以與其他任何暫存器串聯。
u) 一個晶片可以有多個3DCR段,每個段有一個單獨的配置保持位。
5.5.1.2 Description
STAP 3D配置暫存器(3DCR)是一個由放置在PTAP控制器指令暫存器或序列可訪問元素中的指令編碼選擇的暫存器。如果晶片上沒有STAP,則不需要3DCR——因此,它是一個依賴選項,僅在晶片至少有一個STAP時才強制要求。最後一個晶片不需要STAP,因此可能沒有3DCR。
STAP 3DCR提供了一種選擇和配置方法,將與主介面關聯的TAP訊號傳播到次級介面,供堆疊中的下一個晶片使用。此功能代表了資料和控制在上下以及與下一個晶片之間傳遞的過程。3DCR可以實現為多個暫存器段,例如在晶片有多個塔的情況下。
在本標準的其餘部分中,3DCR用於指代配置和保持位集體,即使它們被實現為多個暫存器段。
3DCR應具有復位持久配置(Config-Hold),允許PTAP控制器透過Test-Logic-Reset(TLR)狀態而不影響測試功能(譯註:當ConfigHold_3DCR訊號為1時,即使Reset訊號為0,3DCR相關的暫存器也不會被複位)。TRSTN應復位3DCR。定義了特定規則以啟用Config-Hold功能。
圖12展示了一個符合標準的3DCR示例。STAP配置暫存器的命令位在配置暫存器中從永續性命令位ConfigHold_3DCR開始組織,位於掃描輸出端(LSB)。
選擇訊號:選擇位Select_Sn和保持狀態位RTI_or_TLR_Sn可以放置在暫存器的其他任何位置。
3DCR是一個資料持久暫存器,當3DCR不是掃描路徑中選定的活動資料暫存器時,它將保持其狀態。當ConfigHold_3DCR位為1時,3DCR也變為“復位持久”,即持有Select_Sn、RTI_or_TLR_Sn和ConfigHold_3DCR值的更新位在PTAP控制器FSM透過TLR狀態時不會恢復到復位狀態。TRSTN為1將修改所有3DCR暫存器值,將它們進行復位。
5.5.2 Die wrapper register (DWR)
本標準中需要DWR(Data Write Register,資料寫入暫存器),並使邏輯在INTEST和EXTEST模式下對晶片端子的可控性和可觀測性成為可能。DWR有多種模式,也可能有多種配置。DWR的規則、建議和許可權在第6條中描述。DWR的模式控制和配置使用IEEE Std 1838指令和/或PDL、ICL等語言的描述以及支援硬體如SIB來完成。
5.5.2.1 Specifications
規則如下:
a) 每個晶片應有一個DWR。
注意——DWR在第6條中進一步定義。
5.5.2.2 Description
DWR可以使用不同的結構構建。例如,它可能僅在晶片邊界使用IEEE 1838 DWR單元。它可能重用IEEE 1500 WBR的一個或多個段作為DWR的一部分。它可能重用IEEE 1149.1 BSR作為DWR的一部分。它可能在路徑中包含SIB以實現本地配置能力。
5.5.3 Flexible parallel port configuration register
IEEE 1149.1二維架構的另一個擴充套件是新增了靈活並行埠及其相關的靈活並行埠配置元素,這些元素用於選擇和配置靈活並行埠。這將在第7條中進一步討論和定義。
5.5.4 ECID register
5.5.4.1 Specifications
規則如下:
a) 如果按照建議5.2.1實現StackID,則還應實現ECID暫存器及其關聯的ECIDCODE指令,如IEEE Std 1149.1-2013第13條和第8.15條所述。
b) 如果包含晶片位置暫存器欄位[參見5.5.4.1建議d)],則ECID中應有一個稱為StackID的欄位。
c) StackID值不應全為1。
建議如下:
d) 應有一個稱為StackID的欄位,用於描述晶片在堆疊中的位置,透過ECID暫存器及其關聯的ECIDCODE指令訪問,如IEEE Std 1149.1-2013第13條和第8.15條所述。
注意1——StackID應程式設計為唯一值,以幫助識別堆疊中的每個晶片。
注意2——應充分考慮此欄位的寬度,以容納堆疊中晶片任何潛在位置的唯一值。
5.5.4.2 描述
StackID編號系統由使用者定義。晶片StackID值與實際晶片之間的關聯應由堆疊生產者和/或使用者維護。晶片提供者應使他們的StackID欄位足夠寬,以在堆疊中的晶片數量在單個晶片製造時未知的情況下,處理堆疊中晶片集合中的唯一值。