使用Jtag Master調(diào)試FPGA程序時(shí)用到tcl語(yǔ)言,通過(guò)編寫(xiě)tcl腳本,可以實(shí)現(xiàn)對(duì)FPGA的讀寫(xiě),為調(diào)試FPGA程序帶來(lái)極大的便利,下面對(duì)FPGA調(diào)試過(guò)程中常用的tcl語(yǔ)法進(jìn)行介紹,并通過(guò)tcl讀FIFO的例子,說(shuō)明tcl在實(shí)際工程中的應(yīng)用。
TCL語(yǔ)法
目錄
D盤(pán)下tcl目錄下文件test.tcl,在TCL中這樣表示:
D:/tcl/test.tcl
cd D:/tcl/test.tcl ;#切換目錄
pwd ;#顯示當(dāng)前路徑
置換
set x 10 ;# 10
set y x+100 ;# x+100
set y $x+100 ;# 10+100
set y [expr $x+100] ;#110
數(shù)據(jù)寫(xiě)入文件
set f [open new.txt w+] ;# 讀寫(xiě)方式打開(kāi)文件,如文件存在則清空文件內(nèi)容,否則創(chuàng)建新的空文件
set a 10
set b 100
puts $f "$a,$b" ;#將a、b寫(xiě)入文件
close $f ;#關(guān)閉文件
從文件中讀取數(shù)據(jù)
proc read_file { } {
set f [open ./test.txt r] ;#打開(kāi)文件
while { [gets $f line] >= 0 } { ;#獲取文件每行數(shù)據(jù)
puts $line ;#將數(shù)據(jù)輸出
}
}
獲取文件中的內(nèi)容
proc read_txt {} {
set f [open ./test.txt r]
gets $f line
puts $line
set num [split $line \t] ;#分割數(shù)據(jù)
puts [lindex $num 0] ;#輸出分割后數(shù)據(jù)
puts [lindex $num 1]
}
TCL語(yǔ)句讀FIFO
使用Verilog代碼編寫(xiě)代碼將數(shù)據(jù)寫(xiě)入FIFO,當(dāng)寫(xiě)入一定量數(shù)據(jù)后,使用tcl腳本通過(guò)JTAG Master讀取FIFO中的數(shù)據(jù)并存儲(chǔ)到txt文件中,觀察FIFO中數(shù)據(jù)是否正確,tcl腳本中讀FIFO代碼如下。
proc read_fifo { file } {
set num [jtag_read 0x000000dd] ;#讀取FIFO中數(shù)據(jù)個(gè)數(shù)
set f [open $file w+]
for {set i 0} {$i jtag_write 0x000000aa 1 ;#將FIFO讀使能置1
jtag_write 0x000000aa 0 ;#將FIFO讀使能置0,Verilog中使用該信號(hào)上升沿
set result [jtag_read 0x000000bb] ;#讀取FIFO輸出數(shù)據(jù)
set data "$i\t$result" ;#data為編號(hào)與輸出數(shù)據(jù)
puts $f $data ;#保存數(shù)據(jù)到文件中
}
close $f
}
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1663文章
22491瀏覽量
638850 -
調(diào)試
+關(guān)注
關(guān)注
7文章
653瀏覽量
35862 -
TCL
+關(guān)注
關(guān)注
11文章
1815瀏覽量
91776
發(fā)布評(píng)論請(qǐng)先 登錄
變頻器調(diào)試時(shí)出現(xiàn)的問(wèn)題分析及解決方法
FPGA時(shí)序收斂的痛點(diǎn)與解決之道——從一次高速接口調(diào)試談起
基于凌羽派的OpenHarmony北向應(yīng)用開(kāi)發(fā):ArkTS語(yǔ)法-數(shù)據(jù)類(lèi)型和變量聲明
如何使用FPGA實(shí)現(xiàn)SRIO通信協(xié)議
FPGA板下載運(yùn)行調(diào)試流程
FPGA板下載調(diào)試流程
在Windows10上運(yùn)行vivado使用tcl文件創(chuàng)建E203項(xiàng)目路徑錯(cuò)誤的問(wèn)題
語(yǔ)法糾錯(cuò)和testbench的自動(dòng)生成
使用蜂鳥(niǎo)調(diào)試器,無(wú)法用cjtag協(xié)議調(diào)試CM32M433R芯片怎么解決?
Modus工具箱調(diào)試錯(cuò)誤怎么解決?
FPGA調(diào)試方式之VIO/ILA的使用
FPGA遠(yuǎn)程燒寫(xiě)bit文件和調(diào)試ILA指南
FPGA調(diào)試中常用的TCL語(yǔ)法簡(jiǎn)介
評(píng)論