⚡ 从单片机思维到FPGA开发
⚡
硬件思维的革命 · 30章完全目录
01
思维破冰:为什么学了单片机还要学FPGA?
从软件思维到硬件思维的转变
02
FPGA是什么?
从门电路到查找表(LUT),理解FPGA的底层架构
03
开发环境搭建:Vivado/Quartus安装、License配置、第一个点亮LED的程序
04
硬件描述语言初探:Verilog与VHDL的选择,为什么我推荐Verilog?
05
Verilog基础(一):模块(module)、端口(port)、assign语句、连续赋值
06
Verilog基础(二):always块、reg类型、wire类型、阻塞赋值与非阻塞赋值
07
Verilog基础(三):参数化设计(parameter)、generate语句、函数与任务
08
组合逻辑设计:与或非门、多路选择器(MUX)、译码器、加法器
09
时序逻辑设计:D触发器、寄存器、计数器、分频器
10
状态机设计(FSM):Moore型与Mealy型、三段式写法、避免锁存器
11
仿真与测试:Testbench编写、波形查看、$display与$monitor调试技巧
12
从GPIO到总线:单片机GPIO vs FPGA的IO控制,三态门与双向口
13
串口通信(UART)实现:从单片机轮询到FPGA的发送/接收状态机
14
SPI总线实现:主从模式、CPOL/CPHA配置、与MCU的SPI对比
15
I2C总线实现:开漏输出、仲裁、时钟拉伸,FPGA实现难点解析
16
PWM生成与电机控制:从单片机定时器到FPGA计数器+比较器
17
数码管与LCD驱动:动态扫描、段码表、时序匹配
18
按键消抖与输入捕获:硬件消抖 vs 软件消抖,FPGA的优势
19
FIFO与跨时钟域:同步FIFO、异步FIFO、格雷码、亚稳态处理
20
时钟域同步:单比特同步器、多比特同步、握手协议
21
IP核的使用:PLL锁相环、Block RAM、DSP48E1,告别手写底层
22
时序约束入门:什么是建立时间/保持时间?如何添加XDC/SDC约束?
23
时序分析实战:用Vivado的Report Timing分析路径,修复违例
24
资源优化与面积换速度:流水线设计、资源共享、逻辑复制
25
功耗优化:门控时钟、操作数隔离、低功耗状态机
26
片上系统(SoC)初探:MicroBlaze/Nios II软核,软硬件协同设计
27
FPGA与MCU的通信:SPI/并口/双口RAM,如何分工合作?
28
调试技巧:ChipScope/SignalTap逻辑分析仪、ILA核、VIO核
29
项目实战(一):基于FPGA的简易逻辑分析仪(采集+存储+显示)
30
项目实战(二):基于FPGA的DDS信号发生器(相位累加器+波形表+DAC)
⚡ 点击任意章节卡片,跳转至对应课程文件 (01.html ~ 30.html)