@@ -15,7 +15,7 @@ class LatticeNexusPlatform(TemplatedPlatform):
15
15
* ``nextpnr-nexus``
16
16
* ``prjoxide``
17
17
18
- FIXME The environment is populated by running the script specified in the environment variable
18
+ The environment is populated by running the script specified in the environment variable
19
19
``AMARANTH_ENV_OXIDE``, if present.
20
20
21
21
Available overrides:
@@ -27,7 +27,7 @@ class LatticeNexusPlatform(TemplatedPlatform):
27
27
* ``yosys_opts``: adds extra options for ``yosys``.
28
28
* ``nextpnr_opts``: adds extra options for ``nextpnr-nexus``.
29
29
* ``prjoxide_opts``: adds extra options for ``prjoxide``.
30
- * ``add_preferences``: inserts commands at the end of the LPF file.
30
+ * ``add_preferences``: inserts commands at the end of the PDC file.
31
31
32
32
Build products:
33
33
* ``{{name}}.rpt``: Yosys log.
@@ -40,9 +40,7 @@ class LatticeNexusPlatform(TemplatedPlatform):
40
40
.. rubric:: Radiant toolchain
41
41
42
42
Required tools:
43
- * ``yosys`` # optional
44
43
* ``radiantc``
45
- * ``programmer`` # optional
46
44
47
45
The environment is populated by running the script specified in the environment variable
48
46
``AMARANTH_ENV_RADIANT``, if present. On Linux, radiant_env as provided by Radiant
@@ -129,15 +127,6 @@ class LatticeNexusPlatform(TemplatedPlatform):
129
127
ldc_set_port -iobuf {{ '{' }}{%- for key, value in attrs.items() %}{{key}}={{value}} {% endfor %}{{ '}' }} {{'['}}get_ports {{port_name}}{{']'}}
130
128
{% endif %}
131
129
{% endfor %}
132
- {% for net_signal, port_signal, frequency in platform.iter_clock_constraints() -%}
133
- {#
134
- {% if port_signal is not none -%}
135
- set_frequency "{{port_signal.name}}" {{frequency/1000000}};
136
- {% else -%}
137
- set_frequency "{{net_signal|hierarchy(".")}}" {{frequency}} HZ;
138
- {% endif %}
139
- #}
140
- {% endfor %}
141
130
{{get_override("add_preferences")|default("# (add_preferences placeholder)")}}
142
131
"""
143
132
}
@@ -159,7 +148,7 @@ class LatticeNexusPlatform(TemplatedPlatform):
159
148
""" ,
160
149
r"""
161
150
{{invoke_tool("prjoxide")}}
162
- {# {{ verbose("--verbose")}} # }
151
+ {{ verbose("--verbose")}}
163
152
{{get_override("prjoxide_opts")|options}}
164
153
pack {{name}}.fasm
165
154
{{name}}.bit
@@ -234,18 +223,7 @@ class LatticeNexusPlatform(TemplatedPlatform):
234
223
{{invoke_tool("radiantc")}}
235
224
{{name}}.tcl
236
225
""" ,
237
- ## TODO: FIXME
238
- #r"""
239
- #{{invoke_tool("programmer")}}
240
- # -oft -bit
241
- # -if {{name}}_impl/{{name}}_impl.bit -of {{name}}.bit
242
- #""",
243
- #r"""
244
- #{{invoke_tool("programmer")}}
245
- # -oft -xcfsingle -revd -op "Fast Program"
246
- # -if {{name}}_impl/{{name}}_impl.bit -of {{name}}.xcf
247
- #""",
248
- ]
226
+ ]
249
227
250
228
# Common logic
251
229
@@ -689,7 +667,7 @@ def get_oneg(a, invert):
689
667
if "o" in pin .dir :
690
668
o = pin_o
691
669
if pin .dir in ("oe" , "io" ):
692
- t = Repl (~ pin .oe , pin .width )
670
+ t = (~ pin .oe ). replicate ( pin .width )
693
671
elif pin .xdr == 1 :
694
672
if "i" in pin .dir :
695
673
get_ireg (pin .i_clk , i , pin_i )
0 commit comments