mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
removed .* instantiation from ieu.sv and datapth.sv in ieu folder
This commit is contained in:
parent
80f026a734
commit
15bdf5680e
@ -96,7 +96,7 @@ module datapath (
|
|||||||
//Mux for writting floating point
|
//Mux for writting floating point
|
||||||
|
|
||||||
regfile regf(clk, reset, {RegWriteW | FWriteIntW}, Rs1D, Rs2D, RdW, WriteDataW, RD1D, RD2D);
|
regfile regf(clk, reset, {RegWriteW | FWriteIntW}, Rs1D, Rs2D, RdW, WriteDataW, RD1D, RD2D);
|
||||||
extend ext(.InstrD(InstrD[31:7]), .*);
|
extend ext(.InstrD(InstrD[31:7]), .ImmSrcD, .ExtImmD);
|
||||||
|
|
||||||
// Execute stage pipeline register and logic
|
// Execute stage pipeline register and logic
|
||||||
flopenrc #(`XLEN) RD1EReg(clk, reset, FlushE, ~StallE, RD1D, RD1E);
|
flopenrc #(`XLEN) RD1EReg(clk, reset, FlushE, ~StallE, RD1D, RD1E);
|
||||||
|
@ -90,9 +90,69 @@ module ieu (
|
|||||||
logic MemReadE, CSRReadE;
|
logic MemReadE, CSRReadE;
|
||||||
logic JumpE;
|
logic JumpE;
|
||||||
|
|
||||||
controller c(.*);
|
controller c(
|
||||||
datapath dp(.*);
|
.clk, .reset,
|
||||||
forward fw(.*);
|
// Decode stage control signals
|
||||||
|
.StallD, .FlushD, .InstrD, .ImmSrcD,
|
||||||
|
.IllegalIEUInstrFaultD, .IllegalBaseInstrFaultD,
|
||||||
|
// Execute stage control signals
|
||||||
|
.StallE, .FlushE, .FlagsE,
|
||||||
|
.PCSrcE, // for datapath and Hazard Unit
|
||||||
|
.ALUControlE, .ALUSrcAE, .ALUSrcBE,
|
||||||
|
.TargetSrcE,
|
||||||
|
.MemReadE, .CSRReadE, // for Hazard Unit
|
||||||
|
.Funct3E, .MulDivE, .W64E,
|
||||||
|
.JumpE,
|
||||||
|
// Memory stage control signals
|
||||||
|
.StallM, .FlushM, .MemRWM,
|
||||||
|
.CSRReadM, .CSRWriteM, .PrivilegedM,
|
||||||
|
.SCE, .AtomicE, .AtomicM, .Funct3M,
|
||||||
|
.RegWriteM, // for Hazard Unit
|
||||||
|
.InvalidateICacheM, .FlushDCacheM, .InstrValidM,
|
||||||
|
// Writeback stage control signals
|
||||||
|
.StallW, .FlushW,
|
||||||
|
.RegWriteW, // for datapath and Hazard Unit
|
||||||
|
.ResultSrcW,
|
||||||
|
// Stall during CSRs
|
||||||
|
.CSRWritePendingDEM,
|
||||||
|
.StoreStallD
|
||||||
|
);
|
||||||
|
|
||||||
|
datapath dp(
|
||||||
|
.clk, .reset,
|
||||||
|
// Decode stage signals
|
||||||
|
.ImmSrcD, .InstrD,
|
||||||
|
// Execute stage signals
|
||||||
|
.StallE, .FlushE, .ForwardAE, .ForwardBE,
|
||||||
|
.ALUControlE, .ALUSrcAE, .ALUSrcBE,
|
||||||
|
.TargetSrcE, .JumpE, .IllegalFPUInstrE,
|
||||||
|
.FWriteDataE, .PCE, .PCLinkE, .FlagsE,
|
||||||
|
.PCTargetE,
|
||||||
|
.ForwardedSrcAE, .ForwardedSrcBE, // *** these are the src outputs before the mux choosing between them and PCE to put in srcA/B
|
||||||
|
.SrcAE, .SrcBE,
|
||||||
|
// Memory stage signals
|
||||||
|
.StallM, .FlushM, .FWriteIntM, .FIntResM,
|
||||||
|
.SrcAM, .WriteDataM, .MemAdrM, .MemAdrE,
|
||||||
|
// Writeback stage signals
|
||||||
|
.StallW, .FlushW, .FWriteIntW, .RegWriteW,
|
||||||
|
.SquashSCW, .ResultSrcW, .ReadDataW,
|
||||||
|
// input logic [`XLEN-1:0] PCLinkW,
|
||||||
|
.CSRReadValW, .ReadDataM, .MulDivResultW,
|
||||||
|
// Hazard Unit signals
|
||||||
|
.Rs1D, .Rs2D, .Rs1E, .Rs2E,
|
||||||
|
.RdE, .RdM, .RdW
|
||||||
|
);
|
||||||
|
|
||||||
|
forward fw(
|
||||||
|
.Rs1D, .Rs2D, .Rs1E, .Rs2E, .RdE, .RdM, .RdW,
|
||||||
|
.MemReadE, .MulDivE, .CSRReadE,
|
||||||
|
.RegWriteM, .RegWriteW,
|
||||||
|
.FWriteIntE, .FWriteIntM, .FWriteIntW,
|
||||||
|
.SCE,
|
||||||
|
// Forwarding controls
|
||||||
|
.ForwardAE, .ForwardBE,
|
||||||
|
.FPUStallD, .LoadStallD, .MulDivStallD, .CSRRdStallD
|
||||||
|
);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user