Altifigence Academy

25 / 36 · Теория

Направление вектора и индексы битов

Прочитайте q[2:0] и позиции, выбранные срезом.

Цели урока

  • Прочитайте q[2:0] и позиции, выбранные срезом.

Цифры и индексы

В q[2:0]=101 левый 1 — q[2], средний 0 — q[1], правый 1 — q[0]. Индекс — позиция, не значение. Срез q[1:0] равен 01, и в конкатенацию входят только эти биты, а не весь прежний q.

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

Считаем ширины

q[1:0] занимает два бита, din — один, вместе три, как q. Это помогает заметить усечение или расширение. Начальные массивы здесь идут от младшего бита: 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].

Выбор действует в этом браузере. Его можно изменить внизу страницы.