在zynq開發(fā)過程中,AXI總線經(jīng)常遇到,每次看到AXI總線相關(guān)的信號時都一頭霧水,仔細(xì)研究一下,將信號分分類,發(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.

信號描述
時鐘和復(fù)位
input ARESETN,
input ACLK,
寫地址通道信號
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,
寫數(shù)據(jù)通道信號
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,
寫反饋通道信號
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,
讀地址通道信號
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ù)通道信號
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
握手過程
每個通道都有VALID/READY 信號,VALID有效時輸出地址、數(shù)據(jù)和控制信息。READY 信號有效表示可以接收信息。只有當(dāng)VALID和READY 都有效時才可以進(jìn)行通信。
主機(jī)發(fā)出VALID,從機(jī)發(fā)出READY ,當(dāng)VALID和READY都為高時,握手成功。



通道握手信號

通道信號要求
write transaction
寫地址通道
主機(jī)輸出有效地址和控制信息時將AWVALID 信號置1,AWVALID 置1后必須等待從機(jī)AWREADY 置1。完成寫地址操作,進(jìn)入寫數(shù)據(jù)操作。
寫數(shù)據(jù)通道
在寫數(shù)據(jù)操作時,輸出有效數(shù)據(jù)時將WVALID 置1。WVALID 置1后等待從機(jī)WREADY 置1。在寫入最后一個數(shù)據(jù)時,將WLAST信號置1。之后主機(jī)等待從機(jī)寫反饋。
寫反饋通道
主機(jī)接收到從機(jī)發(fā)出BVALID信號時,將BREADY 信號置1,接收從機(jī)反饋信息。主機(jī)BREADY 信號可以默認(rèn)為1。
以上過程完成主機(jī)到從機(jī)發(fā)送數(shù)據(jù)流程。
read transaction
讀地址通道
主機(jī)輸出有效地址和控制信息時將ARVALID信號置1,ARVALID 置1后必須等待從機(jī)ARREADY 置1。完成讀地址操作,進(jìn)入讀數(shù)據(jù)操作。
讀數(shù)據(jù)通道
當(dāng)從機(jī)輸出有效數(shù)據(jù)時將RVALID置1,RVALID置1后等待主機(jī)RREADY置1,從機(jī)發(fā)送最后一個數(shù)據(jù)時將RLAST置1。
以上過程完成接收數(shù)據(jù)流程。
-
信號
+關(guān)注
關(guān)注
12文章
2914瀏覽量
80144 -
時鐘
+關(guān)注
關(guān)注
11文章
1971瀏覽量
135010 -
AXI總線
+關(guān)注
關(guān)注
0文章
68瀏覽量
14758 -
Zynq
+關(guān)注
關(guān)注
10文章
630瀏覽量
49456 -
AXI
+關(guān)注
關(guān)注
1文章
145瀏覽量
17942
發(fā)布評論請先 登錄
電氣CAD文件中高效的工作流程
FPGA的UART工作流程 UART是怎么工作的
Simulink是什么?Simulink的工作流程是怎樣進(jìn)行的?
測試工程師工作流程有哪些
工作流程圖怎么用?有哪些繪制工作流程圖的軟件
NX CAD軟件:數(shù)字化工作流程解決方案(CAD工作流程)
AXI總線工作流程
評論