forked from Github_Repos/cvw
Cleaned up hazard interface
This commit is contained in:
parent
e661b32821
commit
4fbb5f0f1b
@ -26,10 +26,11 @@
|
|||||||
`include "wally-config.vh"
|
`include "wally-config.vh"
|
||||||
|
|
||||||
module hazard(
|
module hazard(
|
||||||
// Detect hazardsss
|
// Detect hazards
|
||||||
input logic [4:0] Rs1D, Rs2D, Rs1E, Rs2E, RdE, RdM, RdW,
|
// input logic [4:0] Rs1D, Rs2D, Rs1E, Rs2E, RdE, RdM, RdW,
|
||||||
input logic PCSrcE, MemReadE,
|
// input logic MemReadE,
|
||||||
input logic RegWriteM, RegWriteW, CSRWritePendingDEM, RetM, TrapM,
|
// input logic RegWriteM, RegWriteW,
|
||||||
|
input logic PCSrcE, CSRWritePendingDEM, RetM, TrapM,
|
||||||
input logic LoadStallD,
|
input logic LoadStallD,
|
||||||
input logic InstrStall, DataStall,
|
input logic InstrStall, DataStall,
|
||||||
// Stall outputs
|
// Stall outputs
|
||||||
|
@ -51,9 +51,7 @@ module ieu (
|
|||||||
input logic RetM, TrapM,
|
input logic RetM, TrapM,
|
||||||
output logic LoadStallD,
|
output logic LoadStallD,
|
||||||
output logic PCSrcE,
|
output logic PCSrcE,
|
||||||
// output logic MemReadE,
|
|
||||||
output logic RegWriteM,
|
|
||||||
output logic RegWriteW,
|
|
||||||
output logic CSRWriteM, PrivilegedM,
|
output logic CSRWriteM, PrivilegedM,
|
||||||
output logic CSRWritePendingDEM
|
output logic CSRWritePendingDEM
|
||||||
);
|
);
|
||||||
@ -68,6 +66,7 @@ module ieu (
|
|||||||
// forwarding signals
|
// forwarding signals
|
||||||
logic [4:0] Rs1D, Rs2D, Rs1E, Rs2E, RdE, RdM, RdW;
|
logic [4:0] Rs1D, Rs2D, Rs1E, Rs2E, RdE, RdM, RdW;
|
||||||
logic [1:0] ForwardAE, ForwardBE;
|
logic [1:0] ForwardAE, ForwardBE;
|
||||||
|
logic RegWriteM, RegWriteW;
|
||||||
logic MemReadE;
|
logic MemReadE;
|
||||||
|
|
||||||
controller c(.OpD(InstrD[6:0]), .Funct3D(InstrD[14:12]), .Funct7b5D(InstrD[30]), .*);
|
controller c(.OpD(InstrD[6:0]), .Funct3D(InstrD[14:12]), .Funct7b5D(InstrD[30]), .*);
|
||||||
|
@ -72,13 +72,8 @@ module wallypipelinedhart (
|
|||||||
logic [`XLEN-1:0] zero = 0;
|
logic [`XLEN-1:0] zero = 0;
|
||||||
|
|
||||||
logic PCSrcE;
|
logic PCSrcE;
|
||||||
logic RegWriteM;
|
|
||||||
logic MemReadE;
|
|
||||||
logic RegWriteW;
|
|
||||||
logic CSRWritePendingDEM;
|
logic CSRWritePendingDEM;
|
||||||
logic LoadStallD;
|
logic LoadStallD;
|
||||||
logic [4:0] Rs1D, Rs2D, Rs1E, Rs2E, RdE, RdM, RdW;
|
|
||||||
// logic TargetSrcE;
|
|
||||||
logic [4:0] SetFflagsM;
|
logic [4:0] SetFflagsM;
|
||||||
logic [2:0] FRM_REGW;
|
logic [2:0] FRM_REGW;
|
||||||
logic FloatRegWriteW;
|
logic FloatRegWriteW;
|
||||||
|
@ -61,7 +61,6 @@ module wallypipelinedsoc (
|
|||||||
// Uncore signals
|
// Uncore signals
|
||||||
logic [`AHBW-1:0] HRDATA; // from AHB mux in uncore
|
logic [`AHBW-1:0] HRDATA; // from AHB mux in uncore
|
||||||
logic HREADY, HRESP;
|
logic HREADY, HRESP;
|
||||||
// logic UnsignedLoadM;
|
|
||||||
logic InstrAccessFaultF, DataAccessFaultM;
|
logic InstrAccessFaultF, DataAccessFaultM;
|
||||||
logic TimerIntM, SwIntM; // from CLINT
|
logic TimerIntM, SwIntM; // from CLINT
|
||||||
logic ExtIntM = 0; // not yet connected
|
logic ExtIntM = 0; // not yet connected
|
||||||
@ -69,6 +68,6 @@ module wallypipelinedsoc (
|
|||||||
// instantiate processor and memories
|
// instantiate processor and memories
|
||||||
wallypipelinedhart hart(.*);
|
wallypipelinedhart hart(.*);
|
||||||
|
|
||||||
imem imem(.AdrF(PCF[`XLEN-1:1]), .*);
|
imem imem(.AdrF(PCF[`XLEN-1:1]), .*); // temporary until uncore memory is finished***
|
||||||
uncore uncore(.HWDATAIN(HWDATA), .*);
|
uncore uncore(.HWDATAIN(HWDATA), .*);
|
||||||
endmodule
|
endmodule
|
Loading…
Reference in New Issue
Block a user