module DW02_mult_oper (in1, in2, control, product); parameter wordlength1 = 8, wordlength2 = 8; input [wordlength1-1:0] in1; input [wordlength2-1:0] in2; input control; output [wordlength1+wordlength2-1:0] product; wire signed [wordlength1+wordlength2-1:0] product_sig; wire [wordlength1+wordlength2-1:0] product_usig; assign product_sig = $signed(in1) * $signed(in2); assign product_usig = in1 * in2; assign product = (control == 1'b1) ? $unsigned(product_sig) : product_usig; endmodule