vendor.quicklogic: write OpenOCD scripts as part of build process.
The OpenOCD scripts for EOS-S3 are roughly equivalent to SVF files for a more traditional FPGA, which we also produce, for some common "default" configuration, as a part of the build process.
This commit is contained in:
parent
d6da4c257b
commit
36bc1d2b4d
|
@ -42,7 +42,8 @@ class QuicklogicPlatform(TemplatedPlatform):
|
|||
"symbiflow_place",
|
||||
"symbiflow_route",
|
||||
"symbiflow_write_fasm",
|
||||
"symbiflow_write_bitstream"
|
||||
"symbiflow_write_bitstream",
|
||||
"symbiflow_write_openocd",
|
||||
]
|
||||
file_templates = {
|
||||
**TemplatedPlatform.build_script_templates,
|
||||
|
@ -121,14 +122,18 @@ class QuicklogicPlatform(TemplatedPlatform):
|
|||
-d {{platform.device}}
|
||||
-P {{platform.package}}
|
||||
-b {{name}}.bit
|
||||
"""
|
||||
""",
|
||||
# This should be `invoke_tool("symbiflow_write_openocd")`, but isn't because of a bug in
|
||||
# the QLSymbiflow v1.3.0 toolchain release.
|
||||
r"""
|
||||
python3 -m quicklogic_fasm.bitstream_to_openocd
|
||||
{{name}}.bit
|
||||
{{name}}.openocd
|
||||
""",
|
||||
]
|
||||
|
||||
# Common logic
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
def add_clock_constraint(self, clock, frequency):
|
||||
super().add_clock_constraint(clock, frequency)
|
||||
clock.attrs["keep"] = "TRUE"
|
||||
|
|
Loading…
Reference in a new issue