SystemVerilog OOP Mastery · All levels
Singleton and config_db Patterns without Global Chaos: Pitfalls
Pitfalls for Singleton and config_db Patterns without Global Chaos.
Pitfalls and red flags
Letting arbitrary components call singleton `get()` directly, creating hidden dependencies.
Mutating singleton state mid-run from many places without ownership rules.
Using config_db with overly broad wildcard scopes that unintentionally affect unrelated components.
Skipping fatal checks on `config_db::get`, which hides wiring regressions.