CIRCT 24.0.0git
Loading...
Searching...
No Matches
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:

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< DelayType > getArrivalTimes () const
const CutRewritePattern * getPattern () const
 Get the library pattern that was matched.
double getArea () const
 Get the area cost of using this pattern.

Private Attributes

const CutRewritePattern * pattern = 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 358 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 370 of file CutRewriter.h.

References area, arrivalTimes, and pattern.

Member Function Documentation

◆ getArea()

double MatchedPattern::getArea ( ) const

Get the area cost of using this pattern.

Definition at line 708 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 698 of file CutRewriter.cpp.

References arrivalTimes, assert(), and pattern.

◆ getArrivalTimes()

ArrayRef< DelayType > MatchedPattern::getArrivalTimes ( ) const

Definition at line 693 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 703 of file CutRewriter.cpp.

References assert(), and pattern.

Member Data Documentation

◆ area

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

Area cost of this pattern.

Definition at line 363 of file CutRewriter.h.

Referenced by getArea(), and MatchedPattern().

◆ arrivalTimes

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

Arrival times of outputs from this pattern.

Definition at line 362 of file CutRewriter.h.

Referenced by getArrivalTime(), getArrivalTimes(), and MatchedPattern().

◆ pattern

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

The matched library pattern.

Definition at line 360 of file CutRewriter.h.

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


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