A single-output digital system with four inputs (a,b,c,d) generates a logic-1 when 2, 7, or 15 appears on the inputs, and a logic-0 when 0, 1, 4, 5, 6, 9, 10, 13, or 14 appears. The input conditions for the numbers 3, 8, 11, and 12 never occur in this system. For example, 7 corresponds to a,b,c,d being set to 0,1,1,1, respectively.
Determine the output out_sop in minimum SOP form, and the output out_pos in minimum POS form.
译:
描述了一个具有四个输入(a,b,c,d)的单输出数字系统。当输入为2、7或15时,系统产生逻辑1;当输入为0、1、4、5、6、9、10、13或14时,系统产生逻辑0。输入3、8、11和12的情况在系统中永远不会发生。
你想要求的是最小标准析取式(SOP)形式的输出out_sop,以及最小主标准合取式(POS)形式的输出out_pos。
无关项与之前的d的作用一致,即可作为1圈起来,也可以作为0 不圈;
module top_module (
input a,
input b,
input c,
input d,
output out_sop,
output out_pos
);
assign out_sop = (c&d)|(~a&~b&c);
assign out_pos = c&(~b|~c|d)&(~a|b|~c);
endmodule
分析:
在卡诺图(Karnaugh map)中,SOP和POS分别代表两种不同的逻辑表达形式:
1. **SOP(Sum of Products)**:
- SOP表示为“乘积项之和”,是一种将逻辑函数表示为AND(与)门的输出进行OR(或)连接的形式。
- 在卡诺图中,SOP通常通过将1(真值)所在的单元格圈起来,然后找到这些圈能够覆盖的最小数量的单元格,每个圈代表一个AND门的乘积项。
- SOP形式的逻辑表达式通常用于实现逻辑电路,因为它们直接对应于AND和OR门的组合。
2. **POS(Product of Sums)**:
- POS表示为“求和项之积”,是一种将逻辑函数表示为OR门的输出进行AND连接的形式。
- 在卡诺图中,要得到POS形式,可以想象将SOP形式中的1和0互换,然后再次应用SOP的圈定方法,得到的圈将代表OR门的求和项。
- POS形式的逻辑表达式在某些情况下也很有用,比如在设计某些类型的逻辑电路时。
在卡诺图中,SOP和POS的区别主要在于它们各自表示逻辑函数的方式不同。SOP通过圈定1(真值)的单元格来简化逻辑表达式,而POS则是通过圈定0(假值)的单元格来实现。在设计逻辑电路时,根据所需的门电路类型(AND/OR或NAND/NOR等),可以选择使用SOP或POS形式。
简化逻辑表达式的目的是为了减少所需的逻辑门数量,从而降低成本、减少电源消耗、提高速度和可靠性。卡诺图提供了一种直观的方法来观察和简化布尔表达式。
理解:
SOP: 就是把各输入相与再输出之间相或
POS: 是各输入之间相或再输出间相与
偷懒行为:
一个计算POS的偷懒方法: 先按照SOP的形式写出式子(是否取反按照POS的概念来定),简化后,再将各输入之间的与改为或,各输出之间的或改为与;(不知道是否全部适用,反正本题是适用的,如有漏洞,评论区讨论)