在zynq開(kāi)發(fā)過(guò)程中,AXI總線經(jīng)常遇到,每次看到AXI總線相關(guān)的信號(hào)時(shí)都一頭霧水,仔細(xì)研究一下,將信號(hào)分分類(lèi),發(fā)現(xiàn)其實(shí)也不難。
AXI 結(jié)構(gòu)
AXI協(xié)議通道
? Read address, which has signal names beginning with AR.
? Read data, which has signal names beginning with R.
? Write address, which has signal names beginning with AW.
? Write data, which has signal names beginning with W.
? Write response, which has signal names beginning with B
write transaction
使用 write address, write data, and write response channels
read transaction
使用 the read address and read data channels.
信號(hào)描述
時(shí)鐘和復(fù)位
input ARESETN,
input ACLK,
寫(xiě)地址通道信號(hào)
output [0:0] M_AXI_AWID,
output [31:0] M_AXI_AWADDR,
output [7:0] M_AXI_AWLEN,
output [2:0] M_AXI_AWSIZE,
output [1:0] M_AXI_AWBURST,
output M_AXI_AWLOCK,
output [3:0] M_AXI_AWCACHE,
output [2:0] M_AXI_AWPROT,
output [3:0] M_AXI_AWQOS,
output [0:0] M_AXI_AWUSER,
output M_AXI_AWVALID,
input M_AXI_AWREADY,
寫(xiě)數(shù)據(jù)通道信號(hào)
output [63:0] M_AXI_WDATA,
output [7:0] M_AXI_WSTRB,
output M_AXI_WLAST,
output [0:0] M_AXI_WUSER,
output M_AXI_WVALID,
input M_AXI_WREADY,
寫(xiě)反饋通道信號(hào)
input [0:0] M_AXI_BID,
input [1:0] M_AXI_BRESP,
input [0:0] M_AXI_BUSER,
input M_AXI_BVALID,
output M_AXI_BREADY,
讀地址通道信號(hào)
output [0:0] M_AXI_ARID,
output [31:0] M_AXI_ARADDR,
output [7:0] M_AXI_ARLEN,
output [2:0] M_AXI_ARSIZE,
output [1:0] M_AXI_ARBURST,
output [1:0] M_AXI_ARLOCK,
output [3:0] M_AXI_ARCACHE,
output [2:0] M_AXI_ARPROT,
output [3:0] M_AXI_ARQOS,
output [0:0] M_AXI_ARUSER,
output M_AXI_ARVALID,
input M_AXI_ARREADY,
讀數(shù)據(jù)通道信號(hào)
input [0:0] M_AXI_RID,
input [63:0] M_AXI_RDATA,
input [1:0] M_AXI_RRESP,
input M_AXI_RLAST,
input [0:0] M_AXI_RUSER,
input M_AXI_RVALID,
output M_AXI_RREADY,
Basic read and write transactions
握手過(guò)程
每個(gè)通道都有VALID/READY 信號(hào),VALID有效時(shí)輸出地址、數(shù)據(jù)和控制信息。READY 信號(hào)有效表示可以接收信息。只有當(dāng)VALID和READY 都有效時(shí)才可以進(jìn)行通信。
主機(jī)發(fā)出VALID,從機(jī)發(fā)出READY ,當(dāng)VALID和READY都為高時(shí),握手成功。
通道握手信號(hào)
通道信號(hào)要求
write transaction
寫(xiě)地址通道
主機(jī)輸出有效地址和控制信息時(shí)將AWVALID 信號(hào)置1,AWVALID 置1后必須等待從機(jī)AWREADY 置1。完成寫(xiě)地址操作,進(jìn)入寫(xiě)數(shù)據(jù)操作。
寫(xiě)數(shù)據(jù)通道
在寫(xiě)數(shù)據(jù)操作時(shí),輸出有效數(shù)據(jù)時(shí)將WVALID 置1。WVALID 置1后等待從機(jī)WREADY 置1。在寫(xiě)入最后一個(gè)數(shù)據(jù)時(shí),將WLAST信號(hào)置1。之后主機(jī)等待從機(jī)寫(xiě)反饋。
寫(xiě)反饋通道
主機(jī)接收到從機(jī)發(fā)出BVALID信號(hào)時(shí),將BREADY 信號(hào)置1,接收從機(jī)反饋信息。主機(jī)BREADY 信號(hào)可以默認(rèn)為1。
以上過(guò)程完成主機(jī)到從機(jī)發(fā)送數(shù)據(jù)流程。
read transaction
讀地址通道
主機(jī)輸出有效地址和控制信息時(shí)將ARVALID信號(hào)置1,ARVALID 置1后必須等待從機(jī)ARREADY 置1。完成讀地址操作,進(jìn)入讀數(shù)據(jù)操作。
讀數(shù)據(jù)通道
當(dāng)從機(jī)輸出有效數(shù)據(jù)時(shí)將RVALID置1,RVALID置1后等待主機(jī)RREADY置1,從機(jī)發(fā)送最后一個(gè)數(shù)據(jù)時(shí)將RLAST置1。
以上過(guò)程完成接收數(shù)據(jù)流程。
-
信號(hào)
+關(guān)注
關(guān)注
11文章
2820瀏覽量
77401 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1759瀏覽量
132201 -
AXI總線
+關(guān)注
關(guān)注
0文章
66瀏覽量
14375 -
Zynq
+關(guān)注
關(guān)注
10文章
612瀏覽量
47498 -
AXI
+關(guān)注
關(guān)注
1文章
130瀏覽量
16839
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
電氣CAD文件中高效的工作流程
幫忙分析下這個(gè)設(shè)計(jì)的工作流程
FPGA的UART工作流程 UART是怎么工作的
Simulink是什么?Simulink的工作流程是怎樣進(jìn)行的?
AMBA AXI總線學(xué)習(xí)筆記
測(cè)試工程師工作流程有哪些
工作流程圖怎么用?有哪些繪制工作流程圖的軟件
NX CAD軟件:數(shù)字化工作流程解決方案(CAD工作流程)

評(píng)論