|
CIRCT 22.0.0git
|
Simple technology library encoded as a HWModuleOp. More...


Public Member Functions | |
| TechLibraryPattern (hw::HWModuleOp module, double area, SmallVector< DelayType > delay, NPNClass npnClass) | |
| StringRef | getPatternName () const override |
| Get the name of this pattern. Used for debugging. | |
| std::optional< MatchResult > | match (CutEnumerator &enumerator, const Cut &cut) const override |
| Match the cut set against this library primitive. | |
| bool | useTruthTableMatcher (SmallVectorImpl< NPNClass > &matchingNPNClasses) const override |
| Enable truth table matching for this pattern. | |
| llvm::FailureOr< Operation * > | rewrite (mlir::OpBuilder &builder, CutEnumerator &enumerator, const Cut &cut) const override |
| Rewrite the cut set using this library primitive. | |
| unsigned | getNumInputs () const |
| unsigned | getNumOutputs () const override |
| Get the number of outputs this pattern produces. | |
| LocationAttr | getLoc () const override |
| Get location for this pattern(optional). | |
Public Member Functions inherited from circt::synth::CutRewritePattern | |
| CutRewritePattern (mlir::MLIRContext *context) | |
| virtual | ~CutRewritePattern ()=default |
| Virtual destructor for base class. | |
| mlir::MLIRContext * | getContext () const |
Private Attributes | |
| const double | area |
| const SmallVector< DelayType > | delay |
| hw::HWModuleOp NPNClass | npnClass |
Simple technology library encoded as a HWModuleOp.
Definition at line 88 of file TechMapper.cpp.
|
inline |
Definition at line 89 of file TechMapper.cpp.
|
inlineoverridevirtual |
Get location for this pattern(optional).
Reimplemented from circt::synth::CutRewritePattern.
Definition at line 150 of file TechMapper.cpp.
|
inline |
Definition at line 142 of file TechMapper.cpp.
|
inlineoverridevirtual |
Get the number of outputs this pattern produces.
Implements circt::synth::CutRewritePattern.
Definition at line 146 of file TechMapper.cpp.
|
inlineoverridevirtual |
Get the name of this pattern. Used for debugging.
Reimplemented from circt::synth::CutRewritePattern.
Definition at line 106 of file TechMapper.cpp.
|
inlineoverridevirtual |
Match the cut set against this library primitive.
Implements circt::synth::CutRewritePattern.
Definition at line 112 of file TechMapper.cpp.
References area, delay, circt::NPNClass::equivalentOtherThanPermutation(), circt::synth::Cut::getNPNClass(), and npnClass.
|
inlineoverridevirtual |
Rewrite the cut set using this library primitive.
Implements circt::synth::CutRewritePattern.
Definition at line 128 of file TechMapper.cpp.
References circt::synth::Cut::getPermutatedInputs(), circt::synth::Cut::getRoot(), and npnClass.
|
inlineoverridevirtual |
Enable truth table matching for this pattern.
Reimplemented from circt::synth::CutRewritePattern.
Definition at line 121 of file TechMapper.cpp.
References npnClass.
|
private |
Definition at line 156 of file TechMapper.cpp.
Referenced by match().
|
private |
Definition at line 157 of file TechMapper.cpp.
Referenced by match().
|
private |
Definition at line 159 of file TechMapper.cpp.
Referenced by match(), rewrite(), and useTruthTableMatcher().