FleaFPGA Experimenters Board
FleaFPGA provides a low-cost development platfrom for users to explore the wonders of programmable logic and hardware-oriented languages i.e. VHDL and Verilog. FleaFPGA is suited for professional and hobbyist uses.
What makes FleaFPGA interesting?
For the beginner: FleaFPGA provides a fairly simple and non-intimidating platform to implement and understand many of the concepts behind todays modern digital systems. Software development tools i.e. Lattice Diamond similarly provide a simple and relatively low-frills approach that works very well with FleaFPGA. Please refer to our quickstart guide in the support section of this page. Fundamental digital circuits and concepts that may be studied using FleaFPGA include:
- Microprocessor fundamentals
- Peripheral interfacing i.e. VGA video, Audio, SD, DRAM, USB host and slave devices etc.
- Data encoding and encryption techniques
- Data Error checking and correction hardware
- Digital communication and data modulation methods
- Parallel processing
For the embedded programmer: FleaFPGA provides a viable target platform for many open-HDL implementations of both legacy and modern systems for possible commercial application. Tested legacy systems include: 6502, z80, 68000 and 80188-based computing platforms. Modern systems include ZPU, LatticeMico8 and 32bit RISC processor cores and more! Please refer to the M68K_SoC project example provided in the code examples section at the bottom of the page.
For the gamer: FleaFPGA can potentially emulate nearly all classic 8-bit, as well as selected 16-bit home computers and game consoles. Please refer to both the ping-pong and A2601 project examples provided in the code examples section at the bottom of the page.
Please Note! This page is only intended as a summary of the FleaFPGA project and will be expanded upon in due course. Feel free to read the FAQ section below, as well as documentation found in the Project files section.
FleaFPGA V2.4 PCB Specifications:
- Lattice MachXO2-7000HE FPGA
- 256MBit SDRAM
- 512KBit Quad-SPI SRAM
- USB 2.0 Host port
- USB slave serial port
- 4096-Color VGA/Component/composite out
- 3.5mm stereo audio out
- SD/MMC card slot
- PS/2 Keyboard and mouse combo port
- 18 GPIO lines via breakout header
- User push-buttons (x2)
- User LED (x4)
- 50MHz onboard oscillator
- On-board USB JTAG for easy programming
Frequently Asked Questions:
What is the main difference between embedded microcomputing boards and FleaFPGA?
Answer: Because FleaFPGA uses the same technologies used by the major chip companies to design custom silicon devices (also known as Application-Specific Integrated Circuits or ASIC) it is possible for the user to effectively create their own silicon designs inside the FPGA. Once you've mastered the concepts required to use FleaFPGA of course, please refer to the next question for an explanation of this point.
What basic knowledge do I need to know before I dive into developing my own project using FleaFPGA?
Answer: At the very least, you will have knowledge of, or need to study, the following topics:
- How digital circuit elements work i.e. flip-flops, logic gates, multiplexers, counters, encoders, adders, etc.
- Digital circuit signal timing i.e. understanding of propagation delays, setup and hold times etc.
- Basic understanding of how the above relates to the Lattice MachXO2-7000 at the heart of FleaFPGA. (Refer to the Lattice MachXO2 Family Datasheet for further information)
- Digital circuit interfacing techniques i.e. open-collector, tri-state buffers, pull-up/pull-down resistors etc
- Understanding of microprocessor design and peripheral interfacing will also be of help, particularly if you will be creating (or using) HDL code that describes such a complex element as a microprocessor to sit inside FleaFPGA.
- Access to a good VHDL reference guide is essential. Recommended guides are listed in the support section of this page.
Please Note: This is also covered in Section 8 of the FleaFPGA Quickstart Guide titled "Where to from here?"I'd like to play with FleaFPGA, but I'm really not all that keen on HDL programming etc?
Answer: If you're not keen on learning HDL, you can always simply download a pre-compiled project example, upload it to FleaFPGA using the JTAG loader and play with FleaFPGA that way. Our examples list will hopefully grow over time..
Is FleaFPGA open source?
Answer: As far as the hardware is concerned, FleaFPGA is fairly open i.e. schematics may be found in Appendix B of our user guides etc. In addition, VHDL top-level files are available for download separately from the individual apps etc. PCB artwork itself will remain closed (for now anyway).
Does FleaFPGA's JTAG port do programming as well as debugging?
Answer: FleaFPGA's JTAG port allows for programming of the FPGA's on-chip Flash ROM or configuration SRAM. It does not allow real-time debugging however,due to the simplicity of the interface to keep costs down. Besides, the simulator included with Lattice Diamond seems to work well enough. :-)
Is the GPIO header on FleaFPGA raspberry-pi compatible?
Answer: No! You will need to make a custom cable to make proper electrical connections between the two boards.
WARNING: Do not directly plug fleaFPGA's GPIO header into a Raspberry-pi's GPIO header, as it will likely damage both boards and void your warranties!
Will FleaFPGA ever be made to work in a Linux environment?
Answer: There are plans, in the short-to-medium term to port the JTAG loader to the linux OS. For now however, FleaFPGA JTAG programming is strictly windows-only.
Where can I purchase a FleaFPGA?
** Update 30/01/2014 **:
I am currently accepting orders for a small production run. Please refer to my news announcement Thanks!
Where can I find more FleaFPGA information?
Answer: You may find FleaFPGA documentation user manuals etc. in the Project files section found below.
Alternatively, you can also subscribe to our forum and ask specific questions there or send me an email in the Contact page on this site.
FleaFPGA example Screenshots (Click to zoom):
|FleaFPGA with M68000-CPU + SoC softcore loaded, running mixed 256-color graphics + text overlay:||FleaFPGA with ZPU-CPU + SoC softcore loaded, running a 4096-color VGA screen-test:||Early FleaFPGA prototype, emulating an A2600 video game console:|
|FleaFPGA with 68K CPU softcore loaded, running a variation of the old-school Amiga Juggler Demo!|
FleaFPGA Development resources:
FleaFPGA Quickstart Guide (Including schematics):
FleaFPGA Quickstart Guide rev 0.13 Preliminary (.PDF)
FleaFPGA Top-level HDL files:
FleaFPGA HDL coding examples (more to follow):
|My first project - Blinking LED#1||ZIP||ZIP|
|CH376 USB to FT230x serial passthrough||Allows a remote PC to talk to the FleaFPGA's CH376 via the slave serial port.||ZIP||ZIP|
|Pong clone video game example||ZIP||ZIP|
|68000 CPU-based SoC
|Note: An SD card with 'boot.sre' and 'test.img' files in the
root directory will be required for this example. Due to
complexity, the entire Diamond project is provided in source.zip
Lattice MachXO2 support documents:
Lattice MachXO2-7000 FPGA Users Guide
Lattice Diamond User Guide
VHDL Reference Books:
The Student's Guide to VHDL, 2nd Edition (Author: Peter J. Ashenden)
VHDL and Verilog Golden Reference Guides (Doulos)
Useful related sites:
FleaFPGA Development Forum:
The FleaFPGA Development forums
All trademarked product names listed on this site belong to their respective trademark owners. All PCB designs, flea logo and related support documentation are the copyright of Valentin Angelovski (fleasystems).
(Page last updated: 7th June 2014)