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)
 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.
 
DelayType getDelay (unsigned inputIndex, unsigned outputIndex) const
 Get the delay between specific input and output pins.
 

Private Attributes

const CutRewritePatternpattern = nullptr
 The matched library pattern.
 
SmallVector< DelayType, 1 > arrivalTimes
 Arrival times of outputs from 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 67 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 
)
inline

Constructor for a valid matched pattern.

Definition at line 78 of file CutRewriter.h.

Member Function Documentation

◆ getArea()

double MatchedPattern::getArea ( ) const

Get the area cost of using this pattern.

Definition at line 438 of file CutRewriter.cpp.

References assert(), circt::synth::CutRewritePattern::getArea(), and pattern.

◆ getArrivalTime()

DelayType MatchedPattern::getArrivalTime ( unsigned  outputIndex) const

Get the arrival time of signals through this pattern.

Definition at line 428 of file CutRewriter.cpp.

References arrivalTimes, assert(), and pattern.

◆ getArrivalTimes()

ArrayRef< DelayType > MatchedPattern::getArrivalTimes ( ) const

Definition at line 423 of file CutRewriter.cpp.

References arrivalTimes, assert(), and pattern.

◆ getDelay()

DelayType MatchedPattern::getDelay ( unsigned  inputIndex,
unsigned  outputIndex 
) const

Get the delay between specific input and output pins.

Definition at line 443 of file CutRewriter.cpp.

References assert(), circt::synth::CutRewritePattern::getDelay(), and pattern.

◆ getPattern()

const CutRewritePattern * MatchedPattern::getPattern ( ) const

Get the library pattern that was matched.

Definition at line 433 of file CutRewriter.cpp.

References assert(), and pattern.

◆ getWorstOutputArrivalTime()

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

Member Data Documentation

◆ arrivalTimes

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

Arrival times of outputs from this pattern.

Definition at line 71 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 69 of file CutRewriter.h.

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


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