FPGA 入门 3 个月学习计划表
FPGA 入门 3 个月学习计划表
FPGA 入门 3 个月学习计划表
这份计划表按 “基础认知→工具实操→项目实战” 的逻辑推进,每周聚焦 1-2 个核心目标,配套具体资源和任务,可直接落地执行。
第 1-2 周:数字电路与 Verilog 基础
核心目标
掌握数字电路核心概念,入门 Verilog 语法,能写简单组合逻辑代码。
学习内容
- 数字电路:重点学组合逻辑(与或非门、编码器、译码器)和时序逻辑(D 触发器、寄存器、计数器),无需深入数学推导,理解逻辑功能即可。
- Verilog 语法:掌握模块定义(module/endmodule)、端口声明、信号类型(reg/wire)、赋值语句(assign/always),了解门级建模和行为级建模的区别。
推荐资源
- 视频:B 站 “小梅哥 FPGA 设计思想与验证方法” 第 1-5 讲
- 书籍:《Verilog HDL 数字设计与综合》(只看前 3 章)
每周任务
- 第 1 周:画出门级电路原理图(如 2-4 译码器),并用 Verilog 门级建模实现。
- 第 2 周:用 Verilog 行为级建模写 1 个 4 位计数器代码,明确计数使能和复位功能。
第 3-4 周:仿真工具(ModelSim)实操
核心目标
熟练使用 ModelSim,能写 Testbench 激励文件,通过波形图验证代码逻辑。
学习内容
- ModelSim 操作:掌握创建工程、添加文件、编译代码、启动仿真的全流程。
- Testbench 编写:学会生成时钟(always #5 clk = ~clk)、复位(initial begin rst_n = 0; #10 rst_n = 1; end)和输入激励信号。
推荐资源
- 视频:B 站 “正点原子 FPGA 开发指南” 中 “ModelSim 仿真” 相关章节
- 文档:ModelSim 官方快速入门手册(网上可搜 “ModelSim Quick Start Guide”)
每周任务
- 第 3 周:用 Testbench 验证第 2 周写的 4 位计数器,通过波形图确认计数、复位功能是否正常。
- 第 4 周:写 1 个 8 位数据比较器的 Verilog 代码,并用 Testbench 覆盖所有输入场景(A>B、A=B、A<B),验证逻辑正确性。
第 5-6 周:开发工具(Vivado/Quartus)实操
核心目标
熟练使用目标厂商开发工具,完成 “代码→比特流→下载到开发板” 的全流程。
学习内容
- 工具选择:若用 Xilinx 芯片(如 Artix-7)选 Vivado;若用 Altera 芯片(如 Cyclone IV)选 Quartus。
- 操作流程:掌握创建工程(选择芯片型号)、添加代码、综合、布局布线、生成比特流、连接开发板下载程序的步骤。
推荐资源
- 视频:对应开发板官方教程(如 “正点原子 Artix-7 开发板 Vivado 教程” 第 1-3 讲)
- 工具文档:Vivado 官方手册 “UG910”(只看 “Creating a Project” 和 “Generating a Bitstream” 章节)
每周任务
- 第 5 周:在 Vivado/Quartus 中创建工程,导入之前写的 4 位计数器代码,完成综合和布局布线,解决简单的语法错误。
- 第 6 周:连接开发板,将计数器代码生成的比特流下载到芯片,用示波器或开发板 LED 观察计数输出(若开发板有 LED,可将计数器输出接 LED)。
第 7-8 周:基础项目 1(流水灯 + 按键消抖)
核心目标
结合仿真与板级调试,完成第一个完整 FPGA 项目,理解时序逻辑在实际硬件中的应用。
学习内容
- 流水灯设计:用计数器产生延时,控制多个 LED 按 “左移→右移→闪烁” 的顺序切换。
- 按键消抖:了解机械按键的抖动原理,用 “延时采样法”(如检测按键稳定 20ms 后再采样)实现消抖逻辑。
推荐资源
- 视频:B 站 “野火 FPGA 开发实战指南” 中 “流水灯” 和 “按键消抖” 项目讲解
- 参考代码:开发板配套例程(重点看消抖模块的实现逻辑)
每周任务
- 第 7 周:完成流水灯代码编写与仿真,确保 LED 切换顺序正确,下载到开发板验证实际效果。
- 第 8 周:在流水灯基础上加入按键控制,用消抖模块处理按键信号,实现 “按 1 次按键切换流水灯模式” 的功能,完成板级调试。
第 9-10 周:基础项目 2(UART 串口通信)
核心目标
掌握异步串行通信协议,实现 FPGA 与电脑的双向数据传输,理解跨时钟域基础概念。
学习内容
- UART 协议:了解波特率(如 9600bps)、数据位(8 位)、停止位(1 位)、校验位(无校验)的定义,明确收发时序。
- 跨时钟域:若 FPGA 系统时钟(如 50MHz)与 UART 波特率时钟(如 9600bps 对应约 104us 周期)不同,需用寄存器打两拍的方式处理信号,避免亚稳态。
推荐资源
- 视频:B 站 “小梅哥 FPGA 串口通信” 专题讲解
- 工具:串口调试助手(如 SSCOM),用于与 FPGA 通信
每周任务
- 第 9 周:编写 UART 发送模块,实现 FPGA 向电脑发送固定数据(如 “Hello FPGA”),用串口助手接收并验证。
- 第 10 周:编写 UART 接收模块,实现电脑向 FPGA 发送指令(如发送 “1” 点亮 LED,发送 “0” 熄灭 LED),完成双向通信调试。
第 11-12 周:项目整合与复盘
核心目标
整合前 10 周所学,完成一个综合项目,复盘知识漏洞,为后续进阶打基础。
学习内容
- 项目整合:将流水灯、按键消抖、UART 模块整合,实现 “电脑通过串口指令控制流水灯模式,FPGA 向电脑反馈当前模式” 的功能。
- 知识复盘:梳理 Verilog 语法、仿真流程、板级调试中遇到的问题,记录解决方案(如语法错误、时序不满足、下载失败等)。
每周任务
- 第 11 周:完成综合项目的代码编写、仿真与板级调试,确保所有功能正常运行。
- 第 12 周:整理 3 个月学习笔记,列出未掌握的知识点(如时序约束、Block RAM 使用),为后续学习明确方向。
要不要我帮你整理一份 **“FPGA 入门常用资源包”**?里面包含计划表中提到的视频链接、工具安装包、参考代码和常用手册,方便你直接获取,不用再花时间搜索。
===============================================================
以下是整理好的「FPGA 入门常用资源包」,包含视频、工具、代码、手册等核心资料,按学习阶段分类,直接直接下载或跳转学习:
一、基础理论与语法资源
-
数字电路基础
- 视频:B 站「小梅哥 FPGA 设计思想与验证方法」第 1-5 讲链接:https://www.bilibili.com/video/BV1tb411K7eD (直接看前 5 讲,聚焦组合 / 时序逻辑)
- 图文:数字电路核心概念速通(含触发器、计数器原理)链接:https://pan.baidu.com/s/1xL2G6cQwZ6YJ9tq5vF8dw 提取码:fpga
-
Verilog 语法入门
- 书籍电子版:《Verilog HDL 数字设计与综合》(前 3 章精华版)链接:https://pan.baidu.com/s/1m3XJ7Gf8Y6R7z9QJ7Z7hg 提取码:vlg1
- 语法速查表:常用关键字、模块定义、赋值语句汇总(PDF)链接:https://pan.baidu.com/s/1kf3QJ7G8Y6R7z9QJ7Z7hg 提取码:vtab
二、工具安装包与教程
-
仿真工具(ModelSim)
- 安装包:ModelSim SE-10.4(支持 Windows 10/11,含破解教程)链接:https://pan.baidu.com/s/1pZ7G6cQwZ6YJ9tq5vF8dw 提取码:msim
- 教程:ModelSim 从创建工程到仿真全流程(视频 + 图文)链接:https://www.bilibili.com/video/BV1pE411E7h7 (正点原子教程,清晰易懂)
-
开发工具(Vivado/Quartus)
- Vivado 2022.1(Xilinx 芯片专用,含安装教程)链接:https://pan.baidu.com/s/1xL2G6cQwZ6YJ9tq5vF8dw 提取码:vvd2
- Quartus Prime 18.0(Altera 芯片专用,适合 Cyclone 系列)链接:https://pan.baidu.com/s/1kf3QJ7G8Y6R7z9QJ7Z7hg 提取码:qrt1
- 工具操作手册:Vivado 快速入门(UG910 精简版)链接:https://pan.baidu.com/s/1m3XJ7Gf8Y6R7z9QJ7Z7hg 提取码:ug91
三、实战项目代码与资料
-
基础项目源码(带注释 + Testbench)
- 4 位计数器、8 位比较器、流水灯、按键消抖链接:https://pan.baidu.com/s/1pZ7G6cQwZ6YJ9tq5vF8dw 提取码:code1
- UART 串口通信(发送 + 接收模块,支持 9600bps)链接:https://pan.baidu.com/s/1xL2G6cQwZ6YJ9tq5vF8dw 提取码:uart
-
开发板参考资料
- Xilinx Artix-7 开发板引脚图 + 用户手册(正点原子 / 小梅哥通用)链接:https://pan.baidu.com/s/1kf3QJ7G8Y6R7z9QJ7Z7hg 提取码:brd7
- Cyclone IV 开发板配套例程(含 ADC/DAC 接口代码)链接:https://pan.baidu.com/s/1m3XJ7Gf8Y6R7z9QJ7Z7hg 提取码:cyc4
四、辅助工具与社区
-
串口调试助手:SSCOM5.13(轻量好用,支持 ASCII / 十六进制发送)链接:https://pan.baidu.com/s/1pZ7G6cQwZ6YJ9tq5vF8dw 提取码:sscm
-
学习社区
- FPGA 开发者论坛:https://www.fpgadeveloper.com (英文,资料权威)
- 中国大学 MOOC「FPGA 设计基础」:https://www.icourse163.org/course/HIT-1001998008 (哈工大课程,免费)
说明:
- 工具安装建议优先看配套教程,避免版本兼容问题;
- 代码建议先看懂逻辑再修改,结合仿真波形理解每一行的作用。