Axi 4
Axi 4
ElectroBinary
Welcome to the world of Digital Electronics and VLSI
Home Circuit Design Verilog SystemVerilog Perl Tools Resources Quiz About
Stack or LIFO
Verilog Code
The Last In First
Out (LIFO) or Stack
is a data
arrangement structure in which
a) What is the total number of bytes transferred in the burst? the data that enters the last is the
one that is removed fi...
b) Write down the address values to which each beat of the burst gets written.
c) Is this a narrow transfer or full transfer? Restoring Division
d) Can I initiate above transfer if (i) awaddr is 0x007BC812 (ii) awlen is 31? Verilog Code
e) Assume that the above write transfer needs to be done to a memory whose address range is from Restoring Division
Algorithm is one of
32’h00000000 to 32’h003FFFFF. What will happen? the division
f) Calculate the size of the memory mentioned in subdivision e) in units of MBits algorithms used for performing
division in digital systems. Let us
Question 4: see how to write the...
Consider the following memory containing the following data at the mentioned address locations:
BLOG ARCHIVE
▼ 2022 (4)
▼ October (1)
AXI Protocol Quiz
► September (1)
► August (2)
► 2021 (13)
► 2020 (43)
HI READER
If you find any content issues or
For this memory, read transfer is initiated with the following values (assume 32-bit data bus) code bugs in this blog, add a
comment or notify me using the
ARADDR = 0x102 contact form in the About page.
ARBURST = 1 Any other suggestions are also
ARLEN = 2 welcome!
ARSIZE = 1
SOLUTIONS:
Answer 1:
For a data-bus width of 64-bits (8-bytes), we can have AxSIZE values upto 8 bytes.
Possible values are: 3'b000, 3'b001, 3'b010, 3'b011
Answer 2:
a) AWLEN = 3. It means there are 4 beats in the burst.
b) AWSIZE = 1. It means 2^1 = 2 bytes are transferred in each beat of the burst.
c) Total number of bytes transferred in the burst = 4 * 2 = 8 bytes
d) For a 32-bit/4-byte data bus, width of WSTRB signal would be 4-bits.
e) WSTRB values for each beat: 4'b0011, 4'b1100, 4'b0011, 4'b1100.
Since size of each beat is less than the bus width, it is a narrow transfer.
f) Address 0x102 is aligned with respect to AWSIZE (2-byte aligned) but not with respect to bus width (not 4-byte
aligned)
g) AWADDR = 0x101.
In this case, the address is unaligned with respect to AWSIZE as well as bus width.
WSTRB values for each beat: 4'b0010, 4'b1100, 4'b0011, 4'b1100.
Answer 3:
a) AWLEN = 7 and AWSIZE = 2. It means (7+1)*(2^2) = 32 bytes are transferred.
b) First address is 0x007BC810. It is a wrap-32 transfer.
The remaining addresses are: 0x007BC814, 0x007BC818, 0x007BC81C, 0x007BC800,
0x007BC804, 0x007BC808, 0x007BC80C.
c) 4-bytes of data is transferred per beat, and it covers the full data-bus width. Hence it is a full transfer.
d) (i) Not possible, since according to AXI4 protocol, address must be aligned to the size for wrap transfers.
(ii) Not possible, since awlen = 15 is the maximum allowed value for wrap transfers.
e) We find that the initiated address 0x007BC810 is above the highest address 0x003FFFFF.
This wil result in a decoder error.
f) Top address = 0x003FFFFF
Number of bits used = 22
Total size of memory = 2^22 MBytes = 4MBytes = 32MBits
Answer 4:
a) Number of beats of RDATA = ARLEN + 1 = 3
b) Size of each beat = 2^1 = 2 bytes.
RDATA values = 32'h4433xxxx, 32'hxxxx6655, 32'h8877xxxx
No comments:
Post a Comment
Enter Comment
Powered by Blogger.