|
CIRCT 22.0.0git
|
#include <DatapathOps.h>

Public Member Functions | |
| CompressorTree (size_t width, const SmallVector< SmallVector< Value > > &addends, Location loc) | |
| size_t | getWidth () const |
| size_t | getMaxHeight () const |
| size_t | getNextStageTargetHeight () const |
| LogicalResult | withInputDelays (llvm::function_ref< FailureOr< int64_t >(Value)> getDelay) |
| SmallVector< Value > | compressToHeight (OpBuilder &builder, size_t targetHeight) |
| void | dump () const |
Private Member Functions | |
| SmallVector< Value > | columnsToAddends (OpBuilder &builder, size_t targetHeight) |
| SmallVector< Value > | compressUsingTiming (OpBuilder &builder, size_t targetHeight) |
| std::pair< CompressorBit, CompressorBit > | fullAdderWithDelay (OpBuilder &builder, CompressorBit a, CompressorBit b, CompressorBit c) |
| std::pair< CompressorBit, CompressorBit > | halfAdderWithDelay (OpBuilder &builder, CompressorBit a, CompressorBit b) |
Private Attributes | |
| SmallVector< SmallVector< CompressorBit > > | columns |
| const size_t | width |
| size_t | numStages |
| size_t | numFullAdders |
| Location | loc |
Definition at line 31 of file DatapathOps.h.
| CompressorTree::CompressorTree | ( | size_t | width, |
| const SmallVector< SmallVector< Value > > & | addends, | ||
| Location | loc | ||
| ) |
Definition at line 115 of file DatapathOps.cpp.
References assert(), columns, circt::comb::computeKnownBits(), circt::datapath::CompressorBit::val, and width.
|
private |
Definition at line 175 of file DatapathOps.cpp.
References columns, hw.ConstantOp::create(), getMaxHeight(), loc, and width.
Referenced by compressToHeight(), and compressUsingTiming().
| SmallVector< Value > CompressorTree::compressToHeight | ( | OpBuilder & | builder, |
| size_t | targetHeight | ||
| ) |
Definition at line 202 of file DatapathOps.cpp.
References columnsToAddends(), compressUsingTiming(), and getMaxHeight().
|
private |
Definition at line 218 of file DatapathOps.cpp.
References columns, columnsToAddends(), dump(), fullAdderWithDelay(), getMaxHeight(), getNextStageTargetHeight(), halfAdderWithDelay(), numStages, and width.
Referenced by compressToHeight().
| void CompressorTree::dump | ( | ) | const |
Definition at line 298 of file DatapathOps.cpp.
References columns, getMaxHeight(), getNextStageTargetHeight(), numFullAdders, numStages, and width.
Referenced by compressUsingTiming().
|
private |
Definition at line 75 of file DatapathOps.cpp.
References circt::datapath::CompressorBit::delay, loc, numFullAdders, and circt::datapath::CompressorBit::val.
Referenced by compressUsingTiming().
| size_t CompressorTree::getMaxHeight | ( | ) | const |
Definition at line 153 of file DatapathOps.cpp.
References columns.
Referenced by columnsToAddends(), compressToHeight(), compressUsingTiming(), dump(), and getNextStageTargetHeight().
| size_t CompressorTree::getNextStageTargetHeight | ( | ) | const |
Definition at line 163 of file DatapathOps.cpp.
References getMaxHeight().
Referenced by compressUsingTiming(), and dump().
|
inline |
Definition at line 38 of file DatapathOps.h.
References columns.
|
private |
Definition at line 100 of file DatapathOps.cpp.
References circt::datapath::CompressorBit::delay, loc, and circt::datapath::CompressorBit::val.
Referenced by compressUsingTiming().
| LogicalResult CompressorTree::withInputDelays | ( | llvm::function_ref< FailureOr< int64_t >(Value)> | getDelay | ) |
Definition at line 140 of file DatapathOps.cpp.
References columns.
|
private |
Definition at line 58 of file DatapathOps.h.
Referenced by columnsToAddends(), CompressorTree(), compressUsingTiming(), dump(), getMaxHeight(), getWidth(), and withInputDelays().
|
private |
Definition at line 70 of file DatapathOps.h.
Referenced by columnsToAddends(), fullAdderWithDelay(), and halfAdderWithDelay().
|
private |
Definition at line 67 of file DatapathOps.h.
Referenced by dump(), and fullAdderWithDelay().
|
private |
Definition at line 64 of file DatapathOps.h.
Referenced by compressUsingTiming(), and dump().
|
private |
Definition at line 61 of file DatapathOps.h.
Referenced by columnsToAddends(), CompressorTree(), compressUsingTiming(), and dump().