HI, I have puzzle
if I am write something like that
initial begin$dumpfile("dump.vcd");$dumpvars(1);#100ns rst_n = 0;#100ns rst_n = 1;
// Align to negedge to drive traffic#5ns;
awaddr = 'h15;awvalid = 1;#10nsawaddr = 'h25;wvalid = 1;wdata = 'h10;
#10nsawaddr = 'h35;wdata = 'h20;
#10nsawvalid = 0;wdata = 'h30;
#10nswvalid = 0;#100ns$finish();
What should be come out for first Address 0x15 or 0x25 for slave according to axi4 protocol.BR,
Mayank
The earlier AW channel transfers are not lost, they are accepted by the subordinate, waiting for the corresponding W channel transfers to complete the transaction.
So 0x15 was accepted, and then 0x25. The AXI4 spec does not allow any write data interleaving, so all the W channel data for the 0x15 transaction must then be received by the subordinate before the 0x25 data can be accepted.
The AXI protocol allows you to have multiple outstanding (uncompleted) transactions queued up, so the 0x25 address transaction remains pending until the earlier accepted 0x15 transaction completes its data transfers.
Your diagram looks fine to me, and from T2 onwards you could have additional AW transfers send my the AXI manager, and these would remain pending until the AWID0 transaction has completed all its data transfers (completed at T5).
Thanks Colin1-no problem with clk
whether we can take clk cycle for 2ns and 4ns for correct output , what should be ACLK?
2- how to calculate maximum axi clk frequency for our RTL which have sw access.BR,mayank