CIRCT 22.0.0git
|
Classes | |
struct | AIGLoweringPipelineOptions |
Options for the aig lowering pipeline. More... | |
struct | AIGOptimizationPipelineOptions |
Options for the aig optimization pipeline. More... | |
class | Cut |
Represents a cut in the combinational logic network. More... | |
class | CutEnumerator |
Cut enumeration engine for combinational logic networks. More... | |
struct | CutRewritePattern |
Base class for cut rewriting patterns used in combinational logic optimization. More... | |
class | CutRewritePatternSet |
Manages a collection of rewriting patterns for combinational logic optimization. More... | |
class | CutRewriter |
Main cut-based rewriting algorithm for combinational logic optimization. More... | |
struct | CutRewriterOptions |
Configuration options for the cut-based rewriting algorithm. More... | |
class | CutSet |
Manages a collection of cuts for a single logic node using priority cuts algorithm. More... | |
class | MatchedPattern |
Represents a cut that has been successfully matched to a rewriting pattern. More... | |
Typedefs | |
using | DelayType = int64_t |
Enumerations | |
enum | OptimizationStrategy { OptimizationStrategyArea , OptimizationStrategyTiming } |
Optimization strategy. More... | |
Functions | |
LogicalResult | topologicallySortLogicNetwork (mlir::Operation *op) |
FailureOr< BinaryTruthTable > | getTruthTable (ValueRange values, Block *block) |
void | buildAIGLoweringPipeline (mlir::OpPassManager &pm, const AIGLoweringPipelineOptions &options) |
Populate the synthesis pipelines. | |
void | buildAIGOptimizationPipeline (mlir::OpPassManager &pm, const AIGOptimizationPipelineOptions &options) |
void | registerSynthesisPipeline () |
Register the synthesis pipelines. | |
Variables | |
static constexpr unsigned | maxTruthTableInputs = 16 |
Maximum number of inputs supported for truth table generation. | |
using circt::synth::DelayType = typedef int64_t |
Definition at line 36 of file CutRewriter.h.
Optimization strategy.
Enumerator | |
---|---|
OptimizationStrategyArea | Optimize for minimal area. |
OptimizationStrategyTiming | Optimize for minimal critical path delay. |
Definition at line 24 of file SynthPasses.h.
void circt::synth::buildAIGLoweringPipeline | ( | mlir::OpPassManager & | pm, |
const AIGLoweringPipelineOptions & | options | ||
) |
Populate the synthesis pipelines.
Referenced by registerSynthesisPipeline().
void circt::synth::buildAIGOptimizationPipeline | ( | mlir::OpPassManager & | pm, |
const AIGOptimizationPipelineOptions & | options | ||
) |
Referenced by registerSynthesisPipeline().
FailureOr< BinaryTruthTable > circt::synth::getTruthTable | ( | ValueRange | values, |
Block * | block | ||
) |
Definition at line 208 of file CutRewriter.cpp.
References computeTruthTable().
Referenced by getNPNClassFromModule().
void circt::synth::registerSynthesisPipeline | ( | void | ) |
Register the synthesis pipelines.
Definition at line 99 of file SynthesisPipeline.cpp.
References buildAIGLoweringPipeline(), and buildAIGOptimizationPipeline().
Referenced by registerSynthesisPipeline().
LogicalResult circt::synth::topologicallySortLogicNetwork | ( | mlir::Operation * | op | ) |
Definition at line 123 of file CutRewriter.cpp.
References isSupportedLogicOp().
Referenced by circt::synth::CutEnumerator::enumerateCuts(), and circt::synth::CutRewriter::run().
|
staticconstexpr |
Maximum number of inputs supported for truth table generation.
This limit prevents excessive memory usage as truth table size grows exponentially with the number of inputs (2^n entries).
Definition at line 41 of file CutRewriter.h.
Referenced by computeTruthTable(), and getNPNClassFromModule().