dut = InverseDQ0(1000) async def test_angle(d, q, enc): await dut.input.send({'dq': (d, q), 'enc': enc}) a, b, c = (await dut.output.recv())['current'] print(f'{d=}, {q=}, {enc=}, {a=}, {b=}, {c=}') async def testbench(): for i in range(10): await Tick() await test_angle(1000, 0, 0) await test_angle(0, 1000, 0) await test_angle(1000, 1000, 0) await test_angle(0, 1000, 333) for i in range(10): await Tick() sim = Simulator(dut) sim.add_clock(1 / 75e6) sim.add_sync_process(testbench) with sim.write_vcd('dq0_am.vcd'): sim.run()