逻辑函数的化简

by Gokong

写在前面

  • “与或”表达式的最简式的定义 在该表达式中同时满足:
  1. 该式的乘积项最少;
  2. 该式不能用变量更少的乘积项代替。
  • “或与”表达式的最简式的定义与上述类似。

公式化简法

虽然公式化简法不受变量个数的限制,但化简过程没有固定的规律可循,直观性差,带有一定的试探性,并且难以判断结果是否最简。为了寻找更简单的方法,人们研究出了卡诺图化简法。

卡诺图化简法

卡诺图的构成

由$2^{n}$个小方格构成,n表示变量的个数。
每个小方格都对应一个最小项。
在逻辑上相邻的最小项在几何位置上也相邻(包括首位相邻)。
五变量卡诺图具有重叠相邻性。

用卡诺图表示逻辑函数

  • 用卡诺图表示最小项表达式:
    如果逻辑函数以最小项的形式给出,则在构成函数的每个最小项相应的卡诺图小方格中填1,其余的小方格中填0。
  • 用卡诺图表示最小项表达式: 用互补律$A+\bar{A}=1$变换成最小项表达式,然后用上述方法。
  • 直接用卡诺图表示非最小项的与或表达式。

用卡诺图化简逻辑函数

  1. 用卡诺图化简逻辑函数的原理 卡诺图形象地表达了最小项之间的相邻性。如相邻的两小方格均填1,则可用相邻性消去一个变量,使函数得以简化。
  2. 合并最小项的规则 消去卡诺圈取值改变的变量,保留取值不变的变量的逻辑与就是合并的结果。
  3. 合并最小项的规律:
    1. 卡诺圈中小方格的个数必须是$2^{i}$个。
    2. 卡诺圈中的$2^{i}$个最小项合并,将消去i个变量。
  4. 用卡诺图化简逻辑函数的具体实践步骤:
    1. 用卡诺图表示所要化简的逻辑函数;
    2. 把卡诺图中所有填1的小方格用卡诺圈圈起来。画圈时必须遵守如下原则:
      1. 每个圈内1的个数必须是$2^{i}$个;
      2. 每个圈中某些小方格可以多次被圈,但必须保证每个圈内至少有一个小方格仅被圈一次;
      3. 卡诺圈的个数最少;
      4. 每个圈应尽量大;
      5. 任意一个填1的小方格都会被圈。
    3. 将合并的与项进行逻辑加;
    4. 如果卡诺图中填0的小方格比填1的少,也可以圈0先求得简化的反函数,然后再求反得到最简与或式。
    5. 无关项:在小方格中填“d”,d可以看作1也可以看作0. 一个卡诺圈里不能全是d.

用卡诺图化简最大项表达式

以上我们用化简最小项表达式来介绍卡诺图法,化简最大项表达式的方法与之类似。

  • 在最大项对应的小方格中填“0”.

  • 一个逻辑函数表达式对应一个卡诺图。
  • 共享项:对于多输出函数,为了节省逻辑门的个数,我们尽可能使化简后的不同逻辑函数表达式有共有的项。

事实上,卡诺图、真值表、逻辑表达式之间是可以相互转换的。 从真值表向逻辑函数的转换:将真值表中函数F=1所对应的最小项求逻辑和。从真值表得到卡诺图:将真值表的函数值1或0,按顺序直接填入卡诺图相对应的小方格内。


All rights reserved.
本站采用创作共用版权协议,要求署名、非商业用途和保持一致。转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议。
使用 Hugo 构建
主题 StackJimmy 设计