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.
Aligned address is nothing but for example 'h1000, h'1004, 'h1008, 'h100C, etc
Unaligned address is something like, 'h1001, 'h1002, 'h1003, etc
Starting address is entirely different, it can be both aligned or unaligned.
Its all depends on your design, if your slave is able to receive and recognize the unaligned addresses like 'h1003,
for example if the data width is 32, and read address is 'h1003.
If the slave supports the unaligned address, then the slave can read the address location 'h1000, instead of 'h1003 and give the 32 width data,
and the master can take the respective bytes.
so u r saying there is both scenario. so if slave do not support unaligned address so what should slave do. and in above scenario; will master send address as h1000.
In the above case, if the slave is not supporting the unaligned transfer then the master can send the 'h1000 address, for getting the read data from 'h1003 address location.
But in that case for example if the slave is ddr memory and the data width is 8, then instead of single read from 'h1003 location, the slave read 4 read from 'h1000, 'h1001, 'h1002, 'h1003. So the number of clock cycle for completing the read may increases.
But in the case of write it wont happen, because there are write strobes for write data bytes.
- - - Updated - - -
For read there is no read data strobe, so when even if we need to read from 'h1003 location and if the slave is not supporting the unaligned transfer, then then slave forced to read all the location.
ok so if slave supporting unaligned transfer it can directly send the h1003 as address so suppose rdata is 32 to bit so how many lines will contain valid data as there is no read strobes how can I distinguish
From what I can tell from the spec it looks like the byte at h1003 will reside in the same location as it would if you performed a 32-bit the read at h1000.
I'll admit I'm still learning this spec as I'm trying to implement a design with this bus.
i am also understanding that spec which is available on arm website... and they have explained write transaction very well but read transaction is unclear... up to now i have thought as we can send directly address and slave will start reading and sending data from that location..
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.