Build Your PC
辛苦三星期,造台计算机!
🎫
基础的 Vivado 使用与编码技巧
👑
简单的 MIPS 单周期 CPU 实现
🧧
完备的经典五级 RISC 流水 CPU
🚡 Build Your PC
辛苦三星期,造台计算机!
本项目为 BIT 大四小学期:
- 计算机组成原理课程设计
- 汇编与接口技术课程设计
两门课程的基本设计流程与参考资料的非官方整理。
🎃 实验要求(2019 版)
- 计算机组成原理课程设计
- 每一位同学自行完成一个支持 MIPS 指令子集:Lui、Addiu、Add、Lw、Sw、Beq、j,以及一随机抽取的指令的单周期 CPU,并给出仿真结果
- 每组同学共同完成一个多周期的或者流水线的 CPU,仿真并在精工板上验证
- 汇编与接口课程设计
- 每一位同学为自己设计的 CPU 写一个测试程序(MIPS 汇编程序或者 C 语言 + MIPS 编译器)
- 根据精工板资源,按组完成计算机外设接口设计,如 VGA 控制器、LCD、UART、蓝牙等,测试并形成 IP 核
- 应用 ② 中产生的 IP 核到自行设计的计算机系统中,在精工板上实现。
📑 文档目录
如果没有意外,那么你的设计流程应该和以下过程一致。
准备工作
个人项目 - 单周期 CPU
单周期 CPU 是个人项目中的必要起步项目,在单周期 CPU 的构建过程中我们才能理解流水线 CPU 的具体工作原理。
团队项目 - 多周期 CPU / 流水线 CPU
我们团队选择实现流水线 CPU,因此接下来的参考文档只介绍流水线 CPU 的设计流程。
- 流水线 CPU 准备实现的指令
- 流水线 CPU 的基础知识
- 数据通路与信号控制
- Hazards 与其避免措施
- 分支预测 Branch Prediction
- 流水线 CPU 的设计
- 利用 IP 核对 CPU 进行封装
团队项目 - 外部设备 Peripherals
本次小学期实验最后需要与精工开发板进行整合,需要通过 VGA 等接口调用来让 CPU 能够实现与外设接口的整合,实现一个完整的计算机系统。
🎁 参考资料与推荐阅读
- How does a CPU work - Hackernoon
- University of Washington - Course CSE378
- 针对参加龙芯杯的若干建议 - Silverster98/bit_nscscc_suggestion
🚡 Build Your PC ©2019 Spencer Woo. Released under the CC BY-SA 4.0 International License.
Authored and maintained by Spencer Woo.
@Portfolio | @GitHub | @BIT