Вы можете использовать условный оператор a ? b : c
для этого
parameter big_wl = wl_in > wl_out ? wl_in : wl_out;
Для более сложных операций вы можете использовать постоянную функцию . Такой тип функции ограничен выводом, определяемым исключительно ее входами, и отсутствием ссылок на что-либо за пределами функции.
function integer max(integer v1,v2);
begin
if (v1 > v2)
max = v1;
else
max = v2;
end
endfunction
parameter big_wl = max(wl_in, wl_out);
В SystemVerilog вы можете использовать конструкцию let
let max(v1,v2) = v1>v2 ? v1 : v2;
Преимущество этого заключается в том, что аргументы не имеют типа и не имеют целого числа.