实验目的
1.掌握模拟过程中算术、逻辑运算单元的控制方法;
2.理解寄存器组中寄存器数据输出的方法。
实验环境
操作系统:Windows 10
虚拟模拟软件:logisim
三、实验内容及结果
CP226 中的运算器由一片CPLD实现,有8种运算,通过S2,S1,S0 来选择,运算数据由寄存器A及寄存器W 给出,运算结果输出到直通门D。功能如下表:
S2 S1 S0
功能
0 0 0
A+W 加
0 0 1
A-W 减
0 1 0
A|W 或
0 1 1
A&W 与
1 0 0
A+W+C 带进位加
1 0 1
A-W-C 带进位减
1 1 0
~A A取反
1 1 1
A 输出A
各分部件分析:
1.1:加法器:
加法器的左端有两个输入端,分别为两个加数的输入。右端有一个输出端,输出加法运算的结果,在上方为cin端,负责进位,而在这里我们给进位cy进行了选择控制,当s2,s1,s0的取值为100的时候cy有效赋值给cin端,从而实现带进位的加法。
1.2:减法器:
减法器的左端有两个输入端,分别为减数和被减数的输入。右端有一个输出端,输出减法运算的结果,在上方为bin端,负责进位,而在这里我们给进位cy进行了选择控制,当s2,s1,s0的取值为101的时候cy有效赋值给bin端,从而实现带进位的减法。
1.3:或运算:
将两个八位的数据进行按位或运算得到输出,
1.4:与运算:
将两个八位的数据进行按位与运算得到输出,
1.5:取反运算:
将一个八位的数据进行按位取反运算得到输出,
1.6:输出运算:
将一个八位的数据进行按位输出
多功能运算器:
2.1:MUX为一个选择数据长度为3的数据选择器,无使能端。其中的选择由s2,s1,s0分别为从高位到低位。其选择规则为:
S2 S1 S0
功能
0 0 0
A+W 加
0 0 1
A-W 减
0 1 0
A|W 或
0 1 1
A&W 与
1 0 0
A+W+C 带进位加
1 0 1
A-W-C 带进位减
1 1 0
~A A取反
1 1 1
A 输出A
即
L0为两输入相加,L1为两输入相减;
L2为两输入相或,L3为两输入想与;
L4为两输入的带进位加,L5为两输入的带进位减;
L6为输入A的取反输出,L7为输入A的直接输出。
2.2:cy为进位,取值分别为0或1,当cy有效时,参与进减法和加法运算,取值为1就是进位为1,取值为0即代表进位为0.
main的分析:
3.1:四位数据选择器MUX:
MUX为一个选择数据长度为2的数据选择器,输出数据为八位。其选择由Ri来决定,其选择规则为:
Ri
选择
0 0
R0
0 1
R1
1 0
R2
1 1
R3
且对于每一个Ri代表了一个十位的输入。
3.2:多功能运算器的封装分析:
S2,S1,S0为决定多功能运算器的输入端,A和W分别为两位八位的输入数据,cy代表着进位,D代表了运算器的运算结果,由两个七段数码管来进行显示。
————————————————
版权声明:本文为CSDN博主「qq_53945325」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_53945325/article/details/119242753# 学习目标:
提示:这里可以添加学习目标
例如:一周掌握 Java 入门知识
学习内容:
提示:这里可以添加要学的内容
例如:
1、 搭建 Java 开发环境
2、 掌握 Java 基本语法
3、 掌握条件语句
4、 掌握循环语句
学习时间:
提示:这里可以添加计划学习的时间
例如:
1、 周一至周五晚上 7 点—晚上9点
2、 周六上午 9 点-上午 11 点
3、 周日下午 3 点-下午 6 点
学习产出:
提示:这里统计学习计划的总量
例如:
1、 技术笔记 2 遍
2、CSDN 技术博客 3 篇
3、 学习的 vlog 视频 1 个