Logisim实验--计组(保姆级教程)-8位可控加减法电路设计-CLA182四位先行进位电路设计-4位快速加法器设计-16位快速加法器设计-32位快速加法器设计

史上最全的Logisim运算器实验教程(基于华中科技大学计算机组成原理实验) 本博客是实现了Logisim的运算器设计,有具体的运算器设计的思路和运算器设计的电路,适合一步一步的按照思路做。 阅读详情
AI摘要

本文是Logisim实验的保姆级教程,涵盖8位可控加减法电路、CLA182四位先行进位电路、4位、16位、32位快速加法器设计,还介绍了MIPS运算器设计。实验目的包括掌握相关电路原理、熟悉Logisim平台功能、分析电路延迟等,详细讲解了各电路设计思路、逻辑表达式及连线注意事项。

目录

8位可控加减法电路设计

CLA182四位先行进位电路设计

4位快速加法器设计

16位快速加法器设计

32位快速加法器设计

MIPS运算器设计


8位可控加减法电路设计

实验目的
帮助学生掌握一位全加器的实现逻辑,掌握多位可控加减法电路的实现逻辑,熟悉 Logisim 平台基本功能,能在 logisim 中实现多位可控加减法电路。

首先了解一下一些概念:

半加器 是一种能实现两个一位二进制数(A, B)相加,并输出一个结果位(S)和进位(C0)的加法器电路。它没有进位输入端,因此不考虑低位向本位的进位。

S = A\oplus B  

C0 = A ~ B

 全加器 是一种除了能完成两个一位二进制数(A, B)的相加功能得到和位(S)和进位(Cout)之外,还能连同低位的进位(Cin)一起相加的加法器电路。

S = A \oplus B \oplus Cin

Cout = A ~B ~+ ~ (A\oplus B ) ~Cin

其次,计算机无法直接进行减法运算,故引入补码概念。至此计算机中可将加减法看作一类运算。

[A]补 + [B]补 = C

[A]补 - [B]补 = [A]补 + [-B]补 = [A]补 + ([B]补)全反 + 1 = C

最后是 溢出判断,根据运算过程中的最高数据位与符号位的仅为是否一致进行检验。设最高有效数据为产生的仅为信号为 C_d ,符号位产生的进位信号为 C_f ,则溢出检测为

V = C_f \oplus C_d

接下来就是按着连线。

这里注意Cout,OF是需要自己加的隧道线路,并要将其位宽设置为1。 

CLA182四位先行进位电路设计

实验目的
帮助学生掌握快速加法器中先行进位的原理,能利用相关知识设计4位先行进位电路,并利用设计的4位先行进位电路构造4位快速加法器,能分析对应电路的时间延迟。 

首先我们来了解一下是先行进位的原理,在上一个实验中,看出全加器的高位运算必须等待地位的进位信号,导致延迟很大,所以我们需要考虑优化时间。

使得进位输出与最低为进位输入C_0存在一级运算关系,大大节省了多次进位传递的时间。整个电路的延迟就是二级门电路延迟。

这样我们就可以写出并行加法器进位链 ,无需等待低位给出进位信号,因此出现了先行进位电路。缺点就是位数越长,进位链电路的复杂度就越高。

其中 Gi,Pi 为进位生成函数和传递函数,Cin 为进位输入,C1~C4 为进位输出。

这里还需介绍一下G,P 为成组进位生成函数和成组进位传递函数。

成组进位生成函数 G用于计算组内各位的进位生成情况,并综合得出整个组的进位生成信号。在四位先行进位加法器中,Gg可以表示为:

G = G_3 + P_3G_2 + P_3P_2G_1 + P_3P_2P_1G_0

它综合了组内各位的进位生成情况,并生成一个总的进位生成信号。这个信号对于确定高位组的进位情况至关重要。

成组进位传递函数 P用于传递低位组的进位信号到高位组。在四位先行进位加法器中,Pg可以表示为:

P = P_3P_2P_1P_0

将低位组的进位信号传递到高位组。通过Pg,低位组的进位可以影响到高位组的计算,从而实现整个加法器的快速运算。

接下来是C1~C4进位输出链的逻辑表达式

C_1= G_1+P_1 ~Cin

C_2 = G_2 + P_2G_1+ P_2 P_1 Cin

C_3 =G_3+ P_3 G_2 + P_3P_2 G_1 +P_3 P_2 P_1 Cin

C_4 = G_4+ P_4 G_3 + P_4 P_3 G_2+ P_4 P_3 P_2 G_1+ P_4 P_3 P_2 P_1 Cin

接下来也就是根据逻辑表达是连线了,需要注意的就是与或门的引脚数。 (这里连线建议自己按照上述的逻辑电路关系自己来连,下面的连线可能看得比较花)。

4位快速加法器设计

实验目的
帮助学生掌握快速加法器中先行进位的原理,能利用相关知识设计4位先行进位电路,并利用设计的4位先行进位电路构造4位快速加法器,能分析对应电路的时间延迟。

将上一个实验完成后,得到所有的进位信号,各位就可以并行求和了,求和公式如下:

S_3 = X_3\oplus Y_3\oplus C_3 = P_3\oplus C_3

S_2 = X_2\oplus Y_2\oplus C_2 = P_2\oplus C_2

S_1 = X_1\oplus Y_1\oplus C_1 = P_1\oplus C_1

S_0 = X_0\oplus Y_0\oplus C_0 = P_0\oplus C_0

所以求和只在上一个实验后加了一级异或门就能得到,所以整个电路的延迟就是三级门电路延迟。

16位快速加法器设计

实验目的
帮助学生理解成组进位产生函数,成组进位传递函数的概念,熟悉 Logisim 平台子电路的概念,能利用前述实验封装好的4位先行进位子电路以及4位快速加法器子电路构建16位、32位、64位快速加法器,并能利用相关知识分析对应电路的时间延迟,理解电路并行的概念。

这个实验就是针对上个实验的一个组合电路的设计思想,已经有4位的快速加法器那么16的快速加法器只需要连接4个4位的快速加法器就行了,这里就不多做介绍。

32位快速加法器设计

实验目的
帮助学生理解成组进位产生函数,成组进位传递函数的概念,熟悉 Logisim 平台子电路的概念,能利用前述实验封装好的4位先行进位子电路以及4位快速加法器子电路构建16位、32位、64位快速加法器,并能利用相关知识分析对应电路的时间延迟,理解电路并行的概念。

这里的思路和上一个实验大致差不多,其实也可以用2个16位的快速加法器来连接实现,但是这里的题目只提供了4位快速加法器,所以就得连接8个4位快速加法器来实现,也不多赘述了。

MIPS运算器设计

实验内容:
利用前面实验封装好的32位加法器以及 Logisim 平台中现有运算部件,构建一个32位算术逻辑运算单元(禁用 Logisim 系统自带的加法器,减法器),可支持算术加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移、算术右移运算,支持常用程序状态标志(有符号溢出 OF 、无符号溢出 UOF ,结果相等 Equal ),ALU 功能以及输入输出引脚见后表,在主电路中详细测试自己封装的 ALU ,并分析该运算器的优缺点。

解释:

这里我们看到会有三个输入,输入S表示要进行的操作类型,所以我们就需要根据上表来组织电路。(这里它说不能用自带的加法器和减法器,那我们就用我们之前做的32位快速加法器来构造就行了),接下来我们一个一个操作来讲解一下(我们先把所有的结果都算出来再根据ALU_OP来选择需要的输出即可):

当s=0,Result = X << Y 逻辑左移 (Y 取低五位) Result2=0:

这里Y取低五位是因为该X只有32位,所以左移的最大2^5,所以Y只需要5位就可以表示0~32之间的数。

端口数表示为输出的分线数,这里改5或者4都可以,主要是把下面的前5位的数让他们在第一个端口输出,而其他的不能在第一个端口输出即可。

在运算器中找到移位器,设置位宽和左移类型,加入输出0的隧道引脚。

 Result = X >>>Y 算术右移 (Y 取低五位) Result2=0:

同上述一样,但注意这里是算数右移。

 Result = X >> Y 逻辑右移 (Y 取低五位) Result2=0:

注意这个是逻辑右移,输出标签为3.

Result = (X * Y)[31:0]; Result2 = (X * Y)[63:32] 无符号乘法:

这里使用自带的乘法器,设置位宽32,且结果的高位为输出标签为3',结果为标签3。

Result = X/Y; Result2 = X%Y 无符号除法:

除法运算和上一个差不多,使用自带的除法器,设置位宽为32,和输出标签。

Result = X + Y (Set OF/UOF):

有符号加法溢出OF+:看最高位进位和次高位进位是否一致

无符号加法溢出UOF+:最高位与sub异或,加法的话sub是0,而当最高位为1时表示溢出。

再输出标签5.

Result = X - Y (Set OF/UOF):

使用求补器讲Y转化成补码,所以sub还是为0,在计算无符号溢出时就得加一个取反。

Result = X & Y 按位与,按位或,按位异或,按位或非:

这四个比较简单,找到对应得逻辑门,并设置位宽为32即可。

Result = (X < Y) ? 1 : 0 符号比较

这里我们需要用到比较器即红色部分(类型选择2的补码,表示有符号比较),我们输出得答案是32位的数,而比较器返回的只是一位的数,所以我们使用分线器的端口0来接受比较结果(如黄色部分的设置,位宽32,端口数2,除了第一个是0号端口其余都是1号端口),再引入一个位宽为31的0的常量(如蓝色部分)来组合成一个32的满足输出要求的数。

之后再接一个Equal。

Result = (X < Y) ? 1 : 0 无符号比较:

 这里我们需要用到比较器即红色部分(类型选择无符号),同上一个一样,我们使用分线器的端口0来接受比较结果(如黄色部分的设置,位宽32,端口数2,除了第一个是0号端口其余都是1号端口),再引入一个位宽为31的0的常量(如蓝色部分)来组合成一个32的满足输出要求的数。

接下来是输出结果的选择:

使用多路选择器(如红色部分,设置位宽为32,端位宽为4)来根据输入的s来指定输出结果,注意输出Result2的含义,表示

即操作三和四的3'和4',接到第二个的多路选择器的输入3和4(如黄色部分), 其余都接一个位宽为32的常量0(如蓝色部分)。

溢出判断:

这里我们使用比较器(位宽为4)来看是否操作为5、6,再引入位宽为4的常量5、6,通过与门和或门来合理规划电路。

测试:

编写好后可以根据其自带的测试电路来进行测试(如红色部分),按Ctrl+k开始测试,如果成绩为100表示全部通过没有问题;如果有误的话下面可以看是哪个运算错误就会在其指示灯报红。

全部电路一览:

(希望你能顺利通过)

(有帮助请点赞支持,有疑问也可评论指出)

计算机组成运算器实验:8位可控加减法电路、4位先行进位电路、4、16、32位快速加法器  电路1— 8位可控加减法电路 在 Logisim 模拟器中打开 alu.circ 文件,在对应子电路中利用已经封装好的全加器设计8位串行可控加减法电路,可以直接使用在电路中使用对应的隧道标签,其中 X,Y 为两输入数,Sub 为加减控制信号,S 为运算结果输出,Cout 为进位输出,OF 为有符号运算溢出位。 实验原理 1.电路1 (1)overflow: (2)1位加法逻辑电路: 1位全加器: (3)N位加法器: (4)运算控制器:Sub=0 时作加法,Sub=1 时作减法。[−Y]补= . 阅读详情

相关推荐

logisim 快速加法器设计实验报告_运算器设计(Logisim实现)

实验平台介绍1、Logisim软件是一种用于设计和模拟数字逻辑电路的工具。其简单的工具栏界面和构建它们时的电路仿真,使得它非常简单,有助于学习与逻辑电路相关的基本概念。由于能够从较小的子电路构建更大的电路,并通过单个鼠标拖动来绘制电线束,因此可以达到使用Logisim来设计和模拟整个CPU目的。实验任务1、多位串行加法器和多位可控加减电路的设计(1)设计完成8位串行加法器(2)找到“☆8位可控加减...

weixin_42123191的博客 9896

天津理工大学计算机组成原理实验——运算器设计

计算机组成原理实验——运算器设计 第一关 8位可控加减法电路设计 电路连接如所示,这里注意要调整位宽,这里的位宽都为1。 第二关 CLA182四位先行进位电路设计 电路连接如图所示。 这里需要更改逻辑门的引脚数。 第三关 4位快速加法器设计 电路连接如图所示。 注意,这里的4位先行进位74182是上个实验连接好的,所以第三关可以继续用第二关的电路文件。 第四关 16位快速加法器设计 电路连接如图所示。 同理,这里的4位快速加法器也是上个实验连接好的,继续用上一实验的文件即可。 第五关 32位

qq_46096701的博客 8941

logisim运算器设计逻辑图

8位可控加减法电路设计 CLA182四位先行进位电路设计 4位快速加法器设计 16位快速加法器设计 32位快速加法器设计 原码一位乘法器设计 补码一位乘法器设计 MIPS运算器设计 ...

m0_47399957的博客 1万+

【计算机组成原理】使用logisim平台完成8位可控加减法设计

使用logisim平台完成8位可控加减法设计

Liu_y_xin的博客 9853

logisim实验二:8位可控加法器

设计要求 利用logisim平台中现有运算部件构建一个8位可控加减法电路,支持八位加减法运算,支持以下状态标志:有符号溢出信号OF,进位输出 Cout。 方案设计 logisim平台已经给了全加器芯片,第一个要解决的问题就是如何利用全加器进行减法运算。两个数进行减法运算可以看被减数加负的减数,因此要将y转换成(-y)补之后再进行加法运算:符号位转换成1,数值位按位取反再加1。由于减法运算时sub为1,因此可以将y的各位与sub异或,同时sub作为最低为全加器的低位进位输入,以此实现上述功能。 第二个要解决的

gyp0205的博客 4万+

华中科技大学计算机组成原理 -运算器设计(全部通关)

本实训项目帮助学生从可控加减法单元,先行进位电路,四位快速加法器逐步构建 16 位、32 位快速加法器。学生还可以设计阵列乘法器,乘法流水线,实现原码一位乘法器,补码一位乘法器、运算器等教材上的核心内容

紫荆鱼的博客 4万+

logsimCLA182四位先行进位电路设计.txt

帮助学生掌握快速加法器中先行进位的原理,能利用相关知识设计444位先行进位电路,并利用设计的444位先行进位电路构造444位快速加法器,能分析对应电路的时间延迟。仅供参考

运算器设计(Logisim实现)

实验平台介绍 1、Logisim软件是一种用于设计和模拟数字逻辑电路的工具。其简单的工具栏界面和构建它们时的电路仿真,使得它非常简单,有助于学习与逻辑电路相关的基本概念。由于能够从较小的子电路构建更大的电路,并通过单个鼠标拖动来绘制电线束,因此可以达到使用Logisim来设计和模拟整个CPU目的。 实验任务 1、多位串行加法器和多位可控加减电路的设计 (1)设计完成8位...

Willy__QI的博客 4万+

CLA182四位先行进位电路设计.txt

####电路测试 完成实验后,利用文本编辑工具打开 alu.circ 文件,将所有文字信息复制粘贴到 Educoder 平台的 alu.circ 文件中,再点击评测按钮即可进行本关测试。平台会对你设计的电路进行自动测试,为方便测试,请勿修改子电路封装,本关测试用例如下:

【计算机组成原理】课程设计二:运算器设计

本文主要介绍的是计算机组成原理课程设计二,即运算器设计,属于计算机组成原理课程设计专栏

superiony的博客 1815

Logisim 头歌 CLA182四位先行进位电路设计图解及代码(计算机组成原理)

Logisim 头歌 CLA182四位先行进位电路设计图解及代码(计算机组成原理) 免费!立志打破积分下载垄断!代码有点长,上传资源了

醉蕤的博客 1万+

计算机组成原理快速加法器与32位ALU设计实验报告(8位可控加减法电路设计、CLA182四位先行进位电路设计、4位快速加法器设计、16位快速加法器设计、32位快速加法器设计)

谭志虎老师计算机组成原理,头歌快速加法器实验,分别是8位可控加减法电路设计、CLA182四位先行进位电路设计、4位快速加法器设计、16位快速加法器设计、32位快速加法器设计,进行了较为详细的讲解

zhang2gongzi的博客 3万+

CLA182四位先行进位电路设计

计算机组成原理--CLA182四位先行进位电路设计

Logisim头歌运算器设计(计算机组成原理实验)

围绕 Logisim 头歌运算器设计展开,包含 11 关实验,涉及加减法、乘法器等设计,介绍目的、方法,给出电路图。

ice_vit的博客 6649

8位可控加减法电路设计

计算机组成原理--8位可控加减法电路设计

logsim8位可控加减法电路设计.txt

帮助学生掌握一位全加器的实现逻辑,掌握多位可控加减法电路的实现逻辑,熟悉 Logisim 平台基本功能,能在 logisim 中实现多位可控加减法电路。仅供参考

【自己动手画CPU】运算器设计

深入介绍了运算器的设计过程,为读者提供了在家自己动手绘制CPU的实用指南。作者详细解释了运算器的结构和功能,使读者能够理解计算机核心组件的工作原理。通过清晰的图示和实例,读者能够轻松跟随作者的步骤,逐步完成一个功能强大的运算器设计。

朝花夕拾 6212
上一篇: Codeforces Round 1013 (Div. 3)(部分题解A-E)
下一篇: 创建Linux虚拟环境并远程连接,finalshell自定义壁纸
wirepuller_king
博客等级 码龄3年 9290粉丝 54原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

wirepuller_king

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

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

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

打赏作者

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

抵扣说明:

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

余额充值