Considera un'espressione come:
assign x = func(A) ^ func(B);
dove l'uscita della funzione è larga 32 bit e x è un filo di 16 bit. Voglio assegnare solo i 16 bit più bassi dello xor risultante.
So che il codice sopra lo fa già, ma genera anche un avviso. L'approccio "ovvio" non funziona:
assign x = (func(A) ^ func(B))[15:0]; // error: '[' is unexpected