It took three hours of hardship to get this far. Documenting the process to save my future self / someone else going through this simple but convoluted process.
Go to this link and download the setup file from under the ISE Design Suite heading. If you download something with the word ‘Vivado’ in it, you’ve downloaded the wrong thing all together, like I did. http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html
Once that’s downloaded, go to the folders directory and run xsetup. This will start the installer. When it gives you the list of packages to install, select WebPack. It should install handily enough. Go to the installation directory (/opt/Xilinx by default) then go to /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin/ . Once in the lin folder, run a program named “ise”. This will start the ISE project navigator, where you can write projects in VHDL and compile them into a .bit file.
From here, its best to look at the Papilio tutorial (http://papilio.cc/index.php?n=Papilio.GettingStartedISE) on setting up a new project file, adding in the LED flash example code and compiling said code into a .bit file.
Flashing the .bit file onto the FPGA or the SPI flash memory located on the board. FPGAs forget what they were programmed to be as soon as they lose power. For this reason in almost all cases, there will be some flash memory present. Whenever power is applied to the FPGA, it checks the flash to update itself with the program previously written for it. If you are debugging a program, it’s probably easier to just program straight to the FPGA, if its a project that needs to last after the power is gone, flash is the way to go. A seperate program is used to flash the .bit file to the FPGA or flash memory.
It can be found here: http://papilio.cc/index.php?n=Papilio.PapilioLoaderV2.
Once it’s downloaded, go to wherever the downloaded folder is and run linux_installer.sh . After that’s done, to run the GUI, navigate to JAVA-GUI (in the downloaded folder ) and run a shell script called papilio-loader.sh. After the GUI pops up, browse to the .bit file made earlier, click flash. Job done.