中国高校课件下载中心 》 教学资源 》 大学文库

江苏大学:RISC-V CPU设计实验(讲义)

文档信息
资源类别:文库
文档格式:PDF
文档页数:5
文件大小:597.51KB
团购合买:点击进入团购
内容简介
1. 熟悉 RISC-V 指令系统,掌握汇编指令翻译成机器指令; 2. 理解单周期 RISC-V CPU 数据通路,能够用 HDL 设计实现; 3. 掌握单周期 CPU 控制器的设计方法。
刷新页面文档预览

RISC-VCPU设计实验实验目的1.熟悉RISC-V指令系统,掌握汇编指令翻译成机器指令:2.理解单周期RISC-VCPU数据通路,能够用HDL设计实现:3.掌握单周期CPU控制器的设计方法。参考设计实验材料中(RISCVSCO.zip)给出了图1电路的HDL代码,它仅支持addird,rsl.imm指令。RegwrieWoWERD1WA寄存器堆RAT指令存储器RA2RD立即数生成ImmType图1仅支持addird.rs1.imm指令的数据通路示例阅读实验材料中给出示例电路的HDL代码,编译后在实验系统上运行。注意,要使用Project文件夹内的工程文件,不能用以前实验的工程文件。关于参考设计代码的更详细介绍,请看辅导视频。任务要求及主要步骤1.预习阅读、理解参考设计。在实验平台上运行参考设计,熟悉CPU实验界面的使用。完成测试题。2.支持I型运算指令(1)增加ALU模块实验材料给出的参考代码只能进行加法运算,代码如下。assign aluOut = regReadDatal + alu yi用自已设计ALU模块替换上面这行代码,使得CPU除了addi指令外,还可以执行andi、ori和xori指令。slti和sltiu指令可以暂不支持,留待以后扩展

RISC-V CPU 设计实验 实验目的 1. 熟悉 RISC-V 指令系统,掌握汇编指令翻译成机器指令; 2. 理解单周期 RISC-V CPU 数据通路,能够用 HDL 设计实现; 3. 掌握单周期 CPU 控制器的设计方法。 参考设计 实验材料中(RISCV_SC0.zip)给出了图 1 电路的 HDL 代码,它仅支持 addi rd,rs1,imm 指令。 图 1 仅支持 addi rd,rs1,imm 指令的数据通路示例 阅读实验材料中给出示例电路的 HDL 代码,编译后在实验系统上运行。注意,要使用 Project 文件夹内的工程文件,不能用以前实验的工程文件。 关于参考设计代码的更详细介绍,请看辅导视频。 任务要求及主要步骤 1. 预习 阅读、理解参考设计。 在实验平台上运行参考设计,熟悉 CPU 实验界面的使用。 完成测试题。 2. 支持Ⅰ型运算指令 (1)增加 ALU 模块 实验材料给出的参考代码只能进行加法运算,代码如下。 assign aluOut = regReadData1 + alu_y; 用自己设计 ALU 模块替换上面这行代码,使得 CPU 除了 addi 指令外,还可以执行 andi、 ori 和 xori 指令。slti 和 sltiu 指令可以暂不支持,留待以后扩展

单周期RISC-VCPU(2)修改MainDecoder模块增加I型运算指令译码。(3)增加AluDecoder模块产生ALUctrl控制信号。(4)修改CPU模块在数据通路中,实例化ALU模块、AluDecoder,并将ALUctrl与ALU模块连接。RegWrteWD WE RD15舒存器堆指令存储器立即数生成ALUctrlImmType(5)修改虚拟面板用实验材料中提供的数据通路图替换虚拟面板背景图,并增加ALUctrl的显示。调试成功后,在实验平台提交电路文件和虚拟面板文件。(6)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。3.添加数据存储器并实现store指令(1)修改MainDecoder模块,增加sw指令译码及MemWrite控制信号。(2)修改AluDecoder模块,增加ALUop=00时的译码。(3)修改ImmGen模块,增加S型立即数的生成。(4)修改CPU模块添加数据存储器:连接增加的控制信号:增加调试观察信号。RegwiteWD WERD1NADO寄存器地BA指令存储器RA2RD2DC数据存储器WE立即数生成ALUctrtMemWriteImmType(5)修改虚拟面板用实验材料中提供的数据通路图替换虚拟面板背景图,并增加调试观察信号的显示。(6)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。实现load指令4.(1)修改MainDecoder模块,增加lw指令译码及MemToReg控制信号。2江苏大学计算机学院

单周期 RISC-V CPU 2 江苏大学计算机学院 (2)修改 MainDecoder 模块 增加 I 型运算指令译码。 (3)增加 AluDecoder 模块 产生 ALUctrl 控制信号。 (4)修改 CPU 模块 在数据通路中,实例化 ALU 模块、AluDecoder,并将 ALUctrl 与 ALU 模块连接。 (5)修改虚拟面板 用实验材料中提供的数据通路图替换虚拟面板背景图,并增加 ALUctrl 的显示。 调试成功后,在实验平台提交电路文件和虚拟面板文件。 (6)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。 3. 添加数据存储器并实现 store 指令 (1)修改 MainDecoder 模块,增加 sw 指令译码及 MemWrite 控制信号。 (2)修改 AluDecoder 模块,增加 ALUop=00 时的译码。 (3)修改 ImmGen 模块,增加 S 型立即数的生成。 (4)修改 CPU 模块 添加数据存储器;连接增加的控制信号;增加调试观察信号。 (5)修改虚拟面板 用实验材料中提供的数据通路图替换虚拟面板背景图,并增加调试观察信号的显示。 (6)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。 4. 实现 load 指令 (1)修改 MainDecoder 模块,增加 lw 指令译码及 MemToReg 控制信号

实验指导书(2)修改CPU模块添加多路器:连接增加的控制信号:增加调试观察信号。RegWiteWDWE RD1NADO寄存器堆RAT指令存储器RA2RD2D数据存储器WEMemToReg立即数生成ALUctrlMemWriteImmType(3)修改虚拟面板用实验材料中提供的数据通路图替换虚拟面板背景图,并增加调试观察信号的显示。(4)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。实现R型运算指令5.(1)修改MainDecoder模块,增加R型运算指令译码及ImmToALU控制信号。可以暂不支持移位指令,留待以后扩充。(2)修改AluDecoder模块,增加ALUop=10时的译码。(3)修改CPU模块添加多路器;连接增加的控制信号;增加调试观察信号。RegWtiteWDWERD1ero2WADC寄存器堆RAT指令存储器RA2RDDIDC数据存储器ImmToALUMemToRegWE立即数生成ALUctrfMemWriteImmType(4)修改虚拟面板用实验材料中提供的数据通路图替换虚拟面板背景图,并增加调试观察信号的显示。(5)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。实现分支指令6.(1)修改MainDecoder模块,增加分支指令译码及相关控制信号。可以仅支持beq指令,其他分支指令留待以后扩充。(2)修改AluDecoder模块,增加ALUop=01时的译码。(3)修改ImmGen模块,增加B型立即数的生成。(4)修改CPU模块添加多路器:连接增加的控制信号:增加调试观察信号。3江苏大学计算机学院

实验指导书 江苏大学计算机学院 3 (2)修改 CPU 模块 添加多路器;连接增加的控制信号;增加调试观察信号。 (3)修改虚拟面板 用实验材料中提供的数据通路图替换虚拟面板背景图,并增加调试观察信号的显示。 (4)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。 5. 实现 R 型运算指令 (1)修改 MainDecoder 模块,增加 R 型运算指令译码及 ImmToALU 控制信号。可以暂 不支持移位指令,留待以后扩充。 (2)修改 AluDecoder 模块,增加 ALUop=10 时的译码。 (3)修改 CPU 模块 添加多路器;连接增加的控制信号;增加调试观察信号。 (4)修改虚拟面板 用实验材料中提供的数据通路图替换虚拟面板背景图,并增加调试观察信号的显示。 (5)在实验平台验证设计,提交验证成功的电路文件和虚拟面板文件。 6. 实现分支指令 (1)修改 MainDecoder 模块,增加分支指令译码及相关控制信号。可以仅支持 beq 指 令,其他分支指令留待以后扩充。 (2)修改 AluDecoder 模块,增加 ALUop=01 时的译码。 (3)修改 ImmGen 模块,增加 B 型立即数的生成。 (4)修改 CPU 模块 添加多路器;连接增加的控制信号;增加调试观察信号

单周期RISC-VCPU修改以下模块以支持beg运算指令。可以仅支持beg指令,其他分支指令留待以后扩充。RegWriteWERDWDWADC寄存器堆RA指令存储器RAOrRDDC数据PCjump存储器mmToALUWEMemToReg立即数生成ALUctrlMemWiteImmType(5)用实验材料提供的虚拟面板证设计,提交验证成功的电路文件。7.支持更多指令在完成前面设计任务的基础上,选择完成以下内容的一部分,以实现更多的指令。可在两个方面扩展。(1)完整实现上面的5类指令在前面的设计中,为了尽快地掌握设计思路和方法,只是选择了其中一部分指令。现在可以继续实现尚未实现的指令,例如:R类/I类:移位运算指令:比较指令;B类:bne,blt,bge等分支指令。(2)扩展支持新的指令如luiauipc等U类指令,jal等J类指令。【提示】增加这些指令,需要修改数据通路。在实验平台验证设计,提交实验过程记录,以及验证成功的电路文件和虚拟面板文件。实现流水线RISC-V8.实现支持5条指令的五级流水线RISC-V。取指含 (IF)译码/读数据(ID)ALU运算(EX)存链(MEM)导商存器(WB)ZeroRAIRDWA星寄存器推高精(读满口)MRA2RD三我价食立即数生成含4江苏大学计算机学院

单周期 RISC-V CPU 4 江苏大学计算机学院 修改以下模块以支持 beq 运算指令。可以仅支持 beq 指令,其他分支指令留待以后扩充。 (5)用实验材料提供的虚拟面板证设计,提交验证成功的电路文件。 7. 支持更多指令 在完成前面设计任务的基础上,选择完成以下内容的一部分,以实现更多的指令。可在 两个方面扩展。 (1)完整实现上面的 5 类指令 在前面的设计中,为了尽快地掌握设计思路和方法,只是选择了其中一部分指令。现在 可以继续实现尚未实现的指令,例如: R 类/I 类:移位运算指令;比较指令; B 类:bne, blt, bge 等分支指令。 (2)扩展支持新的指令 如 lui, auipc 等 U 类指令,jal 等 J 类指令。 【提示】增加这些指令,需要修改数据通路。 在实验平台验证设计,提交实验过程记录,以及验证成功的电路文件和虚拟面板文件。 8. 实现流水线 RISC-V 实现支持 5 条指令的五级流水线 RISC-V

实验指导书9.流水线RISC-V数据冲突的旁路设计实现流水线数据相关的检测,修改控制器的设计产生旁路控制信号,修改数据路通增加旁路通道解决数据冲突。修改虚拟面板,在实验平台验证设计,提交实验过程记录,以及验证成功的电路文件和虚拟面板文件。10.总结提交设计报告。5江苏大学计算机学院

实验指导书 江苏大学计算机学院 5 9. 流水线 RISC-V 数据冲突的旁路设计 实现流水线数据相关的检测,修改控制器的设计产生旁路控制信号,修改数据路通增加 旁路通道解决数据冲突。 修改虚拟面板,在实验平台验证设计,提交实验过程记录,以及验证成功的电路文件和 虚拟面板文件。 10. 总结 提交设计报告

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档