Funções independentes de largura

É possível escrever uma função que possa detectar a largura dos dados de entrada automaticamente? Por exemplo, considere a função de paridade abaixo:

function parity;
  input [31:0] data;
  parity = ^ data;
endfunction

Quandoparity(data) é chamado, os dados de entrada devem ser limitados a 32 bits.

Como alternativa, pode-se escrever uma macro, como`PARITY(data) em que o sistema funciona$bits pode detectar a largura dos dados e tornar a macro independente da largura. É possível ter a mesma flexibilidade para funções?

Edit: Eu preciso do meu código para ser sintetizável.

questionAnswers(4)

yourAnswerToTheQuestion