slang::netlist namespace

Classes

struct AnalysisState
class Assignment
class Case
struct CombEdgePredicate
class CombLoops
class Conditional
class Config
A singleton to hold global configuration options.
template<class NodeType, class EdgeType>
struct CycleDetectionVisitor
Visitor class for identifying cycles during Depth-First Search.
template<class NodeType, class EdgeType, class EdgePredicate = select_all>
class CycleDetector
Class for reporting all cycles in a directed graph.
template<class NodeType, class EdgeType, class Visitor, class EdgePredicate = select_all>
class DepthFirstSearch
template<class NodeType, class EdgeType>
class DirectedEdge
A class to represent a directed edge in a graph.
template<class NodeType, class EdgeType>
class DirectedGraph
class Join
class NetlistEdge
A class representing a dependency between two variables in the netlist.
class NetlistGraph
Represent the netlist connectivity of an elaborated design.
class NetlistNode
struct NetlistVisitor
template<class NodeType, class EdgeType>
class Node
A class to represent a node in a directed graph.
class PortDeclaration
struct ProceduralAnalysis
struct select_all
class VariableAlias
class VariableDeclaration
class VariableReference

Enums

enum class NodeKind { None = 0, PortDeclaration, VariableDeclaration, VariableReference, VariableAlias, Assignment, Conditional, Case, Join }

Typedefs

using SymbolBitMap = IntervalMap<uint64_t, NetlistNode*, 3>
using SymbolLSPMap = IntervalMap<uint64_t, const ast::Expression*, 5>

Functions

auto file_name(const char* file) -> const char*
template<typename... T>
void DebugMessage(const std::source_location& location, fmt::format_string<T...> fmt, T && ... args)
template<typename... T>
void InfoMessage(fmt::format_string<T...> fmt, T && ... args)

Enum documentation

enum class slang::netlist::NodeKind

Typedef documentation

using slang::netlist::SymbolBitMap = IntervalMap<uint64_t, NetlistNode*, 3>

using slang::netlist::SymbolLSPMap = IntervalMap<uint64_t, const ast::Expression*, 5>

Function documentation

const char* slang::netlist::file_name(const char* file)

template<typename... T>
void slang::netlist::DebugMessage(const std::source_location& location, fmt::format_string<T...> fmt, T && ... args)

template<typename... T>
void slang::netlist::InfoMessage(fmt::format_string<T...> fmt, T && ... args)