题目与提供的电路框架
实验内容
在 Logisim 模拟器中打开 alu.circ 文件,在对应子电路中利用已经封装好的全加器设计8位串行可控加减法电路,其电路引脚定义如图所示,用户可以直接使用在电路中使用对应的隧道标签,其中 X,Y 为两输入数,Sub 为加减控制信号,S 为运算结果输出,Cout 为进位输出,OF 为有符号运算溢出位。
电路框架
知识点与思路
减法实现
无符号数:
X - Y = X + [Y]补 = X + [Y]反 + 1
有符号数:
[X]补 - [Y]补 = [X]补 + [-Y]补,
[-Y]补由[Y]补连同符号位在内,每位取反,末位加1。
溢出判断
加法可能溢出情况:正+正、负+负
减法可能溢出情况:正- 负、负- 正(正+[负]补、负+[正]补)
即无论是加法还是减法、只要实际参加操作的两个数符号相同、结果又与原操作数符号不同,即为溢出。
(注意有符号减法在加法器上的实现,符号位已取反,即判断溢出与加法形式上相同)
方法二是基于现象的设计,本实验使用方法2。
注意本实验溢出判断为有符号数溢出判断
无符号数溢出判断的电路设计如下