使用Jtag Master調試FPGA程序時用到tcl語言,通過編寫tcl腳本,可以實現對FPGA的讀寫,為調試FPGA程序帶來極大的便利,下面對FPGA調試過程中常用的tcl語法進行介紹,并通過tcl讀FIFO的例子,說明tcl在實際工程中的應用。
TCL語法
目錄
D盤下tcl目錄下文件test.tcl,在TCL中這樣表示:
D:/tcl/test.tcl
cd D:/tcl/test.tcl ;#切換目錄
pwd ;#顯示當前路徑
置換
set x 10 ;# 10
set y x+100 ;# x+100
set y $x+100 ;# 10+100
set y [expr $x+100] ;#110
數據寫入文件
set f [open new.txt w+] ;# 讀寫方式打開文件,如文件存在則清空文件內容,否則創建新的空文件
set a 10
set b 100
puts $f "$a,$b" ;#將a、b寫入文件
close $f ;#關閉文件
從文件中讀取數據
proc read_file { } {
set f [open ./test.txt r] ;#打開文件
while { [gets $f line] >= 0 } { ;#獲取文件每行數據
puts $line ;#將數據輸出
}
}
獲取文件中的內容
proc read_txt {} {
set f [open ./test.txt r]
gets $f line
puts $line
set num [split $line \t] ;#分割數據
puts [lindex $num 0] ;#輸出分割后數據
puts [lindex $num 1]
}
TCL語句讀FIFO
使用Verilog代碼編寫代碼將數據寫入FIFO,當寫入一定量數據后,使用tcl腳本通過JTAG Master讀取FIFO中的數據并存儲到txt文件中,觀察FIFO中數據是否正確,tcl腳本中讀FIFO代碼如下。
proc read_fifo { file } {
set num [jtag_read 0x000000dd] ;#讀取FIFO中數據個數
set f [open $file w+]
for {set i 0} {$i jtag_write 0x000000aa 1 ;#將FIFO讀使能置1
jtag_write 0x000000aa 0 ;#將FIFO讀使能置0,Verilog中使用該信號上升沿
set result [jtag_read 0x000000bb] ;#讀取FIFO輸出數據
set data "$i\t$result" ;#data為編號與輸出數據
puts $f $data ;#保存數據到文件中
}
close $f
}
審核編輯:湯梓紅
-
FPGA
+關注
關注
1660文章
22408瀏覽量
636241 -
調試
+關注
關注
7文章
646瀏覽量
35652 -
TCL
+關注
關注
11文章
1807瀏覽量
91509
發布評論請先 登錄
基于凌羽派的OpenHarmony北向應用開發:ArkTS語法-數據類型和變量聲明
如何使用FPGA實現SRIO通信協議
FPGA板下載運行調試流程
FPGA板下載調試流程
在Windows10上運行vivado使用tcl文件創建E203項目路徑錯誤的問題
語法糾錯和testbench的自動生成
Modus工具箱調試錯誤怎么解決?
FPGA調試方式之VIO/ILA的使用
FPGA遠程燒寫bit文件和調試ILA指南
電子電路設計中常用的接地方式詳解
FPGA是什么?應用領域、差分晶振作用及常用頻率全面解析
前端調試實踐
FPGA調試中常用的TCL語法簡介
評論