0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA调试中常用的TCL语法简介

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-19 19:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

使用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
    +关注

    关注

    1664

    文章

    22503

    浏览量

    639273
  • 调试
    +关注

    关注

    7

    文章

    653

    浏览量

    35881
  • TCL
    TCL
    +关注

    关注

    11

    文章

    1815

    浏览量

    91809
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    变频器调试时出现的问题分析及解决方法

    变频器调试涉及电气、机械、控制等多个系统,出现问题时,建议遵循“先外围、后内部,先参数、后硬件”的原则,逐步排查。这份指南梳理了调试中常见的问题,希望能帮助你快速定位和解决。
    的头像 发表于 04-17 16:13 235次阅读

    FPGA时序收敛的痛点与解决之道——从一次高速接口调试谈起

    的高速DDR接口调试,让我深刻体会到,时序问题远不止“跑慢一点”那么简单,它涉及器件结构、时钟特性、约束策略和工具理解的方方面面。 一、问题的浮现:看似正确的设计为何时序违例? 某项目需要实现一个基于Xilinx FPGA的高速数据采集
    的头像 发表于 03-11 11:43 326次阅读

    基于凌羽派的OpenHarmony北向应用开发:ArkTS语法-数据类型和变量声明

    一、简介ArkTS是一种设计用于构建高性能应用的编程语言。它在继承TypeScript语法的基础上进行了优化,以提供更高的性能和开发效率。环境配置如下所示:API:18SDK:OpenHarmony-v5.1.0-Release
    的头像 发表于 02-26 13:55 398次阅读
    基于凌羽派的OpenHarmony北向应用开发:ArkTS<b class='flag-5'>语法</b>-数据类型和变量声明

    TCL牵手索尼,承接索尼家庭娱乐业务#索尼#Sony#TCL#电视

    TCL
    jf_15747056
    发布于 :2026年01月22日 10:51:27

    vivado中常用时序约束指令介绍

    在vivado中,我们常用的时序约束指令主要包括如下几个方面。
    的头像 发表于 01-20 16:15 636次阅读

    如何使用FPGA实现SRIO通信协议

    泛应用。文章重点解释了回环测试的基本概念,这种方法可验证FPGA中的SRIO接口功能的正确性,并提供了系统级测试验证的相关知识。同时,本例程还涵盖了Verilog语法FPGA架构、SRIO协议细节、
    的头像 发表于 11-12 14:38 6078次阅读
    如何使用<b class='flag-5'>FPGA</b>实现SRIO通信协议

    FPGA板下载运行调试流程

    今天主要介绍一下整个FPGA板下载运行调试流程。 1、首先,参考网址https://doc.nucleisys.com/hbirdv2/soc_peripherals/ips.html#gpio 第
    发表于 10-29 06:57

    FPGA板下载调试流程

    今天主要介绍一下整个FPGA板下载运行调试流程。 1、首先,参考网址https://doc.nucleisys.com/hbirdv2/soc_peripherals/ips.html#gpio 第
    发表于 10-29 06:37

    在Windows10上运行vivado使用tcl文件创建E203项目路径错误的问题

    先按照官方给的开源项目,e203_hbirdv2-masterfpgamcu200t目录下的Makefile内容手动创建vivado工程。 在调用.tcl文件的过程中,每次进行到
    发表于 10-28 07:19

    语法纠错和testbench的自动生成

    在编写Verilog代码时,我一般都是先在编辑器上写完,因为编辑器vscode或者notepad++可以提供语法高亮和自动补全等功能,然后用仿真器跑仿真,但是在编写过程中不可避免的会有一些语法的错误
    发表于 10-27 07:07

    使用蜂鸟调试器,无法用cjtag协议调试CM32M433R芯片怎么解决?

    not satisfied please check constraint or underclocking.看似是时序问题导致信号错误。 个人认为这种时钟不满足应该只在调试fpga上的软核SoC可能出现,不应该出现在
    发表于 10-20 07:31

    Modus工具箱调试错误怎么解决?

    我下载了 Modus Toolbox 3.1.0 并成功添加了 CYBT0243053 的模板应用程序。 但我在调试模板代码时遇到了错误。 我正在使用 USB 串口线进行调试。 我该如何进行调试
    发表于 07-01 06:53

    FPGA与高速ADC接口简介

    本文介绍FPGA与高速ADC接口方式和标准以及JESD204与FPGA高速串行接口。
    的头像 发表于 06-12 14:18 3412次阅读
    <b class='flag-5'>FPGA</b>与高速ADC接口<b class='flag-5'>简介</b>

    FPGA调试方式之VIO/ILA的使用

    在Vivado中,VIO(Virtual Input/Output)是一种用于调试和测试FPGA设计的IP核,它允许设计者通过JTAG接口实时读取和写入FPGA内部的寄存器,从而检查设计的运行状态并修改其行为。VIO IP核提供
    的头像 发表于 06-09 09:32 4369次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>调试</b>方式之VIO/ILA的使用

    FPGA远程烧写bit文件和调试ILA指南

    FPGA 开发过程中,烧写bit文件和使用ILA进行调试是再常见不过的操作。但如果 FPGA 板卡被放在机房,或者通过PCIe插在服务器上,那么每次调试时我们都不得不带着笔记本电脑
    的头像 发表于 06-05 16:41 2788次阅读
    <b class='flag-5'>FPGA</b>远程烧写bit文件和<b class='flag-5'>调试</b>ILA指南