Beispiel #1
0
def setup_waveform(m, *uuts):
    new_uuts = []
    for uut in uuts:
        if isinstance(uut, (tuple, list)):
            for u in uut:
                if isinstance(u, vtypes._Variable) and u.length is not None:
                    continue
                new_uuts.append(u)
        elif isinstance(uut, dict):
            _uut = list(uut.values())
            for u in _uut:
                if isinstance(u, vtypes._Variable) and u.length is not None:
                    continue
                new_uuts.append(u)
        elif isinstance(uut, submodule.Submodule):
            new_uuts.append(uut.inst)
        else:
            if isinstance(uut, vtypes._Variable) and uut.length is not None:
                continue
            new_uuts.append(uut)

    uuts = new_uuts
    ret = m.Initial(vtypes.Systask('dumpfile', 'uut.vcd'),
                    vtypes.Systask('dumpvars', 0, *uuts))
    return ret
Beispiel #2
0
def setup_waveform(m, *uuts, **kwargs):
    new_uuts = []
    for uut in uuts:
        if isinstance(uut, (tuple, list)):
            for u in uut:
                if isinstance(u, vtypes._Variable) and u.length is not None:
                    continue
                new_uuts.append(u)
        elif isinstance(uut, dict):
            _uut = list(uut.values())
            for u in _uut:
                if isinstance(u, vtypes._Variable) and u.length is not None:
                    continue
                new_uuts.append(u)
        elif isinstance(uut, submodule.Submodule):
            new_uuts.append(uut.inst)
        else:
            if isinstance(uut, vtypes._Variable) and uut.length is not None:
                continue
            new_uuts.append(uut)

    dumpfile = kwargs['dumpfile'] if 'dumpfile' in kwargs else 'uut.vcd'

    uuts = new_uuts
    ret = m.Initial(vtypes.Systask('dumpfile', dumpfile),
                    vtypes.Systask('dumpvars', 0, *uuts))

    # for verilator
    m.verilator_dumpfile = dumpfile

    return ret
Beispiel #3
0
def setup_waveform(m, *uuts):
    new_uuts = []
    for u in uuts:
        if isinstance(u, (tuple, list)):
            new_uuts.extend(u)
        elif isinstance(u, dict):
            new_uuts.extend(list(u.values()))
        else:
            new_uuts.append(u)
    uuts = new_uuts
    ret = m.Initial(vtypes.Systask('dumpfile', 'uut.vcd'),
                    vtypes.Systask('dumpvars', 0, *uuts))
    return ret
Beispiel #4
0
def finish():
    return vtypes.Systask('finish')