forked from M-Labs/artiq
artiq_flash/sayma: check for DONE after load
This commit is contained in:
parent
b90a8fcc82
commit
2de5b0cf25
|
@ -114,6 +114,8 @@ class Programmer:
|
||||||
self._loaded = defaultdict(lambda: None)
|
self._loaded = defaultdict(lambda: None)
|
||||||
self._script = ["init"]
|
self._script = ["init"]
|
||||||
|
|
||||||
|
add_commands(self._script, "source xilinx-stat.cfg")
|
||||||
|
|
||||||
def _transfer_script(self, script):
|
def _transfer_script(self, script):
|
||||||
if isinstance(self._client, LocalClient):
|
if isinstance(self._client, LocalClient):
|
||||||
return "[find {}]".format(script)
|
return "[find {}]".format(script)
|
||||||
|
@ -144,6 +146,13 @@ class Programmer:
|
||||||
"pld load {pld} {{{filename}}}",
|
"pld load {pld} {{{filename}}}",
|
||||||
pld=pld, filename=bitfile)
|
pld=pld, filename=bitfile)
|
||||||
|
|
||||||
|
def check_done(self, tap):
|
||||||
|
add_commands(self._script,
|
||||||
|
"set stat [xilinx_get_stat {tap}]",
|
||||||
|
"echo [format {{{tap} stat: 0b%032b}} $stat]",
|
||||||
|
"if ![expr $stat & 0x1000] {{echo \"not DONE\"; exit 1;}}",
|
||||||
|
tap=tap)
|
||||||
|
|
||||||
def load_proxy(self):
|
def load_proxy(self):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
@ -355,8 +364,10 @@ def main():
|
||||||
if args.target == "sayma":
|
if args.target == "sayma":
|
||||||
rtm_gateware_bit = artifact_path("rtm_gateware", "rtm.bit")
|
rtm_gateware_bit = artifact_path("rtm_gateware", "rtm.bit")
|
||||||
programmer.load(rtm_gateware_bit, 0)
|
programmer.load(rtm_gateware_bit, 0)
|
||||||
|
programmer.check_done("xc7.tap")
|
||||||
gateware_bit = artifact_path(variant, "gateware", "top.bit")
|
gateware_bit = artifact_path(variant, "gateware", "top.bit")
|
||||||
programmer.load(gateware_bit, 1)
|
programmer.load(gateware_bit, 1)
|
||||||
|
programmer.check_done("xcu.tap")
|
||||||
else:
|
else:
|
||||||
gateware_bit = artifact_path(variant, "gateware", "top.bit")
|
gateware_bit = artifact_path(variant, "gateware", "top.bit")
|
||||||
programmer.load(gateware_bit, 0)
|
programmer.load(gateware_bit, 0)
|
||||||
|
|
Loading…
Reference in New Issue