如何使用两输入与非门实现1个两输入的与门?

电子说

1.2w人已加入

描述

1. 进制转换

会算数值在二进制、八进制、十进制以及十六进制之间的任意转换。

会算数值的正码、反码、补码、BCD码。

2. 什么是格雷码(Gray code),它有什么优点。

在一组二进制编码中,若任意两个相邻的数值还有1位二进制数不同,则称这种编码为格雷码,由于最大数和最小数之间也仅1位数不同,即”首尾相连”,因此又称为循环码或反射码。比如下面对于0-7数值的格雷码和二进制码关系:

状态机

在实际电路中,两个二进制数值之间如果有多位bit不一致,在发生转换时,由于每1bit的转换时间不同,因此可能出现短暂的其它数值,在特定的情况下可能导致电路状态错误或输入错误,使用格雷码可以避免这种错误。格雷码的另一个好处是相邻数值的转换,只需要变换1bit,因此可以减少动态功耗。

3. 什么是奇偶校验位,以及它是如何算出来的?

奇偶校验位(Parity bit)是放在一个二进制数值的最后1bit,它指示1个二进制数中1的个数是偶数还是奇数。因此,有两种类型:偶校验和奇校验。如果一组给定数据位中 1 的个数是奇数,那么偶校验位就置为 1,从而使得总的 1 的个数是偶数。如果给定一组数据位中 1 的个数是偶数,那么奇校验位就置为 1,使得总的1 的个数是奇数。

奇偶校验位可以通过将二进制数据的所有bits进行XOR运算得到。它可以用于最简单的错误检测机制。

举个例子,有1个二进制数为’b1011_0011, 可以看出这个二进制数中1的个数为5个。如果采用奇校验的话,那么parity bit是0;如果使用偶校验的话,那么parity bit是1。

4. 如何使用两输入与非门(NAND gate)实现1个两输入的与门(AND gate),1个两输入的或门(OR gate),1个单输入的非门(NOT gate)?

我们先看与非门的逻辑表达式:Y=!(A&&B),其中A和B是与非门的两个输入,Y是输出。

对于非门的逻辑表达式为:Y=!(A),可以让与非门的输入A和B连接在一起,就是非门了。电路图如下:

状态机

对于与门的逻辑表达式为:Y=A&&B,可以在与非门后面串上1个非门就可以了。电路图如下:

状态机

对于或门的逻辑表达式为:Y=A||B,对右边进行两次取反并用德摩根定律得到:Y=!((!A)&&(!B)),因此需要3个与非门,电路图如下:

状态机

5. 如何使用两输入或非门(NOR gate)实现1个两输入的与门(AND gate),1个两输入的或门(OR gate),1个单输入的非门(NOT gate)?

我们先看或非门的逻辑表达式:Y=!(A||B),其中A和B是与非门的两个输入,Y是输出。

对于非门的逻辑表达式为:Y=!(A),可以让与非门的输入A和B连接在一起,就是非门了。电路图如下:

状态机

对于与门的逻辑表达式为:Y=A&&B,可以对右边进行两次取反并用德摩根定律得到:Y=!(!A || !B),因此需要3个或非门,电路图如下:

状态机

对于或门的逻辑表达式为:Y=A||B,可以在或非门后面串上1个非门就可以了。电路图如下:

状态机

6. 如何使用2选1 选择器(MUX)实现:a. 单输入非门;b. 两输入与门;c. 两输入或门;d. 两输入或非门;e. 两输入或非门;f. 两输入异或门;

这类题目的分析方法类似,我们就分析如何用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个与门了。电路图如下:

状态机

剩下的几个门的转换读者自行分析吧,思路一样,还蛮有意思的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分