CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
circt::synth::MatchedPattern Class Reference

Represents a cut that has been successfully matched to a rewriting pattern. More...

#include <CutRewriter.h>

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

Public Member Functions

 MatchedPattern ()=default
 Default constructor creates an invalid matched pattern.
 
 MatchedPattern (const CutRewritePattern *pattern, SmallVector< DelayType, 1 > arrivalTimes, double area)
 Constructor for a valid matched pattern.
 
DelayType getArrivalTime (unsigned outputIndex) const
 Get the arrival time of signals through this pattern.
 
ArrayRef< DelayTypegetArrivalTimes () const
 
DelayType getWorstOutputArrivalTime () const
 
const CutRewritePatterngetPattern () const
 Get the library pattern that was matched.
 
double getArea () const
 Get the area cost of using this pattern.
 

Private Attributes

const CutRewritePatternpattern = nullptr
 The matched library pattern.
 
SmallVector< DelayType, 1 > arrivalTimes
 Arrival times of outputs from this pattern.
 
double area = 0.0
 Area cost of this pattern.
 

Detailed Description

Represents a cut that has been successfully matched to a rewriting pattern.

This class encapsulates the result of matching a cut against a rewriting pattern during optimization. It stores the matched pattern, the cut that was matched, and timing information needed for optimization.

Definition at line 119 of file CutRewriter.h.

Constructor & Destructor Documentation

◆ MatchedPattern() [1/2]

circt::synth::MatchedPattern::MatchedPattern ( )
default

Default constructor creates an invalid matched pattern.

◆ MatchedPattern() [2/2]

circt::synth::MatchedPattern::MatchedPattern ( const CutRewritePattern pattern,
SmallVector< DelayType, 1 >  arrivalTimes,
double  area 
)
inline

Constructor for a valid matched pattern.

Definition at line 131 of file CutRewriter.h.

Member Function Documentation

◆ getArea()

double MatchedPattern::getArea ( ) const

Get the area cost of using this pattern.

Definition at line 441 of file CutRewriter.cpp.

References area, assert(), and pattern.

◆ getArrivalTime()

DelayType MatchedPattern::getArrivalTime ( unsigned  outputIndex) const

Get the arrival time of signals through this pattern.

Definition at line 431 of file CutRewriter.cpp.

References arrivalTimes, assert(), and pattern.

◆ getArrivalTimes()

ArrayRef< DelayType > MatchedPattern::getArrivalTimes ( ) const

Definition at line 426 of file CutRewriter.cpp.

References arrivalTimes, assert(), and pattern.

◆ getPattern()

const CutRewritePattern * MatchedPattern::getPattern ( ) const

Get the library pattern that was matched.

Definition at line 436 of file CutRewriter.cpp.

References assert(), and pattern.

◆ getWorstOutputArrivalTime()

DelayType circt::synth::MatchedPattern::getWorstOutputArrivalTime ( ) const

Member Data Documentation

◆ area

double circt::synth::MatchedPattern::area = 0.0
private

Area cost of this pattern.

Definition at line 124 of file CutRewriter.h.

Referenced by getArea().

◆ arrivalTimes

SmallVector<DelayType, 1> circt::synth::MatchedPattern::arrivalTimes
private

Arrival times of outputs from this pattern.

Definition at line 123 of file CutRewriter.h.

Referenced by getArrivalTime(), and getArrivalTimes().

◆ pattern

const CutRewritePattern* circt::synth::MatchedPattern::pattern = nullptr
private

The matched library pattern.

Definition at line 121 of file CutRewriter.h.

Referenced by getArea(), getArrivalTime(), getArrivalTimes(), and getPattern().


The documentation for this class was generated from the following files: