计算机组成原理实验报告 算术逻辑单元ALU实验(源代码全)

一. 实验目的

1、理解算术逻辑单元ALU的工作原理。
2、掌握算术逻辑单元ALU的设计方法。
3、验证32位算术逻辑单元ALU的加、减、与、移位等基本功能。
4、选定几组数据,完成几种算术/逻辑运算。

二. 实验设备

1、 装有Xilinx Vivado的计算机一台。
2、LS-CPU-EXB-002教学系统实验箱一套。

三. 实验任务

1、学习MIPS指令集,熟知指令类型,了解指令功能和编码,归纳基础的ALU运算指令。
2、归纳确定自己本次实验中准备实现的ALU运算,要求要求至少实现5种ALU运算,包含加减运算,其中减法在内部要转换为加法,见表1-1。
表1-1 ALU的控制信号
选择端aluc ALU功能
3 2 1 0

  • 0 0 0

  • 0 0 1

  • 0 1 0

  • 0 1 1

  • 1 0 0

  • 1 0 1

  • 1 1 0

0 1 1 1

1 1 1 1

3、根据如图1-1所示的结构框图,设计实验方案,并用Verilog编写相应代码。
在这里插入图片描述
4、 对编写的代码进行仿真,得到正确的波形图。
5、将以上设计作为一个单独的模块,设计一个外围模块去调用该模块&

  • 5
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、 设计目标 设计目的: 设计一个含有36条指令的MIPS单周期处理器,并能将指令准确的执行并烧写到试验箱上来验证 设计初衷 1、理解MIPS指令结构,理解MIPS指令集中常用指令的功能和编码,学会对这些指令进行归纳分类。 2、了解熟悉MIPS体系中的处理器结构 3、熟悉并掌握单周期处理器CPU的原理和设计 4、进一步加强Verilog语言进行电路设计的能力 二、实验设备 1、装有xilinx ISE的计算机一台 2、LS-CPU-EXB-002教学系统实验箱一台 三、实验任务 1.、学习 MIPS 指令集,深入理解常用指令的功能和编码,并进行归纳确定处理器各部件的控制码,比如使用何种 ALU 运算,是否写寄存器堆等。 2、单周期 CPU 是指一条指令的所有操作在一个时钟周期内执行完。设计中所有寄存器和存储器都是异步读同步写的,即读出数据不需要时钟控制,但写入数据需时钟控制。 故单周期 CPU 的运作即:在一个时钟周期内,根据 PC 值从指令 ROM 中读出相应的指令,将指令译码后从寄存器堆中读出需要的操作数,送往 ALU 模块,ALU 模块运算得到结果。 如果是 store 指令,则 ALU 运算结果为数据存储的地址,就向数据 RAM 发出写请求,在下一个时钟上升沿真正写入到数据存储器。 如果是 load 指令,则 ALU 运算结果为数据存储的地址,根据该值从数据存 RAM 中读出数据,送往寄存器堆根据目的寄存器发出写请求,在下一个时钟上升沿真正写入到寄存器堆中。 如果非 load/store 操作,若有写寄存器堆的操作,则直接将 ALU 运算结果送往寄存器堆根据目的寄存器发出写请求,在下一个时钟上升沿真正写入到寄存器堆中。 如果是分支跳转指令,则是需要将结果写入到 pc 寄存器中的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m明月Java3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值