CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Attributes | List of all members
circt::synth::CutRewriterOptions Struct Reference

Configuration options for the cut-based rewriting algorithm. More...

#include <CutRewriter.h>

Collaboration diagram for circt::synth::CutRewriterOptions:
Collaboration graph
[legend]

Public Attributes

OptimizationStrategy strategy
 Optimization strategy (area vs. timing).
 
unsigned maxCutInputSize
 Maximum number of inputs allowed for any cut.
 
unsigned maxCutSizePerRoot
 Maximum number of cuts to maintain per logic node.
 
bool allowNoMatch = false
 Fail if there is a root operation that has no matching pattern.
 
bool attachDebugTiming = false
 Put arrival times to rewritten operations.
 
bool testPriorityCuts = false
 Run priority cuts enumeration and dump the cut sets.
 

Detailed Description

Configuration options for the cut-based rewriting algorithm.

These options control various aspects of the rewriting process including optimization strategy, resource limits, and algorithmic parameters.

Definition at line 228 of file CutRewriter.h.

Member Data Documentation

◆ allowNoMatch

bool circt::synth::CutRewriterOptions::allowNoMatch = false

Fail if there is a root operation that has no matching pattern.

Definition at line 243 of file CutRewriter.h.

Referenced by circt::synth::CutRewriter::runBottomUpRewrite(), and GenericLUTMapperPass::runOnOperation().

◆ attachDebugTiming

bool circt::synth::CutRewriterOptions::attachDebugTiming = false

Put arrival times to rewritten operations.

Definition at line 246 of file CutRewriter.h.

Referenced by circt::synth::CutRewriter::runBottomUpRewrite(), and GenericLUTMapperPass::runOnOperation().

◆ maxCutInputSize

unsigned circt::synth::CutRewriterOptions::maxCutInputSize

Maximum number of inputs allowed for any cut.

Larger cuts provide more optimization opportunities but increase computational complexity exponentially.

Definition at line 235 of file CutRewriter.h.

Referenced by circt::synth::CutSet::finalize(), circt::synth::CutRewriter::run(), GenericLUTMapperPass::runOnOperation(), and circt::synth::CutEnumerator::visitLogicOp().

◆ maxCutSizePerRoot

unsigned circt::synth::CutRewriterOptions::maxCutSizePerRoot

Maximum number of cuts to maintain per logic node.

The priority cuts algorithm keeps only the most promising cuts to prevent exponential explosion.

Definition at line 240 of file CutRewriter.h.

Referenced by circt::synth::CutSet::finalize(), circt::synth::CutRewriter::run(), and GenericLUTMapperPass::runOnOperation().

◆ strategy

OptimizationStrategy circt::synth::CutRewriterOptions::strategy

Optimization strategy (area vs. timing).

Definition at line 230 of file CutRewriter.h.

Referenced by circt::synth::CutRewriter::patternMatchCut(), circt::synth::CutRewriter::run(), and GenericLUTMapperPass::runOnOperation().

◆ testPriorityCuts

bool circt::synth::CutRewriterOptions::testPriorityCuts = false

Run priority cuts enumeration and dump the cut sets.

Definition at line 249 of file CutRewriter.h.

Referenced by circt::synth::CutRewriter::run().


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