这是广东工业大学集成电路学院三名大二学生组队参加:全国大学生嵌入式芯片与系统设计竞赛(FPGA易思灵赛道)做的项目
本项目为大二学生基于 易灵思 Trion T20 FPGA 平台,实现ADC信号采集与VGA显示功能的综合性设计,旨在通过实战掌握FPGA开发流程与团队协作方法。
本项目基于易灵思 Trion T20 FPGA 开发板,目标是:
- 掌握Verilog HDL基础语法与模块化设计方法
- 建立FPGA开发全流程认知(设计→仿真→上板)
- 实现ADC信号采集与VGA波形显示功能
- 培养团队协作与项目文档管理能力
| 成员 | 角色 | 核心任务 | 输出成果 | 任务进度 | 时间节点 |
|---|---|---|---|---|---|
| 王同学 | 队长/设计负责 | 1. 搭建GitHub仓库与协作规范 2. 设计ADC与VGA模块代码 3. 顶层模块整合与优化 4. 编写设计文档与进度报告 |
Verilog代码、顶层模块、设计文档、进度报告 | 按阶段推进 | 第1周:仓库搭建 第3-5周:模块设计 第6-7周:顶层整合 |
| 刘同学 | 仿真负责 | 1. 编写Testbench测试用例 2. 模块功能与时序仿真 3. 输出仿真报告与问题反馈 |
Testbench代码、仿真波形、仿真问题报告 | 滞后设计1-2天 | 第3-4周:ADC仿真 第5-6周:VGA仿真 第7周:时序仿真 |
| 徐同学 | 上板调试负责 | 1. 开发板硬件熟悉与资源整理 2. 编写引脚约束文件 3. 上板测试与问题定位 4. 输出测试报告 |
约束文件、上板测试记录、硬件问题解决方案 | 滞后仿真1-2天 | 第3周:约束文件编写 第5周:ADC上板测试 第6-7周:系统测试 |
| 学习阶段 | 共同学习内容 | 学习目标 | 完成时间 |
|---|---|---|---|
| 基础阶段 | Git/GitHub协作流程 | 掌握仓库管理、分支操作、代码提交规范 | 第1周结束 |
| 基础阶段 | 数电核心知识(时序逻辑、状态机) | 理解FPGA设计的底层逻辑基础 | 第2周结束 |
| 基础阶段 | Verilog基础语法 | 能看懂基本代码结构与模块定义 | 第2周结束 |
| 工具阶段 | Efinity/Vivado基本操作 | 熟悉开发环境界面与核心功能 | 第3周结束 |
| 项目阶段 | T20开发板硬件资源(时钟、ADC、VGA接口) | 了解硬件资源分布与接口特性 | 第4周结束 |
| 周次 | 主要任务 | 时间分配(周末12h+工作日1-2h) | 交付物 |
|---|---|---|---|
| 第1周 | 搭建GitHub仓库、制定协作规范;复习数电时序逻辑基础 | 周末:仓库搭建+规范制定 | 仓库结构、协作规范文档 |
| 第2周 | 学习Verilog语法;编写基础模块(计数器、触发器) | 周末:语法练习;工作日:代码整理 | 基础模块代码、语法笔记 |
| 第3周 | 学习模块化设计方法;设计ADC采集模块框架 | 周末:模块设计;工作日:接口定义 | ADC模块框架图、接口文档 |
| 第4周 | 完成ADC模块代码编写;设计VGA显示模块框架 | 周末:代码实现;工作日:逻辑检查 | ADC模块代码、VGA框架图 |
| 第5周 | 完成VGA模块代码编写;编写模块设计文档 | 周末:代码实现;工作日:文档编写 | VGA模块代码、模块设计文档 |
| 第6周 | 设计顶层模块;编写模块间接口逻辑 | 周末:顶层设计;工作日:接口调试 | 顶层模块代码、接口逻辑说明 |
| 第7周 | 整合ADC与VGA模块;优化代码结构;准备给仿真团队的设计说明 | 周末:模块整合;工作日:代码优化 | 完整系统代码、设计说明文档 |
| 周次 | 主要任务 | 时间分配(周末12h+工作日1-2h) | 交付物 |
|---|---|---|---|
| 第1周 | 学习Git基础操作;熟悉GitHub仓库结构;完成首次代码提交 | 周末:Git练习;工作日:仓库熟悉 | Git操作记录、首次提交文件 |
| 第2周 | 学习Testbench基础语法;编写简单逻辑的仿真代码 | 周末:语法学习;工作日:代码练习 | 基础Testbench代码、仿真笔记 |
| 第3周 | 学习仿真工具使用;针对ADC模块编写测试用例 | 周末:工具练习;工作日:用例设计 | ADC模块Testbench、测试用例文档 |
| 第4周 | 对ADC模块进行功能仿真;输出仿真报告 | 周末:仿真执行;工作日:报告编写 | ADC仿真波形、仿真问题报告 |
| 第5周 | 针对VGA模块编写测试用例;进行功能仿真 | 周末:仿真执行;工作日:问题记录 | VGA模块Testbench、仿真波形 |
| 第6周 | 对顶层模块进行联合仿真;验证模块间接口正确性 | 周末:联合仿真;工作日:问题分析 | 联合仿真报告、接口问题清单 |
| 第7周 | 进行时序仿真;输出完整仿真报告;反馈设计问题给王同学 | 周末:时序仿真;工作日:报告整理 | 时序仿真报告、设计优化建议 |
| 周次 | 主要任务 | 时间分配(周末12h+工作日1-2h) | 交付物 |
|---|---|---|---|
| 第1周 | 学习Git基础操作;熟悉开发板硬件结构;整理硬件资源表 | 周末:开发板熟悉;工作日:资源整理 | 硬件资源表、开发板照片标注 |
| 第2周 | 学习Efinity/Vivado软件安装与配置;练习工程创建基本流程 | 周末:工具安装;工作日:流程练习 | 工具配置笔记、工程创建步骤文档 |
| 第3周 | 学习引脚约束文件编写;熟悉T20开发板引脚分布 | 周末:约束学习;工作日:引脚整理 | 引脚约束模板、引脚分布对照表 |
| 第4周 | 准备测试环境;练习比特流生成与下载流程;测试开发板基本功能(LED、按键) | 周末:下载练习;工作日:环境检查 | 测试环境清单、LED测试记录 |
| 第5周 | 接收ADC模块代码;进行简单上板测试;反馈硬件问题 | 周末:上板测试;工作日:问题记录 | ADC上板测试报告、硬件问题清单 |
| 第6周 | 接收VGA模块代码;进行显示功能测试;优化约束文件 | 周末:功能测试;工作日:约束优化 | VGA显示测试报告、优化后约束文件 |
| 第7周 | 测试完整系统功能;记录硬件调试问题;编写上板测试报告 | 周末:系统测试;工作日:报告编写 | 系统测试报告、调试问题解决方案 |
- 《FPGA原理与实践》
- 《数字逻辑与FPGA设计》
- EDA Playground 在线仿真
- 官方手册和参考设计
- 简单上板调试教程(Efinity IDE)
/docs/Learning_Notes.md用于记录实验进度、调试经验、问题总结/docs/Meeting_Minutes.md用于记录团队会议内容与决议