Welcome to Pipistrello
Pipistrello is a FPGA development board for Xilinx Spartan-6 parts in 324 BGA package, desiged by Saanlima Electronics.
For more info contact firstname.lastname@example.org
- 1 Pipistrello Rev 2.0 Hardware Description
- 2 How to purchase a board
- 3 Forums
- 4 Board design files
- 5 Xilinx ISE support files
- 6 Fpgaprog utility program download
- 7 GUI frontend to fpgaprog
- 8 Bit files (see below for complete Xilinx projects)
- 9 Complete Xilinx ISE project examples
- 10 Open Bench Logic Sniffer on Pipistrello
- 11 Tutorials
- 12 PMOD devices
- 13 Microblaze Arduino
- 14 Microblaze Linux
- 15 Misc links
- 16 Pipistrello Rev 1.0 information
Pipistrello Rev 2.0 Hardware Description
FPGA: Spartan-6 LX45 in 324 BGA package, speed grade -3C
Flash memory: 128 Mbit SPI flash memory (Micron N25Q128A13ESE40G) wired for 1x, 2x or 4x wide data path, supported by Xilinx iMPACT
On-board DRAM: 64 MBytes (32Mx16) of LPDDR memory (Micron MT46H32M16LFBF-5) clocked at 200 MHz (up to 800 MBytes/s transfer rate), supported by Xilinx MIG
USB device interface: High-speed (480 Mbits/s) interface using a 2-channel FTDI FT2232H chip. Channel A is wired for JTAG. Channel B is wired for serial (max 12 Mbaud) or async FIFO mode (max 8 MB/s).
DVI/HDMI interface: Full HDMI output interface (including I2C level translators for DDC) using a 19-pin HDMI type A connector
Audio output: Two-channel audio output using 1-bit sigma-delta DAC
Micro-SD card: Socket for micro-SD card, wired for SPI or native (4x wide) SD interface
PMOD interface: Double-row PMOD connector that will allow the use of a wide range of PMOD devices (see below for more info on PMOD devices)
LED indicators: Power (green), config state (yellow), five user-defined
User I/O: Papilio-style wing interface with 48 user-defined I/O signals. The boards have female headers installed on the wing interface.
Form factor: Similar to Papilio One (2.9" x 2.7")
Fully supported by Xilinx tools (iMPACT, Chipscope, SDK etc.) without need for Xilinx JTAG cable.
Flash memory supported by Xilinx iMPACT.
LPDDR memory supported by Xilinx MIG (Memory Interface Generator) and Xilinx EDK/XPS (Embedded Platform System).
Assembled and tested in USA
How to purchase a board
Boards are available for purchase in the Saanlima Electronics web store.
Check out the store here: saanlima.com/store
Orders are typically shipped the same day if received before 2pm. Shipped from Milpitas, California, USA.
Saanlima.com forums are now up and running. Check it out here: saanlima.com/forum
Board design files
Board design files Copyright Saanlima Electronics 2012 and licensed CC BY-SA 4.0. See CC BY-SA 4.0 for more info.
- schematic (pdf)
- board outline top (pdf)
- board outline bottom (pdf)
- Eagle schematic file
- Eagle board file
Xilinx ISE support files
- Generic ucf file, edit as needed
- EDK board description files Unzip and copy Saanlima directory to C:\Xilinx\XX.X\ISE_DS\EDK\board (windows) or /opt/Xilinx/XX.X/ISE_DS/EDK/board (linux)
- Latest (final) version of ISE (14.7) can be downloaded from here: Xilinx ISE 14.7
- The board is fully supported by Xilinx tools in ISE/SDK (iMPACT, Chipscope, Microblaze JTAG debugging etc.) without the need for a Xilinx JTAG cable.
- Another option is to use a 3rd party JTAG programming utility like fpgaprog or xc3sprog (see below).
Fpgaprog utility program download
JTAG programming utility (including source code and binary):
On Linux you might have to give yourself root access to the ftdi device. See this forum post for more info.
The board can also be used with xc3sprog (see this link).
GUI frontend to fpgaprog
This is a modified version of Scarab's miniSProg. More info here.
For more info on miniSProg see this github page
Bit files (see below for complete Xilinx projects)
To download one of the bit files just right-click on a link and select "save link as"
The bit files can be loaded to ram (fpgaprog -v -f <bitfile>) or written to flash (fpgaprog -v -f <bitfile> -b bscan_spi_lx45_csg324.bit -sa -r)
- ledtest.bit Board test - tests all five LEDs.
- ramtest.bit Board test - test the LPDDR memory and reports the status on red/green led.
- bouncing_ball.bit Board test - HDMI output test (Arduino example using HDMI display)
- pacman.bit Pacman game, can be played with the GadgetFactory LogicStart wing
- vtc_demo.bit HDMI test page, this is a modified version of Xilinx xapp495, default is VGA resolution but pulling one of A0 - A5 to 3.3V will select higher resolution (up to 1440x900)
- linux.bit Based on main-line Linux version 3.14.4 with full MMU. Note: this must be put in flash since it also contains the linux kernel and file system in addition to the fpga bit file
- nes_top_smb_mb.bit Super Mario game, can be played using a NES game controller hooked-up to the PMOD connector. For more info see this Saanlima forum page
- nes_top_smb_mb_tft.bit Same as the above but using a TFT LCD display. For more info see this Saanlima forum page
- pipi-robo4.bit Robotron ported to Pipistrello by Brad Parker
- vic20.bit MikeJ's VIC-20 ported to Pipistrello by John Voltz
- sprites256.bit Gameduino sprites256 demo, display via HDMI. See short video here. For more info about Gameduino see this forum page
- collision.bit Gameduino collision demo, display via HDMI.
- asteroids.bit Gameduino asteroids demo, controller inputs via pins A3-A6 (active high)
- waveplayer.bit Play audio wave files stored on the SD card. Sample wave files here (unzip and store on SD card).
- logic_sniffer.bit Open Bench Logic Sniffer (serial version @ 921600 baud, 64 MB capture memory, no buffer wing)
- doom.bit Note: this must be put in flash since it also contains the doom program in addition to the fpga bit file. Instructions how to run DOOM on Pipistrello.
- See it in action in this DOOM video. Full-screen hi-res video here (65 MB). Here it is running on an Adafruit 5" TFT display.
Complete Xilinx ISE project examples
- Simple character echo-back (ISE project) Complete ISE project including source code. See Saanlima Forum for more info
- Pacman on Pipistrello (ISE project) Complete ISE project including source code. See Pacman via HDMI (video)
- OpenBench Logic Sniffer 64MB 08292014 (ISE project) This is the complete ISE project for OLS ported to Pipistrello (64MB buffer version, both serial and fifo interface mode)
- NES on Pipistrello (ISE project) Complete ISE project including source code for Pipistrello NES (Nintendo Entertainment System) emulation
- NES on Pipistrello (ISE project) Complete ISE project including source code for Pipistrello NES (Nintendo Entertainment System) emulation (TFT version)
- Parallax Propeller 1 on Pipistrello (ISE project) Complete ISE project including source code for running the Parallax Propeller 1 processor on Pipistrello
- vic20_rel_002 (ISE project) John Voltz port of MikeJ's VIC-20 code to Pipistrello
- bombjack on Pipistrello (ISE project) Alex's implementation of Bombjack on Pipistrello
- Waveplayer (ISE project) Play audio wave files stored on SD card. This project is using the microblaze_mcs microprocessor. See this forum page for more info.
- Oberon (ISE project) Oberon project ported to Pipistrello. See this forum page for more info.
Open Bench Logic Sniffer on Pipistrello
- For more info see this page: Pipistrello_as_Logic_Analyzer
- Bit files and modified SUMP client (including instructions): OpenBench Logic Sniffer 64MB 05262015
- Pipistrello OLS info on Saanlima Forum
- Numato's great tutorial on building Microblaze Linux using Buildroot
- Microblaze for Linux Howto.pdf Tutorial on how to build a Microblaze Linux system for Pipistrello
- Jim Duckworth's excellent "Microblaze MCS" howto
- EJ Pol's great "Pipistrello on Ubuntu" howto
- Xilinx xapp495 "Implementing a TMDS Interface in the Spartan-6 FPGA Use this ucf file to compile vtc_demo for Pipistrello
- MIG (Memory Interface Generator) tutorial
A wide range of PMOD devices are available including A/D and D/A converters, wifi, bluetooth and ethernet communication modules and much more.
- PMOD devices from Digilent Inc.
- PMOD devices from Maxim Integrated
- PMOD device from Avnet
- PMOD devices from Saanlima Electrronics
- Arduino-1.5.2_on_Pipistrello Arduino-1.5.2 ported to Pipistrello and running on a 32-bit Microblaze processor at 100 MHz
- Early customer review of Pipistrello v2.0 Alex The Kidd's Blog
- Hamsterworks Dvid_test
- ZX Spectrum on Pipistrello Jozsef Laszlo's implementation of ZX Spectrum using HDMI display
- Bombjack game on Pipistrello (and Papilio Pro) Alex implementation of Bombjack
- Markus Mayer's firsthand impression