모든 HDLBits 포스팅은 Ligth Theme을 권장합니다.
(왼쪽 메뉴 하단)
문제는 반드시 HDLBits를 참고하세요! 본 포스팅보다 자세하게 적혀있습니다.
https://hdlbits.01xz.net/wiki/Wire
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을 권장합니다.
'Circuit Design > 🚀HDLBits' 카테고리의 다른 글
[HDLBits] 5. Verilog Language - More Verilog Features (0) | 2024.07.11 |
---|---|
[HDLBits] 4. Verilog Language - Procedures (0) | 2024.07.08 |
[HDLBits] 3. Verilog Language - Modules: Hiearch (0) | 2024.07.07 |
[HDLBits] 2. Verilog Language - Vectors (0) | 2024.07.07 |
[HDLBits] 0. Getting Started (0) | 2024.07.07 |