RISC-V CPU 实验资源。
配套指导书阅读网址:https://jurv-open.pages.dev/ 或https://fpgaxlab.github.io/jurv-open/。 (注:2024年5月Gitee Pages暂停服务之前发布在 http://fpga-lab.gitee.io/jurv-open)。
授课视频见中国大学MOOC(慕课)开放课程《计算机组成与CPU设计实验》(肖铁军 赵蕙),实验环境使用FPGA实验云平台。
实验资源可以分为三大版块
每一版块所对应的文件夹和慕课单元如下。
版块 | 文件夹 | 慕课单元 |
---|---|---|
实验环境 | L00~L02 | 01~02 |
硬件描述语言 | L11~L19 | 11~16 |
计算机组成原理实验 | L21~L29 | 21~27 |
RISC-V CPU设计实验 | RV01~RV27PL | 31~38 |
文件夹 | 实验项目名称 |
---|---|
L00 | 工程框架 |
L01 | 熟悉设计工具 |
L02 | 认识虚拟实验 |
L11 | 三态门和多路器 |
L12 | 译码器 |
L13 | 寄存器堆 |
L14 | 流水灯与移位寄存器 |
L15 | 计数器和分频器 |
L16 | 彩灯控制器 |
L21 | 加减运算电路 |
L22 | 算术逻辑单元 |
L33 | 数据通路 |
L24 | 存储器 |
L25 | 控制器 |
L26 | RISC-V汇编语言 |
L27 | RISC-V微架构 |
CPU部分的文件夹命名与支持的指令数量有关,见下表。
文件夹 | 描述 | 新增指令数 | 支持的指令数 |
---|---|---|---|
RV-01 | 实现addi指令 | 1 | 1 |
RV-15 | 实现整数运算指令 | 14 | 15 |
RV-17 | 实现访存指令 | 2 | 17 |
RV-23 | 实现分支指令 | 6 | 23 |
RV-23PL | 实现简单流水线 | 23 | |
RV-27 | 支持27条指令 | 4 | 27 |
RV-27PL | 解决流水线数据冲突 | 27 | |
RV-37 | 访存6条,SLT 4条 | 10 | 37 |
支持团队致力于提供跨平台的软硬件实验环境。这里的“跨平台”有两方面含义,一是实验软件同时支持线上和线下方式,二是实验硬件同时支持两大主流FPGA厂商的芯片。
线上实验基于FPGA实验云,提供以云端真实实验板为基础的虚拟实验环境。线下实验基于 Windows 版的虚拟实验软件,通过USB适配器与多种实验板、开发板连接。
云端实验板的FPGA芯片采用的是 Intel / Altera 芯片,实验平台支持线下 Quartus 编译上传电路文件,同时也提供了云端编译,支持平台无关的硬件设计。
线下实验通过特制的USB调试适配器可以适配 Intel/Altera 和 AMD/Xilinx 两大主流FPGA厂商的芯片和开发板,并且实验软件与线上环境有着相似的操作方式。所有实验项目中的范例充分考虑了可移植性,无需修改均可在 Quartus 和 Vivado 两种设计环境下编译通过。
跨平台的软硬件实验环境为实验教学提供了灵活的实施方式。既可以以线上方式为主,也可以以线下为主,还可以采用线上、线下混合的方式,比如线下实验室使用 Altera 或 Xilinx 的开发板,线上完成慕课的预习和实验云平台的实验任务。
硬件描述语言
如果已经有Verilog/SystemVerilog(以下简称Verilog)基础,这部分可以快速浏览跳过。如果没有Verilog基础但已经熟练掌握VHDL,本课程的所有实验也都可以用VHDL完成,“01 熟悉设计工具”中也给出了VHDL的代码模板;但是后面所有实验的范例只有Verilog的代码,实验指导和视频讲解也只是针对Verilog。
计算机组成原理实验
这部分的实验内容和后面CPU设计实验内容有一部分交叉,“数据通路实验”、“硬布线控制器实验”和“RISC-V微架构实验”可以不做。对于偏软的专业,如果不做后面的RISC-V CPU设计实验,可以选择这几个实验作为初步的CPU设计,也可以选择CPU实验部分的开头两个实验。
另外,不像其他实验项目之间有前后的依赖关系,“RISC-V汇编语言实验”和“存储器实验”这两个项目相对独立,顺序可以在这部分中前后调整。
RISC-V CPU设计实验
这部分实验又可以分为三个层次。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。