FPGA-SOPC 项目说明(LoongArch 1C102)

项目类型:FPGA / SoC / 嵌入式系统 / 上位机开发
关键词:LoongArch、Gowin FPGA、AXI/APB、Verilog、Qt、串口通信
项目概述
本项目面向 2024 集创赛(龙芯中科杯)场景,包含两个协同仓库:
- FPGA-SOPC 硬件工程:
LoongArch-1C102 - Qt 串口上位机工程:
QT-
项目目标是构建一套可运行的软硬件一体化系统,形成“片上计算 + 外设控制 + 主机交互”的完整闭环。
系统架构
整体采用“处理器子系统 + 片上总线 + 外设子系统 + 上位机工具”的分层结构:
- 处理器/顶层集成层:基于 LoongArch 相关 MCU/SOPC 顶层进行系统组装;
- 互连层:采用 AXI/APB 组织主从设备访问关系;
- 外设层:集成 GPIO、I2C、UART、视频链路、输入交互等模块;
- 应用交互层:通过 Qt 上位机完成串口通信、参数管理与状态显示。
该架构具备较好的工程可维护性,便于按层定位问题并扩展功能模块。
硬件工程说明(LoongArch-1C102)
硬件仓库以 Gowin FPGA 工程组织,包含工程文件、约束文件、RTL 模块、IP 生成文件与实现目录。
从目录和模块命名可识别的主要内容如下:
- 顶层与系统模块:
godson_mcu_top、godson_mcu_cpu、测试平台等; - 总线与桥接模块:AXI 与 APB 相关互连、桥接和复用逻辑;
- 基础外设模块:GPIO、I2C、定时类模块、配置寄存器;
- 多媒体与存储模块:VGA、SDRAM 控制、SD 相关逻辑、UART 接收链路;
- 交互扩展模块:键盘扫描与游戏相关外设逻辑;
- 工程支撑内容:PLL/FIFO/存储类 IP、器件约束与综合实现产物。
该工程形态符合竞赛和原型验证场景中常见的 SoC 组织方式,可用于后续功能裁剪与模块复用。
上位机工程说明(QT-)
上位机仓库用于实现串口通信侧的人机交互能力,主要定位为:
- 串口连接与参数配置;
- 数据收发与状态回显;
- 联调阶段的交互验证与问题复现支持。
工程文件以 Qt/qmake 形式提供,适合与 FPGA 端协议共同调试,构成完整的系统验证链路。
项目技术要点
- 软硬件协同:通过统一串口交互链路连接 FPGA 系统与 PC 端工具;
- 分层设计:按“总线-外设-交互”组织模块,降低联调复杂度;
- 工程化实现:包含约束、IP、综合与实现流程,具备可复现性;
- 可扩展性:外设接口标准化,便于新增功能模块与上位机指令集。
技术栈
- 硬件/底层:Verilog、AMBA(AXI/APB)、时序与约束、FPGA 实现流程
- 工具链:Gowin 工程体系(综合/实现/IP)
- 上位机:Qt(qmake)、串口通信、调试交互
- 工程方法:模块化设计、分层联调、问题定位与复盘