Main Page
From Fpga4u
Contents |
Welcome to FPGA4U
FPGA4U is a USB-powered FPGA-based development board. It is small, it is handy, it is as easy to use as one can make it. But especially: it is powerful!
FPGA4U is a pedagogical initiative of the School of Computer and Communication Sciences of EPFL. It is partly supported by Altera, which kindly donated their components used in the board. Visit our credits page to see who worked on the project so far--we hope that many more students will contribute with their enthusiasm in the future. All students entering in 2006-07 the 1st year of the BSc programmes in Computer Science and in Communication Systems will receive an FPGA4U board.
The basic idea behind FPGA4U is that it is extremely easy for students to play with software (just get any PC, download an open source operating system, and you have taken off) but experimenting with hardware design is increasingly difficult. There was a time when discrete logic components (e.g., 74xxx, 40xx) would make it possible to assemble little but meaningful inexpensive circuits. Nowadays, FPGAs are offering much more potential, but are hard to obtain and use for most of the students. FPGA4U wants to change this situation and offer a simple and accessible powerful platform.
In this Wiki, you will find here all necessary information about the board and some tutorials to get started. We wish users will want to share their experiences and improve this Wiki with more information, more sample designs, and more cool application ideas. Also feel free to add content under the community portal pages.
Inquiries and usage questions can be directed to fpga4u at epfl dot ch or to the helpdesk.
Warning: Please notice that this Wiki is still under development. You are encouraged to help improve it!
Frequently Asked Questions
If you don't know what an FPGA is, if you know FPGAs but are not aware of what Quartus II or SOPC Builder are, or in general if you feel a little lost in this page, it might be a good idea to look at the FAQ page, especially at the first few questions. Even if you are already an FPGA4U user, you may want to check the FAQ page to learn how you could progress in the use of the board.
Student Projects
Many student projects can be developed around the FPGA4U board. At this point, many are not yet listed in the project pages of the labs, so please inquire directly with professors involved in the FPGA4U project.
- Video extension for FPGA4U
- Multiprocessors on FPGA4U
- Linux on FPGA4U
- Navigation module for FPGA4U
- FPGARM4U
Installation and Tutorials
- Install Quartus II: Install the required drivers and software.
- Install Firmware: Install the last FPGA4U firmware if you experience problems.
- Tutorial: Create a new project with a very simple gate-level design, either by drawing a circuit or by describing it in VHDL.
- Project creation
- Create a block diagram (beginner) or Create a VHDL file (intermediate)
- Simulation in Quartus or Simulation in ModelSim
- Pin assignment
- Programming the FPGA
- Advanced tutorial: Create a new complex project including a processor and peripherals.
Applications
- Tests: Test if your board is working properly.
- Demos: Complete projects to give you some ideas.
- EPCS Loader: If you want to change the default configuration of your FPGA.
- Simple USB communication software: Simple GUI to send/receive USB packets to/from the board.
Course Labs
FPGA4U is being used as an educational platform in several courses. These classes have developed labs for FPGA4U tailored to their need. You'll find the completes list in our courses page.
Useful Documents
Board Schematic
The full schematics and layout of the board in PDF.
FPGA4U version B made in 2006.
FPGA4U version C made in 2007, fully compatible with version B, with minors corrections.
The complete board description
The most important document is arguably the board description, describing all the available components, their names, etc.
Excel pin assignment description
Similar information is available in an Excel file summarizing the pin assignments and useful for cut&pasting.
TCL script for pin and default assignment
The assignments can be done with a tcl script. Pin_assign_FPGA4U.tcl: a tcl script to make pin assignments and default configuration.
A more complete tcl file is available. It define some pin numbers with more than 1 name, especially for extension connectors and for the name provided by SOPC builder for system with processor design. Only one pin name can be use on a design as IN, OUT or INOUT pin, the pin definition file can accept more than 1 name for one pin number. Pin_assign_FPGA4U_Full.tcl
Cypress FX2 USB firmware
Our FX2 page describes the default firmware of FPGA4U and, in the future, other developments on this chip.
Extension boards
A number of extension boards are designed and made available to users, details on the Extensions Boards page.
External Links
Quartus II
Complete Quartus II documentation (PDF, 39 MB). Alternatively, the various sections are available separately.
http://www.altera.com/literature/manual/quartus_unix.pdf -- Unix and Linux installation (PDF).
http://www.altera.com/support/software/nativelink/quartus2/eda_view_using_eda.html -- Quartus II EDA Support.
http://www.altera.com/support/examples/quartus/quartus.html -- Some examples of Quartus II projects.
http://www.altera.com/education/demonstrations/online/design-software/basic/onl-fpga-cpld-design.html -- Some demonstrations on compilation, simulation, etc.
SOPC Builder
http://www.altera.com/literature/quartus2/lit-qts-sopc.jsp.
Nios II
http://www.altera.com/literature/lit-nio2.jsp.
Cyclone II
http://www.altera.com/literature/lit-cyc2.jsp.
Quartus on ArchLinux
How to install Quartus development tools on ArchLinux OS.
https://wiki.archlinux.org/index.php?title=Altera_Design_Software.

