slang::analysis::AnalyzedProcedure class

Represents an analyzed procedure.

Note that this can include continuous assignments, which are not technically procedures but are treated as such for analysis purposes.

Public types

struct ImplicitEventReadSet
The set of symbols read within a single * timing region.

Constructors, destructors, conversion operators

AnalyzedProcedure(const ast::Symbol& symbol, const AnalyzedProcedure* parentProcedure)
Constructs a new AnalyzedProcedure object.
AnalyzedProcedure(AnalysisContext& context, const ast::Symbol& symbol, const AnalyzedProcedure* parentProcedure, DFAResults& analysis)
Constructs a new AnalyzedProcedure object.

Public functions

const ast::TimingControl* getInferredClock() const
Returns the inferred clocking block for the procedure, if available.
std::span<const SymbolDriverListPair> getDrivers() const
Gets all of the drivers in the procedure.
std::span<const ast::CallExpression*const> getCallExpressions() const
Gets all of the subroutine calls in the procedure.
std::span<const ast::Statement*const> getTimingControls() const
Gets all of the timing control statements directly in the procedure.
std::span<const ReadRange> getReadSet() const
Gets all symbols (and bit ranges) read anywhere in the procedure.
std::span<const ImplicitEventReadSet> getImplicitEventReadSets() const
Gets the per-region read sets for each * timing control in the procedure.
const SensitivityList& getSensitivityList() const
Gets the effective sensitivity list for this procedure.

Public variables

not_null<const ast::Symbol*> analyzedSymbol
The symbol that was analyzed.
const AnalyzedProcedure* parentProcedure
The procedure that contains this one, if any.

Function documentation

const ast::TimingControl* slang::analysis::AnalyzedProcedure::getInferredClock() const

Returns the inferred clocking block for the procedure, if available.

Variable documentation

const AnalyzedProcedure* slang::analysis::AnalyzedProcedure::parentProcedure

The procedure that contains this one, if any.

Only possible for procedural checker instances.