An analysis port broadcasts a transaction through a zero-time write() function to every connected subscriber. Put and get interfaces model directed transfer and may be blocking or nonblocking.
Reason it through
- A monitor commonly broadcasts observations to coverage, a predictor, and one or more scoreboards.
- Subscribers must not consume time inside
write()or modify the shared transaction. Clone it or use auvm_tlm_analysis_fifowhen deferred processing is required. - The sequencer-driver path uses the specialized
seq_item_portandseq_item_exportpull interface, not an ordinaryuvm_tlm_put_portoruvm_tlm_get_port.
| Interface | Communication | Typical use |
|---|---|---|
| analysis | Broadcast write(), no time | Monitor fan-out |
| put/get | Directed, blocking or nonblocking | Producer-consumer transport |
seq_item | Arbitrated request/completion | Sequencer-driver |
