@@ -5,8 +5,6 @@ module ForwardUnit
5
5
WB_En1,
6
6
WB_En2,
7
7
mem_W_En,
8
- // Is_Imm1,
9
- // Is_Imm2,
10
8
Is_Imm,
11
9
src1,
12
10
src2,
@@ -53,19 +51,19 @@ module ForwardUnit
53
51
reg [31 :0 ] memOut;
54
52
55
53
// define branch types
56
- parameter NO_BRANCH_Code = 2'b0 ;
57
- parameter BEZ_Code = 2'b01 ;
58
- parameter BNE_Code = 2'b10 ;
59
- parameter JMP_Code = 2'b11 ;
54
+ localparam NO_BRANCH_Code = 2'b0 ;
55
+ localparam BEZ_Code = 2'b01 ;
56
+ localparam BNE_Code = 2'b10 ;
57
+ localparam JMP_Code = 2'b11 ;
60
58
61
- assign shouldForward1FromExe = ! ( src1 ^ dest1 ) & WB_En1 & | dest1;
62
- assign shouldForward2FromExe = ! ( src2 ^ dest1 ) & WB_En1 & (~ Is_Imm | ! (BR_Type ^ BNE_Code)) & | dest1;
63
- assign shouldForwardMemFromExe = ! ( src2 ^ dest1 ) & WB_En1 & mem_W_En & | dest1;
64
- assign shouldForward1FromMem = ! ( src1 ^ dest2 ) & WB_En2 & | dest2;
65
- assign shouldForward2FromMem = ! ( src2 ^ dest2 ) & WB_En2 & (~ Is_Imm | ! (BR_Type ^ BNE_Code)) & | dest2;
66
- assign shouldForwardMemFromMem = ! ( src2 ^ dest2 ) & WB_En2 & mem_W_En & | dest2;
67
- assign shouldForward1 = shouldForward1FromExe | shouldForward1FromMem;
68
- assign shouldForward2 = shouldForward2FromExe | shouldForward2FromMem;
59
+ assign shouldForward1FromExe = ! ( src1 ^ dest1 ) & WB_En1 & | dest1;
60
+ assign shouldForward2FromExe = ! ( src2 ^ dest1 ) & WB_En1 & (~ Is_Imm | ! (BR_Type ^ BNE_Code)) & | dest1;
61
+ assign shouldForwardMemFromExe = ! ( src2 ^ dest1 ) & WB_En1 & mem_W_En & | dest1;
62
+ assign shouldForward1FromMem = ! ( src1 ^ dest2 ) & WB_En2 & | dest2;
63
+ assign shouldForward2FromMem = ! ( src2 ^ dest2 ) & WB_En2 & (~ Is_Imm | ! (BR_Type ^ BNE_Code)) & | dest2;
64
+ assign shouldForwardMemFromMem = ! ( src2 ^ dest2 ) & WB_En2 & mem_W_En & | dest2;
65
+ assign shouldForward1 = shouldForward1FromExe | shouldForward1FromMem;
66
+ assign shouldForward2 = shouldForward2FromExe | shouldForward2FromMem;
69
67
// build module
70
68
always @(* )
71
69
begin
0 commit comments