Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

AMBA AHB address question

Status
Not open for further replies.

lemonsky

Newbie level 2
Joined
May 26, 2006
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,295
HI, All:
I'm confused when reading AMBA AHB specification. The address is HADDR[31:0] and thought it should be corresponding to double word or 32bit (HWDATA[31:0] or HRDATA[31:0]), since the data port is 32bit width. That's means address 0x0 stands reg_addr_0[31:0], address 0x1 stands reg_addr_1[31:0].
But at burst transfer example in spec, the address after 0x20 is 0x24, which let me thought HADDR[31:0] is byte address. That means for one HWDATA[31:0] or HRDATA[31:0], there are 4 address mapping to it depending on little or bit endian as following:
DATA ----- ADDRESS
HWDATA[31:24] -> HADDR[31:0]
HWDATA[23:16] -> HADDR[31:0] + 1
HWDATA[15: 8] -> HADDR[31:0] + 2
HWDATA[ 7: 0] -> HADDR[31:0] +3
So which one is correct for design spec? And where I could find the clear define for it?

Thanks!
 

In AHB, a single address like , 0X00, 0x01, 0x02, etc is used for addressing a Byte.
If the Data Width is 32, which means there are 4 Bytes, so if the address of the current burst is 0x30, then the address of the next burst will be 0x34.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top