비교 연산자
Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 21번째.
비교 연산자는 두 값을 비교하고 1(참) 또는 0(거짓)을 반환합니다.
사용 가능한 비교 연산자
| 연산자 | 의미 |
|---|---|
== | 같음 |
!= | 같지 않음 |
> | 초과 |
< | 미만 |
>= | 크거나 같음 |
<= | 작거나 같음 |
코드 예제
module comparison_demo;
reg [3:0] a, b;
reg result;
initial begin
a = 5;
b = 3;
result = (a == b);
$display("5 == 3 : %d", result); // 0 (false)
result = (a != b);
$display("5 != 3 : %d", result); // 1 (true)
result = (a > b);
$display("5 > 3 : %d", result); // 1 (true)
result = (a < b);
$display("5 < 3 : %d", result); // 0 (false)
result = (a >= 5);
$display("5 >= 5 : %d", result); // 1 (true)
result = (a <= 3);
$display("5 <= 3 : %d", result); // 0 (false)
$finish;
end
endmodule출력:
5 == 3 : 0
5 != 3 : 1
5 > 3 : 1
5 < 3 : 0
5 >= 5 : 1
5 <= 3 : 0조건에서 비교 사용하기
비교는 if 문에서 자주 사용됩니다.
if (count == 10)
$display("Reached maximum");
if (value > threshold)
$display("Value is too high");중요 참고 사항
- 비교 결과는 1비트 값입니다(0 또는 1).
- 비교는 모든 비트 폭에서 작동합니다.
- 신호에 X 또는 Z가 포함된 경우
==와!=를 사용할 때 주의하세요(알 수 없는 비트에 따라 결과가 달라질 수 있으면 X를 반환합니다).
챌린지
각 작업에 맞는 비교식을 작성하세요.
할 일:
a가b와 같은지 확인하고eq에 저장하세요a가b보다 큰지 확인하고gt에 저장하세요a가b보다 작거나 같은지 확인하고le에 저장하세요
직접 해보기
module comparison_challenge;
reg [3:0] a, b;
reg eq, gt, le;
initial begin
a = 4'd7;
b = 4'd7;
eq = ______; // a가 b와 같음
gt = ______; // a가 b보다 큼
le = ______; // a가 b보다 작거나 같음
$display("a = %d, b = %d", a, b);
$display("a == b : %d", eq);
$display("a > b : %d", gt);
$display("a <= b : %d", le);
$finish;
end
endmodule이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Verilog 컴파일러