1
计算机科学与技术学院
实验报告
姓名: *** 年级:****级 专业: 计算机科学与技术
科目: 计算机组成原理 题目: 单周期 CPU 的设计
实验时间: **** 年 ** 月 ** 日 实验教师:
一、实验目的:
1. 掌握单周期 CPU 设计的方法和思想
2. 使用 Verilog HDL 补充单周期 CPU 相关各模块的代码
3. 使用 Vivado 软件对模块进行仿真测试和性能评估
二、实验平台:
1. Vivado 设计套件
三、实验任务及要求:
1. 对 16 条 MIPS 指令进行功能分析,设计 CPU 的数据通路和控制信号。
16 条指令包括 addu, subu, slt, and, nor, or, xor, sll, srl, addiu, lui, lw, sw, beq, bne, j。
2. 补充各模块的代码,完成单周期 CPU 的设计。
1)完成 adder 加法器的 Verilog 代码。
编写 Verilog 代码,补全 adder.v 文件的代码内容,实现如下功能:
将 32 位二进制数 operand1,operand2 和低位的进位 cin 相加,并将结果为和 result 与向
高位的进位 cout;
输入信号 operand1,operand2,cin。
输出信号 result, cout。
2) 完成 ALU 算术逻辑部件的 Verilog 代码。
编写 Verilog 代码,补全 alu.v 文件的代码内容,实现如下功能:
输入两个 32 位操作数 alu_src1, alu_src2,以及控制信号 alu_control,输出运算结果
alu_result.
实现两个操作数的逻辑运算:or, xor, and,n or
实现两个操作数的算术运算:add, sub, slt, sltu
实现移位操作:sll, srl, sra
实现高位加载:lui
3) 完成单周期 CPU 的 Verilog 代码
编写 Verilog 代码,补全 single_circle_cpu.v 文件的代码内容,完成如下功能:
根据 PC 值取指令,并能够正确更新 PC 值
对指令译码,输出控制信号