mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Removed 2-cycle FPU-IEU latency stall
This commit is contained in:
parent
1404d1c248
commit
564281b8c1
@ -123,6 +123,7 @@ module datapath (
|
||||
flopenrc #(`XLEN) IFResultWReg(clk, reset, FlushW, ~StallW, IFResultM, IFResultW);
|
||||
flopenrc #(5) RdWReg(clk, reset, FlushW, ~StallW, RdM, RdW);
|
||||
|
||||
// *** simplify WriteDataE in this merge
|
||||
// floating point interactions: fcvt, fp stores
|
||||
if (`F_SUPPORTED&(`LLEN>`XLEN)) begin:fpmux
|
||||
logic [`XLEN-1:0] IFCvtResultW;
|
||||
|
@ -58,7 +58,7 @@ module forward(
|
||||
|
||||
// Stall on dependent operations that finish in Mem Stage and can't bypass in time
|
||||
assign MatchDE = (Rs1D == RdE) | (Rs2D == RdE); // Decode-stage instruction source depends on result from execute stage instruction
|
||||
assign FPUStallD = FWriteIntE & MatchDE;
|
||||
assign FPUStallD = 0; // FWriteIntE & MatchDE; // FPU to Integer transfers have single-cycle latency
|
||||
assign LoadStallD = (MemReadE|SCE) & MatchDE;
|
||||
assign MDUStallD = MDUE & MatchDE;
|
||||
assign CSRRdStallD = CSRReadE & MatchDE;
|
||||
|
Loading…
Reference in New Issue
Block a user