vendor.intel: implement add_settings (QSF) and add_constraints (SDC) overrides.

This commit is contained in:
whitequark 2020-11-24 20:35:58 +00:00
parent f1473e483a
commit 90e3504097

View file

@ -19,6 +19,8 @@ class IntelPlatform(TemplatedPlatform):
``NMIGEN_ENV_Quartus``, if present. ``NMIGEN_ENV_Quartus``, if present.
Available overrides: Available overrides:
* ``add_settings``: inserts commands at the end of the QSF file.
* ``add_constraints``: inserts commands at the end of the SDC file.
* ``nproc``: sets the number of cores used by all tools. * ``nproc``: sets the number of cores used by all tools.
* ``quartus_map_opts``: adds extra options for ``quartus_map``. * ``quartus_map_opts``: adds extra options for ``quartus_map``.
* ``quartus_fit_opts``: adds extra options for ``quartus_fit``. * ``quartus_fit_opts``: adds extra options for ``quartus_fit``.
@ -103,6 +105,8 @@ class IntelPlatform(TemplatedPlatform):
{% endfor %} {% endfor %}
set_global_assignment -name GENERATE_RBF_FILE ON set_global_assignment -name GENERATE_RBF_FILE ON
{{get_override("add_settings")|default("# (add_settings placeholder)")}}
""", """,
"{{name}}.sdc": r""" "{{name}}.sdc": r"""
{% for net_signal, port_signal, frequency in platform.iter_clock_constraints() -%} {% for net_signal, port_signal, frequency in platform.iter_clock_constraints() -%}
@ -112,6 +116,7 @@ class IntelPlatform(TemplatedPlatform):
create_clock -name {{net_signal.name|tcl_quote}} -period {{1000000000/frequency}} [get_nets {{net_signal|hierarchy("|")|tcl_quote}}] create_clock -name {{net_signal.name|tcl_quote}} -period {{1000000000/frequency}} [get_nets {{net_signal|hierarchy("|")|tcl_quote}}]
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{{get_override("add_constraints")|default("# (add_constraints placeholder)")}}
""", """,
"{{name}}.srf": r""" "{{name}}.srf": r"""
{% for warning in platform.quartus_suppressed_warnings %} {% for warning in platform.quartus_suppressed_warnings %}