Если синтез Synopsys DC, то установите hdlin_check_no_latch в true, и по варнингам отловите их всех поголовно. А квартус и так варнингов понарасскажет. Ну а дальше ручками. Проще всего в самом начале блока поставить "out_var <= x" для всех переменных, а затем хоть тонну if'ов и case. Ну или не "x", а нужные дефолтные значения, если они важны. Для примера:
Код
always @*
begin
out <= 1'bx;
if (expr_1) out <= in1;
else if (expr2) out <= in2;
else if (expr3) out <= in3;
end
В результате латча не будет гарантировано, но и в случае невыполнения ни одного из условий выход будет в неопределенном (точнее в каком-то определенном на усмотрение синтезатора) состоянии. Вместо 1'bx можно вписать конкретное значение, которое примет выходной сигнал в случае неисполнения ни одного из условий.