Exams/ece241 2013 q2:Minimum SOP and POS
题目链接为:
问题描述
具有四个输入 (a,b,c,d) 的单输出数字系统在输入出现 2、7 或 15 时产生逻辑 1,当输入出现 0、1、4、5、6、9、10、13或14 时产生逻辑 0 。数字 3、8、11 和 12 的输入条件从未出现在此系统中。例如,7 对应于分别设置a,b,c,d为0、1、1、1。确定最小SOP形式的输出out_sop,以及最小POS形式的输出out_pos。
问题解答
(1)根据题意可以画出如下卡诺图:
(2)随后进行卡诺图的化简:
最小SOP:
采用圈1法,如图中蓝色和绿色实线所示,合并标1的最小项,即。
最小POS:
采用圈0法,如图中红、黄、深蓝色虚线所示,合并标0的最小项,得到
通过将该逻辑表达式进行化简,可以得到。
得到该卡诺图的逻辑表达式后,便可以开始编写verilog代码。
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); //sop
assign out_pos = c&(~b|~c|d)&(~a|~c|d); //pos
endmodule
Exams/m2014 q3 Karnaugh map
题目链接为:
问题描述
得出下面卡诺图中显示的函数 f。
问题解答
采用圈0法,如下图所示。
合并标0的最小项,得到,将该表达式化简,可以得到:
。得到该卡诺图的逻辑表达式后,便可以开始编写verilog代码。
module top_module (
input [4:1] x,
output f );
assign f = (x[1]|x[3])&(x[3]|x[4])&(~x[1]|x[2])&(~x[1]|~x[3]);
endmodule
Exams/2012 q1g Karnaugh map
题目链接为:
问题描述
得出下面卡诺图中显示的函数 f。(原试题要求简化 SOP 和 POS 形式的函数。)
问题解答
最小SOP:采用圈1法,如下图所示。
合并标1的最小项,得到。
最小POS:采用圈0法,如下图所示。
合并标0的最小项,得到,通过化简该逻辑表达式,可以得到:。得到该卡诺图的逻辑表达式后,便可以开始编写verilog代码。
module top_module (
input [4:1] x,
output f
);
//assign f = (~x[2]&~x[4])|(~x[1]&x[3])|(x[2]&x[3]&x[4]); //sop
assign f = (x[3]|~x[4])&(~x[2]|x[3])&(~x[1]|~x[2]|x[4])&(~x[1]|x[2]|~x[4]); //pos
endmodule