信息技术在当今社会发挥着越来越重要的作用,CPU作为核心技术之一,它的结构原理是计算机领域从业人员必备的专业基础知识。课程以行业先进且极具发展潜力的开放RISC-V为CPU设计的目标,从基本的逻辑电路设计开始,逐步构成计算机部件,最终汇聚为CPU。课程配套远程FPGA实验平台,学习者通过浏览器操作云端真实实验板,与慕课平台配合实现完全线上的硬件实验教学。
通过课程的学习和训练,可以基本掌握Verilog/SystemVerilog硬件描述语言,能够用硬件描述语言设计逻辑电路和计算机部件,从设计的角度深刻理解CPU硬件结构和指令系统之间的内在联系,了解计算机的组织结构和工作原理;在完成设计挑战的同时,提升动手能力和分析问题、解决问题的能力,培养自主学习的钻研精神和创新意识,了解芯片行业生态,树立科技强国的使命担当。
本课程采用“范例-任务”教学法,每一个实验项目都经过精心的设计,先给出一个参考范例,再布置一个相关的设计任务,配合视频讲解和演示;实验项目之间环环相扣、循序渐进,像搭积木一样逐渐完成CPU设计。本课程内容可用作《计算机组成原理》、《数字逻辑电路》等课程配套的实验和课程设计;低起点、高落点的实验设计,使得该课程也适用于对CPU感兴趣的社会学习者。
01 FPGA设计流程与Quartus设计软件
课程介绍/设计和实现方式/Verilog语法概要
实验:FPGA设计流程
Quartus教程
第1周实验报告
02 FPGA验证流程与远程实验平台
实验:FPGA验证流程
远程实验平台教程
第2周实验报告
03 三态门和多路器
Verilog:组合逻辑电路描述(上)
实验:三态门和多路器
第3周实验报告
04 七段译码器
Verilog:组合逻辑电路描述(下)
实验:七段译码器
第4周实验报告
05 触发器和寄存器
Verilog:时序逻辑电路描述(上)
实验:寄存器组(堆)
第5周实验报告
06 移位寄存器
Verilog:时序逻辑电路描述(中)
实验:流水灯和移位寄存器
第6周实验报告
07 计数器
Verilog:时序逻辑电路描述(下)
实验:计数器与分频器
第7周实验报告
08 彩灯控制器
Verilog:有限状态机
实验:彩灯控制器
第8周实验报告
09 多功能运算电路
实验:多功能运算电路
第9周实验报告
10 算术逻辑单元
实验:算术逻辑单元
第10周实验报告
11 数据通路
实验:数据通路
第11周实验报告
12 存储器
实验:存储器
第12周实验报告
13 微程序控制
实验:微程序控制
第13周实验报告
14 硬布线控制
实验:硬布线控制
第14周实验报告
15 认识RISC-V
实验:RISC-V指令和汇编
实验:RISC-V指令流水线【选做】
第15周实验报告
CPU设计选题A:RISC-V CPU设计
说明
起点:只有一条addi指令的RISC-V
支持Ⅰ型运算指令
添加数据存储器并实现store指令
实现load指令
支持R型运算指令
支持分支指令
扩展更多指令【选做】
实现流水线RISC-V【选做】
CPU设计选题C:JUC-II CPU的微程序设计
说明
熟悉微程序的设计和调试方法
双操作数指令的微程序设计与调试
条件转移指令的微程序设计与调试
移位指令的微程序设计与调试
[选做] 堆栈相关指令的微程序设计与调试
[选做] 中断系统的微程序设计与调试
Q : 本课程是完全线上的吗?
A : 本课程的所有教学资料(实验指导、实验材料、辅导视频等)均在慕课平台上,实验在远程FPGA实验平台完成,从这个意义上说,是可以完全线上的。
Q : 没有教材吗?
A : 没有纸质教材。实验指导等资料均在慕课平台发布。Verilog和SystemVerilog部分可以自己找参考书,本课程第1周的资料中也提供了一本简明教程。