Kmap1
一、题目要求
构建一下卡诺图所示的电路,Try both product-of-sums and sum-of-products forms,用最大项和最小项表示。
二、分析
根据数电知识化简卡诺图,得到下图,这里采用最小项。
知道输出跟输入abc的关系为,输出是三个输入的或,即“|”。组合电路赋值语句使用assign即可。代码如下
module top_module(
input a,
input b,
input c,
output out );
assign out = a | b |c;
endmodule
三、仿真图
Kmap2
一、题目要求
构建下列卡诺图所示的组合电路,Try both product-of-sums and sum-of-products forms,用最大项和最小项表示。
二、分析
根据数电知识化简卡诺图,得到下图,这里采用最小项。
将上图的逻辑表达式转化为verilog语句,得到以下代码
module top_module(
input a,
input b,
input c,
input d,
output out );
assign out = ((~a)&b&(~d)) | (b&c&d)|(a&~(b)&d) | (a&(~b)&(~c)) |((~a)&(~b)&(~d))|((~a)&(~b)&(~c));
endmodule
三、仿真图
Kmap3
一、题目要求
构建下列卡诺图所示的电路,d表示无关项。Try both product-of-sums and sum-of-products forms,用最大项和最小项表示。
二、分析
根据数电知识化简卡诺图,得到下图,这里采用最小项(注意原题目卡诺图顺序不对,需要调整)
根据上述表达式得到下列verilog代码
module top_module(
input a,
input b,
input c,
input d,
output out );
assign out = a | ((~b)&c);
endmodule
三、仿真图
Kmap4
一、题目要求
构建下列卡诺图所示的电路,用最大项或者最小项均可,这里采用最小项。
二、分析
根据数电知识化简卡诺图,得到下图
根据上述逻辑表达式得到verilog语句如下
module top_module(
input a,
input b,
input c,
input d,
output out );
assign out = (a^b)&(~c)&(~d) | (~(a^b))&(~c)&d | (a^b)&c&d | (~(a^b))&c&(~d);
endmodule
三、仿真图
Exams/ece241 2013 q2
一、题目要求
有四个输入(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。
POS:product-of-sums,数电中的最大项
SOP:sum-of-products forms,数电中的最小项
二、分析
注意,数字3、8、11和12的输入条件永远不会出现,表示无关项的意思,这里用“×”号表示。
画出卡诺图如下
SOP(最小项)形式如下
POS(最大项)形式如下
将上述表达式化为verilog语句如下
module top_module (
input a,
input b,
input c,
input d,
output out_sop,
output out_pos
);
assign out_pos=c&((~a)|b)&(d|(~b));
assign out_sop=(c&d)|((~a)&(~b)&c);
endmodule
三、仿真图
出现下图表示仿真成功
Exams/m2014 q3
一、题目要求
构建下列卡诺图所示的电路,其中,d表示无关项
二、分析
根据数电知识画出下列卡诺图
将上述逻辑表达式化为verilog语句,代码如下
module top_module (
input [4:1] x,
output f );
assign f = ((~x[1])&x[3]) | (x[2]&x[4]);
endmodule
三、仿真图
出现下图表示仿真成功
Exams/2012 q1g
一、题目要求
构建下列卡诺图所示的逻辑电路。
二、分析
根据数电知识画出卡诺图如下
根据上述表达式转化为verilog语句得到以下代码
module top_module (
input [4:1] x,
output f
);
assign f = ((~x[1])&x[3]) | ( ( ~ x[2]) & ( ~x[3]) & ( ~ x[4]) ) | ( x[2]&x[3]&x[4] )| ( ( ~x[2])&x[3]&( ~x[4]));
endmodule
三、仿真图
出现下列图示表示仿真成功
Exams/ece241 2014 q3
一、题目要求
对于下面的Karnaugh图,给出使用一个4对1多路复用器和尽可能多的2对1多路复用器的电路实现,但使用的尽可能少。不允许使用任何其他逻辑门,必须使用a和b作为多路复用器选择器输入,如下面的4-to-1多路复用器所示。
二、分析
这题比较特别,下边的4选1并没有用到。这题的意思是当ab=00,01,10,11的时候,分别选择mux_in[0],mux_in[1],mux_in[2],mux_in[3]。而mux_in[i]的值和cd有关。根据卡诺图我们知道,mux_in[0]=1当cd=01,11,10,即cd是或的关系。故mux_in[0] = c | d。而mux_in[1]不管cd取什么都为零,故直接赋值mux_in[1]=1’b0。mux_in[3]=1当cd=11,为与的关系。mux_in[2]=1当cd=00,10,mux_in[2]=~ c & ~ d | c& ~d。或者是mux_in[2] = ~ d亦可。代码如下
module top_module (
input c,
input d,
output [3:0] mux_in
);
assign mux_in[0]=c|d;
assign mux_in[1]=1'b0;
assign mux_in[3]=c&d;
assign mux_in[2]=~d;
endmodule
三、仿真图