This week is important as we move from theoretical concepts to hands-on hardware implementation. You will be tackling Pre-Labs (Sessions 1 & 2) and Labs 1 & 2 (Sessions 3 & 4).
To succeed in this course and meet our core learning outcomes—specifically CO3, which focuses on developing FPGA designs using industry best practices—you must follow a structured approach.
Phase 1: The Foundation (Pre-Lab Sessions 1 & 2)
Before touching the hardware, you must set up your digital environment. These sessions focus on Project Setup and Functional Verification.
-
-
-
Software Installation: Ensure you have Intel Quartus Prime Lite Edition (Version 18.1) and ModelSim installed on your computer.

-
Project Creation: Launch the New Project Wizard in Quartus. Critical step: You must target the specific FPGA device on our board: MAX 10 – 10M50DAF484C7G.
-
-


-
-
-
Functional Simulation: Use ModelSim to verify your logic before synthesis. This allows you to catch bugs in a software environment where signals are easy to trace.
-
-

Phase 2: Hands-On Implementation (Labs 1 & 2)
Now, it’s time to bring your code to life on the DE10-Lite FPGA Board.

Lab 1: Blinking LEDs (Session 3)
In this lab, you will learn to control the board’s ten user-defined LEDs.
-
-
-
The Logic: You will write a Verilog module utilizing a counter to create a delay.
-
Key Tip: Remember that the onboard clock runs at 50 MHz. Your counter must be large enough (at least 25 bits) to create a blink visible to the human eye.
-
-



Lab 2: Switch Inputs and Debouncing (Session 4)
Mechanical switches are “noisy.” When you flip a switch, the signal “bounces” rapidly between high and low before settling.
-
The Challenge: You will implement Debounce Logic using a counter to ensure the FPGA only registers a clean, stable signal.
-
The Goal: Observe the difference between a direct switch-to-LED connection and one filtered through your debounce logic.
How to Complete Your Lab Answer Sheets
Your lab worksheet is your evidence of learning. To receive full marks and satisfy CO3 requirements, every session entry must include:
-
Unique Module Naming: To ensure individual work, you must prefix your top-level modules with your unique initials (e.g.,
AZ_LED_Blinking). Generic names will result in mark deductions. -
Verilog Code Snippets: Paste snapshots of your design module and your testbench.
-
Simulation Waveforms: Provide ModelSim screenshots. Don’t just paste the image; add notes explaining the logic proof and calculating the clock cycles or frequency observed.
-
Implementation Reports: After compiling in Quartus, open the Compilation Report. You must include snapshots showing Resource Utilization (how many LUTs and Registers your design used).
Final Submission Reminder
Once you have completed all activities and filled out your worksheet for Sessions 1 through 4:
-
Verify that all dates are recorded correctly.
-
Ensure every module name is unique to you / your team member.
-
Upload the completed document to KALAM (after Lab 6 – Session 8).
Success in digital design comes from attention to detail. Double-check your pin assignments in the Pin Planner before programming, and always verify your timing slack in the Summary Report.
For those who are interested to explore more about Pin Planner, do explore this YouTube :-
Happy designing, engineers!

























































