Skip to content

Commit

Permalink
build/openfpgaloader: Add kwargs support to flash method and some com…
Browse files Browse the repository at this point in the history
…ments.
  • Loading branch information
enjoy-digital committed Jan 2, 2024
1 parent acf07a2 commit 3909b1d
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion litex/build/openfpgaloader.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,31 +13,62 @@ class OpenFPGALoader(GenericProgrammer):
needs_bitreverse = False

def __init__(self, board="", cable="", freq=0, fpga_part="", index_chain=None):
# openFPGALoader base command.
self.cmd = ["openFPGALoader"]

# Specify FPGA board.
if board:
self.cmd += ["--board", board]

# Specify FPGA part/device.
if fpga_part:
self.cmd += ["--fpga-part", fpga_part]

# Specify programmation cable.
if cable:
self.cmd += ["--cable", cable]

# Specify programmation frequency.
if freq:
self.cmd += ["--freq", str(int(float(freq)))]

# Specify index in the JTAG chain.
if index_chain is not None:
self.cmd += ["--index-chain", str(int(index_chain))]

def load_bitstream(self, bitstream_file):
# Load base command.
cmd = self.cmd + ["--bitstream", bitstream_file]

# Execute command.
self.call(cmd)

def flash(self, address, data_file, external=False, unprotect_flash=False, verify=False):
def flash(self, address, data_file, external=False, unprotect_flash=False, verify=False, **kwargs):
# Flash base command.
cmd = self.cmd + ["--write-flash", "--bitstream", data_file]

# Flash Internal/External selection.
if external:
cmd += ["--external-flash"]

# Flash Offset.
if address:
cmd += ["--offset"]
cmd += [str(address)]

# Flash Unprotect.
if unprotect_flash:
cmd += ["--unprotect-flash"]

# Flash Verify.
if verify:
cmd += ["--verify"]

# Handle kwargs for specific, less common cases.
for key, value in kwargs.items():
cmd.append(f"--{key}")
if value is not None:
cmd.append(str(value))

# Execute Command.
self.call(cmd)

0 comments on commit 3909b1d

Please sign in to comment.