Proper way to do addition of operands with width mismatch

In reply to svishnu:
In 2002 I wrote the book Real Chip Design and Verification Using Verilog and VHDL, and in that book I address the general topic of doing arithmetic in Verilog and VHDL.
The following is an extraction of pages from that book that provides an explanation of those concepts with lots of examples.

The code examples referenced in the book are at:
http://systemverilog.us/vf/arith_verilog.zip

Hopefully, that will provide answers for you as your question really involved your thorough understanding of how arithmetic is handled in Verilog (and SystemVerilog), including the automatic extension of bits for unmatched sized operands.

Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us