微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 列表化简逻辑函数技术

列表化简逻辑函数技术

时间:03-06 来源:互联网 点击:

1、概述

在设计逻辑电路图时,由真值表直接得到的函数往往比较复杂。代数法和卡诺图法等方法对于变量数目较多的逻辑函数则效果不佳,本文介绍一种可以化简复杂逻辑函数的方法──表格法,该方法可以对变量数目较多的逻辑函数也可以进行化简。

2、原理

在介绍化减法之前,先说明三个概念:

蕴涵项──在函数的任何积之和式中,每个乘积项称为该函数的蕴涵项。对应于卡诺图中的任一标1单元(最小项)以及2m个相邻单元所形成的圈都是函数的蕴涵项。

素项──若函数的一个蕴涵项不是该函数中其它蕴涵项的一个子集,则此蕴涵项称为素蕴涵项,简称素项。

实质素项──若函数的一个素项所包含的某一最小项,不包括在该函数的其它任何素项中则此素项称为实质素蕴涵项,简称实质素项。

列表化简法的基本原理是利用逻辑函数的最小项,通过对相邻最小项的合并,消去多余变量因子,获得逻辑函数的最简式的。列表化简法的思路是先找出给定函数F的全部素项,然后找出其中的实质素项;若实质素项不能覆盖F的所有最小项,则进一步找出所需素项,以构成F的最简素项集。

下面用列表化简法将下列函数化简为最简与或表达式。

F(A,B,C,D)=Σ(0,3,4,5,6,7,8,10,11)

3、建立素项表

首先,找出给定函数的全部素项。

(1)先将每个最小项所对应的二进制数按其“1”的个数分组得表1;

表1 最小项

组号

项号

二进制数

0

0

0000

1

4

8

0100

1000

2

3

5

6

10

0011

0101

0110

1010

3

7

11

0111

1011

(2)将表1中的相邻两个组之间二进制数进行比较、合并得到一次化简结果,称为一次乘积项,其项号记为i(j-i),其中i为最小项中的小项号,j为最小项中的大项号,得表2;

表2 一次乘积项

组号

项号

二进制数

0

a0(4)

b0(8)

0-00

-000

1

4(1)

4(2)

c8(2)

010-

01-0

10-0

2

d3(4)

e3(8)

5(2)

6(1)

f10(1)

0-11

-011

01-1

011-

101-

(3)再将表2中的相邻两组内的二进制数进行比较、合并、便得到第二次化简结果,称为二次乘积项,其项号记为i(n,m),其中i为两个一次乘积项中的小项号,n为原最小项的项号差,m为一次乘积项的项号差,得表3;

表3 二次乘积项

组号

项号

二进制数

1

g4(1,2)

4(2,1)

01--

01--

不能与其它一次乘积项合并的一次乘积项是素项,分别以a,b,c,d,e,f记之,不能合并的二次乘积项也是素项,以g记之。

4、实质素项

建立实质素项产生表,找出实质素项。

先用×标出每个素项覆盖最小项的情况,再找出实质最小项5、6,在×上标括号以示区别,可找出对应实质素项g,在其前标*,最后一行用“V”标出实质素项覆盖最小项的情况,可看出还有最小项0、3、8、10、11未被覆盖。如表4所示。

表4实质素项产生式

最小项

素项

0

3

4

5

6

7

8

10

11

a0(4)

X

 

X

      

b0(8)

X

     

X

  

c8(2)

      

X

X

 

d3(4)

 

X

   

X

   

e3(8)

 

X

      

X

f10(1)

       

X

X

*g4(1,2)

  

X

X

X

X

   

覆盖情况

  

V

V

V

V

   

5、素项产生式

第三步:建立所需素项产生表,找出所需素项,所需素项集应覆盖所有未被实质素项覆盖的最小项,得表5。再用行列消去法来找,选优势行b0(8),e3(8),划去劣势行a0(4)及d3(4)得表6,再选最小项为0、3的劣势列,划去最小项为8,11的优势列,得表7。找出新的实质素项b,e,取该两项作为所需素项后,尚有最小项10未被覆盖,可选取c或f求得所需素项集为(b,e,c)或(b,e,f),

表5

最小项

素项

0

3

8

10

11

a0(4)

    

b0(8)

 

  

c8(2)

  

 

d3(4)

 

   

e3(8)

 

  

f10(1)

   


表6

最小项

素项

0

3

8

10

11

b0(8)

X

 

X

  

c8(2)

  

X

X

 

e3(8)

 

X

  

X

f10(1)

   

X

X

 表7

最小项

素项

0

3

10

**b0(8)

(X)

  

c8(2)

  

X

**e3(8)

 

(X)

 

f10(1)

  

X

得F=g+b+c+e=AB+BCD+ABD+BCD

或F=g+b+e+f=AB+BCD+BCD+ABC

6、结论

通过上面介绍可以看出,逻辑化简能否以最快的速度进行,从而得到最简的逻辑表达式,与化简者的经验和对公式、方法掌握与运用的熟练程度有密切关系;而列表化简法思路清晰、准确,有规律可循,可得到多种可能答案,但化简过程比较繁琐,适宜于用微机处理并实现。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top