Skip to content

Commit fd4ae9c

Browse files
committed
Stall for 5 cycles
1 parent 7caceaf commit fd4ae9c

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed

Sec_8/ForwardUnit.v

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ module ForwardUnit
55
WB_En1,
66
WB_En2,
77
mem_W_En,
8-
//Is_Imm1,
9-
//Is_Imm2,
108
Is_Imm,
119
src1,
1210
src2,
@@ -53,19 +51,19 @@ module ForwardUnit
5351
reg [31:0] memOut;
5452

5553
// 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;
6058

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;
6967
// build module
7068
always @(*)
7169
begin

Sec_8/SRAM_CTR.v

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module SRAM_CTR
2222
output SRAMWEn;
2323
output SRAMOE;
2424
output [17:0] SRAMaddress;
25-
output [31:0] writeData;
25+
input [31:0] writeData;
2626
input [15:0] address;
2727
output SRAM_NOT_READY;
2828
output [31:0] readData;
@@ -39,7 +39,6 @@ module SRAM_CTR
3939
reg SRAMWEn;
4040
reg SRAMOE;
4141
reg [17:0] SRAMaddress;
42-
reg [31:0] writeData;
4342

4443
reg InnerStall;
4544
reg [2:0] counter;
@@ -77,7 +76,7 @@ module SRAM_CTR
7776
begin
7877
if( InnerStall )
7978
begin
80-
counter <= 3'h6;
79+
counter <= 3'h5;
8180
end
8281
if( ~InnerStall & |counter )
8382
begin

0 commit comments

Comments
 (0)