本文轉(zhuǎn)載自:Xilinx技術(shù)社區(qū)微信公眾號(hào)
BSCANE2 模塊是 FPGA 中的一個(gè)特殊硬核模塊,是聯(lián)通外部 JTAG 管腳和 FPGA 內(nèi)部用戶(hù)邏輯的一個(gè)接口。BSCANE2 的定義和端口描述,可以在對(duì)應(yīng)器件的 Libraries Guide中找到。
比如7系列的定義可以參考 UG768,第4章。
其基本功能介紹,請(qǐng)參考 UG470, 第10章。
在 FPGA 中,JTAG 管腳除了負(fù)責(zé)原始的芯片測(cè)試功能 (IEEE1149.1),還主要用于下載和調(diào)試,比如ILA就是通過(guò) JTAG 接口捕捉內(nèi)部邏輯信號(hào),送回 ISE 或 Vivado,并在界面上直接顯示和控制。BSCANE2 其實(shí)就是實(shí)現(xiàn)這一內(nèi)外溝通的關(guān)鍵核心模塊,這部分實(shí)現(xiàn)對(duì)于用戶(hù)來(lái)說(shuō)是透明的。
那么如何利用BSCANE2 模塊,構(gòu)建用戶(hù)自己的專(zhuān)用內(nèi)部掃描鏈/功能鏈呢?
本文提供一個(gè)基于7系列的 ISE 版本的參考設(shè)計(jì)。通過(guò) FPGA 的 JTAG 管腳,用戶(hù)可以直接控制內(nèi)部的邏輯實(shí)現(xiàn)自定義的功能。
UltraScale/UltraScale+ 的 BSCANE2 模塊用法和7系列基本相同。
設(shè)計(jì)說(shuō)明:
這是一個(gè)關(guān)于如何使用 BSCANE2 模塊的簡(jiǎn)單實(shí)例。基于Xilinx的開(kāi)發(fā)板 KC705,該設(shè)計(jì)例化了一個(gè) BSCANE2 模塊,由 USER1 命令控制。通過(guò) JTAG 接口發(fā)送標(biāo)準(zhǔn)和自定義的指令,可以實(shí)現(xiàn):
1. 從運(yùn)行的設(shè)計(jì)中讀取32位的用戶(hù)ID;
2. 從 JTAG 接口輸入控制 LED燈顯示的字符串;
3. 從 JTAG 口向 BRAM 寫(xiě)入32位數(shù)據(jù);
4. 從 BRAM 讀出32位數(shù)據(jù);
5. 向 BRAM 中一次寫(xiě)入1024 bits(可用于 EDK 設(shè)計(jì)中 bootloader 的修改,升級(jí)等)。
指令定義:
該設(shè)計(jì)的 shift register 定位為33位。其中第32位(從0開(kāi)始計(jì)數(shù))用于區(qū)分JTAG發(fā)送的是指令還是數(shù)據(jù)。Bit[32] 為1,則送入的為指令;Bit[32]為0,則送入的為指令對(duì)應(yīng)的數(shù)據(jù)。其他的 JTAG 寄存器均為 32 位。
33'h100000241 用戶(hù)ID讀取;
33'h100000242 LED 燈顯示控制;
33'h100000243?向 BRAM 寫(xiě)入32位數(shù)據(jù);
33'h100000244?從 BRAM 讀取32位數(shù)據(jù);
33'h100000245 向 BRAM 寫(xiě)入1024位數(shù)據(jù)。
設(shè)計(jì)運(yùn)行實(shí)現(xiàn):
SVF文件可以以可讀形式清楚的描述、記錄 JTAG 鏈的動(dòng)作,并可以在 ISE/iMPACT或Vivado/HW Manager 中直接執(zhí)行。本設(shè)計(jì)使用 SVF 來(lái)實(shí)現(xiàn)以下功能:
1. 發(fā)送 USER1指令‘02’,來(lái)選擇和使能用戶(hù)自定義的 JTAG 鏈;
2. 發(fā)送指令‘100000241’ 讀取用戶(hù)定義ID;
3. 發(fā)送指令‘100000242’獲取一個(gè)二進(jìn)制碼,并送入7位 LED 燈顯示;
4. 使用指令‘100000243’向BRAM中每次寫(xiě)入一個(gè)32位數(shù)據(jù);然后使用指令‘100000244’將寫(xiě)入的數(shù)據(jù)逐個(gè)讀出來(lái)。
5. 使用指令‘100000245’向 BRAM 寫(xiě)入1024位數(shù)據(jù);如果需要寫(xiě)入的數(shù)據(jù)大于1024,則多次執(zhí)行該指令即可。
審核編輯:何安
-
模塊
+關(guān)注
關(guān)注
7文章
2716瀏覽量
47523
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論