CIRCT 24.0.0git
Loading...
Searching...
No Matches
ConvertCellOp Struct Reference
Inheritance diagram for ConvertCellOp:
Collaboration diagram for ConvertCellOp:

Public Member Functions

LogicalResult matchAndRewrite (CellInterface cell, ArrayRef< Value > operands, ConversionPatternRewriter &rewriter) const override

Private Member Functions

void convertPrimitiveOp (Operation *op, SmallVectorImpl< Value > &wires, ImplicitLocOpBuilder &b) const
template<typename OpTy, typename ResultTy>
void convertArithBinaryOp (OpTy op, SmallVectorImpl< Value > &wires, ImplicitLocOpBuilder &b) const
template<typename OpTy>
void convertCompareBinaryOp (OpTy op, ICmpPredicate pred, SmallVectorImpl< Value > &wires, ImplicitLocOpBuilder &b) const
template<typename SrcOpTy, typename TargetOpTy>
void convertPipelineOp (SrcOpTy op, SmallVectorImpl< Value > &wires, ImplicitLocOpBuilder &b) const
ReadInOutOp wireIn (Value source, StringRef instanceName, StringRef portName, ImplicitLocOpBuilder &b) const
ReadInOutOp wireOut (Value source, StringRef instanceName, StringRef portName, ImplicitLocOpBuilder &b) const
CompRegOp reg (Value source, Value clock, Value reset, const Twine &name, ImplicitLocOpBuilder &b) const
CompRegClockEnabledOp regCe (Value source, Value clock, Value ce, Value reset, const Twine &name, ImplicitLocOpBuilder &b) const
std::string createName (StringRef instanceName, StringRef portName) const

Detailed Description

Definition at line 163 of file CalyxToHW.cpp.

Member Function Documentation

◆ convertArithBinaryOp()

template<typename OpTy, typename ResultTy>
void ConvertCellOp::convertArithBinaryOp ( OpTy op,
SmallVectorImpl< Value > & wires,
ImplicitLocOpBuilder & b ) const
inlineprivate

Definition at line 350 of file CalyxToHW.cpp.

References wireIn(), and wireOut().

Referenced by convertPrimitiveOp().

◆ convertCompareBinaryOp()

template<typename OpTy>
void ConvertCellOp::convertCompareBinaryOp ( OpTy op,
ICmpPredicate pred,
SmallVectorImpl< Value > & wires,
ImplicitLocOpBuilder & b ) const
inlineprivate

Definition at line 364 of file CalyxToHW.cpp.

References wireIn(), and wireOut().

Referenced by convertPrimitiveOp().

◆ convertPipelineOp()

template<typename SrcOpTy, typename TargetOpTy>
void ConvertCellOp::convertPipelineOp ( SrcOpTy op,
SmallVectorImpl< Value > & wires,
ImplicitLocOpBuilder & b ) const
inlineprivate

Definition at line 379 of file CalyxToHW.cpp.

References createName(), circt::comb::createOrFoldNot(), reg(), regCe(), wireIn(), and wireOut().

Referenced by convertPrimitiveOp().

◆ convertPrimitiveOp()

void ConvertCellOp::convertPrimitiveOp ( Operation * op,
SmallVectorImpl< Value > & wires,
ImplicitLocOpBuilder & b ) const
inlineprivate

◆ createName()

std::string ConvertCellOp::createName ( StringRef instanceName,
StringRef portName ) const
inlineprivate

Definition at line 442 of file CalyxToHW.cpp.

Referenced by convertPipelineOp(), wireIn(), and wireOut().

◆ matchAndRewrite()

LogicalResult ConvertCellOp::matchAndRewrite ( CellInterface cell,
ArrayRef< Value > operands,
ConversionPatternRewriter & rewriter ) const
inlineoverride

Definition at line 167 of file CalyxToHW.cpp.

References assert(), convertPrimitiveOp(), and success().

◆ reg()

CompRegOp ConvertCellOp::reg ( Value source,
Value clock,
Value reset,
const Twine & name,
ImplicitLocOpBuilder & b ) const
inlineprivate

Definition at line 428 of file CalyxToHW.cpp.

References hw.ConstantOp::create().

Referenced by convertPipelineOp(), and convertPrimitiveOp().

◆ regCe()

CompRegClockEnabledOp ConvertCellOp::regCe ( Value source,
Value clock,
Value ce,
Value reset,
const Twine & name,
ImplicitLocOpBuilder & b ) const
inlineprivate

Definition at line 434 of file CalyxToHW.cpp.

References hw.ConstantOp::create().

Referenced by convertPipelineOp(), and convertPrimitiveOp().

◆ wireIn()

ReadInOutOp ConvertCellOp::wireIn ( Value source,
StringRef instanceName,
StringRef portName,
ImplicitLocOpBuilder & b ) const
inlineprivate

◆ wireOut()

ReadInOutOp ConvertCellOp::wireOut ( Value source,
StringRef instanceName,
StringRef portName,
ImplicitLocOpBuilder & b ) const
inlineprivate

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