XilinxPlatform.__init__(self, "xc6slx45-fgg484-2", _io)
def create_programmer(self):
- return UrJTAG("fjmem-m1.bit")
+ return UrJTAG(cable="milkymist", flash_proxy_basename="fjmem-m1.bit")
def do_finalize(self, fragment):
XilinxPlatform.do_finalize(self, fragment)
class UrJTAG(GenericProgrammer):
needs_bitreverse = True
+ def __init__(self, cable, flash_proxy_basename=None):
+ GenericProgrammer.__init__(self, flash_proxy_basename)
+ self.cable = cable
+
def load_bitstream(self, bitstream_file):
- cmds = """cable milkymist
+ cmds = """cable {cable}
detect
pld load {bitstream}
quit
-""".format(bitstream=bitstream_file)
+""".format(bitstream=bitstream_file, cable=self.cable)
_run_urjtag(cmds)
def flash(self, address, data_file):
flash_proxy = self.find_flash_proxy()
- cmds = """cable milkymist
+ cmds = """cable {cable}
detect
pld load "{flash_proxy}"
initbus fjmem opcode=000010
detectflash 0
endian big
flashmem "{address}" "{data_file}" noverify
-""".format(flash_proxy=flash_proxy, address=address, data_file=data_file)
+""".format(flash_proxy=flash_proxy, address=address, data_file=data_file,
+ cable=self.cable)
_run_urjtag(cmds)