From Ithaca Generator Wiki
What is Papilio?
- A development board hosting a Xilinx Spartan 3E FPGA
- Website for the board (docs/buy/etc) are @ http://papilio.cc/
- Here is a link to the Pin Map for Papilio One.
- It takes at least two installs to write and target the Spartan 3E on the Papilio. There are links to all the tools you can download the papilio.cc download page
- One is a Java Loader program that actually sends your "compiled" binary image to the device. Download that here.
- The second tool is the tailored Arduino environment ... if you want to do it the easy (but more limited) way
- This approach basically makes the Papilio emulate a microcontroller that you can target with machin code to on-board flash or RAM... fun but not our primary interest at the time of this edit
- or Xilinx ISE to work on the bare metal - follow the instructions on the Xilinx page
- If you're on a 32-bit system this should go smoothly, but you will need a Java Runtime installed (linux-installer.sh has instructions on what packages you need install as a pre-requisite): in a nutshell run the following two commands
sudo apt-get install default-jdk
sudo apt-get install libftdi-dev
- If you're on a 64-bit system, there may be some workarounds you need to do like this one
- Extract the compressed archive into a temporary directory.
- Bring up a terminal, change directories to the extracted directory and run the linux-installer.sh like this:
- After that runs, you should be able to type the following to bring up the Loader Java GUI:
- With this program you can load arbitrary binary "code" (BIT files) onto the FPGA - follow the instructions on the Getting Started Guide to load the appropriate BIT file for the pre-canned demo.
- The demo program demonstrates toggling all half the pins at a fixed rate, and monitoring the other half of the pins to stop blinking the adjacent pin. It also outputs an ASCII table serially at 9600 baud. Neat!
- Start using Xilinx ISE to syntesize verilog into a BIT file and load it using the Loader program. Following the papilio.cc example project is a good way to get your feet wet.
- You need to make sure to comment out the lines of the UCF like they say to (not sure why they don't just provide the UCF file that way)
- The example basically toggles a lot of the pins at frequencies that are successively halved (i.e. outputs of a binary counter)