9 / 24 · 개념
비트 폭과 이진수
2비트가 표현하는 값과 비트 위치를 읽습니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
학습 목표
- 각 비트의 자릿값을 계산하기
- 값의 크기와 레지스터 폭을 구분하기
두 비트로 표현하는 네 값
logic [1:0] count는 count[1]과 count[0]으로 구성됩니다. 부호 없는 값으로 읽으면 count[1]의 자릿값은 2, count[0]의 자릿값은 1입니다. 따라서 10은 십진수 10이 아니라 2입니다.
2비트의 가능한 조합은 네 가지입니다. 레지스터에 4를 저장하려면 비트가 더 필요합니다. 값이 커졌다고 선언한 폭이 자동으로 늘어나지는 않습니다.
| 비트 [1:0] | 계산 | 십진수 |
|---|---|---|
| 00 | 0 × 2 + 0 × 1 | 0 |
| 01 | 0 × 2 + 1 × 1 | 1 |
| 10 | 1 × 2 + 0 × 1 | 2 |
| 11 | 1 × 2 + 1 × 1 | 3 |
상수에 폭과 진법 적기
2'b01에서 2는 비트 수, b는 이진수, 01은 값입니다. 예제의 count + 2'b01은 2비트 카운터에 1을 더합니다. 코드의 상수와 표의 값이 같은 의미인지 먼저 확인하세요.
초기값 배열은 이 예제 도구 설정에서 LSB부터 적습니다. count=10을 넣으려면 [false, true]입니다. 글로 쓰는 10의 왼쪽 비트부터 배열에 넣으면 순서가 뒤집힙니다.
logic [1:0] count;
// Two-bit unsigned values: 00, 01, 10, 11
// Increment value: 2'b01직접 생각해 보기
LSB부터 [true, false]를 넣으면 count는 몇일까요?
해설 보기
count[0]=1, count[1]=0이므로 01, 십진수 1입니다.
✓ 학습 완료