Very2 well done
The world is digital, but life is analog..
Very2 well done
♦
It’s project time =)
This semester in BHE3233 – Digital System Design, we’re exploring practical world of digital hardware by implementing real-time, embedded digital systems using the DE10-Lite FPGA board. Building on the fundamentals of Verilog, FSMs, and RTL design we’ve covered, students now have the opportunity to apply their knowledge through these exciting hands-on projects. Each project emphasizes different aspects of digital design—from FSM sequencing to pipelining and datapath architecture.
These projects were carefully curated to cover a wide range of course outcomes, from combinational and sequential logic design to system-level implementation using FSMs and RTL pipelines. Students not only reinforce theoretical understanding but also gain confidence in developing real-time FPGA applications using Verilog on the DE10-Lite board.
Before jumping into their projects, the students have already completed structured labs covering:-
FSM design and simulation
RTL pipelining
Clocking and timing constraints
Static timing analysis
7-segment display interfacing
Debouncing and switch inputs
These foundational skills are directly applicable to the project implementations.
Here’s a detailed look at the 6 project titles offered this semester:-
1. Morse Code Encoder and LED Blinker
Objective – Design a finite state machine (FSM)-based system that converts input characters (A-Z, 0-9) into Morse code and blinks an LED accordingly.
Key Features –
Input a hardcoded message (or via DIP switches)
FSM handles character-to-Morse conversion (dot and dash)
LED blinks in Morse timing format
Optional – Display current character on a 7-segment display during encoding
Learning Outcomes – FSM design, output timing control, sequential logic, user interaction.
2. Basic 8-bit RISC CPU Implementation
Objective – Build a basic 8-bit CPU that supports core instructions such as ADD
, SUB
, LOAD
, STORE
, and JMP
.
Key Features –
4 to 8 general-purpose registers
Instruction decoder and ALU unit
ROM-based instruction memory and RAM-based data storage
Output status or values via LEDs or 7-segment display
Learning Outcomes – Datapath design, FSM for control unit, memory interfacing, and simple instruction architecture.
3. Parallel Multiplier Using RTL Pipelining
Objective – Design a high-speed 8-bit parallel multiplier using RTL pipelining techniques.
Key Features –
Inputs via DIP switches or pushbuttons
Multi-stage pipelining of partial products
Output result on 7-segment displays
Compare pipelined design with pure combinational multiplier in terms of:-
Critical path delay
Maximum clock frequency
FPGA logic utilization
Throughput
Learning Outcomes – Pipelined architecture, latency vs. throughput, performance analysis.
4. Digital Stopwatch with Lap Function
Objective – Create a stopwatch with basic timing functions and lap time capture.
Key Features:
Start/Stop/Reset controls via pushbuttons
FSM-based timing logic
4-digit multiplexed 7-segment display
Capture and display lap time on button press
Learning Outcomes – Sequential system design, timing counters, 7-segment multiplexing, user interface design.
Objective – Develop a digital locking system with password protection using FSM.
Key Features –
User password entry via DIP switches
Status feedback through LEDs or 7-segment
Lock/unlock logic with real-time comparison
Optional: Add retry limit and lockout on failed attempts
Learning Outcomes – FSM logic, comparison algorithms using shift registers, and embedded security logic.
6. Dice Game Controller
Objective – Simulate a simple 2-player dice game with visual feedback and turn-based logic.
Key Features –
Pushbutton to initiate dice roll
Use LFSR (Linear Feedback Shift Register) to generate pseudo-random numbers (1–6)
Output displayed using 7-segment or LED
FSM handles player turns and win conditions
Learning Outcomes – Random number generation using LFSR, FSM game logic, 7-segment display control.
Today, each group presented their project progress. Well done!
Functional demo on the DE10-Lite board
Timing and performance analysis
Challenges and solutions in design
Looking forward to final outcome and submission in Kalam!
Over the past three weeks, our BTE1522 class transitioned into full project-based learning mode, where students were tasked to apply all they have learned throughout the semester—from Python programming basics to hardware interfacing with the Raspberry Pi 4. This phase was not just about completing an assignment—it was about creating functional, working solutions from scratch.
Each group (consisting of three students) was equipped with:
A UMPSA STEM Cube
Raspberry Pi 4
Camera Module
GPS Sensor
BME280 (temperature, humidity, pressure)
MPU6050 (accelerometer and gyroscope)
Students selected one topic from a set of project assignments, all of which required multidisciplinary skills. Each project had to include the following components:
Sensor Integration: Establish working connections between Raspberry Pi and the sensors.
Data Storage: Build a working database—either local (e.g., SQLite) or cloud-based (e.g., Firebase, Google Sheets).
Dashboard Development: Create a working user interface/dashboard using tools like Streamlit, Flask, Adafruit IO, or Blynk to visualize data and system status.
The Learning Process
This phase was entirely project-based, meaning students were expected to learn through experimentation, debugging, and problem-solving. Unlike guided tutorials, this process encouraged independent learning and collaboration:
Debugging wiring errors
Fixing Python runtime bugs
Reading sensor data accurately
Sending and retrieving data from a database
Building interactive visual dashboards
Learning programming—especially physical computing—is most effective when you’re actually doing it. The moment something doesn’t work, and you have to troubleshoot, is when you truly begin to understand what you’re building. the most important thing is NOT TO GIVE UP 🙂
This project based learning phase is aimed at solidifying concepts from earlier weeks, including:
Python functions and loops
Conditional logic
File and data handling
Sensor reading and real-time feedback
REST APIs and interface design
Final Submission Checklist
As the project phase concludes, students are required to submit their work via KALAM. Each group should prepare:
A complete lab report
A 3-minute walkthrough video, demonstrating the system and explaining their code
A zip folder with all Python source code files
This final submission will serve not only as a record of their accomplishment but also as a mini portfolio piece showcasing their ability to develop real-world solutions.
Each team faced unique challenges, but everyone succeeded in developing a working prototype with analytics. This hands-on, integrative experience truly brings the course’s learning outcomes to life.
Looking forward to your final presentations and submission in KALAM next week. Great job, everyone—keep building and keep learning!