module  addsub16_add_sub_gp9
	( 
	aclr,
	add_sub,
	clken,
	clock,
	dataa,
	datab,
	result) /* synthesis synthesis_clearbox=1 */;
	input   aclr;
	input   add_sub;
	input   clken;
	input   clock;
	input   [15:0]  dataa;
	input   [15:0]  datab;
	output   [15:0]  result;

	wire  [0:0]   wire_add_sub_cella_0cout;
	wire  [0:0]   wire_add_sub_cella_1cout;
	wire  [0:0]   wire_add_sub_cella_2cout;
	wire  [0:0]   wire_add_sub_cella_3cout;
	wire  [0:0]   wire_add_sub_cella_4cout;
	wire  [0:0]   wire_add_sub_cella_5cout;
	wire  [0:0]   wire_add_sub_cella_6cout;
	wire  [0:0]   wire_add_sub_cella_7cout;
	wire  [0:0]   wire_add_sub_cella_8cout;
	wire  [0:0]   wire_add_sub_cella_9cout;
	wire  [0:0]   wire_add_sub_cella_10cout;
	wire  [0:0]   wire_add_sub_cella_11cout;
	wire  [0:0]   wire_add_sub_cella_12cout;
	wire  [0:0]   wire_add_sub_cella_13cout;
	wire  [0:0]   wire_add_sub_cella_14cout;
	wire  [15:0]   wire_add_sub_cella_dataa;
	wire  [15:0]   wire_add_sub_cella_datab;
	wire  [15:0]   wire_add_sub_cella_regout;
	wire  wire_strx_lcell1_cout;

	stratix_lcell   add_sub_cella_0
	( 
	.aclr(aclr),
	.cin(wire_strx_lcell1_cout),
	.clk(clock),
	.cout(wire_add_sub_cella_0cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[0:0]),
	.datab(wire_add_sub_cella_datab[0:0]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[0:0]));
	defparam
		add_sub_cella_0.cin_used = "true",
		add_sub_cella_0.lut_mask = "96e8",
		add_sub_cella_0.operation_mode = "arithmetic",
		add_sub_cella_0.sum_lutc_input = "cin",
		add_sub_cella_0.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_1
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_0cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_1cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[1:1]),
	.datab(wire_add_sub_cella_datab[1:1]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[1:1]));
	defparam
		add_sub_cella_1.cin_used = "true",
		add_sub_cella_1.lut_mask = "96e8",
		add_sub_cella_1.operation_mode = "arithmetic",
		add_sub_cella_1.sum_lutc_input = "cin",
		add_sub_cella_1.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_2
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_1cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_2cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[2:2]),
	.datab(wire_add_sub_cella_datab[2:2]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[2:2]));
	defparam
		add_sub_cella_2.cin_used = "true",
		add_sub_cella_2.lut_mask = "96e8",
		add_sub_cella_2.operation_mode = "arithmetic",
		add_sub_cella_2.sum_lutc_input = "cin",
		add_sub_cella_2.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_3
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_2cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_3cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[3:3]),
	.datab(wire_add_sub_cella_datab[3:3]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[3:3]));
	defparam
		add_sub_cella_3.cin_used = "true",
		add_sub_cella_3.lut_mask = "96e8",
		add_sub_cella_3.operation_mode = "arithmetic",
		add_sub_cella_3.sum_lutc_input = "cin",
		add_sub_cella_3.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_4
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_3cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_4cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[4:4]),
	.datab(wire_add_sub_cella_datab[4:4]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[4:4]));
	defparam
		add_sub_cella_4.cin_used = "true",
		add_sub_cella_4.lut_mask = "96e8",
		add_sub_cella_4.operation_mode = "arithmetic",
		add_sub_cella_4.sum_lutc_input = "cin",
		add_sub_cella_4.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_5
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_4cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_5cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[5:5]),
	.datab(wire_add_sub_cella_datab[5:5]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[5:5]));
	defparam
		add_sub_cella_5.cin_used = "true",
		add_sub_cella_5.lut_mask = "96e8",
		add_sub_cella_5.operation_mode = "arithmetic",
		add_sub_cella_5.sum_lutc_input = "cin",
		add_sub_cella_5.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_6
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_5cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_6cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[6:6]),
	.datab(wire_add_sub_cella_datab[6:6]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[6:6]));
	defparam
		add_sub_cella_6.cin_used = "true",
		add_sub_cella_6.lut_mask = "96e8",
		add_sub_cella_6.operation_mode = "arithmetic",
		add_sub_cella_6.sum_lutc_input = "cin",
		add_sub_cella_6.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_7
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_6cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_7cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[7:7]),
	.datab(wire_add_sub_cella_datab[7:7]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[7:7]));
	defparam
		add_sub_cella_7.cin_used = "true",
		add_sub_cella_7.lut_mask = "96e8",
		add_sub_cella_7.operation_mode = "arithmetic",
		add_sub_cella_7.sum_lutc_input = "cin",
		add_sub_cella_7.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_8
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_7cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_8cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[8:8]),
	.datab(wire_add_sub_cella_datab[8:8]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[8:8]));
	defparam
		add_sub_cella_8.cin_used = "true",
		add_sub_cella_8.lut_mask = "96e8",
		add_sub_cella_8.operation_mode = "arithmetic",
		add_sub_cella_8.sum_lutc_input = "cin",
		add_sub_cella_8.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_9
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_8cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_9cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[9:9]),
	.datab(wire_add_sub_cella_datab[9:9]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[9:9]));
	defparam
		add_sub_cella_9.cin_used = "true",
		add_sub_cella_9.lut_mask = "96e8",
		add_sub_cella_9.operation_mode = "arithmetic",
		add_sub_cella_9.sum_lutc_input = "cin",
		add_sub_cella_9.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_10
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_9cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_10cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[10:10]),
	.datab(wire_add_sub_cella_datab[10:10]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[10:10]));
	defparam
		add_sub_cella_10.cin_used = "true",
		add_sub_cella_10.lut_mask = "96e8",
		add_sub_cella_10.operation_mode = "arithmetic",
		add_sub_cella_10.sum_lutc_input = "cin",
		add_sub_cella_10.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_11
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_10cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_11cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[11:11]),
	.datab(wire_add_sub_cella_datab[11:11]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[11:11]));
	defparam
		add_sub_cella_11.cin_used = "true",
		add_sub_cella_11.lut_mask = "96e8",
		add_sub_cella_11.operation_mode = "arithmetic",
		add_sub_cella_11.sum_lutc_input = "cin",
		add_sub_cella_11.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_12
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_11cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_12cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[12:12]),
	.datab(wire_add_sub_cella_datab[12:12]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[12:12]));
	defparam
		add_sub_cella_12.cin_used = "true",
		add_sub_cella_12.lut_mask = "96e8",
		add_sub_cella_12.operation_mode = "arithmetic",
		add_sub_cella_12.sum_lutc_input = "cin",
		add_sub_cella_12.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_13
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_12cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_13cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[13:13]),
	.datab(wire_add_sub_cella_datab[13:13]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[13:13]));
	defparam
		add_sub_cella_13.cin_used = "true",
		add_sub_cella_13.lut_mask = "96e8",
		add_sub_cella_13.operation_mode = "arithmetic",
		add_sub_cella_13.sum_lutc_input = "cin",
		add_sub_cella_13.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_14
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_13cout[0:0]),
	.clk(clock),
	.cout(wire_add_sub_cella_14cout[0:0]),
	.dataa(wire_add_sub_cella_dataa[14:14]),
	.datab(wire_add_sub_cella_datab[14:14]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[14:14]));
	defparam
		add_sub_cella_14.cin_used = "true",
		add_sub_cella_14.lut_mask = "96e8",
		add_sub_cella_14.operation_mode = "arithmetic",
		add_sub_cella_14.sum_lutc_input = "cin",
		add_sub_cella_14.lpm_type = "stratix_lcell";
	stratix_lcell   add_sub_cella_15
	( 
	.aclr(aclr),
	.cin(wire_add_sub_cella_14cout[0:0]),
	.clk(clock),
	.dataa(wire_add_sub_cella_dataa[15:15]),
	.datab(wire_add_sub_cella_datab[15:15]),
	.ena(clken),
	.inverta((~ add_sub)),
	.regout(wire_add_sub_cella_regout[15:15]));
	defparam
		add_sub_cella_15.cin_used = "true",
		add_sub_cella_15.lut_mask = "9696",
		add_sub_cella_15.operation_mode = "normal",
		add_sub_cella_15.sum_lutc_input = "cin",
		add_sub_cella_15.lpm_type = "stratix_lcell";
	assign
		wire_add_sub_cella_dataa = datab,
		wire_add_sub_cella_datab = dataa;
	stratix_lcell   strx_lcell1
	( 
	.cout(wire_strx_lcell1_cout),
	.dataa(1'b0),
	.datab((~ add_sub)),
	.inverta((~ add_sub)));
	defparam
		strx_lcell1.cin_used = "false",
		strx_lcell1.lut_mask = "00cc",
		strx_lcell1.operation_mode = "arithmetic",
		strx_lcell1.lpm_type = "stratix_lcell";
	assign
		result = wire_add_sub_cella_regout;
endmodule //addsub16_add_sub_gp9