CIRCT  20.0.0git
Public Member Functions | Private Member Functions | List of all members
ConvertCellOp Struct Reference
Inheritance diagram for ConvertCellOp:
Inheritance graph
[legend]
Collaboration diagram for ConvertCellOp:
Collaboration graph
[legend]

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 162 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.

◆ 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.

◆ 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 circt::comb::createOrFoldNot(), and seq::reg().

◆ 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 440 of file CalyxToHW.cpp.

◆ matchAndRewrite()

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

Definition at line 166 of file CalyxToHW.cpp.

References assert().

◆ reg()

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

Definition at line 426 of file CalyxToHW.cpp.

References hw.ConstantOp::create().

◆ regCe()

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

Definition at line 432 of file CalyxToHW.cpp.

References hw.ConstantOp::create().

◆ wireIn()

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

Definition at line 411 of file CalyxToHW.cpp.

References sv.WireOp::create().

◆ wireOut()

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

Definition at line 418 of file CalyxToHW.cpp.

References sv.WireOp::create(), and sv.AssignOp::create().


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