AXI4設計重點002 易出錯的位址非對齊讀操作

2021-10-02 15:38:13 字數 857 閱讀 6361

1、axi讀操作+位址不對齊

以rdata_axi_mst位寬為128bit為例,如果master想讀取7dw(1dw為4byte)的資料,從位址0x4開始讀取,來自master埠的axi訊號如下所示,此時為位址非對齊的讀操作。

此時master想讀取位址為0x4,0x8,0xc,0x10,0x14,0x18,0x1c的7個dw。此處需要注意:master需要讀取的是7個dw,而不是從0x4~0x20的8個dw。

訊號數值

含義raddr_axi_mst

0x4從0x4位址開始

arsize_axi_mst

0x4rdata[127:0]均有效

arlen_axi_mst

0x12拍

arburst_axi_mst

0x1incre讀操作

圖1 burst incr讀 位址不對齊

如果raddr_axi_mst為址0x0 or 0x10 or 0x20開始讀取,其他訊號保持一致則表示讀取8個dw,此時為位址對齊讀操作。讀操作首位址與rdata_axi_mst位寬匹配的均為位址操作的讀操作。

如下圖所示,如果raddr_axi_mst為0x8,則表示讀6dw,讀取位址為0x8,0xc,0x10,0x14,0x18,0x1c的資料

訊號數值

raddr_axi_mst

0x8

從0x4位址開始

arsize_axi_mst

0x4rdata[127:0]均有效

arlen_axi_mst

0x12拍

arburst_axi_mst

0x1incre讀操作

圖2 burst incr讀 位址不對齊

深入AXI4匯流排 五 AXI4的兄弟協議

知乎使用者ljgibbs授權 本系列我想深入探尋 axi4 匯流排。不過事情總是這樣,不能我說想深入就深入。當前我對 axi匯流排的理解尚談不上深入。但我希望通過一系列文章,讓讀者能和我一起深入探尋 axi4。宣告1 部分時序圖以及部分語句來自 arm amba 官方手冊 有的時候感覺手冊寫得太好了...

AXI4的IP的輸入配置

前面一篇驗證中驗證了axi中的data reg out是輸出快取器。這裡再引入乙個slv reg2作為slv reg1的輸入輸出配置暫存器。這裡先實現乙個簡單的功能 當slv reg2為16 hffff時,slv reg1作為輸入口,否則slv reg1作為輸出口 輸入輸出相對主機而言,方便區分 1...

AXI3和AXI4區別 埠篇

表 2 1 全域性訊號 訊號名 源 描述aclk 時鐘源 全域性時鐘訊號 aresetn 復位源全域性復位訊號,低有效 表2 2 寫位址通道訊號 訊號名 源 描述 awid 3 0 主機 寫位址id,用來標誌一組寫訊號 awaddr 31 0 主機 寫位址,給出一次寫突發傳輸的寫位址 awlen 3...