Main Page

From Fpga4u

Jump to: navigation, search
The FPGA4U Board (front)
Enlarge
The FPGA4U Board (front)
The FPGA4U Board (back)
Enlarge
The FPGA4U Board (back)

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.

Installation and Tutorials

  • Tutorial: Create a new project with a very simple gate-level design, either by drawing a circuit or by describing it in VHDL.
  1. Project creation
  2. Create a block diagram (beginner) or Create a VHDL file (intermediate)
  3. Simulation in Quartus or Simulation in ModelSim
  4. Pin assignment
  5. Programming the FPGA
  • Advanced tutorial: Create a new complex project including a processor and peripherals.
  1. SOPC Builder
  2. Quartus II project
  3. Nios II project
  4. Adding more elements

Applications

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.

Personal tools