Skip to content

Commit ff04984

Browse files
committed
vendor.lattice_machxo_2_3l: fix sdc generation
1 parent c1ed908 commit ff04984

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

nmigen/build/plat.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,9 @@ def escape_one(match):
392392
def tcl_escape(string):
393393
return "{" + re.sub(r"([{}\\])", r"\\\1", string) + "}"
394394

395+
def tcl_escape_synplify(string):
396+
return "{" + re.sub(r"([${}\\])", r"\\\1", string) + "}"
397+
395398
def tcl_quote(string):
396399
return '"' + re.sub(r"([$[\\])", r"\\\1", string) + '"'
397400

nmigen/vendor/lattice_machxo_2_3l.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,12 @@ class LatticeMachXO2Or3LPlatform(TemplatedPlatform):
104104
{{get_override("add_preferences")|default("# (add_preferences placeholder)")}}
105105
""",
106106
"{{name}}.sdc": r"""
107+
set_hierarchy_separator {/}
107108
{% for net_signal, port_signal, frequency in platform.iter_clock_constraints() -%}
108109
{% if port_signal is not none -%}
109-
create_clock -name {{port_signal.name|tcl_escape}} -period {{1000000000/frequency}} [get_ports {{port_signal.name|tcl_escape}}]
110+
create_clock -name {{port_signal.name|tcl_escape_synplify}} -period {{1000000000/frequency}} [get_ports {{port_signal.name|tcl_escape_synplify}}]
110111
{% else -%}
111-
create_clock -name {{net_signal.name|tcl_escape}} -period {{1000000000/frequency}} [get_nets {{net_signal|hierarchy("/")|tcl_escape}}]
112+
create_clock -name {{net_signal.name|tcl_escape_synplify}} -period {{1000000000/frequency}} [get_nets {{net_signal|hierarchy("/")|tcl_escape_synplify}}]
112113
{% endif %}
113114
{% endfor %}
114115
{{get_override("add_constraints")|default("# (add_constraints placeholder)")}}

0 commit comments

Comments
 (0)