许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  matlab通过jtag控制FPGA GPIO方法记录

matlab通过jtag控制FPGA GPIO方法记录

阅读数 8
点赞 0
article_banner


从某呼上看到如下文章:

matlab调用vivado tcl脚本——数据采集卡验证方法V1.0

非常感兴趣,想着之后自动化测试芯片参数也可以使用类似的方法,可以避开麻烦的c++代码,于是就照猫画虎尝试着如何实现。

第一步,了解如何使用jtag2axi这个IP核,IP核资料请参考xilinx的pg174-jtag-axi,网上也有相关的资料,然后自己画了一个简单的vivado程序,用的IP集成图形界面:

很简单的一个,GPIO控制的是我买的小小小开发板上的2个LED。程序编译完成后下载到开发板上,先用TCL脚本语言在vivado 的tcl console上试试能否使用,代码如下:

#1.使用前必须reset

reset_hw_axi [get_hw_axis hw_axi_1]

#2.先创建事务

create_hw_axi_txn wr_txn [get_hw_axis hw_axi_1] -address 40000000 -data {00000003} -len 1 -type write

#3.再执行事务

run_hw_axi [get_hw_axi_txns wr_txn]

#4.执行完事务需要删除事务,事务名删除之前不可重复

delete_hw_axi_txn [get_hw_axi_txns wr_txn ]

成功点亮2个LED,具体tcl命令如何写,是参考很多网上的资料以及xilinx的文档ug835-vivado-tcl-commands-en-us-2024.2。

现在已经确保FPGA程序部分和TCL命令没有问题,接下来就是如何使用matlab来控制FPGA了。这部分就是按照文章开头提到的文章,从中检出关键的部分:

在matlab里使用system指令,当然,vivado需要添加到系统环境变量路径里。

然后是重点,matlab中执行的是vivado 批处理命令中的tcl脚本,所以需要建立一个tcl脚本的文本文件,我命名问t1.tcl,内容如下:

#硬件相关

open_hw_manager

connect_hw_server

open_hw_target

current_hw_device [get_hw_devices xc7a35t_0]

refresh_hw_device [lindex [get_hw_devices xc7a35t_0] 0]

#执行读写任务

#1.使用前必须reset

reset_hw_axi [get_hw_axis hw_axi_1]

#2.先创建事务

create_hw_axi_txn wr_txn [get_hw_axis hw_axi_1] -address 40000000 -data {00000003} -len 1 -type write

#3.再执行事务

run_hw_axi [get_hw_axi_txns wr_txn]

#4.执行完事务需要删除事务,事务名删除之前不可重复

delete_hw_axi_txn [get_hw_axi_txns wr_txn ]

#硬件相关

close_hw_manager

把这个文件保存在matlab的当前工作路径就可以执行了。

执行过程如下:

首先打开 开发板电源,将bit文件烧写进FPGA,我在线烧写的。

然后打开matlab,执行代码:

system('vivado -mode batch -source {t1.tcl}')

之后按照tcl里的命令正常执行并点亮的FPGA开发板上的LED。下一步准备在FPGA内部做一个DDS,然后将数据存入BRAM,在matlab里控制BRAM的存储并从BRAM中读出数据在matlab画出图形。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空