Academy
English한국어

17 / 24 · 개념

벡터의 방향과 비트 번호

q[2:0]과 슬라이스가 나타내는 위치를 읽습니다.

학습 목표

  • 벡터의 각 비트 위치 찾기
  • 슬라이스와 전체 값의 차이 이해하기

왼쪽 글자와 비트 번호 연결하기

logic [2:0] q는 q[2], q[1], q[0] 세 비트입니다. q를 101이라고 쓸 때 왼쪽의 1은 q[2], 가운데 0은 q[1], 오른쪽의 1은 q[0]입니다. 번호는 값이 아니라 위치를 나타냅니다.

q[1:0]은 그중 아래 두 비트만 선택한 값입니다. q=101이면 q[1:0]=01입니다. 기존 q 전체가 아니라 선택한 두 비트만 다음 연결 연산에 사용됩니다.

qq[2]q[1]q[0]q[1:0]
10110101
11011010
01101111

폭을 세어 보면 연결이 보인다

q[1:0]은 2비트이고 din은 1비트입니다. 둘을 이어 붙이면 3비트가 되어 q에 정확히 맞습니다. 값뿐 아니라 폭을 적는 습관은 비트가 사라지거나 늘어나는 실수를 찾는 데 도움이 됩니다.

입력 파일과 초기값 설정에서 쓰는 배열은 표시된 이진수 문자열과 순서가 다를 수 있습니다. 이 예제의 초기값은 LSB부터이므로 q=100은 [false, false, true]입니다.

RTL 코드 발췌
logic [2:0] q;
// q = 3'b101: q[2]=1, q[1]=0, q[0]=1
// q[1:0] = 2'b01

직접 생각해 보기

q=110일 때 q[1:0]과 q[2]는 각각 무엇일까요?

해설 보기

q[1:0]=10, q[2]=1입니다. 슬라이스의 두 글자도 왼쪽부터 q[1], q[0] 순서입니다.

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