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_place",
|
||||||
"symbiflow_route",
|
"symbiflow_route",
|
||||||
"symbiflow_write_fasm",
|
"symbiflow_write_fasm",
|
||||||
"symbiflow_write_bitstream"
|
"symbiflow_write_bitstream",
|
||||||
|
"symbiflow_write_openocd",
|
||||||
]
|
]
|
||||||
file_templates = {
|
file_templates = {
|
||||||
**TemplatedPlatform.build_script_templates,
|
**TemplatedPlatform.build_script_templates,
|
||||||
|
@ -121,14 +122,18 @@ class QuicklogicPlatform(TemplatedPlatform):
|
||||||
-d {{platform.device}}
|
-d {{platform.device}}
|
||||||
-P {{platform.package}}
|
-P {{platform.package}}
|
||||||
-b {{name}}.bit
|
-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
|
# Common logic
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__()
|
|
||||||
|
|
||||||
def add_clock_constraint(self, clock, frequency):
|
def add_clock_constraint(self, clock, frequency):
|
||||||
super().add_clock_constraint(clock, frequency)
|
super().add_clock_constraint(clock, frequency)
|
||||||
clock.attrs["keep"] = "TRUE"
|
clock.attrs["keep"] = "TRUE"
|
||||||
|
|
Loading…
Reference in a new issue