mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Last of the branch predictor signal name updates.
This commit is contained in:
parent
04744032d8
commit
0ca10e7ee2
@ -52,7 +52,7 @@ module RASPredictor import cvw::*; #(parameter cvw_t P)(
|
|||||||
logic RepairD;
|
logic RepairD;
|
||||||
logic IncrRepairD, DecRepairD;
|
logic IncrRepairD, DecRepairD;
|
||||||
|
|
||||||
logic DecrementPtr;
|
logic DecPtr;
|
||||||
logic FlushedReturnDE;
|
logic FlushedReturnDE;
|
||||||
logic WrongPredReturnD;
|
logic WrongPredReturnD;
|
||||||
|
|
||||||
@ -71,11 +71,11 @@ module RASPredictor import cvw::*; #(parameter cvw_t P)(
|
|||||||
|
|
||||||
assign CounterEn = PopF | PushE | RepairD;
|
assign CounterEn = PopF | PushE | RepairD;
|
||||||
|
|
||||||
assign DecrementPtr = (PopF | DecRepairD) & ~IncrRepairD;
|
assign DecPtr = (PopF | DecRepairD) & ~IncrRepairD;
|
||||||
|
|
||||||
assign P1 = 1;
|
assign P1 = 1;
|
||||||
assign M1 = '1; // -1
|
assign M1 = '1; // -1
|
||||||
mux2 #(Depth) PtrMux(P1, M1, DecrementPtr, IncDecPtr);
|
mux2 #(Depth) PtrMux(P1, M1, DecPtr, IncDecPtr);
|
||||||
logic [Depth-1:0] Sum;
|
logic [Depth-1:0] Sum;
|
||||||
assign Sum = Ptr + IncDecPtr;
|
assign Sum = Ptr + IncDecPtr;
|
||||||
if(|P.RAS_SIZE[Depth-1:0])
|
if(|P.RAS_SIZE[Depth-1:0])
|
||||||
|
@ -47,7 +47,7 @@ module gshare import cvw::*; #(parameter cvw_t P,
|
|||||||
logic MatchF, MatchD, MatchE, MatchM, MatchW;
|
logic MatchF, MatchD, MatchE, MatchM, MatchW;
|
||||||
logic MatchX;
|
logic MatchX;
|
||||||
|
|
||||||
logic [1:0] PHTBPDirF, BPDirD, BPDirE, FwdNewDirPredF;
|
logic [1:0] PHTBPDirF, BPDirD, BPDirE, FwdNewBPDirF;
|
||||||
logic [1:0] NewBPDirE, NewBPDirM, NewBPDirW;
|
logic [1:0] NewBPDirE, NewBPDirM, NewBPDirW;
|
||||||
|
|
||||||
logic [k-1:0] IndexNextF, IndexF, IndexD, IndexE, IndexM, IndexW;
|
logic [k-1:0] IndexNextF, IndexF, IndexD, IndexE, IndexM, IndexW;
|
||||||
@ -78,12 +78,12 @@ module gshare import cvw::*; #(parameter cvw_t P,
|
|||||||
assign MatchW = BranchW & ~FlushW & (IndexF == IndexW);
|
assign MatchW = BranchW & ~FlushW & (IndexF == IndexW);
|
||||||
assign MatchX = MatchD | MatchE | MatchM | MatchW;
|
assign MatchX = MatchD | MatchE | MatchM | MatchW;
|
||||||
|
|
||||||
assign FwdNewDirPredF = MatchD ? {2{BPDirD[1]}} :
|
assign FwdNewBPDirF = MatchD ? {2{BPDirD[1]}} :
|
||||||
MatchE ? {NewBPDirE} :
|
MatchE ? {NewBPDirE} :
|
||||||
MatchM ? {NewBPDirM} :
|
MatchM ? {NewBPDirM} :
|
||||||
NewBPDirW ;
|
NewBPDirW ;
|
||||||
|
|
||||||
assign BPDirF = MatchX ? FwdNewDirPredF : PHTBPDirF;
|
assign BPDirF = MatchX ? FwdNewBPDirF : PHTBPDirF;
|
||||||
|
|
||||||
ram2p1r1wbe #(.USE_SRAM(P.USE_SRAM), .DEPTH(2**k), .WIDTH(2)) PHT(.clk(clk),
|
ram2p1r1wbe #(.USE_SRAM(P.USE_SRAM), .DEPTH(2**k), .WIDTH(2)) PHT(.clk(clk),
|
||||||
.ce1(~StallF), .ce2(~StallW & ~FlushW),
|
.ce1(~StallF), .ce2(~StallW & ~FlushW),
|
||||||
|
Loading…
Reference in New Issue
Block a user