slang-netlist  0.9.0
Loading...
Searching...
No Matches
slang::netlist::BuilderOptions Struct Reference

Caller-supplied options that tune how the netlist graph is built. More...

#include <BuilderOptions.hpp>

Public Attributes

bool resolveAssignBits = true
bool propCutsAcrossPorts = true
bool parallel = true
unsigned numThreads = 0
std::size_t parallelRValueThreshold = 1000
std::vector< std::string > blackBoxes

Detailed Description

Caller-supplied options that tune how the netlist graph is built.

Member Data Documentation

◆ blackBoxes

std::vector<std::string> slang::netlist::BuilderOptions::blackBoxes

Glob patterns (*, ?) matched against each instance's definition name and hierarchical path. Matched instances get port nodes and external wiring but their body is not visited, so paths terminate at the boundary.

◆ numThreads

unsigned slang::netlist::BuilderOptions::numThreads = 0

Size of the thread pool used when parallel is true. 0 (default) means use hardware concurrency.

◆ parallel

bool slang::netlist::BuilderOptions::parallel = true

When true (default), dispatch deferred DFA work items in parallel across a thread pool during Phase 2 of the build, and use the parallel R-value resolution path in Phase 4 when the pending R-value count exceeds parallelRValueThreshold.

◆ parallelRValueThreshold

std::size_t slang::netlist::BuilderOptions::parallelRValueThreshold = 1000

Minimum number of pending R-values required before Phase 4 uses the parallel resolution path.

◆ propCutsAcrossPorts

bool slang::netlist::BuilderOptions::propCutsAcrossPorts = true

When true (default), propagate concat-induced cut points across module port boundaries so that paths through concatenated ports stay bit-precise. When false, port nodes and module-internal assignments are whole-word at port boundaries.

◆ resolveAssignBits

bool slang::netlist::BuilderOptions::resolveAssignBits = true

When true (default), decompose concatenations, replications, conversions, and equal-width conditional operators so that bit-level dependencies between assignment LHS and RHS (and across port connections) are preserved. When false, each LSP on one side of an assignment fans into every LSP on the other side, matching the behaviour of releases before bit-aligned resolution landed.


The documentation for this struct was generated from the following file: