Intel® FPGA University Program
University Program Material, Education Boards, and Laboratory Exercises
1184 Discussions

so... where do I start learning on programming the DE2 board?

Honored Contributor II

Hi there,  


I'm given an Altera DE2 board for my self-learning purposes in my university project, and was told to do something out of it. I looked around and learned about what the board is capable of, and submitted that I'll be doing a security door system with it, where I'll interface it externally to a keypad, and maybe a motor/magnet that will act as a door opener when the correct numbers are pressed.  


But anyway, I have a question: I've done most of the tutorials in the "DE2_tutorials" folder, but I still don't get it, am I supposed to learn VHDL or Verilog programming from scratch, or could I somehow use C programming and load it onto the board? Also, anyone have some recommendation on books that I should be reading?  


The only related experience I had prior to this is that I've made a board and programmed an 8051 on it to display temperature on a 7 segment display and make it turn on/off the fan depending on the temperature.
0 Kudos
1 Reply
Honored Contributor II



The first thing that you need to decide is whether you want to implement your project using hardware (i.e. a logic circuit) or in software, running on a processor. From your post it seems that the latter option is more suitable for you. 


If you choose to create a software implementation, you will first need to instantiate a Nios II system on the DE2 board. Nios II is a "soft" microprocessor that can be programmed onto the FPGA chip on the DE2 board, and functions just like any RISC processor. After doing that, you can use tools like the Nios II IDE and the Altera Monitor Program to develop and test your C program and run it on the DE2 board. For more information on how to do this, visit this link ( and scroll down to the "Computer Organization" section. There you will find relevant tutorials and also a link to download the Altera Monitor Program. 


If, on the other hand, you choose to create a hardware implementation, you will need to design a logic circuit and then describe it to the Quartus CAD software using a hardware description language like Verilog or VHDL. If you choose to do it this way, you will need to learn Verilog or VHDL. A good book on the subject is "Fundamentals of Digital Logic with VHDL Design" by Stephen Brown and Zvonko Vranesic. A corresponding Verilog version of the book is also available.
0 Kudos