Ejemplo n.º 1
0
def test_L4_subcomp_attr():
    a = CaseBits32ConnectSubCompAttrComp.DUT()
    a.elaborate()
    a.apply(StructuralRTLIRGenL4Pass(gen_connections(a)))
    ns = a._pass_structural_rtlir_gen
    comp = CurComp(a, 's')
    # The first two signals are clk and reset
    assert ns.connections[2] == \
      (SubCompAttr(CurCompAttr(comp, 'b'), 'out'), CurCompAttr(comp, 'out'))
Ejemplo n.º 2
0
def test_L4_subcomp_index():
    a = CaseBits32ArrayConnectSubCompAttrComp.DUT()
    a.elaborate()
    a.apply(StructuralRTLIRGenL4Pass(gen_connections(a)))
    ns = a._pass_structural_rtlir_gen
    comp = CurComp(a, 's')
    # The first ten signals are clks and resets
    assert ns.connections[10] == \
      (SubCompAttr(ComponentIndex(CurCompAttr(comp, 'b'), 1), 'out'),
        CurCompAttr(comp, 'out'))
def test_L4_subcomp_attr():
    class B(dsl.Component):
        def construct(s):
            s.msg = dsl.OutPort(Bits32)
            dsl.connect(s.msg, 42)

    class A(dsl.Component):
        def construct(s):
            s.b = B()
            s.out = dsl.OutPort(Bits32)
            dsl.connect(s.out, s.b.msg)

    a = A()
    a.elaborate()
    a.apply(StructuralRTLIRGenL4Pass(gen_connections(a)))
    ns = a._pass_structural_rtlir_gen
    comp = CurComp(a, 's')
    # The first two signals are clk and reset
    assert ns.connections[2] == \
      (SubCompAttr(CurCompAttr(comp, 'b'), 'msg'), CurCompAttr(comp, 'out'))
def test_L4_subcomp_index():
    class B(dsl.Component):
        def construct(s):
            s.msg = dsl.OutPort(Bits32)
            dsl.connect(s.msg, 42)

    class A(dsl.Component):
        def construct(s):
            s.b = [B() for _ in range(5)]
            s.out = dsl.OutPort(Bits32)
            dsl.connect(s.out, s.b[1].msg)

    a = A()
    a.elaborate()
    a.apply(StructuralRTLIRGenL4Pass(gen_connections(a)))
    ns = a._pass_structural_rtlir_gen
    comp = CurComp(a, 's')
    # The first ten signals are clks and resets
    assert ns.connections[10] == \
      (SubCompAttr(ComponentIndex(CurCompAttr(comp, 'b'), 1), 'msg'),
        CurCompAttr(comp, 'out'))
Ejemplo n.º 5
0
 def gen_structural_trans_metadata(s, tr_top):
     tr_top.apply(StructuralRTLIRGenL4Pass(s.inst_conns))
Ejemplo n.º 6
0
 def gen_structural_trans_metadata(s, tr_top):
     # c_ss: self-self connections
     # c_sc: self-child connections
     # c_cc: child-child connections
     tr_top.apply(StructuralRTLIRGenL4Pass(s.c_ss, s.c_sc, s.c_cc))