为什么需要化简?
因为表达式的复杂度决定了逻辑门元器件的搭建复杂度,也就是说化简后的式子所搭建的逻辑电路不仅功能上等同未化简的式子,而且成本更少,制造的电子元件更轻. 所以说化简是很有必要的
逻辑函数的化简史
那么化简有哪些方式?
-
代数化简(人工苦力,利用公式化简)————适用于四输入及以下变量加减化简
-
卡诺图化简(相对来说轻松了一点,从代数 → \rightarrow →几何)顺序按照格雷码 [ 1 ] ^{[1]} [1]编码方式. 利用了卡诺图的相邻性——消除相邻因子的不同因子.
[1] 格雷码:在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为**格雷码**`(Gray Code)
- Q M 法(划时代的化简方法),解放人力,运用计算机解决化简
在卡诺图中相邻的格子不仅在几何上相邻也在逻辑上相邻, 如你所见上图中 m 0 m_0 m0与 m 1 m_1 m1(表格中为1的地方)几何相邻, 从逻辑来看他们都是 A ′ B ′ C ′ − A'B'C'- A′B′C′− (这里的 " − " "-" "−" 代表任意取值), 又因为二进制只有 0 / 1 0 / 1 0/1所以也满足逻辑相邻.
我们来化简下这两项合并的结果:
A ′ B ′ C ′ ( D + D ′ ) = A ′ B ′ C ( 1 ) ′ \\A'B'C'( D+D') = A'B'C'_{\;(1)} A′B′C′(D+D′)=A′B′C(1)′
如你所见,化简的基本思路是留下相同因子,消去相邻项不同因子
运用Q M法化简
卡诺图虽然看起来很直观,但是他在逻辑变量 ≥ 5 \geq 5 ≥5 时失去了直观上的相邻 [ 2 ] ^{[2]} [2]同时增加了复杂度