Ejemplo n.º 1
0
def test_pymtl_packed_array():
    class B(BitStruct):
        def __init__(s, foo=42):
            s.foo = [Bits32(foo) for _ in range(5)]

    class A(Component):
        def construct(s):
            s.in_ = InPort(B)

    a = A()
    a.elaborate()
    assert rdt.Struct( 'B', {'foo':rdt.PackedArray([5], rdt.Vector(32))}, ['foo'] ) == \
           rdt.get_rtlir_dtype( a.in_ )
Ejemplo n.º 2
0
def test_pymtl_packed_array():
    @bitstruct
    class B:
        foo: [Bits32] * 5

    class A(Component):
        def construct(s):
            s.in_ = InPort(B)

    a = A()
    a.elaborate()
    assert rdt.Struct( 'B', {'foo':rdt.PackedArray([5], rdt.Vector(32))} ) == \
           rdt.get_rtlir_dtype( a.in_ )
Ejemplo n.º 3
0
def test_pymtl_packed_array():
    a = CasePackedArrayStructPortOnly.DUT()
    a.elaborate()
    assert rdt.get_rtlir_dtype( a.in_ ) == \
        rdt.Struct( Bits32x5Foo, {'foo':rdt.PackedArray([5], rdt.Vector(32))} )