PRIMARY COURSE TOPICS
An advanced class is different than an intro class. Where the intro UVM class has a series of ordered topics building to a rounded understanding of UVM test benches, the advanced UVM class is more a list of not necessarily related topics with some of more relevance and interest possibly than others.
- DUT-TB Interface and Configuration
- Encapsulation
- DUT-TB Communication
- DUT-TB Parameter sharing
- DUT-TB Configuration and Distribution
- Configuration object creation
- Configuration object distribution
Container Classes
Synchronization Classes
- Phasing
- Phase callbacks
- Draining using callbacks
- Phase awareness using Callbacks
- Phase awareness using multiple domains
- Factory – Beyond the basics
- Configurability using Polymorphism
- Configurable
- Polymorphism
- Example Polymorphic testbench
- Virtual Interface Issues
- Virtual Interface wrappers
- Interface proxy classes
- Virtual Sequences
- Virtual Sequences
- API sequence “calls”
- Coordination of multiple interfaces
- Response handling
- Non-virtual sequence responses
- Virtual sequence responses
- Reset
- Layered stimulus
- Dynamic error injection
- Template Method Pattern & UVM Callbacks
- Template Method Pattern
- UVM Callbacks
- Reuse
- Interface (agent) reuse
- Block (environment) reuse
- Block-to-top reuse
- Advanced UVM registers
- UVM register model integration
- Direct environment integration
- Register layer integration
- UVM register Memory Allocation Manager
- Extension object
- Register model and scoreboards
- Custom (quirky) registers
- Backdoor access
- Performance Improvements
- Prototype pattern
- Memory manager
- Interface classes
- Command-line processing
- Emulation considerations
- Coverage driven testing