Verilog HDL刷题笔记(07)(Circuit-Combinational Logic-K-Map to Circuit)

知乎上有个详细的解答专栏:https://zhuanlan.zhihu.com/c_1131528588117385216

73.Implement the circuit described by the Karnaugh map below.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

module top_module(
    input a,
    input b,
    input c,
    output out  ); 
    assign out = a | (~a)&c | b;
endmodule

74.Implement the circuit described by the Karnaugh map below.

Try to simplify the k-map before coding it. Try both product-of-sums and sum-of-products forms. We can't check whether you have the optimal simplification of the k-map. But we can check if your reduction is equivalent, and we can check whether you can translate a k-map into a circuit.

module top_module(
    input a,
    input b,
    input c,
    input d,
    output out  ); 
    assign out = (~a&~d)|(~b&~c)|(~a&b&c)|(a&c&d);
endmodule

75.Implement the circuit described by the Karnaugh map below.

d即无关项;

module top_module(
    input a,
    input b,
    input c,
    input d,
    output out  ); 
    assign out = a&c | a&d | ~b&c | a&~c;
endmodule

76.Implement the circuit described by the Karnaugh map below.

module top_module(
    input a,
    input b,
    input c,
    input d,
    output out  ); 
    assign out=a^b^c^d;
endmodule

77.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.

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&~d);
    assign out_pos = c & (~b|d) & (~a|d);
endmodule

[PS]刷到这题才知道卡诺图有两种转化方式。。。

78.Consider the function f shown in the Karnaugh map below.Implement this function. d is don't-care, which means you may choose to output whatever value is convenient.

module top_module (
    input [4:1] x, 
    output f );
    assign f = (~x[1]&x[3]) | x[2]&x[4];
endmodule

79.Consider the function f shown in the Karnaugh map below. Implement this function.

(The original exam question asked for simplified SOP and POS forms of the function.)

 

module top_module (
    input [4:1] x,
    output f
); 
    assign f = ~x[1]&x[3] | ~x[2]&~x[4] | x[2]&x[3]&x[4];
endmodule

80.For the following Karnaugh map, give the circuit implementation using one 4-to-1 multiplexer and as many 2-to-1 multiplexers as required, but using as few as possible. You are not allowed to use any other logic gate and you must use a and b as the multiplexer selector inputs, as shown on the 4-to-1 multiplexer below.

You are implementing just the portion labelled top_module, such that the entire circuit (including the 4-to-1 mux) implements the K-map.

 

 

module top_module (
    input c,
    input d,
    output [3:0] mux_in
); 
    assign mux_in[0]=d|c;
    assign mux_in[1]=1'b0;
    assign mux_in[2]=~d;
    assign mux_in[3]=c&d;
endmodule
posted @ 2020-06-10 18:07  Kraken  阅读(2696)  评论(0编辑  收藏  举报