电子说
会算数值在二进制、八进制、十进制以及十六进制之间的任意转换。
会算数值的正码、反码、补码、BCD码。
在一组二进制编码中,若任意两个相邻的数值还有1位二进制数不同,则称这种编码为格雷码,由于最大数和最小数之间也仅1位数不同,即”首尾相连”,因此又称为循环码或反射码。比如下面对于0-7数值的格雷码和二进制码关系:
在实际电路中,两个二进制数值之间如果有多位bit不一致,在发生转换时,由于每1bit的转换时间不同,因此可能出现短暂的其它数值,在特定的情况下可能导致电路状态错误或输入错误,使用格雷码可以避免这种错误。格雷码的另一个好处是相邻数值的转换,只需要变换1bit,因此可以减少动态功耗。
奇偶校验位(Parity bit)是放在一个二进制数值的最后1bit,它指示1个二进制数中1的个数是偶数还是奇数。因此,有两种类型:偶校验和奇校验。如果一组给定数据位中 1 的个数是奇数,那么偶校验位就置为 1,从而使得总的 1 的个数是偶数。如果给定一组数据位中 1 的个数是偶数,那么奇校验位就置为 1,使得总的1 的个数是奇数。
奇偶校验位可以通过将二进制数据的所有bits进行XOR运算得到。它可以用于最简单的错误检测机制。
举个例子,有1个二进制数为’b1011_0011, 可以看出这个二进制数中1的个数为5个。如果采用奇校验的话,那么parity bit是0;如果使用偶校验的话,那么parity bit是1。
我们先看与非门的逻辑表达式:Y=!(A&&B),其中A和B是与非门的两个输入,Y是输出。
对于非门的逻辑表达式为:Y=!(A),可以让与非门的输入A和B连接在一起,就是非门了。电路图如下:
对于与门的逻辑表达式为:Y=A&&B,可以在与非门后面串上1个非门就可以了。电路图如下:
对于或门的逻辑表达式为:Y=A||B,对右边进行两次取反并用德摩根定律得到:Y=!((!A)&&(!B)),因此需要3个与非门,电路图如下:
我们先看或非门的逻辑表达式:Y=!(A||B),其中A和B是与非门的两个输入,Y是输出。
对于非门的逻辑表达式为:Y=!(A),可以让与非门的输入A和B连接在一起,就是非门了。电路图如下:
对于与门的逻辑表达式为:Y=A&&B,可以对右边进行两次取反并用德摩根定律得到:Y=!(!A || !B),因此需要3个或非门,电路图如下:
对于或门的逻辑表达式为:Y=A||B,可以在或非门后面串上1个非门就可以了。电路图如下:
这类题目的分析方法类似,我们就分析如何用2选1 MUX实现两输入与门,其余的读者可以自行分析,有问题的话可以后台留言讨论。
2选1 MUX是根据S0的值从两输入A和B中选择1个送到输出Y,它的逻辑表达式为:Y=(!S0)&&A + (S0)&&B。电路图为:
然后两输入与门的逻辑表达式为:Y=A&&B,进一步可变换为Y=!A&&A || A&&B,因此我们只要MUX的输入A和S0连接起来,就是1个与门了。电路图如下:
剩下的几个门的转换读者自行分析吧,思路一样,还蛮有意思的。
全部0条评论
快来发表一下你的评论吧 !