Lattice MachXO2 and MachXO3L

The LatticeMachXO2Platform and LatticeMachXO3LPlatform classes provide base platforms to support Lattice MachXO2 and MachXO3L devices.

The Diamond toolchain is supported.

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 (named diamond_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 before prj_project save in Tcl script.

  • script_after_export: inserts commands after prj_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.

amaranth.vendor.LatticeMachXO2Platform

alias of LatticeMachXO2Or3LPlatform

amaranth.vendor.LatticeMachXO3LPlatform

alias of LatticeMachXO2Or3LPlatform