Рассмотрим выражение вроде:
assign x = func(A) ^ func(B);
где вывод функции имеет ширину 32 бита, а x представляет собой провод из 16 бит. Я хочу назначить только 16 младших битов полученного xor.
Я знаю, что приведенный выше код уже делает это, но он также генерирует предупреждение. «Очевидный» подход не работает:
assign x = (func(A) ^ func(B))[15:0]; // error: '[' is unexpected