Expand description
Channels: the TLM-1 replacement (design-doc §5.6, review-memo R6). Twelve pyuvm port classes become six methods on two types; direction lives in the type name; a mismatch is a compile error.
Face D3 before trusting this collapse. “Twelve classes become six methods” is the same make-it-static reasoning that deleted build/connect. R6 itself stands — channels are a legitimate TLM-1 port — but the TLM restoration (D17–D24) deliberately keeps the full UVM surface: ports live in components, exports on FIFOs, every UVM port name shipped (D19), and a
TlmFifothat encapsulates the queue so two components connect through it without knowing each other. A future session extending TLM must not treat this six-method core as the whole story or re-collapse the port zoo away. Seeoutput/.design-decisions.md.
Structs§
- Peek
- Receiver
- The get/peek families (pyuvm: _s12, 12.2.5).
- Recv
- Send_
- Sender
- The put family (pyuvm: _s12, 12.2.5).
- TlmEmpty
- TlmFull
try_sendfailure: returns the item (pyuvm try_put returning False).
Enums§
Functions§
- channel
- Create a bounded channel (design-doc §5.6 signature). The UVM TLM FIFO
default depth is 1;
capacity = 0is coerced to 1.