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

axi::pin::axi4_target B-channel stuck at response #27

Closed drom closed 2 years ago

drom commented 2 years ago

axi-write-error

Chain:

Pin-level model axi::pin::axi4_target -- PIN2TLM adapter. axi::pe::simple_target + set_operation_cb + operation_resp(trans, 2) -- on the TestBench side.

Case:

Pin-level Model (Initiator) issues series of AXI write transactions with IDs=[1,0,3,1,0,5,4,2,7,1,0,6]

The pin-level adapter (Target) is accepting Address/Data on AW,W channels and responding with 2 cycle delay on B channel.

Completion of transactions IDs=[1,0,3,1,0,5,4] are correct.

Transaction ID=2 completion was delayed by AXI Initiator by 6 cycles.

Error:

Target changed ID without waiting for Initiator readiness and presented ID=7

Stuck:

Target never accepted any of following IDs=[1,0,6]

drom commented 2 years ago

Great. Thank you. It works!