Altera provides a number of ready-to-teach laboratory exercises for digital logic courses. Both Verilog and VHDL versions of exercises are provided.
The exercises begin with fundamental concepts and show simple operations on the DE-series boards, such as using switches and controlling LEDs and seven-segment displays. They assume that students are just beginning to learn about digital logic concepts and require solutions that use simple logic expressions. Subsequent exercises progress to more advanced topics such as arithmetic circuits, flipflops, counters, finite state machines, datapaths, and a simple processor.
As an aid for instructors, a complete solution for each lab exercise is available in Verilog and VHDL. Unformatted text versions of these exercises and the source files for the figures are also available. Professors and lecturers may request access to the solutions material by clicking the link below.
The following table shows the available laboratory exercises. Each exercise is avalable in both Verilog and VHDL, and for several development boards. Use the filters below to choose the ones that are appropriate for your course.
| Filter Materials | |||
| Choose HDL: | Choose Board: | ||
| Table 1. Digital Logic Exercises (2012) | |
| Title | Downloads |
|---|---|
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
| Lab 1 - Switches, Lights, and Multiplexers | PDF Design Files |
| Lab 2 - Numbers and Displays | |
| Lab 3 - Latches, Flip-flops, and Registers | |
| Lab 4 - Counters | |
| Lab 5 - Timers and Real-Time Clock | |
| Lab 6 - Adders, Subtractors, and Multipliers | |
| Lab 7 - Finite State Machines | |
| Lab 8 - Memory Blocks | |
| Lab 9 - A Simple Processor | |
| Lab 10 - An Enhanced Processor | |
| Lab 11 - Implementing Algorithms in Hardware | |
| Lab 12 - Basic Digital Signal Processing | PDF Design Files |
Earlier versions of the Digital Logic Exercises can be found here.

