Ширина независимые функции
Можно ли написать функцию, которая может автоматически определять ширину входных данных? Например, рассмотрим функцию четности ниже:
function parity;
input [31:0] data;
parity = ^ data;
endfunction
когдаparity(data)
называется, входные данные должны быть ограничены до 32 бит.
В качестве альтернативы можно написать макрос, такой как`PARITY(data)
в котором системная функция$bits
может определять ширину данных и делать макрос независимым от ширины. Можно ли иметь такую же гибкость для функций?
Изменить: мне нужно, чтобы мой код был синтезируемым.