Lab Overview
Lab 1: Introduction to FPGA Programming
- Overview of FPGA architecture.
- Introduction to the Quartus Prime development environment.
- Blinking LEDs on the DE10-Lite board.
Lab 2: Switch Inputs and Debouncing
- Using switches as inputs to control LEDs.
- Implementing debounce logic for switch inputs.
Lab 3: Seven-Segment Display and Multiplexing
- Displaying numbers on the seven-segment display.
- Multiplexing for multiple displays.
Lab 4: PWM Generation
- Generating Pulse Width Modulation (PWM) signals.
- Controlling LED brightness using PWM.
Lab 5: Analog-to-Digital Conversion (ADC)
- Interface with an external potentiometer.
- Convert analog signals to digital using the DE10-Lite's ADC.
Lab 6: UART Communication
- Implement UART communication between the DE10-Lite and a computer.
- Sending and receiving data using a terminal.
Lab 7: Finite State Machine (FSM)
- Designing and implementing a finite state machine.
- Applications of FSM in digital design.
Lab 8: Memory Interface
- Interface with the on-board memory.
- Reading from and writing to memory.
Lab 9: I2C or SPI Communication
- Interface with external devices using I2C or SPI communication.
- Connect and communicate with sensors.
Lab 10: Custom IP Core Development
- Creating a custom Intellectual Property (IP) core.
- Integrating the custom IP core into a larger project.
Lab 11: VHDL/Verilog Design Challenges
- Tackling design challenges to reinforce programming skills.
- Implementing more complex circuits or algorithms.
Lab 12: Hardware Description Language (HDL) Debugging
- Learning debugging techniques for HDL code.
- Using simulation tools to verify and debug designs.
Lab 13: CanSat Simulation
- Simulating a simplified CanSat mission on the DE10-Lite.
- Integrating sensor readings, communication, and control systems.
Lab 14: Real-Time Control System
- Implementing a real-time control system using the FPGA.
- Ensuring timely and accurate control responses.
Lab 15: CubeSat Project
- Integrating GPS module, LEDs, PM2.5 sensor, accelerometer, and 433 MHz transceiver.
- Implementing communication protocols for data exchange.
- Testing and optimizing the CubeSat-like system.