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.

Related topics