AXI4 BVALID Specification

Hi

I'd like to ask whether the following BVALID violates the specification when consecutive single writes.

Regarding the two cases of BVALID shown below : 

In Case1, BVALID for different BIDs is asserted high consecutively

In Case2, BVALID  is asserted one clock later for next BID.

I would like to confirm whether Case1 violates the specification.

  • Hi Minji,

    The short answer - both cases are legal. 

    It is allowed for the subordinate to return back-to-back write responses on consecutive cycles without inserting a bubble. In both cases, the following dependencies have also been met (section A2.3.2.1 of AXI-L)

    • The Subordinate must wait for AWVALID, AWREADY, WVALID, and WREADY to be asserted before
      asserting BVALID.
    • The Subordinate must wait for the last write data transfer before asserting BVALID. The last write data
      transfer has WLAST asserted.
      • Whilst WLAST is not shown in your diagram, I have assumed it is high for each of the WDATA transfers as AWLEN is 0 (1 beat) for each ID.
    • The Subordinate must not wait for the Manager to assert BREADY before asserting BVALID.

    Hope that helps.

    Ben