从零开始学习数字电路与 Verilog,纯仿真环境。
| 阶段 | 目录 | 主题 | 说明 |
|---|---|---|---|
| 0 | 00-gates | 逻辑门 | 与、或、非、异或等基本门电路 |
| 1 | 01-combinational | 组合逻辑 | 多路选择器、编码器、译码器、加法器 |
| 2 | 02-verilog-basics | Verilog 基础 | 语法、数据类型、赋值、模块实例化 |
| 3 | 03-sequential | 时序逻辑 | 触发器、寄存器、计数器、移位寄存器 |
| 4 | 04-fsm | 有限状态机 | Moore/Mealy 状态机设计与实现 |
| 5 | 05-memory | 存储单元 | RAM、ROM、FIFO 设计 |
| 6 | 06-interfaces | 接口协议 | UART、SPI、I2C 等常见接口 |
| 7 | 07-advanced | 进阶专题 | 流水线、CDC、跨时钟域等高级主题 |
- 一台电脑即可,无需开发板
- 所有实验均在仿真环境中完成
| 工具 | 用途 |
|---|---|
| Icarus Verilog | 编译与仿真 |
| GTKWave | 波形查看 |
| Verilator | Lint 检查与高速仿真 |
| Make | 构建自动化 |
# 安装工具
sudo apt install iverilog gtkwave verilator make
# 克隆项目
git clone <repo-url> && cd 06-FPGA-Lab
# 进入任意实验目录,运行仿真
cd labs/00-gates
make06-FPGA-Lab/
├── labs/ # 各阶段实验
│ ├── 00-gates/
│ ├── 01-combinational/
│ ├── ...
│ └── 07-advanced/
├── toolchain/ # 工具链文档与通用 Makefile
├── templates/ # 模块与仿真模板
├── scripts/ # 辅助脚本
├── Makefile # 顶层 Makefile
└── README.md