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

    关注

    1624

    文章

    21597

    浏览量

    601013
  • 调试
    +关注

    关注

    7

    文章

    571

    浏览量

    33853
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1710

    浏览量

    88394
收藏 人收藏

    评论

    相关推荐

    TestStand表达式中常用语法规则和运算符使用

    TestStand也有自己的语言嘛?在回答这个问题之前大家可以想一下在使用TestStand时有一个和语言密切相关的属性。没错那就是表达式(Expressions),在这篇文章中,小编将以Q&A的方式来带着大家来理解并熟悉TestStand表达式中较为常用的一些语法规则以
    的头像 发表于 08-15 18:10 910次阅读
    TestStand表达式<b class='flag-5'>中常用</b>的<b class='flag-5'>语法</b>规则和运算符使用

    华为设备中常用的RIP命令及其应用

    RIP(Routing Information Protocol,路由信息协议)是一种应用广泛的距离矢量路由协议,尤其适用于中小型网络。本文将详细介绍在华为设备中常用的RIP命令及其应用,以帮助网络管理员和工程师更好地理解和配置RIP协议。
    的头像 发表于 08-12 18:10 499次阅读

    如何在服务器上调试本地FPGA板卡

    ?》。 简介 Vivado 可以在功能更强大的服务器上远程运行,同时可以在本地PC上连接的 FPGA 板卡上进行开发调试。在此配置中,服务器和工作站必须安装相同版本的 Vivado
    发表于 07-31 17:36

    嵌入式系统中常用的五种微处理器类型

    本文介绍了嵌入式系统中常用的五种微处理器类型:微处理器单元(MPU)、微控制器(MCU)、数字信号处理器(DSP)、现场可编程逻辑门阵列(FPGA)和单片机(SBC)。文章详细阐述了每种处理器的功能、优点、缺点以及选择建议,并列出了一些精选的微处理器产品,供读者参考。
    的头像 发表于 07-25 09:29 1434次阅读

    机器视觉中常用的光源类型及优点?

    中常用的光源类型及其优点。 一、LED光源 优点 (1)高亮度:LED光源具有高亮度,能够提供足够的光线,使图像更加清晰。 (2)低能耗:LED光源的能耗较低,能够降低整个系统的运行成本。 (3)长寿命:LED光源的使用寿命较长,一
    的头像 发表于 07-04 10:28 459次阅读

    FPGA学习笔记---基本语法

    Verilog语法是指硬件能够实现的语法。它的子集很小。常用的RTL语法结构如下: 1、模块声明:module ... end module 2、端口声明:input, output,
    发表于 06-23 14:58

    FPGA与SRIO调试步骤

     FPGA(现场可编程门阵列)和DSP(数字信号处理器)之间通过SRIO接口进行调试通常需要以下步骤。
    的头像 发表于 04-19 11:48 1245次阅读

    分享几个嵌入式中常用的GUI

    交互,完成各种操作,可提高工作效率以及用户体验。接下来看一下我们开发中常用的GUI框架有哪些吧~二、开源轻量级显示框架LVGLLVGL(LightandVersat
    的头像 发表于 04-06 08:09 1300次阅读
    分享几个嵌入式<b class='flag-5'>中常用</b>的GUI

    gis中常用的空间分析方法

    GIS中常用的空间分析方法 GIS(地理信息系统)是一种用于收集、存储、处理、分析和展示地理数据的技术。空间分析是GIS的核心部分,它包括一系列方法和技术,用来研究地理空间数据之间的关系和模式。本文
    的头像 发表于 02-25 13:44 4741次阅读

    浅析FPGA调试-内嵌逻辑分析仪(SignalTap)原理及实例

    对于FPGA调试,主要以Intel FPGA为例,在win10 Quartus ii 17.0环境下进行仿真和调试,开发板类型EP4CE15F17。
    的头像 发表于 01-12 09:34 2224次阅读
    浅析<b class='flag-5'>FPGA</b>的<b class='flag-5'>调试</b>-内嵌逻辑分析仪(SignalTap)原理及实例

    电子电路中常用的元器件

    电容器、三极管和二极管是电子电路中常用的元器件,它们可以搭配使用以实现各种功能。下面将详细介绍它们的搭配使用方法和使用规范。 一、电容器 电容器是一种能够存储电荷的被动元件,主要用于储存
    的头像 发表于 12-29 14:47 736次阅读

    FPGA硬件电路的调试必备原则和技巧

    调试FPGA电路时要遵循必须的原则和技巧,才能降低调试时间,防止误操作损坏电路。通常情况下,参考以下步骤执行 FPGA硬件系统的调试。 1
    的头像 发表于 12-22 16:40 698次阅读
    <b class='flag-5'>FPGA</b>硬件电路的<b class='flag-5'>调试</b>必备原则和技巧

    如何用内部逻辑分析仪调试FPGA

    1 推动FPGA调试技术改变的原因 进行硬件设计的功能调试时,FPGA的再编程能力是关键的优点。CPLD和FPGA早期使用时,如果发现设计不
    的头像 发表于 12-20 13:35 490次阅读
    如何用内部逻辑分析仪<b class='flag-5'>调试</b><b class='flag-5'>FPGA</b>?

    select语句的基本语法

    SELECT语句是SQL(Structured Query Language,结构化查询语言)中的一种查询语句,用于从数据库中检索数据。它是数据库操作中最常用和基本的语句之一。在本文中,我将为您详尽
    的头像 发表于 11-17 16:23 1770次阅读

    使用Vivado高层次综合(HLS)进行FPGA设计的简介

    电子发烧友网站提供《使用Vivado高层次综合(HLS)进行FPGA设计的简介.pdf》资料免费下载
    发表于 11-16 09:33 0次下载
    使用Vivado高层次综合(HLS)进行<b class='flag-5'>FPGA</b>设计的<b class='flag-5'>简介</b>