phanrahan/magma

[MLIR] Tuple (integer) key names not allowed

Closed this issue · 1 comments

import magma as m


class Foo(m.Circuit):
    T = m.Tuple[m.Bit, m.Bits[8]]
    io = m.IO(I=m.In(T), O=m.Out(T))
    io.O[0] @= ~io.I[0]
    io.O[1] @= io.I[1] ^ 0xFF


m.compile("build/Foo", Foo, output="mlir-verilog")
<stdin>:2:35: error: expected valid keyword
    hw.module @Foo(%I: !hw.struct<0: i1, 1: i8>) -> (O: !hw.struct<0: i1, 1: i8>) {
                                  ^

CIRCT doesn't support integer key names for generating verilog

Fixed by #1260