# Lattice Diamond

ArchLinux is not officially supported by Lattice Diamond, but as happens with other HDL suites like Xilinx ISE WebPACK or Xilinx Vivado, most of its features can be used with a bit of hacking.

## Prerequisites

Currently, the available AUR package, works only for the 64-bit version of the suite. So you will need a working 64-bit installation of Arch Linux.

## Installation

Just install lattice-diamondAUR. Note that the installation size is big (around 4 GB), so generating the package might take some time due to the compression stage. If you want to shorten building the package, edit the PKGBUILD file to avoid compressing it.

### Licensing

You can request a free license to Lattice Semiconductor (registration needed). These licenses are node-locked (tied to the MAC of your Ethernet card). Once you have the license file, copy it to `/usr/local/diamond/3.7_x64/license/license.dat`, or you will not be able to start the suite.

## Troubleshooting

### Place & Route fails

If Place & Route fails with message `ERROR - par: Switch "-msgsegset" is not allowed.`, try deleting the `promote.xml` file in the root directory of your project and launch it again. It should now run normally.

### Programming with FTDI cables doesn't work

Programming FPGAs with FTDI chip based cables will not work if `ftdi_sio` kernel module is loaded. After plugging the programmer run:

    # rmmod ftdi_sio

Now the programmer should work until you re-attach it again (so you must run the command above every time the programmer is plugged).

Categories:

- Development
- Mathematics and science