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

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

3天内不再提示

如何用XSCT通过APB接口来读GT的寄存器

Hack电子 来源:Hack电子 2023-12-08 10:32 次阅读

在debug GT的时候,有时候需要读出一些寄存器来分析。这篇文章介绍一种通过AXI4 Lite或者APB3接口从XSCT来读Versla GT的寄存器的方法。

APB3是一个32-bit数据总线地址,但是AXI4-Lite是一个8-bit Byte总线。因此如果用AXI-lite,需要将如下的寄存器地址*4。

Example的步骤如下:

Create block design + Add bridge IP。

选择10G base-KR作为模板,选择AXI4 Lite选项生成GTY example。

IPI里Block design将CIPS的FPD和AXI Lite接口相连。

增加一个AXI smart connect从CIPS到APB接口。

Create wrapper,Block design如下框图。

Note:如果是APB3,是4 Bytes地址,更适合通过VIO或者是Fabric 接口来访问。

wKgZomVygHGAYYsXAAMHglQEZhA875.jpg

从Address editor可以看到地址是0xA4000000,比如对地址为0xC3C来说,对应AXI地址为0xA40000000 + (0xC3C *4) = 0xA40030F0.

wKgZomVygHGAYkKpAAExUlJzXbE728.jpg

Crate wrapper,实现完成,就可以export hardware

wKgaomVygHGAVHE3AAITRrP1aXk586.jpg

Tools Launch Vitis IDE, 用export的hardware,创建一个hello world的application。最后download到vck190之后,就可用tcl完成读寄存器。下面提供两个example来做一个demo:

Example 1:读0xA40030F0之后的比如32个寄存器

procread_reg{number}{
setoutfile[open"output1.txt"w+]
setstart0xA40030F0
puts$outfile[mrd-force$start$number]
close$outfile
}

Copy到xsct,执行完read_reg 32,就会在工程目录下看到32个寄存器导出到output1.txt,起始地址和寄存器数可以修改.

同样下面的example 2,是用来monitor KH,KL和GC。

Example 2: monitor KH, KL, and GC for Channel 0

procmonitor{}{
setoutfile[open"output2.txt"w+]
#read0x0CBA*4=0x32E8;0x0C3C*4=40x30F0
#set0x0CBA[7]=1'b1
#0x0CBA[6:4]=3'b000
#0x0CBA[3:1]=3'b000
#0x0CBA[0]=1'b1
#0x0C3C[28:27]=2'b00
puts$outfile"###########read0x0CBAand0x0C3C###########"
puts$outfile[mrd0xA40032E8]
puts$outfile[mrd0xA40030F0]
puts$outfile"###########write0x0CBAand0x0C3C###########"
mwr-sizeb0xA40032E8{0x81}1
mwr0xA40030F0[expr[mrd-value0xA40030F0]&0xE7FFFFFF]
puts$outfile"###########read0x0CBAand0x0C3C###########"
puts$outfile[mrd0xA40032E8]
puts$outfile[mrd0xA40030F0]
#read0x08A4[7:0]*4=0x2290
#read0x08A5[23:16]*4=0x2294
#read0x08A6[23:16]*4=0x2298
puts$outfile"###########readKH,KL,GC###########"
puts$outfile[mrd-sizeb0xA40022901]
puts$outfile[mrd-sizeb0xA40022961]
puts$outfile[mrd-sizeb0xA400229A1]
close$outfile
}


审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5281

    浏览量

    119746
  • 接口
    +关注

    关注

    33

    文章

    8422

    浏览量

    150668
  • 总线
    +关注

    关注

    10

    文章

    2856

    浏览量

    87879
  • AXI
    AXI
    +关注

    关注

    1

    文章

    127

    浏览量

    16570
收藏 人收藏

    评论

    相关推荐

    寄存器是什么?怎么操作寄存器点亮LED灯?

    寄存器,是集成电路中非常重要的一种存储单元,通常由触发组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口
    的头像 发表于 07-21 16:59 3782次阅读
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>点亮LED灯?

    带像素掩摸寄存器的像素处理单元的工作和结构

    带像素掩摸寄存器的像素处理单元的工作和结构:
    发表于 06-11 13:17 8次下载
    带像素<b class='flag-5'>读</b>掩摸<b class='flag-5'>寄存器</b>的像素处理单元的工作和结构

    寄存器内容的源代码

    寄存器内容的源代码 我的环境是WINXP+MASM5.0通过编译生成可执行文件,双击,提示写入文件成功,按任意键推出。在程序的同一目录下的TEMP.TXT中已经写入了:
    发表于 02-09 14:40 6次下载

    寄存器寻址方式

    寄存器寻址方式   寄存器寻址是对由指令选定的工作寄存器(R0--R7)进行/写,由指令操作码字节的最低3位指明所寻址的工作寄存器
    发表于 03-14 15:29 2743次阅读

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定义  寄存器是中央处理内的组成部分。寄存器是有限存贮容量
    发表于 03-08 14:26 2.2w次阅读

    数据寄存器,数据寄存器是什么意思

    数据寄存器,数据寄存器是什么意思 数据寄存器数据寄存器包括累加AX、基址寄存器BX、计数
    发表于 03-08 14:38 1.2w次阅读

    寄存器与移位寄存器

    寄存器与移位寄存器:介绍寄存器原理和移位寄存器的原理及实现。
    发表于 05-20 11:47 0次下载

    如何使用寄存器&写控制基于PXI平台的FPGA

    如何使用寄存器&写控制基于PXI平台的FPGA
    发表于 10-16 15:20 14次下载
    如何使用<b class='flag-5'>寄存器</b>级<b class='flag-5'>读</b>&写控制基于PXI平台的FPGA

    如何使用寄存器&写控制基于PXI平台的FPGA

    如何使用寄存器&写控制基于PXI平台的FPGA
    发表于 10-19 08:48 12次下载

    寄存器变量

    C语言中使用关键字register声明局部变量为寄存器变量。寄存器变量的值会被存放在CPU的寄存器中,每当需要使用它们时,CPU就可以直接使用,而无须再
    发表于 06-03 10:13 2305次阅读

    移位寄存器的原理

    移位寄存器按照不同的分类方法可以分为不同的类型。 如果按照移位寄存器的移位方向来进行分类, 可以分为左移移位寄存器、移位寄存器和双向移位寄存器
    发表于 07-15 09:38 7.4w次阅读
    移位<b class='flag-5'>寄存器</b>的原理

    UART寄存器介绍与中断操作详解

    简介 UART核提供了一个Avalon存储映射(Avalon-MM)的接口,这个接口使得Avalon-MM的主要周边设备(例如Nios II处理
    的头像 发表于 08-25 16:46 1.6w次阅读
    UART<b class='flag-5'>寄存器</b>介绍与中断操作详解

    ARM通用寄存器及状态寄存器详解

    笔者聊聊ARM通用寄存器以及状态寄存器的认识与理解。
    的头像 发表于 01-06 14:58 6793次阅读

    CPSR寄存器和APSR寄存器的组成

    程序状态寄存器的作用就是反映处理的状态信息。在程序运行期间我们可以通过查看程序状态寄存器的状态位进行程序的分支跳转处理,或者我们可以设置
    的头像 发表于 10-20 11:38 4134次阅读
    CPSR<b class='flag-5'>寄存器</b>和APSR<b class='flag-5'>寄存器</b>的组成

    接口的控制与状态寄存器什么作用

    的行为并获取硬件的状态信息。 接口的控制与状态寄存器的作用 在现代计算机系统中,硬件设备与软件之间的交互是通过一系列的接口实现的。这些
    的头像 发表于 10-17 10:42 204次阅读