Orientation
Compose a larger design from reusable blocks
Objective
Use a supplied 32-bit counter, build a 4-to-1 eight-bit multiplexer and a decoder in Verilog, generate reusable symbols, integrate the blocks in a schematic, and verify the resulting LED behaviour.
Produces many bits that toggle at progressively lower frequencies.
Selects one eight-bit counter slice and routes it to the next block.
Converts a three-bit value into an active output line.
Open the Lab 4 SharePoint folder and download the supplied project files. Extract the Lab 4 project folder, open Lab4.qpf, and work in Lab4.bdf. Lab4 is the top-level entity. Its altpll0 block divides the DE0-Nano CLOCK_50 input to CLOCK_5, which drives the simple_counter block and exposes Count[31:0].
Opening a project, compiling, assigning pins, programming through USB-Blaster, and testing switches/LEDs follow the Lab 2 and Lab 3 workflow. This lab concentrates on counter division, multiplexing, decoding, and hierarchy.
Need a refresher?
→ FPGA Design Flow · → DE0-Nano Board Reference

![Quartus block diagram showing the Lab 7 counter receiving CLOCK_50 and producing Count[31:0].](../../assets/images/lab-04/counter-block.png)

![Quartus schematic showing Count[29:22], Count[27:20], Count[25:18], and Count[23:16] connected to the four mux inputs, with speed[1:0] driving the select input and LEDs[7:0] at the output.](../../assets/images/lab-04/mux-block.png)
![Quartus schematic showing a MUX feeding To_decoder[7:0] and a DecoderSimple block driving LEDs[7:0].](../../assets/images/lab-04/decoder-mux-block.png)