Minres / SystemC-Components

A SystemC productivity library: https://minres.github.io/SystemC-Components/
https://www.minres.com/#opensource
Apache License 2.0
81 stars 21 forks source link

ar_ready incorrect timing diagram #34

Closed mslijepc closed 1 year ago

mslijepc commented 1 year ago

In some cases, it appears incorrect timing diagram of ar_ready signal (half-cycle asserted signal).

image

eyck commented 1 year ago

This is valid according to the AXI spec as it is sampled on the rising edge of the clock. And the AXI spec states in section 'A3.2.1 Handshake process':

When VALID is asserted, it must remain asserted until the handshake occurs, at a rising clock edge when VALID and READY are both asserted.

I agree this is not nice but correct

mslijepc commented 1 year ago

How many transactions then in this case should be (i.e. how many valid addresses)?

eyck commented 1 year ago

The picture shows 5 transactions, 1 to the left of the cursor and 4 to the right. Whenever the condition ar_valid==1 && ar_ready==1 is tru right before the clock rises.