반응형
NOR Gate는 OR 게이트에 NOT 게이트를 이어 붙인 것이다.
OR연산은 하나라도 1이면 출력이 1이다. 이런 게이트 앞에 NOT이 있으니 NOR 게이트는 하나라도 1이라면 출력은 0이다. 즉, 모두 0일 때만 출력이 1이다.
module NOR (a, b, y);
input [3:0] a, b;
output [3:0] y;
wire [3:0]y;
assign y[3:0] = ~(a[3:0] | b[3:0]);
endmodule
DUT 코드는 간단하다. 그냥 OR연산을 하고 ~을 붙여주면 된다.
테스트 벤치는 어떻게 되는지 보자, 8비트를 다 집어넣어서 확인해 볼 예정이다.
module tb_NOR;
reg [3:0] a, b;
wire [3:0] y;
NOR u0(.a(a), .b(b), .y(y));
initial begin
for ({a, b} = 8'b0; {a, b} < 8'hff; {a, b} = {a, b} + 1)
#10;
#10 $stop;
end
endmodule
마지막에 #10 있다가 끝낸다. 결과 파형을 보면 비트 연산으로 이루어져 00일 때만 출력이 1로 나오는 것을 알 수 있다.
반응형
'개발 Tools > Verilog HDL' 카테고리의 다른 글
Quartus || 사용법 ( 쿼터스, 파일 생성, 기존 프로젝트 open, verilog HDL) (0) | 2022.05.25 |
---|---|
Verilog HDL RCA ( Ripple carry adder, 리플 케리 가산기, 파형, 16bit ) (0) | 2022.02.16 |
Verilog HDL Multiplexor (멀티플렉서, mux, 예제) (0) | 2022.02.16 |
Vreilog HDL decoder (디코더) (코드, 예제) (0) | 2022.02.15 |
Verilog HDL 구문들 ( assign, always, case, initial, 반복문, time scale, self-cheacking test bench, @, 블록문 ) (0) | 2022.02.15 |
댓글