hdl.ast: actually remove simulator commands.

These were supposed to be removed in 7df70059, but I forgot.
This commit is contained in:
whitequark 2019-12-02 02:23:36 +00:00
parent 72cfdb0c93
commit d048f069f8
2 changed files with 30 additions and 74 deletions

View file

@ -103,44 +103,41 @@ if __name__ == "__main__":
args = parser.parse_args()
if args.action == "simulate":
from nmigen.hdl.ast import Passive
from nmigen.back import pysim
from nmigen.back.pysim import Simulator, Passive
with pysim.Simulator(uart,
vcd_file=open("uart.vcd", "w"),
gtkw_file=open("uart.gtkw", "w"),
traces=ports) as sim:
sim.add_clock(1e-6)
sim = Simulator(uart)
sim.add_clock(1e-6)
def loopback_proc():
yield Passive()
while True:
yield uart.rx_i.eq((yield uart.tx_o))
yield
sim.add_sync_process(loopback_proc())
def transmit_proc():
assert (yield uart.tx_ack)
assert not (yield uart.rx_rdy)
yield uart.tx_data.eq(0x5A)
yield uart.tx_rdy.eq(1)
def loopback_proc():
yield Passive()
while True:
yield uart.rx_i.eq((yield uart.tx_o))
yield
yield uart.tx_rdy.eq(0)
yield
assert not (yield uart.tx_ack)
sim.add_sync_process(loopback_proc)
for _ in range(uart.divisor * 12): yield
def transmit_proc():
assert (yield uart.tx_ack)
assert not (yield uart.rx_rdy)
assert (yield uart.tx_ack)
assert (yield uart.rx_rdy)
assert not (yield uart.rx_err)
assert (yield uart.rx_data) == 0x5A
yield uart.tx_data.eq(0x5A)
yield uart.tx_rdy.eq(1)
yield
yield uart.tx_rdy.eq(0)
yield
assert not (yield uart.tx_ack)
yield uart.rx_ack.eq(1)
yield
sim.add_sync_process(transmit_proc())
for _ in range(uart.divisor * 12): yield
assert (yield uart.tx_ack)
assert (yield uart.rx_rdy)
assert not (yield uart.rx_err)
assert (yield uart.rx_data) == 0x5A
yield uart.rx_ack.eq(1)
yield
sim.add_sync_process(transmit_proc)
with sim.write_vcd("uart.vcd", "uart.gtkw"):
sim.run()
if args.action == "generate":