I have tried to design a Booth multiplier and it runs well in all compilers including:
Modelsim,Verilogger Extreame,Aldec Active Hdl & Xilinx\'s Isim......<
This is poorly written code.You have written it like a computer program. Verilog is a Hardware Description Language - not a programming language. In your case, synthesizer is trying to replicate logic inside the while loop in the case statement.