www.pudn.com > brent_kung_add.rar > bkppa_4bit.v, change:2016-02-06,size:1243b


`timescale 1ns / 1ps 
////////////////////////////////////////////////////////////////////////////////// 
// Company:  
// Engineer:  
//  
// Create Date:    18:25:20 02/03/2016  
// Design Name:  
// Module Name:    bkppa_4bit  
// Project Name:  
// Target Devices:  
// Tool versions:  
// Description:  
// 
// Dependencies:  
// 
// Revision:  
// Revision 0.01 - File Created 
// Additional Comments:  
// 
////////////////////////////////////////////////////////////////////////////////// 
module bkppa_4bit(x,y,c,s,c0); 
   
   input [3:0] x,y; 
	input c; 
	output [3:0]s; 
	output c0; 
	 
	wire [3:0] p,g; 
	wire [2:0] cp; 
	wire [3:0] pc,gc; 
		 
	 
	pg p1 (x[0],y[0],p[0],g[0]); 
	pg p2 (x[1],y[1],p[1],g[1]); 
	pg p3 (x[2],y[2],p[2],g[2]); 
	pg p4 (x[3],y[3],p[3],g[3]); 
	 
	 
	c_gp c1(p[0],p[1],g[0],g[1],pc[0],gc[0]); 
	c_gp c2(p[2],p[3],g[2],g[3],pc[1],gc[1]); 
	 
   c_gp c5(pc[0],pc[1],gc[0],gc[1],pc[3],gc[3]);	 
	c_gp c9 (pc[0],p[2],gc[0],g[2],pc[2],gc[2]);	 
	 
	c_pg cp1 (c,p[0],g[0],cp[0]); 
	c_pg cp2 (c,pc[0],gc[0],cp[1]); 
	c_pg cp3 (c,pc[2],gc[2],cp[2]); 
	c_pg cp4 (c,pc[3],gc[3],c0); 
 
	 
	sum s1 (p[0],c,s[0]); 
	sum s2 (p[1],cp[0],s[1]); 
	sum s3 (p[2],cp[1],s[2]); 
	sum s4 (p[3],cp[2],s[3]); 
 
 
endmodule