Advanced UVM Components
01
`uvm_subscriber` vs `uvm_monitor`?
+- Monitor: Observes pin-level activity, converts to transactions, and broadcasts via Analysis Port. Active during every cycle.
- Subscriber: A built-in component that extends `uvm_component` and has a pre-defined `analysis_export`. It implements the `write()` method. Used for Functional Coverage and Scoreboards that just need to "listen".
02
Why use Analysis Ports (`uvm_analysis_port`)?
+It supports one-to-many broadcasting. A monitor can write to one analysis port, and MULTIPLE subscribers (Coverage, Scoreboard, Logger) can be connected to it. It is non-blocking (write function returns immediately).