一、下载安装Logsim数字逻辑仿真软件
从实验附件中下载Logsim,并安装JAVA运行环境JDK,再运行Logsim。
二、设计一个1bit半加器电路
1位半加器是一种数字电路,用于执行二进制加法中的最低有效位(LSB)的加法。它可以将两个输入位(A和B)相加,并产生两个输出:和(S)和进位(C)。
其逻辑如下:
1)和(S)输出是输入位的异或(XOR)运算结果。即,S = A ⊕ B,其中 ⊕ 表示异或运算。
2)进位(C)输出是输入位的与(AND)运算结果,然后再与(NOT)运算结果。即,C = A ∧ B,其中 ∧ 表示与运算。
半加器:
真值表:
三、实现一个1bit全加器电路
1位全加器是一种数字电路,用于执行二进制加法中的位加法。它与半加器不同之处在于,全加器可以处理来自前一位的进位(carry)。1位全加器接受三个输入:两个待相加的位(A和B),以及来自前一位的进位(C_in)。它产生两个输出:和(S)和进位(C_out)。
全加器的逻辑如下:
1)和(S)输出是A、B和C_in的异或(XOR)运算结果。即,S = A ⊕ B ⊕ C_in。
2)进位(C_out)输出有两部分组成,一部分是A和B的与(AND)运算结果,另一部分是(A和B的)异或运算结果与C_in的AND运算结果,然后再通过或(OR)运算得出。即,C_out = (A ∧ B) ∨ (A ⊕ B) ∧ C_in
全加器:
真值表:
四、实现一个4位二进制数的补码器电路
补码原理如下:
1)正数与原码相同;
2) 负数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。 同一个数字在不同的补码表示形式中是不同的。比如10进制数值-15的二进制原码是10001111,其补码在8位二进制中是11110001,然而在16位二进制补码表示中,不足位数要用符号位补全,也就是1111111111110001。
电路: