Martin Schoeberl firstname.lastname@example.org August 4, 2006
When one starts to use a new language or environment the ﬁrst program written is usually thefamous ‘Hello World’ example. What is the ‘Hello World’ program in hardware, in an FPGA? The smallest project that produces dynamic output is a blinking LED. We will show the steps for a blinking LEDexample using Altera’s Quartus and the Cyclone board Cycore.
2 Design Flow
All your design ﬁles (VHDL ﬁles) make up a project in Quartus. A Quartus II project is deﬁned in Quartus II with just threeﬁles: projectname.qpf, projectname.qsf, and projectname.cdf. Those project ﬁles are plain text ﬁles and can be edited with any editor1 .
2.1 Create a New Project
Start Quartus II and create a newproject with: 1. File – New Project Wizzard... 2. Select a project directory and select a project name. The project name is usually the name of the top-level design entity. In our case hello world 3. Inthe next dialog box the VHDL source ﬁles can be added to the project. As we have no VHDL ﬁles at the moment we will skip this step 4. We have to select the target device. Choose family Cyclone anddepending on your board either select EP1C6Q240C8 or EP1C12Q240C8 as device
your Quartus II project before editing the ﬁles
5. We leave the EDA tools settings blank 6. Press Finish at thesummary window
2.2 Device and Pin Options
As the default settings in Quartus II for a device are dangerous2 we specify more details for our target device: 1. Assignments – Device to open thedevice properties 2. Press the button Device & Pin Options... 3. Important! At the tab Unused Pins select As input tri-stated. 4. If you intend to conﬁgure a dspio board via the USB download utility(USBRunner) select .rbf at the tab Programming Files. 5. The LVCMOS, selected in tab Voltage, is the better IO standard to interface e.g. SRAM devices 6. Close the dialog box and the next with OK...