namespace
netlist
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_class CycleDetector
all> - Class for reporting all cycles in a directed graph.
- struct DataFlowAnalysis
- A data flow analysis used as part of the netlist graph construction.
-
template<class NodeType, class EdgeType, class Visitor, class EdgePredicate = select_class DepthFirstSearch
all> -
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 IntervalMapUtils
- Utility class for working with IntervalMaps.
- class Merge
- 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 represening a path traversing nodes in the netlist.
- struct NetlistVisitor
- Visitor for building the netlist graph from the AST.
-
template<class NodeType, class EdgeType>class Node
- A class to represent a node in a directed graph.
- class PathFinder
- struct PendingLvalue
- struct PendingRvalue
- class Port
- struct select_all
- A predicate for selecting edges in a depth-first search.
- class State
- class SymbolVisitor
- Visitor for printing symbol information in a human-readable format.
Enums
- enum class NodeKind { None = 0, Port, Assignment, Conditional, Case, Merge, State }
Typedefs
- using SymbolLSPMap = IntervalMap<uint64_t, const ast::Expression*, 8>
- using SymbolSlotMap = std::map<const ast::ValueSymbol*, uint32_t>
- using SymbolDriverMap = IntervalMap<uint64_t, NetlistNode*, 8>
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.
Enum documentation
enum class slang:: netlist:: NodeKind
#include <netlist/NetlistNode.hpp>
Typedef documentation
using slang:: netlist:: SymbolLSPMap = IntervalMap<uint64_t, const ast::Expression*, 8>
#include <netlist/DataFlowAnalysis.hpp>
using slang:: netlist:: SymbolSlotMap = std::map<const ast::ValueSymbol*, uint32_t>
#include <netlist/NetlistGraph.hpp>
using slang:: netlist:: SymbolDriverMap = IntervalMap<uint64_t, NetlistNode*, 8>
#include <netlist/NetlistGraph.hpp>
Function documentation
const char* slang:: netlist:: file_name(const char* file)
#include <netlist/Debug.hpp>
#include <netlist/Debug.hpp>
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.
#include <netlist/Debug.hpp>
template<typename... T>
void slang:: netlist:: InfoMessage(fmt::format_string<T...> fmt,
T && ... args)
Print an informational message.