VariableTracker struct
#include <netlist/VariableTracker.hpp>
Track netlist nodes that represent ranges of variables.
Inserts happen during Phase 1 (sequential). Lookups may happen concurrently during Phase 2 and are lock-free reads into the concurrent map.
Public types
- using VariableMap = IntervalMap<int32_t, NetlistNode*>
Constructors, destructors, conversion operators
Public functions
- auto insert(ast::Symbol const& symbol, DriverBitRange bounds, NetlistNode& node) -> auto
- auto lookup(ast::Symbol const& symbol, DriverBitRange bounds) const -> NetlistNode*
- Lookup a symbol and return the node for the matching range.
- auto lookup(ast::Symbol const& symbol) const -> std::vector<NetlistNode*>
- Lookup a symbol and return the nodes for all mapped ranges.
Function documentation
auto slang:: netlist:: VariableTracker:: insert(ast::Symbol const& symbol,
DriverBitRange bounds,
NetlistNode& node)
Insert a new symbol with a node that maps to the specified bounds. Must only be called during the sequential phase.