2025-07-05 · 1 分钟 · hongjr03
最小项之和与最大项之积
最近学 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′cF = a + a'b + a'c
POS 分析
只有一个地方是 0:a=0, b=0, c=0
要避开这种情况,就是说 a、b、c 至少要有一个是 1。
所以:F=(a+b+c)F = (a + b + c)
什么时候用哪种方法?
SOP 和 POS 就是看问题的两个角度:
- SOP:什么时候为真?
- POS:怎么避免为假?
数字逻辑还是挺有意思的。









