🖥️ 8位复古电脑课程
从零用Verilog搭建8位复古电脑——从CPU到内存映射到BASIC解释器,Verilator验证
📖 课程简介
本课程从最基础的布尔逻辑出发,一步步教你用Verilog搭建一台完整的8位复古电脑。30课涵盖:数字逻辑基础→CPU核心设计→内存系统→IO外设→软件工具链,所有代码均通过Verilator仿真验证。
灵感来自Apple II、Commodore 64、ZX Spectrum等经典8位电脑——但这次,每一个晶体管都由你亲手设计。
课程路线图
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
基础概念 (01-03) CPU核心 (04-08) CPU实现 (09-12)
┌──────────┐ ┌──────────┐ ┌──────────┐
│01 概述 │ │04 寄存器 │ │09 数据通路│
│02 布尔逻辑│ ───→ │05 ALU │ ───→ │10 单周期 │
│03 组合逻辑│ │06 指令集 │ │11 多周期 │
└──────────┘ │07 指令解码│ │12 流水线 │
│08 控制器 │ └──────────┘
└──────────┘
│
▼
内存系统 (13-18) IO外设 (19-24) 软件集成 (25-30)
┌──────────┐ ┌──────────┐ ┌──────────┐
│13 存储器 │ │19 PS/2 │ │25 汇编器 │
│14 内存映射│ ───→ │20 VGA │ ───→ │26 监控程序│
│15 ROM │ │21 UART │ │27 BASIC基 │
│16 RAM │ │22 定时器 │ │28 BASIC IO│
│17 堆栈 │ │23 GPIO │ │29 系统集成│
│18 DMA │ │24 中断 │ │30 毕业项目│
└──────────┘ └──────────┘ └──────────┘
🔧 Verilog源代码
所有课程的Verilog代码均保存在 verilog/ 目录下,通过Verilator --lint-only验证。
| 文件 | 课程 | 功能 |
| ps2_keyboard.v | 19 | PS/2键盘接收器 |
| vga_text_mode.v | 20 | VGA 80×25文本模式 |
| uart.v | 21 | 可配置波特率UART |
| timer.v | 22 | 16位可编程定时器 |
| gpio.v | 23 | 8位GPIO控制器 |
| interrupt_controller.v | 24 | 8源中断控制器 |
8位复古电脑课程 © 2026 | 从零到一的计算机架构之旅