碎碎思 · 2月24日

DeepSeek 推荐的开源项目

今天给大家带来 DeepSeek 推荐的开源项目,因为有些项目已经失效了,所以会替代为一些相近项目。

一、基础入门项目

1. 数字逻辑与 Verilog/VHDL 入门

项目名称: FPGA 101

https://github.com/mmicko/fpg...

简介: 包含基础组合逻辑、时序逻辑、状态机、计数器等设计。

学习内容:

Verilog/VHDL 语法

组合逻辑(加法器、多路选择器)

时序逻辑(计数器、分频器)

有限状态机(FSM)设计

学习路线:

学习数字电路基础(布尔代数、触发器、寄存器)。

掌握 Verilog/VHDL 基础语法。

实现简单电路(如 7 段数码管驱动、PWM 生成)。

完成状态机项目(如交通灯控制、自动售货机)。

2. 基于 FPGA 的简单游戏

项目名称: FPGAandGames

image.png

https://github.com/suisuisi/F...
简介: 用 FPGA 实现经典游戏,通过 VGA 输出显示。
学习内容:

VGA 时序控制

简单图形渲染

按键输入消抖

学习路线:

学习 VGA 显示原理。

实现基础图形生成(矩形、线条)。

添加游戏逻辑(球拍移动、碰撞检测)。

二、中级项目(处理器与接口)

3. RISC-V CPU 设计

项目名称: PicoRV32 或 SERV(超小型 RISC-V 核)

https://github.com/cliffordwo...

https://github.com/olofk/serv

简介: 轻量级 RISC-V 处理器实现,适合学习 CPU 架构。
学习内容:

CPU 流水线设计

总线协议(Wishbone/AXI)

指令集架构(ISA)

学习路线:

学习计算机组成原理(冯·诺依曼架构、流水线)。

研究 RISC-V 指令集手册。

分析 PicoRV32 代码,理解取指-译码-执行流程。

扩展功能(添加中断支持或自定义指令)。

4. FPGA 与外设通信

项目名称: LiteX

https://github.com/enjoy-digi...
简介: 开源 FPGA SoC 构建框架,支持多种外设(UART、SPI、DDR)。
学习内容:

SoC 设计方法

外设驱动开发

软核 CPU(如 VexRiscv)集成

学习路线:

学习 SoC 基本概念(CPU、总线、外设)。

用 LiteX 生成最小系统(CPU + UART)。

添加自定义外设(如 LED 控制器)。

三、进阶项目(算法加速与系统设计)

5. 图像处理加速

项目名称: Open Source Image Processing on FPGA

https://github.com/hdl-util/hdmi
简介: 实现摄像头采集、图像处理(边缘检测、滤波)、HDMI 输出。
学习内容:

视频流协议(HDMI、MIPI)

并行计算优化(流水线、并行计算单元)

算法硬件化(如 Sobel 算子、高斯滤波)

学习路线:

学习图像处理基础算法。

实现单帧图像处理(如灰度转换)。

扩展为实时视频流处理。

6. 神经网络加速器

项目名称: VTA (Versatile Tensor Accelerator)

https://github.com/apache/tvm...
简介: 支持 TVM 框架的深度学习加速器,适合 AI 硬件加速研究。
学习内容:

张量计算单元设计

内存层级优化

软硬件协同(TVM 编译器与 FPGA 联动)

学习路线:

学习神经网络计算图与硬件映射。

部署预训练模型(如 MNIST 分类)到 VTA。

优化计算单元(如矩阵乘法并行化)。

四、专业级项目(高速接口与复杂系统)

7. 高速通信协议

项目名称: FPGA PCIe/USB 3.0 Core

https://github.com/enjoy-digi...
简介: 实现 PCIe 或 USB 3.0 通信,适合数据中心或高速传输场景。
学习内容:

高速 SerDes 技术

PCIe/USB 协议栈

DMA 数据传输

学习路线:

学习高速接口协议(物理层、数据链路层)。

实现 FPGA 与 PC 间简单数据通信。

设计高性能 DMA 引擎。

8. 开源 FPGA 工具链

项目名称: Yosys + NextPnR

https://github.com/YosysHQ/yosys
简介: 开源综合与布局布线工具,支持 Lattice/Lattice ECP5 等 FPGA。
学习内容:

FPGA 工具链流程(综合、映射、布线)

约束文件(SDC)编写

时序分析优化

学习路线:

学习 FPGA 开发全流程。

用 Yosys 综合简单设计。

对比开源与商业工具(如 Vivado)的差异。

五、学习路线总结

阶段 1:基础(1-3 个月)

目标: 掌握数字电路与 HDL 语言。

步骤:

学习《数字电子技术基础》(阎石)。

完成 Verilog/VHDL 基础项目(计数器、状态机)。

使用开发板(如 Basys3、DE10-Nano)验证设计。

阶段 2:中级(3-6 个月)

目标: 掌握处理器与外设交互。

步骤:

学习计算机体系结构(推荐《计算机组成与设计:RISC-V 版》)。

实现 RISC-V 软核并运行简单程序。

集成 UART、SPI 等外设。

阶段 3:进阶(6-12 个月)

目标: 复杂系统与算法加速。

步骤:

学习算法硬件化(如 FFT、CNN)。

实现高速接口(PCIe、DDR3)。

参与开源社区项目(如 LiteX、VTA)。

阶段 4:专业(1 年以上)

目标: 全栈 FPGA 开发(RTL 到物理实现)。

步骤:

研究时序约束与低功耗设计。

掌握开源工具链(Yosys、SymbiFlow)。

贡献代码或发布自己的开源项目。

六、工具与资源推荐

开发工具:

仿真: Verilator、ModelSim

综合与实现: Vivado、Quartus、Yosys

调试: SignalTap、ILA(集成逻辑分析仪)

学习资源:

书籍: 《FPGA 原理与结构》《RISC-V 架构与嵌入式开发》

社区: FPGA4Fun、RISC-V International、GitHub FPGA 主题仓库。

总结

总结的项目基本符合我们之前推荐的 STAR 数比较多的项目,适合新手学习和复刻,尤其感觉总结的内容比较符合项目

END

作者:碎碎思
原文:OpenFPGA

相关文章推荐

更多 FPGA 干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10631
内容数
601
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息