Some cables seem to not support the CFG_IN / CFG_OUT commands.
---
 mibuild/xilinx/programmer.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/mibuild/xilinx/programmer.py b/mibuild/xilinx/programmer.py
index ce7ca8a..5070f78 100644
--- a/mibuild/xilinx/programmer.py
+++ b/mibuild/xilinx/programmer.py
@@ -15,16 +15,26 @@ def _run_urjtag(cmds):
 class UrJTAG(GenericProgrammer):
     needs_bitreverse = True
 
-    def __init__(self, cable, flash_proxy_basename=None):
+    def __init__(self, cable, flash_proxy_basename=None, cfg_bypass=False):
         GenericProgrammer.__init__(self, flash_proxy_basename)
         self.cable = cable
 
+        if not cfg_bypass:
+            self.cfg_bypass = ""
+        else:
+            self.cfg_bypass = """\
+instruction CFG_OUT  000100 BYPASS
+instruction CFG_IN   000101 BYPASS
+"""
+
     def load_bitstream(self, bitstream_file):
         cmds = """cable {cable}
 detect
+{cfg_bypass}
 pld load {bitstream}
 quit
-""".format(bitstream=bitstream_file, cable=self.cable)
+""".format(bitstream=bitstream_file, cable=self.cable,
+           cfg_bypass=self.cfg_bypass)
         _run_urjtag(cmds)
 
     def flash(self, address, data_file):
-- 
2.4.3.573.g4eafbef

_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel

Reply via email to