|
CIRCT 23.0.0git
|
#include "circt/Analysis/FIRRTLInstanceInfo.h"#include "circt/Dialect/FIRRTL/AnnotationDetails.h"#include "circt/Dialect/FIRRTL/FIRRTLAnnotations.h"#include "circt/Dialect/FIRRTL/FIRRTLInstanceGraph.h"#include "circt/Dialect/FIRRTL/FIRRTLOps.h"#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"#include "circt/Dialect/FIRRTL/Passes.h"#include "circt/Support/Debug.h"#include "mlir/IR/Threading.h"#include "mlir/Pass/Pass.h"#include "llvm/ADT/DenseSet.h"#include "llvm/Support/Debug.h"#include "llvm/Support/LogicalResult.h"#include <atomic>#include "circt/Dialect/FIRRTL/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
| namespace | circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
| namespace | circt::firrtl |
Macros | |
| #define | DEBUG_TYPE "firrtl-full-reset" |
| #define | GEN_PASS_DEF_FULLRESET |
| #define | GEN_PASS_DEF_MEMTOREGOFVEC |
Functions | |
| static std::pair< StringAttr, FModuleOp > | getResetNameAndModule (Value reset) |
| Return the name and parent module of a reset. | |
| static StringAttr | getResetName (Value reset) |
| Return the name of a reset. | |
| bool | operator== (const ResetDomain &a, const ResetDomain &b) |
| bool | operator!= (const ResetDomain &a, const ResetDomain &b) |
| static Value | createZeroValue (ImplicitLocOpBuilder &builder, FIRRTLBaseType type, SmallDenseMap< FIRRTLBaseType, Value > &cache) |
| Construct a zero value of the given type using the given builder. | |
| static Value | createZeroValue (ImplicitLocOpBuilder &builder, FIRRTLBaseType type) |
| Construct a null value of the given type using the given builder. | |
| static bool | insertResetMux (ImplicitLocOpBuilder &builder, Value target, Value reset, Value resetValue) |
Helper function that inserts reset multiplexer into all ConnectOps with the given target. | |
| #define DEBUG_TYPE "firrtl-full-reset" |
Definition at line 29 of file FullReset.cpp.
| #define GEN_PASS_DEF_FULLRESET |
Definition at line 33 of file FullReset.cpp.
| #define GEN_PASS_DEF_MEMTOREGOFVEC |
Definition at line 34 of file FullReset.cpp.
|
static |
Construct a null value of the given type using the given builder.
Definition at line 185 of file FullReset.cpp.
References createZeroValue().
|
static |
Construct a zero value of the given type using the given builder.
Definition at line 112 of file FullReset.cpp.
References circt::firrtl::FIRRTLTypeSwitch< T, ResultT >::Case(), createZeroValue(), circt::firrtl::emitConnect(), and circt::firrtl::FIRRTLBaseType::getConstType().
Referenced by createZeroValue(), and createZeroValue().
|
static |
Return the name of a reset.
The reset value must either be a module port or a wire/node operation.
Definition at line 64 of file FullReset.cpp.
References getResetNameAndModule().
|
static |
Return the name and parent module of a reset.
The reset value must either be a module port or a wire/node operation.
Definition at line 52 of file FullReset.cpp.
Referenced by getResetName().
|
static |
Helper function that inserts reset multiplexer into all ConnectOps with the given target.
Looks through SubfieldOp, SubindexOp, and SubaccessOp, and inserts multiplexers into connects to these subaccesses as well. Modifies the insertion location of the builder. Returns true if the resetValue was used in any way, false otherwise.
Definition at line 196 of file FullReset.cpp.
References insertResetMux().
Referenced by insertResetMux().
|
inline |
Definition at line 107 of file FullReset.cpp.
|
inline |
Definition at line 103 of file FullReset.cpp.