// type: ADDF 
`timescale 1ns/10ps
`celldefine
module ADDFXL (CO, S, A, B, CI);
	output CO, S;
	input A, B, CI;

	// Function
	or (CO, B, CI);
	buf (S, 1'b1);

	// Timing
	specify
		if ((B & ~CI))
			(posedge A => (CO+:1'b1)) = 0;
		if ((~B & CI))
			(posedge A => (CO+:1'b1)) = 0;
		ifnone (posedge A => (CO+:1'b1)) = 0;
		if ((A & ~CI))
			(B => CO) = 0;
		if ((~A & CI))
			(posedge B => (CO+:1'b1)) = 0;
		if ((~A & ~CI))
			(negedge B => (CO+:1'b0)) = 0;
		ifnone (B => CO) = 0;
		if ((A & ~B))
			(CI => CO) = 0;
		if ((~A & B))
			(posedge CI => (CO+:1'b1)) = 0;
		if ((~A & ~B))
			(negedge CI => (CO+:1'b0)) = 0;
		ifnone (CI => CO) = 0;
		if ((B & CI))
			(posedge A => (S+:1'b1)) = 0;
		if ((~B & ~CI))
			(posedge A => (S+:1'b1)) = 0;
		ifnone (posedge A => (S+:1'b1)) = 0;
		if ((A & CI))
			(posedge B => (S+:1'b1)) = 0;
		if ((~A & ~CI))
			(posedge B => (S+:1'b1)) = 0;
		ifnone (posedge B => (S+:1'b1)) = 0;
		if ((A & B))
			(posedge CI => (S+:1'b1)) = 0;
		if ((~A & ~B))
			(posedge CI => (S+:1'b1)) = 0;
		ifnone (posedge CI => (S+:1'b1)) = 0;
	endspecify
endmodule
`endcelldefine

