Ответ 1
$size
должно возвращать количество элементов в размерности, что эквивалентно $high - $low + 1
. Это относительно измерения, а не только количество бит. Если тип представляет собой 1D упакованную массив или интегральный тип, он равен $bits
.
$bits
Системная функция возвращает количество бит, необходимое для хранения выражения в виде потока бит.
$bits ( [expression|type_identifier] )
Он возвращает 0 при вызове с типом динамического размера, который в настоящее время пуст. Ошибка использования системной функции $bits
напрямую с идентификатором типа динамического размера.
Я не знаю вашего вопроса, c <= [($size(a)+$size(b)-1]-:$bits(b)];
. Является ли это допустимым выражением в RHS? Вы говорите о выражении диапазона массива, [n +: m]
или [n -: m]
?