data/full_repos/permissive/105546923/infra/hdl/multiplier.v
 line:102: before: "("
1: b'%Warning-WIDTH: data/full_repos/permissive/105546923/infra/hdl/multiplier.v:60: Operator ASSIGNDLY expects 6 bits on the Assign RHS, but Assign RHS\'s REPLICATE generates 9 bits.\n                                                                              : ... In instance multiplier.mult\n P[0] <= { {(P_WIDTH){1\'b0}}, {a} };\n      ^~\n                ... Use "/* verilator lint_off WIDTH */" and lint_on around source to disable this message.\n%Warning-WIDTH: data/full_repos/permissive/105546923/infra/hdl/multiplier.v:28: Output port connection \'c\' expects 6 bits on the pin connection, but pin connection\'s VARREF \'_c\' generates 4 bits.\n                                                                              : ... In instance multiplier\n        .c(_c)\n         ^\n%Error: Exiting due to 2 warning(s)\n'
module multiplier(
		  input 		     clk,
		  input [WIDTH - 1 : 0]      a,
		  input [WIDTH - 1 : 0]      b,
		  output [WIDTH * 2 - 1 : 0] c
		  );

   parameter WIDTH = 2;

   wire [WIDTH : 0] 					 _a;
   wire [WIDTH : 0] 					 _b;
   wire [2 * WIDTH - 1 : 0] 				 _c;

   assign _a = { {a[WIDTH - 1]}, {a[WIDTH - 1 : 0]} };
   assign _b = { {b[WIDTH - 1]}, {b[WIDTH - 1 : 0]} };
   assign c = _c;

   _multiplier#(
	       .WIDTH(WIDTH + 1)
	       ) mult(
		      .clk(clk),
		      .a(_a),
		      .b(_b),
		      .c(_c)
		      );


endmodule
module multiplier(
		  input 		     clk,
		  input [WIDTH - 1 : 0]      a,
		  input [WIDTH - 1 : 0]      b,
		  output [WIDTH * 2 - 1 : 0] c
		  );


   parameter WIDTH = 2;

   wire [WIDTH : 0] 					 _a;
   wire [WIDTH : 0] 					 _b;
   wire [2 * WIDTH - 1 : 0] 				 _c;

   assign _a = { {a[WIDTH - 1]}, {a[WIDTH - 1 : 0]} };
   assign _b = { {b[WIDTH - 1]}, {b[WIDTH - 1 : 0]} };
   assign c = _c;

   _multiplier#(
	       .WIDTH(WIDTH + 1)
	       ) mult(
		      .clk(clk),
		      .a(_a),
		      .b(_b),
		      .c(_c)
		      );


endmodule