系统完整性验证通过 — 校内先进团队
成功实现多传感应用场景下的完整 SoC 系统功能验证:OLED 与 VGA 双屏异显、矩阵键盘中断控制 DINO 游戏、VGA 贪吃蛇游戏流畅运行、蜂鸣器音乐播放。DINO 支持难度递增机制,SNAKE 通过像素合并优化在 640×480 分辨率下流畅刷新。项目获评校内先进团队。
本项目为第七届全国大学生集成电路创新创业大赛(安谋科技杯)参赛作品,作品名称为 DINO AND SNAKE。项目基于 FPGA 与 ARM Cortex-M0 软核构建了一个完整的 SoC 系统,并在其上实现了两款经典街机风格游戏——小恐龙跳跃(DINO)与贪吃蛇(SNAKE),展示了软硬件协同设计的完整流程。
系统采用 AHBlite 总线架构连接 Cortex-M0 处理器与各外设模块,通过软硬件功能划分合理分配 FPGA 逻辑资源与处理器算力,实现了 OLED / VGA 双屏显示、矩阵键盘中断控制、蜂鸣器音乐播放等多功能集成。
系统以 ARM Cortex-M0 软核(AT510-MN-80001-r2p0-00rel0)为核心,通过 AHBlite 总线互联架构,将以下外设模块集成至统一的 SoC 平台:
▲ 系统总体设计框图
DINO 游戏运行在 Keil 编写的软件层,通过总线控制 OLED 显示屏与各外设:
▲ 《DINO》小恐龙跳跃 — 游戏实际运行效果
SNAKE 游戏主体在 FPGA 硬件端以 Verilog 实现,直接与 VGA 显示驱动结合:
▲ 《SNAKE》贪吃蛇 — 游戏实际运行效果
• Cortex-M0 软核与 AHBlite 总线互联
• OLED / VGA 管脚绑定与电气接口
• 矩阵键盘扫描与中断信号生成
• 定时器模块(周期性中断)
• 蜂鸣器音乐播放器主体
• SNAKE 游戏逻辑 + VGA 驱动
• 手势识别信号接收模块
• 中断向量表配置与 ISR 编写
• DINO 游戏逻辑(跳跃、碰撞、计分)
• OLED 显示驱动与内容绘制
• 总线外设控制信号下发
• 蜂鸣器歌曲切换与播放控制
• 游戏难度递增算法
成功实现多传感应用场景下的完整 SoC 系统功能验证:OLED 与 VGA 双屏异显、矩阵键盘中断控制 DINO 游戏、VGA 贪吃蛇游戏流畅运行、蜂鸣器音乐播放。DINO 支持难度递增机制,SNAKE 通过像素合并优化在 640×480 分辨率下流畅刷新。项目获评校内先进团队。