0
点赞
收藏
分享

微信扫一扫

实验1 算术逻辑运算单元设计【计算机组成原理】


实验1 算术逻辑运算单元设计【计算机组成原理】

  • ​​前言​​
  • ​​推荐​​
  • ​​实验1 算术逻辑运算单元设计​​
  • ​​一、实验目的​​
  • ​​二、实验环境​​
  • ​​三、实验任务​​
  • ​​四、实验原理与实验步骤​​
  • ​​1. 实验原理​​
  • ​​2. 实验步骤​​
  • ​​五、实验结果:​​
  • ​​1.运算程序:​​
  • ​​2.测试程序:​​
  • ​​3.仿真图​​
  • ​​4.布局图​​
  • ​​5.输入输出规划​​
  • ​​六、心得体会:​​
  • ​​最后​​

前言

以下内容源自计组实验
仅供学习交流使用

推荐

实验1 算术逻辑运算单元设计

一、实验目的

  1. 掌握算术逻辑运算单元的工作原理和基本功能。
  2. 熟悉Modelsim、ISE\Vivado集成开发环境。
  3. 熟悉使用FPGA开发板进行设计应用的流程。

二、实验环境

  1. 装有ModelSim和ISE\Vivado的计算机。
  2. Sword\Basys3\EGo1实验系统。

三、实验任务

  1. 用VerilogHDL语言设计实现32位算术逻辑运算单元,在ModelSim上仿真实现。
  2. 生成FPGA设计文件,下载到实验开发板上验证电路功能。

四、实验原理与实验步骤

1. 实验原理

算术逻辑运算单元(ALU)能够完成较为常用的多种算术运算和逻辑运算,是计算机内部运算器的核心部件,并且被广泛用于信号处理、通信和多媒体信息处理等专用集成电路中。算术逻辑运算单元包括算术运算和逻辑运算,在实际系统中输入数据通常采用补码形式。此次实验的寄存器为32位,即一次运算位宽为32位。算术逻辑运算器的控制信号与MIPS 32位CPU的操作控制字段保持一致。

实验1 算术逻辑运算单元设计【计算机组成原理】_数据

图1 算术逻辑运算器原理框图

表1 算术逻辑运算功能表

指令功能

控制信号func[5:0]

详细描述

add

100000

Ra + Rb -> Rd

sub

100010

Ra – Rb -> Rd

and

100100

Ra & Rb -> Rd

or

100101

Ra

xor

100110

Ra ^ Rb -> Rd

sll

000000

Rb << Ra[4:0] -> Rd, 左移。

srl

000010

Rb >> Ra[4:0] -> Rd, 逻辑右移。

sra

000011

算术右移

移位运算说明:将寄存器Rb中的32位数据,进行左移或右移(逻辑右移或算术右移)。移位位数由Ra中低5位的数据决定。将移位后的结果写入Rd寄存器中。左移时,右部空出位补零。逻辑右移时,左部空出位补零。算术右移时,左部空出位补符号位(最高位)。例如:
左移 Rb = 32’b0110, Ra = 32’b0001, 则运行结果为Rd = 32’b1100
逻辑右移:Rb = 32’b0110, Ra = 32’b0001, 则运行结果为Rd = 32’0011
算术右移:Rb=32’h8000_0000, Ra=32’b0001, 则运行结果为Rd=32’hc000_0000

2. 实验步骤

(1)用VerilogHDL语言完成对算术逻辑运算单元的建模描述,并完成modelsim下的功能仿真。
(2)在ISE\Vivado综合工具中生成bit文件,并下载FPGA开发板进行测试。可根据情况进行化简,例如选择sw7-sw0给出第一个加数,sw15-sw8给出第二个加数,运算结果在led7-led0显示,进位位和零标志位分别用led15和led14显示。
(4)生成FPGA文档,并下载到实验板上物理运行,检查设计结果。

五、实验结果:

1.运算程序:

实验1 算术逻辑运算单元设计【计算机组成原理】_开发板_02

2.测试程序:

实验1 算术逻辑运算单元设计【计算机组成原理】_数据_03

3.仿真图

实验1 算术逻辑运算单元设计【计算机组成原理】_数据_04

4.布局图

实验1 算术逻辑运算单元设计【计算机组成原理】_逻辑运算_05

实验1 算术逻辑运算单元设计【计算机组成原理】_逻辑运算_06

5.输入输出规划

实验1 算术逻辑运算单元设计【计算机组成原理】_逻辑运算_07

六、心得体会:

通过本次实验的学习,
我掌握了算术逻辑运算单元的工作原理和基本功能,
熟悉了Modelsim、ISE\Vivado集成开发环境,
熟悉并使用了FPGA开发板进行设计应用的流程。

最后

这篇博客能写好的原因是:站在巨人的肩膀上

这篇博客要写好的目的是:做别人的肩膀

开源:为爱发电

学习:为我而行


举报

相关推荐

0 条评论