Parametized Simple ALU
module alusim(a,b,Carryin,Result,Overflow,Operation);
input Carryin, Operation;
output [width-1:0]Result;
always @(a or b or Carryin or Operation)
if (Operation == 0) Result = a & b;
{Carryout,Result}= a + b + Carryin;
Overflow = (~a[width-1]&~b[width-1]&Result[width-1])|(a[width
-1]&b[width-1]&~Result[width-1]);