vendor.lattice_ice40: use pcf files instead of pre-pack Python scripts.
authorwhitequark <cz@m-labs.hk>
Sun, 13 Oct 2019 21:56:40 +0000 (21:56 +0000)
committerwhitequark <cz@m-labs.hk>
Sun, 13 Oct 2019 21:56:40 +0000 (21:56 +0000)
This allows to use nextpnr-ice40 built without Python with nMigen.
Requires nextpnr revision
YosysHQ/nextpnr@8c0610e84fa6a38d3f351774bd81a32c96a91242 or newer.

nmigen/vendor/lattice_ice40.py

index 20a844c642304c7835318032b55eb6e0cf31459e..163b48e0f001ba6242c674896790ec9239578f1b 100644 (file)
@@ -126,19 +126,14 @@ class LatticeICE40Platform(TemplatedPlatform):
             {{get_override("script_after_synth")|default("# (script_after_synth placeholder)")}}
             write_json {{name}}.json
         """,
-        "{{name}}_pre_pack.py": r"""
-            # {{autogenerated}}
-            {% for signal, frequency in platform.iter_clock_constraints() -%}
-            {# Clock in MHz #}
-            ctx.addClock("{{signal|hierarchy(".")}}", {{frequency/1000000}})
-            {% endfor%}
-            {{get_override("add_pre_pack")|default("# (add_pre_pack placeholder)")}}
-        """,
         "{{name}}.pcf": r"""
             # {{autogenerated}}
             {% for port_name, pin_name, attrs in platform.iter_port_constraints_bits() -%}
                 set_io {{port_name}} {{pin_name}}
             {% endfor %}
+            {% for signal, frequency in platform.iter_clock_constraints() -%}
+                set_frequency "{{signal|hierarchy(".")}}" {{frequency/1000000}}
+            {% endfor%}
             {{get_override("add_constraints")|default("# (add_constraints placeholder)")}}
         """,
     }