모듈 작성하기
Coddy Verilog 여정의 기초 섹션에 포함된 레슨 — 90개 중 43번째.
챌린지
반가산기(half adder)는 두 개의 단일 비트를 더하고 다음을 알려주는 회로입니다:
- sum — 결과 (0 또는 1)
- carry — 오버플로우 발생 여부 (두 입력이 모두 1일 때 1)
예시
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | no overflow |
| 0 | 1 | 1 | no overflow |
| 1 | 0 | 1 | no overflow |
| 1 | 1 | 0 | overflow (carry = 1) |
이진수에서 1 + 1을 더하면, 결과는 0이고 캐리(carry)는 1이 됩니다 (십진수에서 5 + 5 = 0이고 올림수가 1 발생하는 것과 같습니다).
로직을 추가하기 전에, 반가산기 회로를 담을 빈 껍데기인 모듈 컨테이너(module container)를 만들어야 합니다.
반가산기를 위한 작업 단계는 다음과 같습니다:
half_adder라는 이름의 모듈을 생성합니다.- 두 개의 입력
a와b를 추가합니다. - 두 개의 출력
sum과carry를 추가합니다.
직접 해보기
// 작업 1: half_adder라는 이름의 모듈 생성
// 작업 2: 두 개의 입력 a와 b 추가
// 작업 3: 두 개의 출력 sum과 carry 추가
// 로직은 나중에 추가될 예정