|
CIRCT 24.0.0git
|
Assist the lowering steps for conversions which need to create auxiliary IR. More...
#include <PassDetails.h>


Public Member Functions | |
| ESIHWBuilder (Operation *top) | |
| ArrayAttr | getStageParameterList (Attribute widthValue, Attribute dataDelayValue) |
| Get the parameter list for the stage module. | |
| hw::HWModuleExternOp | declareStage (Operation *symTable, PipelineStageOp) |
| Write an 'ExternModuleOp' to use a hand-coded SystemVerilog module. | |
| hw::HWModuleExternOp | declareCosimEndpointToHostModule (Operation *symTable) |
| Write an 'ExternModuleOp' to use a hand-coded SystemVerilog module. | |
| hw::HWModuleExternOp | declareCosimEndpointFromHostModule (Operation *symTable) |
Public Attributes | |
| const StringAttr | a |
| const StringAttr | aValid |
| const StringAttr | aReady |
| const StringAttr | x |
| const StringAttr | xValid |
| const StringAttr | xReady |
| const StringAttr | dataOutValid |
| const StringAttr | dataOutReady |
| const StringAttr | dataOut |
| const StringAttr | dataInValid |
| const StringAttr | dataInReady |
| const StringAttr | dataIn |
| const StringAttr | clk |
| const StringAttr | rst |
| const StringAttr | width |
| const StringAttr | dataDelay |
Private Member Functions | |
| Type | getClockType () |
Private Attributes | |
| std::optional< hw::HWModuleExternOp > | declaredCosimEndpointToHostModule |
| std::optional< hw::HWModuleExternOp > | declaredCosimEndpointFromHostModule |
| llvm::DenseMap< Type, hw::HWModuleExternOp > | declaredStage |
Assist the lowering steps for conversions which need to create auxiliary IR.
Definition at line 56 of file PassDetails.h.
| ESIHWBuilder::ESIHWBuilder | ( | Operation * | top | ) |
Definition at line 42 of file ESIPasses.cpp.
References a, aReady, aValid, clk, dataDelay, dataIn, dataInReady, dataInValid, dataOut, dataOutReady, dataOutValid, if(), rst, width, x, xReady, and xValid.
| HWModuleExternOp ESIHWBuilder::declareCosimEndpointFromHostModule | ( | Operation * | symTable | ) |
Definition at line 175 of file ESIPasses.cpp.
References clk, constructUniqueSymbol(), dataOut, dataOutReady, dataOutValid, declaredCosimEndpointFromHostModule, getClockType(), circt::hw::ModulePort::Input, circt::hw::ModulePort::Output, and rst.
| HWModuleExternOp ESIHWBuilder::declareCosimEndpointToHostModule | ( | Operation * | symTable | ) |
Write an 'ExternModuleOp' to use a hand-coded SystemVerilog module.
Said module contains a bi-directional Cosimulation DPI interface with valid/ready semantics.
Definition at line 147 of file ESIPasses.cpp.
References clk, constructUniqueSymbol(), dataIn, dataInReady, dataInValid, declaredCosimEndpointToHostModule, getClockType(), circt::hw::ModulePort::Input, circt::hw::ModulePort::Output, and rst.
| HWModuleExternOp ESIHWBuilder::declareStage | ( | Operation * | symTable, |
| PipelineStageOp | stage ) |
Write an 'ExternModuleOp' to use a hand-coded SystemVerilog module.
Said module implements pipeline stage, adding 1 cycle latency. This particular implementation is double-buffered and fully pipelines the reverse-flow ready signal.
Definition at line 108 of file ESIPasses.cpp.
References a, aReady, aValid, clk, constructUniqueSymbol(), declaredStage, getClockType(), getStageParameterList(), circt::hw::ModulePort::Input, circt::hw::ModulePort::Output, rst, x, xReady, and xValid.
|
private |
Definition at line 202 of file ESIPasses.cpp.
Referenced by declareCosimEndpointFromHostModule(), declareCosimEndpointToHostModule(), and declareStage().
| ArrayAttr ESIHWBuilder::getStageParameterList | ( | Attribute | widthValue, |
| Attribute | dataDelayValue ) |
Get the parameter list for the stage module.
Return a parameter list for the stage module with the specified values.
Values may be null for the declaration.
Definition at line 94 of file ESIPasses.cpp.
References width.
Referenced by declareStage().
| const StringAttr circt::esi::detail::ESIHWBuilder::a |
Definition at line 70 of file PassDetails.h.
Referenced by declareStage(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::aReady |
Definition at line 70 of file PassDetails.h.
Referenced by declareStage(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::aValid |
Definition at line 70 of file PassDetails.h.
Referenced by declareStage(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::clk |
Definition at line 73 of file PassDetails.h.
Referenced by esiaccel.bsp.common.ESI_Manifest_ROM_Wrapper::build(), declareCosimEndpointFromHostModule(), declareCosimEndpointToHostModule(), declareStage(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::dataDelay |
Definition at line 74 of file PassDetails.h.
Referenced by ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::dataIn |
Definition at line 72 of file PassDetails.h.
Referenced by declareCosimEndpointToHostModule(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::dataInReady |
Definition at line 72 of file PassDetails.h.
Referenced by declareCosimEndpointToHostModule(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::dataInValid |
Definition at line 71 of file PassDetails.h.
Referenced by declareCosimEndpointToHostModule(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::dataOut |
Definition at line 71 of file PassDetails.h.
Referenced by declareCosimEndpointFromHostModule(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::dataOutReady |
Definition at line 71 of file PassDetails.h.
Referenced by declareCosimEndpointFromHostModule(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::dataOutValid |
Definition at line 71 of file PassDetails.h.
Referenced by declareCosimEndpointFromHostModule(), and ESIHWBuilder().
|
private |
Definition at line 80 of file PassDetails.h.
Referenced by declareCosimEndpointFromHostModule().
|
private |
Definition at line 79 of file PassDetails.h.
Referenced by declareCosimEndpointToHostModule().
|
private |
Definition at line 81 of file PassDetails.h.
Referenced by declareStage().
| const StringAttr circt::esi::detail::ESIHWBuilder::rst |
Definition at line 73 of file PassDetails.h.
Referenced by declareCosimEndpointFromHostModule(), declareCosimEndpointToHostModule(), declareStage(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::width |
Definition at line 74 of file PassDetails.h.
Referenced by ESIHWBuilder(), tests.integration.test_hostmem_read._Dut::expected(), and getStageParameterList().
| const StringAttr circt::esi::detail::ESIHWBuilder::x |
Definition at line 70 of file PassDetails.h.
Referenced by declareStage(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::xReady |
Definition at line 70 of file PassDetails.h.
Referenced by declareStage(), and ESIHWBuilder().
| const StringAttr circt::esi::detail::ESIHWBuilder::xValid |
Definition at line 70 of file PassDetails.h.
Referenced by declareStage(), and ESIHWBuilder().