Academy
English한국어

9 / 24 · 개념

비트 폭과 이진수

2비트가 표현하는 값과 비트 위치를 읽습니다.

학습 목표

  • 각 비트의 자릿값을 계산하기
  • 값의 크기와 레지스터 폭을 구분하기

두 비트로 표현하는 네 값

logic [1:0] count는 count[1]과 count[0]으로 구성됩니다. 부호 없는 값으로 읽으면 count[1]의 자릿값은 2, count[0]의 자릿값은 1입니다. 따라서 10은 십진수 10이 아니라 2입니다.

2비트의 가능한 조합은 네 가지입니다. 레지스터에 4를 저장하려면 비트가 더 필요합니다. 값이 커졌다고 선언한 폭이 자동으로 늘어나지는 않습니다.

비트 [1:0]계산십진수
000 × 2 + 0 × 10
010 × 2 + 1 × 11
101 × 2 + 0 × 12
111 × 2 + 1 × 13

상수에 폭과 진법 적기

2'b01에서 2는 비트 수, b는 이진수, 01은 값입니다. 예제의 count + 2'b01은 2비트 카운터에 1을 더합니다. 코드의 상수와 표의 값이 같은 의미인지 먼저 확인하세요.

초기값 배열은 이 예제 도구 설정에서 LSB부터 적습니다. count=10을 넣으려면 [false, true]입니다. 글로 쓰는 10의 왼쪽 비트부터 배열에 넣으면 순서가 뒤집힙니다.

RTL 코드 발췌
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입니다.

선택은 이 브라우저에만 적용됩니다. 언제든 푸터에서 변경할 수 있습니다.