RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

使用Jtag Master來調(diào)試FPGA程序

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀

FPGA進(jìn)行上板調(diào)試時,使用最多的是SignalTap,但SignalTap主要用來抓取信號時序,當(dāng)需要發(fā)送信號到FPGA時,Jtag Master可以發(fā)揮很好的作用,可以通過Jtag Master對FPGA進(jìn)行讀寫測試,使用tcl腳本控制Jtag Master可以完成復(fù)雜的測試功能。使用jtag master進(jìn)行調(diào)試時分為如下步驟:

  • 將JTAG to Avalon Master Bridge Intel FPGA IP加入代碼
  • 根據(jù)Avalon-MM總線時序編寫測試代碼
  • 編寫tcl腳本
  • 在System Console上運行tcl腳本進(jìn)行調(diào)試

Jtag Master
在邏輯代碼中加入JTAG to Avalon Master Bridge Intel FPGA IP ,IP路徑如下。

poYBAGIMpnqAWGJ1AAB7iHPHINg582.png

Avalon-MM總線時序
jtag_master模塊例化到fpga代碼中,使用Verilog根據(jù)Avalon-MM時序圖編寫讀寫代碼。master_read有效時將數(shù)據(jù)發(fā)送到master_readdata。master_write有效時,將master_writedata數(shù)據(jù)寫入FPGA。

pYYBAGIMpnyABBZZAAFoe6g9zPk897.png

jtag_master u0 (
.clk_clk (_connected_to_clk_clk_),
.clk_reset_reset (_connected_to_clk_reset_reset_),
.master_reset_reset (_connected_to_master_reset_reset_),
.master_address (_connected_to_master_address_),
.master_readdata (_connected_to_master_readdata_),
.master_read (_connected_to_master_read_),
.master_write (_connected_to_master_write_),
.master_writedata (_connected_to_master_writedata_),
.master_waitrequest (_connected_to_master_waitrequest_),
.master_readdatavalid (_connected_to_master_readdatavalid_),
.master_byteenable (_connected_to_master_byteenable_)
);

編寫TCL腳本

global claimed_path_jtag
#啟動jtag master服務(wù)
proc start_jtag {} {
set service_type "master"
set jtag_path [lindex [get_service_paths $service_type] 0]
puts $jtag_path
set ::claimed_path_jtag [claim_service $service_type $jtag_path mylib]
}
# 下載函數(shù)
proc config {sof_file} {
set device_index 0
set device [lindex [get_service_paths device] $device_index]
puts "download..."
device_download_sof $device $sof_file
}
#關(guān)閉jtag master服務(wù)
proc end_jtag {} {
close_service master $::claimed_path_jtag
}
#寫函數(shù)
proc jtag_write {addr data} {
master_write_32 $::claimed_path_jtag $addr $data
}
#讀函數(shù)
proc jtag_read {addr} {
set result [master_read_32 $::claimed_path_jtag $addr 1]
return $result
}
#測試讀寫
proc test { } {
#地址0中寫入1
jtag_write 0x0 0x1
#讀取地址0
jtag_read 0x0
}

上電測試
打開System Console

poYBAGIMpn2AdNliAABTA5WKcac796.png

運行如下指令
source jtag.tcl //tcl 腳本
config output_files/test.sof //下載文件
start_jtag //打開jatg master服務(wù)
test //測試讀寫函數(shù)
end_jtag //關(guān)閉jatg master服務(wù)

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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602986
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3785

    瀏覽量

    81004
收藏 人收藏

    評論

    相關(guān)推薦

    【AI技術(shù)支持】ESP32-S3 JTAG調(diào)試問題處理

    啟明云端/01你是否曾遇到過?在使用ESP32-S3模塊,ESP-IDF版本為idf5.0時,調(diào)試JTAG,嘗試很久也無法調(diào)通,這是為什么呢?啟明云端/02這是咋回事呢?這個過程需要安裝zadig
    的頭像 發(fā)表于 10-30 08:01 ?500次閱讀
    【AI技術(shù)支持】ESP32-S3 <b class='flag-5'>JTAG</b><b class='flag-5'>調(diào)試</b>問題處理

    【AI技術(shù)支持】ESP32C3 開發(fā)板在Linux環(huán)境下,進(jìn)行JTAG 調(diào)試演示

    啟明云端/01JTAG調(diào)試工具本教程主要演示ESP32C3開發(fā)板在linux環(huán)境下,通過vscode的ESP-IDF插件使用JTAG調(diào)試工具。ESP32C3不但內(nèi)置了USB-
    的頭像 發(fā)表于 10-17 08:01 ?1479次閱讀
    【AI技術(shù)支持】ESP32C3 開發(fā)板在Linux環(huán)境下,進(jìn)行<b class='flag-5'>JTAG</b> <b class='flag-5'>調(diào)試</b>演示

    C2000 MCU JTAG 連接調(diào)試

    電子發(fā)燒友網(wǎng)站提供《C2000 MCU JTAG 連接調(diào)試.pdf》資料免費下載
    發(fā)表于 09-09 09:30 ?0次下載
    C2000 MCU <b class='flag-5'>JTAG</b> 連接<b class='flag-5'>調(diào)試</b>

    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載

    GD32系列MCU支持SWD和JTAG(部分型號不支持)接口進(jìn)行下載調(diào)試,這些功能通過ARM CoreSight組件的標(biāo)準(zhǔn)配置和鏈狀連接的TAP控制器實現(xiàn)的。調(diào)試和跟蹤功能集成在AR
    的頭像 發(fā)表于 08-08 17:34 ?669次閱讀
    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/<b class='flag-5'>JTAG</b>在線下載

    如何在服務(wù)器上調(diào)試本地FPGA板卡

    的編程和調(diào)試 現(xiàn)在 Vivado 已遠(yuǎn)程運行,最后一步是對 FPGA 板卡進(jìn)行編程和調(diào)試。Vivado 的硬件服務(wù)器應(yīng)用程序必須按照上述說明在本地PC上運行。
    發(fā)表于 07-31 17:36

    如何使用JTAG調(diào)試ESP-12模塊?

    我想使用 JTAG 調(diào)試 ESP-12 模塊。我知道這個模塊使用Xtensa LX106內(nèi)核,并且這個內(nèi)核具有JTAG功能。那么,如果我正確配置了引腳,我可以使用
    發(fā)表于 07-19 10:57

    STM32F407調(diào)試接口報錯SWD/JTAG Communic怎么解決?

    我畫了一塊電路板,其中的調(diào)試接口接線如下: 但是在進(jìn)行程序下載的時候 Keil5 報錯:SWD/JTAG Communication Failure 我的 Keil5 調(diào)試配置如下
    發(fā)表于 07-03 06:41

    FPGAJTAG口很脆弱?以后要多加小心了

    最近我的FPGA罷工了,而且是部分罷工,FPGAJTAG口不能下載程序,這種事情不是第一次了,在我的項目中也出現(xiàn)過。而且出現(xiàn)的形式也極其相似,很離奇。前一天晚上用的還好好的,第二天就
    發(fā)表于 06-10 09:41

    RISCV soft JTAG調(diào)試_v1.2

    因為目前軟件的限制,RISCV的邏輯不能同時共用JTAG,所以如果想要同時去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag實現(xiàn)。soft
    的頭像 發(fā)表于 04-23 08:38 ?1056次閱讀

    FPGA與SRIO調(diào)試步驟

     FPGA(現(xiàn)場可編程門陣列)和DSP(數(shù)字信號處理器)之間通過SRIO接口進(jìn)行調(diào)試通常需要以下步驟。
    的頭像 發(fā)表于 04-19 11:48 ?1390次閱讀

    fpga軟件是什么意思

    FPGA軟件通常指的是用于編程、配置和管理FPGA(現(xiàn)場可編程門陣列)芯片的工具和應(yīng)用程序的集合。FPGA是一種可編程的集成電路,它允許用戶通過編程
    的頭像 發(fā)表于 03-15 14:28 ?1158次閱讀

    RISCV soft JTAG調(diào)試_v1.1

    因為目前軟件的限制,RISCV的邏輯不能同時共用JTAG,所以如果想要同時去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag實現(xiàn)。soft
    的頭像 發(fā)表于 02-23 16:16 ?653次閱讀
    RISCV soft <b class='flag-5'>JTAG</b><b class='flag-5'>調(diào)試</b>_v1.1

    如何使用linux下gdb調(diào)試python程序

    如何使用linux下gdb調(diào)試python程序? 在Linux下,可以使用GDB(GNU調(diào)試器)調(diào)試
    的頭像 發(fā)表于 01-31 10:41 ?2577次閱讀

    關(guān)于JTAG口,你了解多少?

    ,有好的靈感以及文章隨筆,歡迎投稿,投稿請標(biāo)明筆名以及相關(guān)文章,投稿接收郵箱:1033788863@qq.com。今天帶來的是“是誰動了我的JTAG口?”,話不多說,上貨。 在FPGA研發(fā)及學(xué)習(xí)
    發(fā)表于 01-19 21:19

    串行線調(diào)試JTAG有何區(qū)別?

    在基于ARM7的ADuC器件上,通過JTAG調(diào)試和下載到Flash。在AduCM360上,JTAG被串行線調(diào)試取代。 串行線調(diào)試
    發(fā)表于 01-15 07:35
    RM新时代网站-首页