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.