Educoder----8位可控加减法电路设计
实验目的
学生掌握一位全加器的实现逻辑,掌握多位可控加减法电路的实现逻辑,熟悉 Logisim 平台基本功能,能在 logisim 中实现多位可控加减法电路。
实验内容
在 logisim 模拟器中打开 alu.circ 文件,在对应子电路中利用已经封装好的全加器设计 8 位串行可控加减法电路,用户可以直接使用在电路中使用对应的隧道标签,应该对加法减法过程中的有符号运算进行溢出判断,给出有符号溢出信号 OF ,和进位输出 Cout 。
电路框架
电路引脚
解题过程
下载代码并在logisim中打开
-
将平台的代码复制,然后在电脑里新建一个文本文件(.txt),将代码粘贴在里面。
-
右键文件重命名更改文件后缀为.circ。
-
右键文件选择打开方式,找到logisim打开。
分析其所需基础元件
- 一位全加器的实现
全加器是能够计算低位进位的二进制加法电路。与半加器相比,全加器不只考虑本位计算结果是否有进位,也考虑上一位对本位的进位,可以把多个一位全加器级联后做成多位全加器.
首先写出其真值表,然后按照数字逻辑所学知识,通过卡诺图或者逻辑化简可得到Si和Cout的逻辑表达式。
一位全加器的封装形式:
要实现8位可控加减法器,可以通过实验所给的8个一位全加器串行来实现加法,然后通过可控反向异或门按位取反,使Sub通过置0置1来实现做减法时减数的补码 即X + Y = X + Y + 0 , X - Y = X + ~Y + 1。 异或门既能实现Y和~Y,同时还能作为Cin的0、1信号的输入。 Overflow(OF)为运算的有符号溢出检测,通过最高位进位Cn与符号位进位Cf异或:若相同,则无溢出为0;若不同,则有溢出为1。
-
将各元件连起来
8位全加器包含8个1位全加器,将8个一位全加器串联,低位进位输出Cout连接到高位进位输入Cin中,实现逐位从右向左传递,如下图所示。
Sub=0时作加法操作,即0和其他数异或得到该数本身,然后通过全加器FA执行加法运算。Sub=1时作减法操作,即1和其他数异或,相当于取反,然后在加法器FA内进行+1操作([-Y]补=[[Y]补]补)。