Day 15 Lab: Final Project Build Day¶
Starter Code & Notebooks
Download All Starter Code (.zip)
Open in JupyterLab Download .ipynb View on GitHub
Individual exercise downloads and file links are below each exercise.
Overview¶
Today is dedicated build time for your final project. This is NOT a traditional exercise day — you'll work on integrating and debugging your own project using the scaffolding, module library, and debug utilities provided here.
Session Structure¶
| Time | Activity |
|---|---|
| 0:00–0:15 | Integration strategy briefing |
| 0:15–0:45 | Individual check-ins (Mike circulates) |
| 0:45–2:00 | Independent build time with on-call support |
| 2:00–2:15 | Status round (30 sec per person) |
| 2:15–2:30 | Buffer / overflow debugging |
What's in This Package¶
| Directory | Contents |
|---|---|
integration_guide/ |
Step-by-step integration checklist and common pitfalls |
module_library/ |
Proven, tested modules from Weeks 1–3 ready to reuse |
debug_utilities/ |
Heartbeat, UART printf, signal spy helpers |
project_templates/ |
Skeleton top modules for each project option |
The #1 Rule¶
No Big Bang Integration. Do not connect everything at once and hope it
works. Follow the incremental integration checklist in integration_guide/.
Integration Order¶
- Verify every module individually (re-run testbenches)
- Create skeleton top with heartbeat LED — synthesize & program
- Add ONE module at a time. Synthesize. Verify on hardware. Repeat.
- Use UART printf debugging for hardware-only issues
Deliverables (for tomorrow)¶
- [ ] Working minimum viable demo on hardware
- [ ] Block diagram (hand-drawn or digital — must be clear)
- [ ] Testbench for at least one custom module (passing)
- [ ] Know your resource usage (
make stat) and Fmax