모든 HDLBits 포스팅은 Ligth Theme을 권장합니다.

(왼쪽 메뉴 하단)

 

문제는 반드시 HDLBits를 참고하세요! 본 포스팅보다 자세하게 적혀있습니다.

https://hdlbits.01xz.net/wiki/Wire

 

Wire - HDLBits

 

hdlbits.01xz.net

 

 


Simple Wire

 

 

Create a module with one input and one output that behaves like a wire.

하나의 입력과 하나의 출력으로 와이어처럼 동작하는 모듈을 만듭니다.

Solution ↓

더보기
module top_module( input in, output out );

    assign out = in;
    
endmodule

wire는 out = in으로 연결(in -> out)


 

 


Wire 4

 

 

Create a module with 3 inputs and 4 outputs that behaves like wires that makes these connections:

3개의 입력과 4개의 출력으로 다음과 같은 연결을 하는 와이어와 같은 동작을 하는 모듈을 만듭니다:

a -> w
b -> x
b -> y
c -> z

Solution ↓

더보기
module top_module( 
    input a,b,c,
    output w,x,y,z );
    
    assign w = a;
    assign x = b;
    assign y = b;
    assign z = c;

endmodule

 

 


Inverter(Not gate)

 

Create a module that implements a NOT gate.

NOT 게이트를 구현하는 모듈을 만듭니다.

Solution ↓

더보기
module top_module( input in, output out );

    assign out = ~in;
endmodule

 

 


AND Gate

 

Create a module that implements an AND gate.

AND 게이트를 구현하는 모듈을 만듭니다.

Solution ↓

더보기
module top_module( 
    input a, 
    input b, 
    output out );
    
    assign out = a & b;

endmodule

 

 


NOR Gate

 

Create a module that implements a NOR gate. A NOR gate is an OR gate with its output inverted.

NOR 게이트를 구현하는 모듈을 만듭니다. NOR 게이트는 출력이 반전된 OR 게이트입니다.

Solution ↓

더보기
module top_module( 
    input a, 
    input b, 
    output out );
	
    assign out = ~(a|b);
endmodule

 

 


XOR Gate

 



Create a module that implements an XNOR gate.

XNOR 게이트를 구현하는 모듈을 만듭니다.

Solution ↓

더보기
module top_module( 
    input a, 
    input b, 
    output out );

    assign out = ~(a ^ b);
    
endmodule

 

 


Declaring Wires

 

 

Implement the following circuit. Create two intermediate wires (named anything you want) to connect the AND and OR gates together. Note that the wire that feeds the NOT gate is really wire out, so you do not necessarily need to declare a third wire here. Notice how wires are driven by exactly one source (output of a gate), but can feed multiple inputs.

다음 회로를 구현하세요. AND와 OR Gate를 연결하기 위해 두 개의 중간 Wire(name 상관없음)를 만드세요. NOT Gate에 공급되는 Wire는 실제로 전선으로 연결되므로 여기서 반드시 제3의 Wire를 선언할 필요는 없습니다. Wire가 정확히 하나의 Source(Gate의 출력)에 의해 구동되지만 여러 입력을 공급할 수 있는 방법을 주의 깊게 생각해 보세요.

Solution ↓

더보기
`default_nettype none
module top_module(
    input a,
    input b,
    input c,
    input d,
    output out,
    output out_n   ); 
    
    wire k, m;
    
    assign k = a & b;
    assign m = c & d;
    assign out = k | m;
    assign out_n = ~(k | m);

endmodule

 


7458 Chip

 

Create a module with the same functionality as the 7458 chip.

7458 칩과 동일한 기능의 모듈을 만듭니다.

Solution ↓

더보기
module top_module ( 
    input p1a, p1b, p1c, p1d, p1e, p1f,
    output p1y,
    input p2a, p2b, p2c, p2d,
    output p2y );
    
    wire a, b, c, d;
    
    assign a = p1a & p1b & p1c;
    assign b = p1d & p1e & p1f;
    assign p1y = a | b;
    assign c = p2a & p2b;
    assign d = p2c & p2d;
    assign p2y = c | d;


endmodule

 

모든 HDLBIts 포스팅은 Light Theme을 권장합니다.