slang::netlist namespace

Classes

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.
struct DeferredGraphWork
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
struct DriverBitRange
A range over which a symbol is driven.
struct DriverInfo
Information about a driver of a particular range of a symbol.
struct DriverMap
template<typename T>
class ExternalManager
class FileTable
class Merge
class NetlistBuilder
A class that manages construction of the netlist graph.
struct NetlistDiagnostics
A collection of diagnostics for reporting on the netlist.
struct NetlistDot
A utility class for rendering a netlist graph in DOT format.
class NetlistEdge
A class representing a dependency between two nodes in the netlist.
class NetlistGraph
Represent the netlist connectivity of an elaborated design.
class NetlistNode
class NetlistPath
A class representing a path traversing nodes in the netlist.
struct NetlistSerializer
template<class NodeType, class EdgeType>
class Node
A class to represent a node in a directed graph.
class PathFinder
struct PendingRvalue
class Port
class ReportDrivers
Visitor for printing driver information in a human-readable format.
class ReportPorts
Visitor for printing port information in a human-readable format.
class ReportVariables
Visitor for printing variable information in a human-readable format.
struct select_all
A predicate for selecting edges in a depth-first search.
class State
struct SymbolReference
Extracted identity of an AST symbol, decoupled from the slang AST.
struct TextLocation
struct Utilities
class ValueTracker
class Variable
struct VariableTracker
struct VisitAll

Enums

enum class NodeKind { None = 0, Port, Variable, Assignment, Conditional, Case, Merge, State }

Typedefs

using DriverList = std::unordered_set<DriverInfo, DriverInfo::Hash>
A list of AST/netlist drivers for a particular range of a symbol.
using DriverListHandle = uint32_t
using ValueDrivers = std::vector<DriverMap>
Per-value symbol ValueDriverMaps.

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)
Print a debug message with the current file and line number.
template<typename... T>
void InfoMessage(fmt::format_string<T...> fmt, T && ... args)
Print an informational message.
static auto toString(DriverBitRange const& range) -> std::string
static auto toString(std::pair<int32_t, int32_t> bounds) -> std::string

Enum documentation

enum class slang::netlist::NodeKind

Typedef documentation

using slang::netlist::DriverList = std::unordered_set<DriverInfo, DriverInfo::Hash>

A list of AST/netlist drivers for a particular range of a symbol.

using slang::netlist::DriverListHandle = uint32_t

An identifier held by the interval map corresponding to the separately-allocated driver list.

using slang::netlist::ValueDrivers = std::vector<DriverMap>

Per-value symbol ValueDriverMaps.

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)

Print a debug message with the current file and line number.

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

Print an informational message.

static std::string slang::netlist::toString(DriverBitRange const& range)

static std::string slang::netlist::toString(std::pair<int32_t, int32_t> bounds)