Altera Cyclone Resources

UNDER CONSTRUCTION

This page has resources to get started on using the Altera Cyclone FPGA. You will find a sample schematic, board layout, and source code, as well as information about the free software tools you can use to create your own board.

Cyclone EP1C6 Development Board
module using PIC based display driver. The display is scrolling the message, 'THE
QUICK BROWN FOX JUMPED OVER THE LAZY DOG'

The Cyclone is Altera's low cost FPGA line, starting at around $10 for an FPGA with reasonable amount of logic elements. The Cyclone on this board is a EP1C6T144C6. The EP1C6 means this is a Cyclone (I) series with close to 6000 logic elements. The T144 means it has 144 pins, and the C6 is a speed grade meaning that logic on this FPGA can function up to 405 MHz - though not all implemented logic will go that fast! The Cyclone operates internally at 1.5 V, but supports IO voltages up to 3.3 V (LVTTL), and can interface 5 volt TTL devices under reasonable conditions. Altera has a higher density low cost line, the Cyclone II, that you may want to consider for your design. The Cyclone II runs at 1.2 V internally, but offers additional logic capabilities. There are many development boards that support the Cyclone FPGA lines, starting at around $100. I don't want to list specific boards, because availability changes all the time. I will tell you that there always seems to be a board available under $150 in spite of all the boards you find in the $500+ range.

Getting Started:

Read the Cyclone datasheets! Unfortunately, the information is separated into at least four seperate (and critical) datasheets. One for the device features, one (a spreadsheet) for pinouts, another one for package types, and finally a configuration guide (to tell you how to program your FPGA). Also visit opencores.org, where you can find a lot of free IP (intellectual property) cores to download. You can use the cores as examples or even use most of them in your own projects. I downloaded code to interface the PS2 port, and was surprised to find it works without modification on my board. I made a test program that connects the PS2 interface to any VGA monitor. What you see below is all the characters cycled up on the monitor as a test. The VGA monitor interface is based on one the EEL4712 lab assignments at the University of Florida. This one runs at 800 x 600 resolution, and I extended it to support color graphics:

Cycling through the available characters...

Designing your logic system:

Altera has you covered again. Use their free Quartus Web Edition. The only real annoyance is it's strict licensing. Based on the Flexlm, you cannot use most of the features through Remote Desktop, because it appears as terminal services. It alse requires re-activating every 6 months. On the plus side, Quartus is very good at optimizing your designs and allows schematic capture, or VHDL and verilog coding, whichever you prefer. You can easily mix entry modes.

AS or JTAG?

The Altera Cyclone can be configured (programmed) using several approaches, but the most popular are JTAG and Active Serial. JTAG programming allows you to configure the FPGA quickly and debug as well. The JTAG programming cable is inexpensive; you can find them starting around $15. Altera's ByteBlasterMV supports JTAG configuration. Because your logic resides only in the SRAM cells of the FPGA, the logic information is lost without power. This is fine for debugging, but if you want to have your device running without your computer and programmer attached, you will want to use Active Serial. Active Serial makes use of a configuration device to store your logic, and when the board is powered, the Cyclone loads itself with the configuration data (quicker than you can blink). The configuration device is nonvolatile, and can hold your logic implementation when the board is not powered. In order to use AS programming, you will need Altera's ByteBlaster II or their USB Blaster. Unfortunately, those programmers start at $150. The board is connected to JTAG for debugging below:

Board connected to JTAG programming cable for debugging.

Designing your own board:

If you must design your own board (I know how you feel), you'll need some CAD software. There are several free choices, but I highly recommend EAGLE. This excellent software is available in a free version for non-profit use on the Linux, OSX, and Windows platforms. Like any CAD software, there is a steep learning curve, but it's worth it. Don't bother with the tutorial, download the full manual and keep it handy. With EAGLE, you can download and view the development board I created on the top of this page:

devboard schematic (EAGLE format)
devboard board layout (EAGLE format)

In order to edit the schematic or layout, you'll need the "Non-Profit" license for EAGLE, since it is laid out as a 4 layer design that slightly exceeds the board size limitation of the freeware version. It's inexpensive and worth it... However, you can recreate the design on 2 layers that would work just fine, based on the schematic. The non-profit version also allows more than one schematic sheet, as this uses for readability.

I hope this page provided a useful starting point in your Cyclone FPGA project. You can email me at dubel at ufl dot edu to report errors or request additional information.

Nov. 15, 2005 William Summerfield Dubel IV