slang::analysis::DriverTracker class

A helper class that tracks drivers for all symbols in a thread-safe manner.

Public functions

void add(AnalysisContext& context, DriverAlloc& driverAlloc, const AnalyzedProcedure& procedure)
Adds drivers for the given procedure to the tracker.
void add(AnalysisContext& context, DriverAlloc& driverAlloc, std::span<const SymbolDriverListPair> drivers)
Adds the given drivers to the tracker.
void noteNonCanonicalInstance(AnalysisContext& context, DriverAlloc& driverAlloc, const ast::InstanceSymbol& instance)
Records the existence of a non-canonical instance, which may imply that additional drivers should be applied based on the canonical instance.
void propagateModportDrivers(AnalysisContext& context, DriverAlloc& driverAlloc)
Propagates drivers to modport ports down to the targets of the modport port connections.
auto getDrivers(const ast::ValueSymbol& symbol) const -> DriverList
Returns all of the tracked drivers for the given symbol.