文章目录
一、在Logisim中设计一个1bit半加器电路,确保运算测试正确后,保存为子电路,文件名为half_adder.
(1)半加器功能是将两个一位二进制数相加,其真值表如下图
(2)在Logisim实现的半加器如下图,经运算结果与(1)中相同保存为子电路文件名为half_adder.
二、在完成1bit半加器电路基础上,实现一个1bit全加器电路,保存为子电路,文件名为full_adder.
(1)全加器是由两个半加器组成(当两个多位二进制数相加时,除了最低位以外,第二位以上的相加需要考虑低位的进位,即将两个待加数A.和B,以及一个来自前面低位送来的进位数C」这三个数相加,得出本位和(全加和)S和进位数C。这种相加就叫"全加"。)其真值表如下图
(2)在Logisim实现的全加器如下图,经运算结果与(1)中结果相同,保存为子电路,文件名为full_adder.
三、理解全加器和二进制补码的原理,用Logisim设计实现一个4位二进制数的补码器电路
(1)补码原理
-
正数与原码相同;
-
负数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。 同一个数字在不同的补码表示形式中是不同的。比如10进制数值-15的二进制原码是10001111,其补码在8位二进制中是11110001,然而在16位二进制补码表示中,不足位数要用符号位补全,也就是1111111111110001。
3.因为正数和负数的补码运算规则不一样,取决与输入二进制数的最高位(符号位)。从简单入手,你可以先只考虑输入为负数情况的补码运算。补码运算中有一个加1运算,需要用全加器实现。 4位全加器可以用4个1位(bit)全加器级联得到。当你的负数补码器电路设计完成后,你可以在输入端口中输入任意一个4位的原码,仿真器会自动将原码转换成补码,并输出到输出端口中。例如,如果输入端口中输入了原码1010,输出端口中将会输出补码1110。然后,你再继续考虑输入即有正数又可能是负数的情况下,如何完善补码器电路。
(2)Logisim中4位二进制数的补码器电路的实现如下