def __init__(self): self.ctxt = mlir.ir.Context() with self.ctxt, mlir.ir.Location.unknown(): circt.register_dialects(self.ctxt) self.mod = mlir.ir.Module.create() super().__init__(self.mod) self.get_types() with mlir.ir.InsertionPoint(self.body): self.declare_externs() self.top_module()
# REQUIRES: bindings_python # RUN: %PYTHON% %s | FileCheck %s import circt from circt.support import connect from circt.dialects import hw from mlir.ir import * from mlir.passmanager import PassManager import sys with Context() as ctx, Location.unknown(): circt.register_dialects(ctx) i32 = IntegerType.get_signless(32) m = Module.create() with InsertionPoint(m.body): one_input = hw.HWModuleOp( name="one_input", input_ports=[("a", i32)], body_builder=lambda m: hw.OutputOp([]), ) one_output = hw.HWModuleOp( name="one_output", output_ports=[("a", i32)], body_builder=lambda m: hw.OutputOp( [hw.ConstantOp.create(i32, 46).result]), ) input_output = hw.HWModuleOp(
from .appid import * from .module import * from .devicedb import * from .system import * from .pycde_types import * from .value import * from circt.support import connect import mlir.ir import circt import atexit # Push a default context onto the context stack at import time. DefaultContext = mlir.ir.Context() DefaultContext.__enter__() circt.register_dialects(DefaultContext) DefaultContext.allow_unregistered_dialects = True @atexit.register def __exit_ctxt(): DefaultContext.__exit__(None, None, None) # Until we get source location based on Python stack traces, default to unknown # locations. DefaultLocation = mlir.ir.Location.unknown() DefaultLocation.__enter__() @atexit.register