cocotb/c4m_jtag: support trst_n to be None.
[c4m-jtag.git] / sim / cocotb / c4m_jtag.py
index 48d2677cc5920daa1423d4c6cf82d7efaa8f537f..1dd13b1ee0d1a0c3e47859421735bc27db5dd0a5 100644 (file)
@@ -1,8 +1,10 @@
 import cocotb
 from cocotb.triggers import Timer
-from cocotb.utils import get_sim_steps
 from cocotb.binary import BinaryValue
 
+class JTAGException(Exception):
+    pass
+
 class JTAG_Clock(object):
     """
     Class for the JTAG clock, run cycle by cycle
@@ -42,7 +44,8 @@ class JTAG_Master(object):
         tdi <= 0
         self.tdo = tdo
         self.trst_n = trst_n
-        trst_n <= 1
+        if trst_n is not None:
+            trst_n <= 1
         self.period = Timer(clk_period)
 
         # Standard commands
@@ -62,7 +65,7 @@ class JTAG_Master(object):
 
     @cocotb.coroutine
     def cycle_clock(self, cycles=1):
-        if self.state == "Run" and self.tms:
+        if self.state == "Run" and self.tms == 1:
             self.state = "Scan"
         yield self.clkgen.Cycle(cycles)