Considere uma expressão como:
assign x = func(A) ^ func(B);
onde a saída da função tem 32 bits de largura ex é um fio de 16 bits. Quero atribuir apenas os 16 bits mais baixos do xor resultante.
Eu sei que o código acima já faz isso, mas também gera um aviso. A abordagem "óbvia" não funciona:
assign x = (func(A) ^ func(B))[15:0]; // error: '[' is unexpected