下面是在朋友去获得的一张组合逻辑图,询问它的二值逻辑功能是什么呢?
▲ Lucky Resistor的逻辑关系
这个逻辑图输入变量由四个: A 0 , A 1 , B 0 , B 1 A_0 ,A_1 ,B_0 ,B_1 A0,A1,B0,B1;输出变量有四个: X 0 , X 1 , X 2 , X 3 X_0 ,X_1 ,X_2 ,X_3 X0,X1,X2,X3。由于该电路没有逻辑传输过程中没有反馈回路,所以它本质上应该是一个组合逻辑。
可以根据逻辑中区间以及信号连接的关系,注意写出输出变量 X n , n = 0 , 1 , 2 , 3 X_n ,\,\,n = 0,1,2,3 Xn,n=0,1,2,3 输入变量 A 0 , 1 , B 0 , 1 A_{0,1} ,B_{0,1} A0,1,B0,1之间的逻辑关系。
可以将上述表达式化简成标准 最小项表达式 之和的形式:
首先, X 0 , X 3 X_0 ,X_3 X0,X3的最小项表达式比较容易获得:
X 1 , X 2 X_1 ,X_2 X1,X2的最小项表达式比起现在的形式更加的复杂。
可以通过Python程序给出输入输出之间的真值表:
b1,b0,a1,a0 -->x0,x1,x2,x3
---------------------------
0 0 0 0 --> 0 0 0 0
1 0 0 0 --> 0 0 0 0
0 1 0 0 --> 0 0 0 0
1 1 0 0 --> 0 0 0 0
0 0 1 0 --> 0 0 0 0
1 0 1 0 --> 0 0 1 0
0 1 1 0 --> 0 1 0 0
1 1 1 0 --> 0 1 1 0
0 0 0 1 --> 0 0 0 0
1 0 0 1 --> 0 1 0 0
0 1 0 1 --> 1 0 0 0
1 1 0 1 --> 1 1 0 0
0 0 1 1 --> 0 0 0 0
1 0 1 1 --> 0 1 1 0
0 1 1 1 --> 1 1 0 0
1 1 1 1 --> 1 0 0 1
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2021-05-03
#
# Note:
#============================================================
from head import *
a = 0
b = 1
printf(b & 0)
#------------------------------------------------------------
def int2binary(n):
return [int(s) for s in format(n, '04b')]
def ab2x(b1,b0,a1,a0):
x0 = b0 & a0
x1 = (a1&b0)^(a0&b1)
x2 = (a1&b1)^((a0&b1)&(a1&b0))
x3 = (a0&b1)&(a1&b0)
return x0,x1,x2,x3
#------------------------------------------------------------
for i in range(16):
ab = int2binary(i)
x0,x1,x2,x3 = ab2x(ab[3],ab[2],ab[1],ab[0])
printff(ab[3], ab[2], ab[1], ab[0], '-->', x0, x1, x2, x3)
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
那么问题来了,到现在为止我们是否可以说,知道了这个电路的功能了吗? 这张逻辑图背后的故事究竟是什么呢?
■ 相关文献链接: