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
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
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
def finish(): return vtypes.Systask('finish')