Lattice MachXO2 and MachXO3L
The amaranth.vendor.lattice_machxo_2_3l
module provides a base platform to support Lattice
MachXO2 and MachXO3L devices.
The Diamond toolchain is supported.
- amaranth.vendor.lattice_machxo_2_3l.LatticeMachXO2Platform
alias of
LatticeMachXO2Or3LPlatform
- amaranth.vendor.lattice_machxo_2_3l.LatticeMachXO3LPlatform
alias of
LatticeMachXO2Or3LPlatform
Note
Both of the above are aliases for the actual platform below, however only the aliased definitions are actually exported from the module for use.
- class amaranth.vendor.lattice_machxo_2_3l.LatticeMachXO2Or3LPlatform
- Required tools:
pnmainc
ddtcmd
The environment is populated by running the script specified in the environment variable
AMARANTH_ENV_DIAMOND
, if present. On Linux, diamond_env as provided by Diamond itself is a good candidate. On Windows, the following script (nameddiamond_env.bat
, for instance) is known to work:@echo off set PATH=C:\lscc\diamond\%DIAMOND_VERSION%\bin\nt64;%PATH%
- Available overrides:
script_project
: inserts commands beforeprj_project save
in Tcl script.script_after_export
: inserts commands afterprj_run Export
in Tcl script.add_preferences
: inserts commands at the end of the LPF file.add_constraints
: inserts commands at the end of the XDC file.
- Build products:
{{name}}_impl/{{name}}_impl.htm
: consolidated log.{{name}}.jed
: JEDEC fuse file.{{name}}.bit
: binary bitstream.{{name}}.svf
: JTAG programming vector for FLASH programming.{{name}}_flash.svf
: JTAG programming vector for FLASH programming.{{name}}_sram.svf
: JTAG programming vector for SRAM programming.