CIRCT  20.0.0git
Public Member Functions | List of all members
hw.ModuleLike Class Reference
Inheritance diagram for hw.ModuleLike:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self, name, input_ports=[], output_ports=[], *parameters=[], attributes={}, body_builder=None, loc=None, ip=None)
 
def type (self)
 
def name (self)
 
def is_external (self)
 
list[ParamDeclAttr] parameters (self)
 
def instantiate (self, str name, Dict[str, object] parameters={}, results=None, sym_name=None, loc=None, ip=None, **kwargs)
 

Detailed Description

Custom Python base class for module-like operations.

Definition at line 113 of file hw.py.

Constructor & Destructor Documentation

◆ __init__()

def hw.ModuleLike.__init__ (   self,
  name,
  input_ports = [],
  output_ports = [],
parameters = [],
  attributes = {},
  body_builder = None,
  loc = None,
  ip = None 
)
Create a module-like with the provided `name`, `input_ports`, and
`output_ports`.
- `name` is a string representing the module name.
- `input_ports` is a list of pairs of string names and mlir.ir types.
- `output_ports` is a list of pairs of string names and mlir.ir types.
- `body_builder` is an optional callback, when provided a new entry block
  is created and the callback is invoked with the new op as argument within
  an InsertionPoint context already set for the block. The callback is
  expected to insert a terminator in the block.

Reimplemented in hw.HWModuleExternOp, and hw.HWModuleOp.

Definition at line 116 of file hw.py.

References hw._create_output_op(), esi.ESIPureModuleOp.add_entry_block(), handshake.FuncOp.add_entry_block(), and hw.HWModuleOp.add_entry_block().

Member Function Documentation

◆ instantiate()

def hw.ModuleLike.instantiate (   self,
str  name,
Dict[str, object]   parameters = {},
  results = None,
  sym_name = None,
  loc = None,
  ip = None,
**  kwargs 
)

Definition at line 208 of file hw.py.

◆ is_external()

def hw.ModuleLike.is_external (   self)

Definition at line 199 of file hw.py.

References esi::services::MMIO.regions.

Referenced by hw.HWModuleOp.add_entry_block().

◆ name()

def hw.ModuleLike.name (   self)

Definition at line 195 of file hw.py.

References circt::calyx::PortInfo.attributes.

Referenced by inlineInputOnly().

◆ parameters()

list[ParamDeclAttr] hw.ModuleLike.parameters (   self)

Definition at line 203 of file hw.py.

References circt::calyx::PortInfo.attributes.

◆ type()

def hw.ModuleLike.type (   self)

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