In this tutorial we will setup all the software needed to work with the Alchitry Au.
The first step to setting up your environment is to install Vivado. Vivado is a program provided by Xilinx (the manufacture of the FPGA on the Au) that is used to build your projects. It holds all the secret sauce that converts your text into an FPGA configuration file (bin file).
Head over to Xilinx's website and download the latest version of Vivado here. DO NOT INSTALL 2020.3. 2020.3 doesn't support the Artix 7 family of FPGAs.
You want the WebPACK version for the Au. This is their free tier.
I recommend downloading the Web Installer as it will save you time. During installation you get to select what gets installed saving space as well.
You will need to create an account with Xilinx in order to download the software. This is required by the U.S. government since the software falls under some export regulations.
You will also need this account during install for the web installer to be able to download the various components.
Launching the Installer
If you are running Windows, simply double click the .exe file that you downloaded.
If you are on Linux, you may need to add execution privileges to the .bin file. You can do that with the following command.
chmod +x Xilinx_Vivado_File.bin
You will need to change the name of the .bin file to match the on you downloaded.
You can then run it. You don't need root permissions if you are installing it somewhere you already have write permissions. I usually install mine to /opt/Xilinx which I have setup to be owned by me.
The installer itself is pretty straight forward.
First, you will have to login to your account.
You'll then have to accept some terms and conditions. The page after that asks what edition you would like to install. If you are only using this for the Au, select WebPACK. This is the only free version. For more info on the other versions you can go here.
The next page allows you to choose what you install. If you are only using Vivado for the Au you can make yours match the screenshot below.
Note that you can deselect the Software Development Kit (SDK) option completely if you want. This is used to develop softcores (processors inside the FPGA fabric).
On the next page, select where you want to install it.
Now wack that Install button and let it do its thing.
Alchitry Labs or Alchitry Loader
Now is decision time. You have a few options for developing for the Au. The first, and recommended, option is to download Alchitry Labs.
Alchitry Labs supports both Lucid and Verilog. It also has some very handy features like a library of built in components, real-time error checking for Lucid, real-time syntax checking for Verilog, support for Alchitry Constraints so you don't need to look at the schematics to define pinouts, and single click builds.
Your second option is to download the Alchitry Loader.
This is a very basic program that will transfer the .bin file you generate on your own to the Au (or Cu). This is what you should use if you want to use Vivado directly to build your projects. This also opens up all the Xilinx supported build methods including VHDL and schematics.
Using Vivado directly is recommended for highly advanced projects. Alchitry Labs currently has limited support for Xilinx generated IP and FPGA primitives that may be required for some projects.
You can't use Lucid directly with Vivado.
Lucid is a language we developed that is similar to Verilog but can significantly reduce the lines of code required for the same design and makes the easy "gotchas" of Verilog impossible. We highly recommend this for hobbyists/beginners.