In [1]:
import magma as m
import mantle
class Combinational(m.Circuit):
name = "Combinational"
IO = ["x", m.In(m.UInt[16]), "y", m.In(m.UInt[16]), "z", m.Out(m.UInt[16])]
@classmethod
def definition(io):
m.wire(io.x + io.y, io.z)
In [2]:
from magma.simulator.python_simulator import PythonSimulator
from bit_vector import BitVector
simulator = PythonSimulator(Combinational, clock=None)
simulator.set_value(Combinational.x, 76)
simulator.set_value(Combinational.y, 43)
simulator.evaluate()
assert simulator.get_value(Combinational.z) == 76 + 43
print("Success!")
In [3]:
m.compile("build/Combinational", Combinational, output="coreir")
%cat build/Combinational.json