四级流水线的8bit加法器

以流水线实现8bit 加法器。

 1 //date : 2013/8/23
 2 //designer :pengxiaoen
 3 //function :
 4 
 5 module pipeline (
 6                  clock ,reset ,
 7                       ina,inb,cin,
 8                       sum,cout
 9                       );
10 input clock ,reset;
11 input [7:0] ina ,inb ;
12 input cin;
13 output [7:0] sum ;
14 output cout ;
15 
16 reg [7:0] tempa,tempb,sum;
17 reg tempci,firstco,secondco,thirdco,cout;
18 reg [1:0] firsts,thirda,thirdb;
19 reg [3:0] seconda,secondb,seconds;
20 reg [5:0] firsta,firstb,thirds;
21 
22 always @ (posedge clock or negedge reset)
23 if(!reset)
24     begin 
25          tempa <= 0;
26           tempb <= 0;
27           tempci<= 0;
28      end 
29 else begin
30          tempa <= ina;
31            tempb <= inb;
32            tempci<= cin;    
33      end 
34 
35 //------------------------------1---------------------------      
36 always @(posedge clock)
37 begin
38     {firstco , firsts} <= tempa[1:0] + tempb[1:0] + tempci;
39      firsta <= tempa[7:2];
40      firstb <= tempb[7:2]; 
41 end 
42 
43 //-----------------------------2-----------------------------
44 always @(posedge clock )
45 begin
46     {secondco,seconds} <= {firsta[1:0]+firstb[1:0] + firstco, firsts};
47      seconda <= firsta[5:2];
48      secondb <= firstb[5:2]; 
49 end 
50 
51 //--------------------------------3---------------------------
52 always @ (posedge clock )
53 begin
54     {thirdco,thirds} <= {seconda[1:0] + secondb[1:0] + secondco , seconds};
55      thirda <= seconda[3:2];
56      thirdb <= secondb[3:2];
57 end 
58 
59 //--------------------------------4-------------------------------
60 always @ (posedge clock )
61 begin 
62     {cout ,sum} <= {thirda[1:0]+thirdb[1:0]+thirdco,thirds};
63 end 
64 
65 endmodule 

流水线的优缺点我就不多说。主要说明一下这个程序里面的注意点。
第一个always 里 对输入数据的后第0—1个bit进行相加。得到结果是 3 个bit。其中一个进位位,2个数据位

第二个alwasys 里对输入数据的后第2—3个bit进行相加。得到的结果是5个bit,其中一个进位位,4个数据位。

第三个alwasys 里对输入数据的后第4—5个bit进行相加。得到的结果是7个bit,其中一个进位位,6个数据位。

第四个alwasys 里对输入数据的后第6—7个bit进行相加。得到的结果是9个bit,其中一个进位位,8个数据位。

原文地址:https://www.cnblogs.com/sepeng/p/3279548.html