module pipelined_binary_adder_tree<br />(<br /> input [WIDTH-1:0] A, B, C, D, E,<br /> input clk,<br /> output [WIDTH-1:0] out<br />);<br /><br /> parameter WIDTH = 1;<br /><br /> wire [WIDTH-1:0] sum1, sum2, sum3, sum4;<br /> reg [WIDTH-1:0] sumreg1, sumreg2, sumreg3, sumreg4;<br /><br /> always @ (posedge clk)<br /> begin<br /> sumreg1 <= sum1;<br /> sumreg2 <= sum2; <br /> sumreg3 <= sum3;<br /> sumreg4 <= sum4;<br /> end<br /><br /> // 2-bit additions<br /> assign sum1 = A + B;<br /> assign sum2 = C + D;<br /> assign sum3 = sumreg1 + sumreg2;<br /> assign sum4 = sumreg3 + E;<br /> assign out = sumreg4;<br /><br />endmodule
|