CIRCT  20.0.0git
Namespaces | Macros | Functions
InjectDUTHierarchy.cpp File Reference
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/Passes.h"
#include "mlir/Pass/Pass.h"
#include "circt/Dialect/FIRRTL/AnnotationDetails.h"
#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"
#include "circt/Dialect/FIRRTL/NLATable.h"
#include "circt/Dialect/FIRRTL/Namespace.h"
#include "circt/Dialect/HW/HWAttributes.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/HW/InnerSymbolNamespace.h"
#include "circt/Support/Debug.h"
#include "llvm/Support/Debug.h"
#include "circt/Dialect/FIRRTL/Passes.h.inc"
Include dependency graph for InjectDUTHierarchy.cpp:

Go to the source code of this file.

Namespaces

 circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
 circt::firrtl
 

Macros

#define DEBUG_TYPE   "firrtl-inject-dut-hier"
 
#define GEN_PASS_DEF_INJECTDUTHIERARCHY
 

Functions

static void addHierarchy (hw::HierPathOp path, FModuleOp dut, InstanceOp wrapperInst)
 Add an extra level of hierarchy to a hierarchical path that places the wrapper instance after the DUT. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "firrtl-inject-dut-hier"

Definition at line 29 of file InjectDUTHierarchy.cpp.

◆ GEN_PASS_DEF_INJECTDUTHIERARCHY

#define GEN_PASS_DEF_INJECTDUTHIERARCHY

Definition at line 33 of file InjectDUTHierarchy.cpp.

Function Documentation

◆ addHierarchy()

static void addHierarchy ( hw::HierPathOp  path,
FModuleOp  dut,
InstanceOp  wrapperInst 
)
static

Add an extra level of hierarchy to a hierarchical path that places the wrapper instance after the DUT.

E.g., this is converting:

firrtl.hierpath [@Top::@dut, @DUT]

Int:

firrtl.hierpath [@Top::@dut, @DUT::@wrapper, @Wrapper]

Definition at line 56 of file InjectDUTHierarchy.cpp.

References circt::calyx::direction::get(), and circt::firrtl::getInnerSymName().