0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何在設計中例化和使用多個BSCANE2模塊

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 作者: Ivy Guo ? 2022-11-30 10:30 ? 次閱讀

本文作者:AMD XILINX工程師 Ivy Guo。

本文對如何在一個工程里例化和使用多個BSCANE2模塊做一個簡單說明。

BSCANE2模塊是FPGA的一種特殊硬核模塊,用于聯(lián)通外部JTAG引腳和內(nèi)部邏輯,構建FPGA內(nèi)部的用戶掃描鏈。關于BSCANE2的用法, 有一個基于7系列器件的參考設計:
https://support.xilinx.com/s/article/1181110?language=zh_CN
在UltraScale/UltraScale+器件上, BSCANE2的用法類似。

UG570里面提到,UltraScale/UltraScale+的BSCANE2模塊多達4個,可以在設計中全部例化,并用JTAG_CHAIN屬性加以區(qū)分。之后,就可以用使用JTAG的指令USER1到USER4來對應操作了。

本文對如何在一個工程里例化和使用多個BSCANE2模塊做一個簡單說明。工程基于Xilinx的KCU105開發(fā)板,同時例化兩個BSCANE2模塊,并使用ILA去觀測兩個模塊的信號。由于ILA的實現(xiàn)同樣需要借助一個BSCANE2,由Vivado在綜合后自動插入設計,所以其實是使用了全部四個中的三個BSCANE2。

工程文件請點擊閱讀原文查看并下載。

這個設計簡單利用KCU105板上4盞User LED燈GPIO_LED_2/3/4/5來展示一個counter最低4位的結果。BSCANE2_inst2對應User Scan Chain 2, BSCANE3_inst3對應User Scan Chain3。通過JTAG指令發(fā)送USERx指令,可以觀測到對應的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模式,先關閉上個步驟正常/自動打開的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中,將其設為B (Both Transitions) 進行捕捉:

9333539a-6fdd-11ed-8abf-dac502259ad0.png

進入捕捉等候狀態(tài):

9353b770-6fdd-11ed-8abf-dac502259ad0.png

5. 從BSDL文件中,查詢到KU040對應的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. 對應查看ILA波形,可以看到第一條指令USER2執(zhí)行時,捕捉到的sel2:

937e3ce8-6fdd-11ed-8abf-dac502259ad0.png

需要注意的是,兩條chain對應的JTAG信號都會產(chǎn)生toggle動作,所以實際工程中,需要依靠不同的sel信號來區(qū)分并做對應的控制。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1625

    文章

    21620

    瀏覽量

    601239
  • 模塊
    +關注

    關注

    7

    文章

    2655

    瀏覽量

    47293
  • Xilinx
    +關注

    關注

    71

    文章

    2155

    瀏覽量

    120853

原文標題:開發(fā)者分享|如何在設計中例化和使用多個 BSCANE2 模塊

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CMU通道與普通GXB的差異比較

    :CMU通道使用時GXB配置本文主要比較了普通GXB和CMU GXB是的差異,大家在使用CMU通道時候必須按照圖2進行配置,后面我們再詳細討論如何在用戶邏輯
    發(fā)表于 12-03 16:04

    模塊

    能不能分享個Verilog模塊的教程?
    發(fā)表于 01-02 00:43

    說FPGA連載62:電子點菜單之FIFO說明

    模塊,使用了3個FIFO,分別用于DDR2數(shù)據(jù)寫入緩存和DDR2數(shù)據(jù)讀出緩存。如圖10.6所示,實際上,我們只需要
    發(fā)表于 12-26 17:22

    模塊錯誤

    SW[1]這樣子錯誤,請問下,不能這樣的嗎?在頂層模塊是input[4]sw;這樣定義的,然后在底層
    發(fā)表于 04-17 17:07

    在verilog調(diào)用VHDL模塊

    模塊化形式就可以了。下面舉個簡單的例子來說明如何在verilog模塊
    發(fā)表于 07-03 12:58

    在verilog調(diào)用VHDL模塊

    模塊化形式就可以了。下面舉個簡單的例子來說明如何在verilog模塊
    發(fā)表于 07-09 01:14

    何在RTC程序設置多個報警?

    你好如何在RTC程序設置多個報警?PSoC 4器件1.首次報警[日期和時間]2.第二報警[日期和時間]3.3報警[日期和時間]如果第一個鬧鐘被激活[日期和時間],然后打開LED 30
    發(fā)表于 09-18 13:13

    基于7系列的ISE版本的參考設計

      BSCANE2 模塊是 FPGA 的一個特殊硬核模塊,是聯(lián)通外部 JTAG 管腳和 FPGA 內(nèi)部用戶邏輯的一個接口。BSCANE2
    發(fā)表于 01-07 17:19

    何在UltraScale+設計中使用UltraRAM模塊

    了解如何在UltraScale +設計包含新的UltraRAM模塊。 該視頻演示了如何在UltraScale + FPGA和MPSoC中使用UltraRAM,包括新的Xilinx參
    的頭像 發(fā)表于 11-22 05:50 ?8030次閱讀

    BSCANE2模塊是FPGA的一個特殊硬核模塊

    界面上直接顯示和控制。BSCANE2 其實就是實現(xiàn)這一內(nèi)外溝通的關鍵核心模塊,這部分實現(xiàn)對于用戶來說是透明的。 那么如何利用BSCANE2 模塊,構建用戶自己的專用內(nèi)部掃描鏈/功能鏈呢
    的頭像 發(fā)表于 02-08 14:23 ?2950次閱讀

    開發(fā)者分享 | 如何在設計里并使用BSCANE2模塊 (一)

    界面上直接顯示和控制。BSCANE2 其實就是實現(xiàn)這一內(nèi)外溝通的關鍵核心模塊,這部分實現(xiàn)對于用戶來說是透明的。 那么如何利用BSCANE2 模塊,構建用戶自己的專用內(nèi)部掃描鏈/功能鏈呢
    發(fā)表于 03-01 09:41 ?12次下載
    開發(fā)者分享 | 如<b class='flag-5'>何在</b>設計里<b class='flag-5'>例</b><b class='flag-5'>化</b>并使用<b class='flag-5'>BSCANE2</b><b class='flag-5'>模塊</b> (一)

    Verilog快速掌握之模塊資源下載

    FPGA邏輯設計通常是一個大的模塊包含了一個或多個功能子模塊,verilog通過模塊調(diào)用或稱
    發(fā)表于 04-30 09:30 ?25次下載

    在SpinalHDL如何優(yōu)雅地端口?

    在編寫Verilog代碼時最痛苦的事情便是模塊時端口的連接,這時候的你我便成了連線工程師,本節(jié)就在SpinalHDL如何像軟件調(diào)用方法那樣優(yōu)雅地
    的頭像 發(fā)表于 06-16 17:19 ?1913次閱讀

    FPGA學習-Verilog說明

    Verilog 說明 1.什么是模塊?為什么要
    的頭像 發(fā)表于 12-12 09:50 ?3927次閱讀

    仿真時為什么頂層不

    示例,在頂層top_tb化了兩個module(h1和h2),化名分別是top_tb和u2
    的頭像 發(fā)表于 04-28 10:28 ?1279次閱讀
    仿真時為什么頂層不<b class='flag-5'>例</b><b class='flag-5'>化</b>