非门被称为反向器,也可称为“气泡”(bubble)。
所谓“推气泡”,其实就是“移动非门”。
我们做一下直观感受: 推一个气泡通过一个门使它从门一边输出,在另一边输出,可以将与门替换成或门,反之亦然。
上图与非门是在输出端包含气泡的与门。推一个气泡到左边会使得每一个输入端带有气泡,并将与门换成或门。 下图是或非门的转换:
推气泡的规则:
- 向后推输出端的气泡或者向前推输入端的气泡,需要将与门换成或门,反之亦然。
- 从输出端推气泡到输入端,把气泡放置在门的输入端。
- 从门的所有输入端向前推气泡,把气泡放置在门的输出端。
这里的知识,依据德摩根公式就不难理解了。
下面继续介绍“推气泡”在处理多级组合逻辑中的作用。
在CMOS电路中,其与非门和或非门的实现优于与门和或门。但是从与非门和或非门电路中读取布尔表达式,可能会相当头痛。难以通过观察法直接得到下图中舵机电路的布尔表达式。这时,推气泡可以帮助我们重画这些电路,消除气泡,比较容易地确定逻辑功能。