The first lab will introduce you to the Altera’s Terasic DE1-SoC development board and our primary design tool this quarter, Intel's Quartus Prime. Both of these components are very important for all future labs so please pay attention.
Be sure to read the before getting started so you know how to format your answers as you go.
The designs in this class will be done through the Intel Quartus Prime software. This is preloaded on machines in the lab (CSE 003), and you are free to do all the work on these PCs. However, you can install the software on your own computer, if desired, by following the document.
Open the and complete Sections 0 through 8. You will simulate two designs: mux2_1 and mux4_1. Be sure to do all of the steps and ask the course staff for help when you encounter issues. During your lab demo, you will need to show your simulation of mux4_1 and give a brief verbal explanation of what mux4_1 actually does.
Read through the document. Make sure you know where the LEDs, switches, and push buttons are on the DE1 and then connect it to your computer and power on your board. Feel free to play around with preloaded program to get a feel for the board inputs and outputs.
Now finish the rest of the Quartus Tutorial to program your board with the provided top-level module lab1.sv (code). Refer to the code comments and play with the appropriate inputs to discern the logical behaviors of our input and output signals:
Now modify lab1.sv to implement the following additional logic. You will only need to add one line of code beneath each TODO comment. Refer to Lecture 2 for the syntax for gate modules and logical operators.
Recompile your modified project and load it onto your board to make sure that it behaves as you would expect. Don't forget to upload your modified lab1.sv alongside your lab report.
Electronics can be cold and impersonal so let's change that by having your DE1 recognize you! We want to design a circuit that will light up an LED only when you input the last digit of your student ID number. Your goal is to design the circuit out of NOT, NAND, and NOR gates using the fewest number of gates possible.
SW3 | SW2 | SW1 | SW0 | Digit | |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 1 | 1 | |
0 | 0 | 1 | 0 | 2 | |
0 | 0 | 1 | 1 | 3 | |
0 | 1 | 0 | 0 | 4 | |
0 | 1 | 0 | 1 | 5 | |
0 | 1 | 1 | 0 | 6 | |
0 | 1 | 1 | 1 | 7 | |
1 | 0 | 0 | 0 | 8 | |
1 | 0 | 0 | 1 | 9 |
Recognizing only one digit is a bit simplistic, so we’d like to scale it up to handle more digits.
Due before Wednesday section, submitted as a PDF on .
Due by the end of the day on Friday, but typically during your assigned demo slot or a scheduled support hour.
90 points for correctness, style, and testing.
Up to 10 points for using as few logic gates as possible in Task 4.
Each gate (NOT, NAND, NOR) counts the same, though any NOT gates connected directly to a switch input are not counted. The fewer gates, regardless of the number of chips, the better the grade.