SOP 和 POS

Published on
SOP 和 POS

最近学 Verilog 在看卡诺图,发现 SOP 和 POS 这两种方法还挺有意思的。

SOP 和 POS

  • SOP (Sum of Products):就是找所有输出为 1 的地方,把这些条件用 AND 连起来,再用 OR 把所有项连起来。

  • POS (Product of Sums):找所有输出为 0 的地方,然后想办法避开这些情况。

其实就是离散数学里学到的最小项之和与最大项之积,在这里用上了感觉还挺通的。

3 变量 K-map

a 0 1
bc
00 0 1
01 1 1
11 1 1
10 1 1

SOP 分析

看哪些地方是 1:

  • a=1 的时候,不管 bc 是什么,都是 1
  • a=0 的时候,只要 b=1 或者 c=1 就是 1

所以:$F = a + a’b + a’c$

POS 分析

只有一个地方是 0:a=0, b=0, c=0

要避开这种情况,就是说 a、b、c 至少要有一个是 1。

所以:$F = (a + b + c)$

什么时候用哪种方法?

SOP 和 POS 就是看问题的两个角度:

  • SOP:什么时候为真?
  • POS:怎么避免为假?

数字逻辑还是挺有意思的。