input is a keyword in python
[nmutil.git] / src / nmutil / sim_tmp_alternative.py
index b0ed14196fbf886f22a0920ab381cbc4d2971c8d..a90b6e78c5139153b7ab9e01ff1e56c25fcae2d4 100644 (file)
@@ -28,16 +28,17 @@ or, even::
 import os
 
 try:
-    from nmigen.sim import Simulator as RealSimulator, Delay, Settle, Tick
+    from nmigen.sim import (Simulator as RealSimulator, Delay, Settle, Tick,
+                            Passive)
     detected_new_api = True
 except ImportError:
     detected_new_api = False
     try:
         from nmigen.sim.pysim import (Simulator as RealSimulator,
-                                      Delay, Settle, Tick)
+                                      Delay, Settle, Tick, Passive)
     except ImportError:
         from nmigen.back.pysim import (Simulator as RealSimulator,
-                                       Delay, Settle, Tick)
+                                       Delay, Settle, Tick, Passive)
 
 nmigen_sim_environ_variable = os.environ.get("NMIGEN_SIM_MODE") \
                               or "pysim"
@@ -46,7 +47,7 @@ nmigen_sim_environ_variable = os.environ.get("NMIGEN_SIM_MODE") \
 
 def Simulator(*args, **kwargs):
     """Wrapper that allows run-time selection of simulator engine"""
-    if detected_new_api:
+    if detected_new_api and 'engine' not in kwargs:
         kwargs['engine'] = nmigen_sim_environ_variable
     return RealSimulator(*args, **kwargs)