在debug GT的時(shí)候,有時(shí)候需要讀出一些寄存器來(lái)分析。這篇文章介紹一種通過(guò)AXI4 Lite或者APB3接口從XSCT來(lái)讀Versla GT的寄存器的方法。
APB3是一個(gè)32-bit數(shù)據(jù)總線地址,但是AXI4-Lite是一個(gè)8-bit Byte總線。因此如果用AXI-lite,需要將如下的寄存器地址*4。
Example的步驟如下:
Create block design + Add bridge IP。
選擇10G base-KR作為模板,選擇AXI4 Lite選項(xiàng)生成GTY example。
IPI里Block design將CIPS的FPD和AXI Lite接口相連。
增加一個(gè)AXI smart connect從CIPS到APB接口。
Create wrapper,Block design如下框圖。
Note:如果是APB3,是4 Bytes地址,更適合通過(guò)VIO或者是Fabric 接口來(lái)訪問(wèn)。
從Address editor可以看到地址是0xA4000000,比如對(duì)地址為0xC3C來(lái)說(shuō),對(duì)應(yīng)AXI地址為0xA40000000 + (0xC3C *4) = 0xA40030F0.
Crate wrapper,實(shí)現(xiàn)完成,就可以export hardware
Tools Launch Vitis IDE, 用export的hardware,創(chuàng)建一個(gè)hello world的application。最后download到vck190之后,就可用tcl完成讀寄存器。下面提供兩個(gè)example來(lái)做一個(gè)demo:
Example 1:讀0xA40030F0之后的比如32個(gè)寄存器
procread_reg{number}{ setoutfile[open"output1.txt"w+] setstart0xA40030F0 puts$outfile[mrd-force$start$number] close$outfile }
Copy到xsct,執(zhí)行完read_reg 32,就會(huì)在工程目錄下看到32個(gè)寄存器導(dǎo)出到output1.txt,起始地址和寄存器數(shù)可以修改.
同樣下面的example 2,是用來(lái)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 }
審核編輯:湯梓紅
-
寄存器
+關(guān)注
關(guān)注
31文章
5396瀏覽量
122495 -
接口
+關(guān)注
關(guān)注
33文章
8862瀏覽量
152846 -
總線
+關(guān)注
關(guān)注
10文章
2935瀏覽量
89054 -
AXI
+關(guān)注
關(guān)注
1文章
132瀏覽量
17001
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
寄存器是什么?怎么操作寄存器點(diǎn)亮LED燈?

TVP5150是不是可以通過(guò)讀什么寄存器來(lái)判斷是否有視頻輸入?
讀寄存器內(nèi)容的源代碼
寄存器尋址方式
數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思
如何使用寄存器級(jí)讀&寫(xiě)控制基于PXI平臺(tái)的FPGA

如何使用寄存器級(jí)讀&寫(xiě)控制基于PXI平臺(tái)的FPGA
寄存器變量
UART寄存器介紹與中斷操作詳解

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

評(píng)論