本文對如何在一個工程里例化和使用多個BSCANE2模塊做一個簡單說明。
BSCANE2模塊是FPGA的一種特殊硬核模塊,用于聯(lián)通外部JTAG引腳和內(nèi)部邏輯,構(gòu)建FPGA內(nèi)部的用戶掃描鏈。關(guān)于BSCANE2的用法, 有一個基于7系列器件的參考設(shè)計:
https://support.xilinx.com/s/article/1181110?language=zh_CN
在UltraScale/UltraScale+器件上, BSCANE2的用法類似。
UG570里面提到,UltraScale/UltraScale+的BSCANE2模塊多達4個,可以在設(shè)計中全部例化,并用JTAG_CHAIN屬性加以區(qū)分。之后,就可以用使用JTAG的指令USER1到USER4來對應(yīng)操作了。
本文對如何在一個工程里例化和使用多個BSCANE2模塊做一個簡單說明。工程基于Xilinx的KCU105開發(fā)板,同時例化兩個BSCANE2模塊,并使用ILA去觀測兩個模塊的信號。由于ILA的實現(xiàn)同樣需要借助一個BSCANE2,由Vivado在綜合后自動插入設(shè)計,所以其實是使用了全部四個中的三個BSCANE2。
工程文件請點擊閱讀原文查看并下載。
這個設(shè)計簡單利用KCU105板上4盞User LED燈GPIO_LED_2/3/4/5來展示一個counter最低4位的結(jié)果。BSCANE2_inst2對應(yīng)User Scan Chain 2, BSCANE3_inst3對應(yīng)User Scan Chain3。通過JTAG指令發(fā)送USERx指令,可以觀測到對應(yīng)的sel信號會置高有效。當選中User chain 2時,sel2有效,counter收到工作信號0101, counter隨時鐘信號遞增;當選中User Chain 3時,counter收到工作信號1010, counter值遞減操作。
調(diào)試步驟:
1. 打開Vivado,按照常規(guī)流程下載好bit和ltx文件
2. 由于調(diào)試需要進入JTAG模式,先關(guān)閉上個步驟正常/自動打開的target, 但此時FPGA已經(jīng)處于工作狀態(tài)(不要掉電),Tcl console輸入:close_hw_target
3. 以JTAG調(diào)試的方式重新打開鏈:
open_hw_target -jtag_mode 1
4. 運行:
refresh_hw_device [lindex [get_hw_devices xcku040_0] 0]
看到ILA的界面。我們主要是對比觀測可以起到控制作用的sel2和sel3,在Trigger中,將其設(shè)為B (Both Transitions) 進行捕捉:
進入捕捉等候狀態(tài):
5. 從BSDL文件中,查詢到KU040對應(yīng)的USER指令:
"USER2 (000011)," & -- Not available until after configuration
"USER3 (100010)," & -- Not available until after configuration
6. 選擇USER Chain 2和Chain 3的指令分別如下;依次輸入,可以看到LED燈增減方向會有變化。
scan_ir_hw_jtag 6 -tdi 03
scan_ir_hw_jtag 6 -tdi 22
7. 對應(yīng)查看ILA波形,可以看到第一條指令USER2執(zhí)行時,捕捉到的sel2:
需要注意的是,兩條chain對應(yīng)的JTAG信號都會產(chǎn)生toggle動作,所以實際工程中,需要依靠不同的sel信號來區(qū)分并做對應(yīng)的控制。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21925瀏覽量
612717 -
模塊
+關(guān)注
關(guān)注
7文章
2776瀏覽量
49176 -
Xilinx
+關(guān)注
關(guān)注
73文章
2179瀏覽量
124025
原文標題:開發(fā)者分享|如何在設(shè)計中例化和使用多個 BSCANE2 模塊
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
CMU通道例化與普通GXB例化的差異比較
例說FPGA連載62:電子點菜單之FIFO例化說明
如何在RTC程序中設(shè)置多個報警?
基于7系列的ISE版本的參考設(shè)計
如何在UltraScale+設(shè)計中使用UltraRAM模塊
BSCANE2模塊是FPGA中的一個特殊硬核模塊
開發(fā)者分享 | 如何在設(shè)計里例化并使用BSCANE2模塊 (一)

評論