📜  数字逻辑中SOP和POS的区别

📅  最后修改于: 2021-09-27 15:13:48             🧑  作者: Mango

在数字逻辑中,函数的输入和输出采用二进制数(布尔值)的形式,即值为零 (0) 或一 (1)。因此,数字逻辑也被称为“布尔逻辑”。这些输入和输出可以称为“布尔变量”。数字信号的输出布尔变量可以根据形成“布尔表达式”的输入布尔变量来表示。

布尔表达式的表示主要可以通过两种方式完成。它们如下:

  1. 产品总和 (SOP) 表格
  2. 总和 (POS) 形式的乘积

笔记:
如果输入变量的数量为 n,则布尔代数中的组合总数为 2 n

如果输入变量(让 A)值为:

  • 零 (0) – a 为低 – 应表示为 A’(A 的补码)
  • 一 (1) – a 是 HIGH – 它应该表示为 A

在布尔逻辑中,

AND is represented as '.'
A AND B is written as 'A.B'

OR is represented as '+'
A OR B is written as 'A+B' 

例如,考虑输入变量的数量=3,假设A、B和C。
组合总数为:2 3 =8。

A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

产品总和(SOP):
它是编写布尔表达式的一种方式。顾名思义,它是通过添加(或运算)乘积项而形成的。这些乘积项也称为“最小项”。最小项用“m”表示,它们是布尔变量的标准形式或补充形式的乘积(AND 运算)。

因此,SOP 是最小项的总和,表示为:
SOP中的F = \Sigma  (0, 3)
这里,F 是 minterm0 和 minterm3 的总和。

例如:

A=0, B=0, C=0   Minterm is A'.B'.C'
A=1, B=0, C=1   Minterm is A.B'.C  

考虑一个函数X,其真值表如下:

A B C X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0

当 X 为 HIGH(1) 时,可以通过添加所有最小项以 SOP 形式编写函数X。
在编写 SOP 时,应遵循以下约定:

If variable A is Low(0) - A'
            A is High(1) - A

X (标准操作程序) = \Sigma  (1, 3, 6)
= A’.B’.C + A’.BC + ABC’

总和乘积 (POS):
顾名思义,它是通过相乘(AND 运算)和项形成的。这些总和项也称为“最大项”。 Max-terms 用’M’ 表示,它们是普通形式或补充形式的布尔变量的总和(或运算)。

因此,POS 是 maxterms 的乘积,表示为:
POS 中的 F = \Pi  M (1, 2) 这里,F 是 maxterm1 和 maxterm2 的乘积。

例如:

A=0, B=1, C=0   Maxterm is A+B'+C
A=1, B=1, C=1   Maxterm is A'+B'+C'  

考虑一个函数X,其真值表如下:

A B C X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0

当 X 为 LOW(0) 时,可以通过乘以所有最大项以 POS 形式编写函数X。
在编写 POS 时,应遵循以下约定:

如果变量 A 为低 (0) – A A 为高 (1) – A’ X (POS) = \Pi M (0, 2, 4, 5, 7) = (A+B+C).(A+B’+C).(A’+B+C).(A’+B+C’).( A’+B’+C’)

SOP和POS的区别:

S.No. SOP POS
1. A way of representing boolean expressions as sum of product terms. A way of representing boolean expressions as product of sum terms.
2. SOP uses minterms. Minterm is product of boolean variables either in normal form or complemented form. POS uses maxterms. Maxterm is sum of boolean variables either in normal form or complemented form.
3. It is sum of minterms. Minterms are represented as ‘m’ It is product of maxterms. Maxterms are represented as ‘M’
4. SOP is formed by considering all the minterms, whose output is HIGH(1) POS is formed by considering all the maxterms, whose output is LOW(0)
5. While writing minterms for SOP, input with value 1 is considered as the variable itself and input with value 0 is considered as complement of the input. While writing maxterms for POS, input with value 1 is considered as the complement and input with value 0 is considered as the variable itself.