TLM : transaction Level Modeling
port: uvm_blocking_get_port (consumer)
imp: uvm_blocking_get_imp (producer)
NOTE::Mater or the one who have the control of the transaction will always be port and the slave will always have implementation.
imp: uvm_analysis_imp(all consumers)
ap.write(); => write method in multiple components get called
– used when we need 1 to many connection(monitor to coverage, checker, sbd)
Each subscriber has its own write implmenttion.
– port => socket
– Producer => initiator
– consumer => target
– put, get, write => b_transport, nb_transport_fw, nb_transport_bw
– tlm1. 0 => only thing that moves from producer to consumer is a transaction
– tlm2.0 => producer to consumer, transaction, phase information, time infomration