slang::analysis::ClockInference class

Various helper methods for inferring clocks in assertions and checkers.

Public static functions

static auto isInferredClockCall(const ast::Expression& expr) -> bool
Helper method that returns true if the given expression is a call to the $inferred_clock system function.
static auto isSampledValueFuncCall(const ast::Expression& expr) -> bool
Helper method that returns true if the given expression is a call to one of the sampled value system functions.
static auto expand(AnalysisContext& context, const ast::Symbol& parentSymbol, const ast::TimingControl& timing, std::span<const ExpansionInstance> expansionStack, const AnalyzedProcedure* parentProcedure) -> InferredClockResult
Expands inferred clocking events in the given timing control expression.
static void checkSampledValueFuncs(AnalysisContext& context, const ast::Symbol& parentSymbol, const ast::Expression& expr)
Checks the given expression for calls to sampled value functions and ensures that they have explicit clocking provided.
static void checkSampledValueFuncs(AnalysisContext& context, const ast::Symbol& parentSymbol, const ast::TimingControl& timing)
Checks the given timing control for calls to sampled value functions and ensures that they have explicit clocking provided.