mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Removed unused signals
This commit is contained in:
parent
949e76bc83
commit
b73286ece6
@ -40,17 +40,15 @@ module busfsm #(parameter integer LOGWPL)
|
|||||||
input logic BusAck,
|
input logic BusAck,
|
||||||
input logic BusInit, // This might be better as LSUBusLock, or to send this using BusAck.
|
input logic BusInit, // This might be better as LSUBusLock, or to send this using BusAck.
|
||||||
input logic CPUBusy,
|
input logic CPUBusy,
|
||||||
input logic Cacheable,
|
|
||||||
|
|
||||||
output logic BusStall,
|
output logic BusStall,
|
||||||
output logic BusWrite,
|
output logic BusWrite,
|
||||||
output logic SelBusWord,
|
output logic SelBusWord,
|
||||||
output logic BusRead,
|
output logic BusRead,
|
||||||
output logic [2:0] HBURST,
|
|
||||||
output logic BusTransComplete,
|
output logic BusTransComplete,
|
||||||
output logic [1:0] HTRANS,
|
output logic [1:0] HTRANS,
|
||||||
output logic BusCommitted,
|
output logic BusCommitted
|
||||||
output logic BufferCaptureEn);
|
);
|
||||||
|
|
||||||
typedef enum logic [2:0] {STATE_BUS_READY,
|
typedef enum logic [2:0] {STATE_BUS_READY,
|
||||||
STATE_BUS_UNCACHED_WRITE,
|
STATE_BUS_UNCACHED_WRITE,
|
||||||
@ -87,22 +85,17 @@ module busfsm #(parameter integer LOGWPL)
|
|||||||
endcase
|
endcase
|
||||||
end
|
end
|
||||||
|
|
||||||
assign HBURST = 3'b0;
|
|
||||||
assign BusTransComplete = BusAck;
|
assign BusTransComplete = BusAck;
|
||||||
// Use SEQ if not doing first word, NONSEQ if doing the first read/write, and IDLE if finishing up.
|
|
||||||
assign HTRANS = (BusRead | BusWrite) & (~BusTransComplete) ? AHB_NONSEQ : AHB_IDLE;
|
|
||||||
|
|
||||||
assign BusStall = (BusCurrState == STATE_BUS_READY & ~IgnoreRequest & |RW) |
|
assign BusStall = (BusCurrState == STATE_BUS_READY & ~IgnoreRequest & |RW) |
|
||||||
(BusCurrState == STATE_BUS_UNCACHED_WRITE) |
|
(BusCurrState == STATE_BUS_UNCACHED_WRITE) |
|
||||||
(BusCurrState == STATE_BUS_UNCACHED_READ);
|
(BusCurrState == STATE_BUS_UNCACHED_READ);
|
||||||
assign BusWrite = (BusCurrState == STATE_BUS_READY & RW[0] & ~IgnoreRequest) |
|
assign BusWrite = (BusCurrState == STATE_BUS_READY & RW[0] & ~IgnoreRequest) |
|
||||||
(BusCurrState == STATE_BUS_UNCACHED_WRITE);
|
(BusCurrState == STATE_BUS_UNCACHED_WRITE);
|
||||||
|
assign BusRead = (BusCurrState == STATE_BUS_READY & RW[1] & ~IgnoreRequest) |
|
||||||
|
(BusCurrState == STATE_BUS_UNCACHED_READ);
|
||||||
|
assign BusCommitted = BusCurrState != STATE_BUS_READY;
|
||||||
assign SelBusWord = (BusCurrState == STATE_BUS_READY & RW[0]) |
|
assign SelBusWord = (BusCurrState == STATE_BUS_READY & RW[0]) |
|
||||||
(BusCurrState == STATE_BUS_UNCACHED_WRITE);
|
(BusCurrState == STATE_BUS_UNCACHED_WRITE);
|
||||||
|
|
||||||
assign BusRead = (BusCurrState == STATE_BUS_READY & RW[1] & ~IgnoreRequest) |
|
assign HTRANS = (BusRead | BusWrite) & (~BusAck) ? AHB_NONSEQ : AHB_IDLE;
|
||||||
(BusCurrState == STATE_BUS_UNCACHED_READ);
|
|
||||||
assign BufferCaptureEn = BusRead;
|
|
||||||
|
|
||||||
assign BusCommitted = BusCurrState != STATE_BUS_READY;
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -251,19 +251,18 @@ module lsu (
|
|||||||
mux2 #(`XLEN) LSUHWDATAMux(.d0(ReadDataWordM[`XLEN-1:0]), .d1(LSUWriteDataM[`XLEN-1:0]),
|
mux2 #(`XLEN) LSUHWDATAMux(.d0(ReadDataWordM[`XLEN-1:0]), .d1(LSUWriteDataM[`XLEN-1:0]),
|
||||||
.s(SelUncachedAdr), .y(LSUHWDATA));
|
.s(SelUncachedAdr), .y(LSUHWDATA));
|
||||||
end else begin : passthrough // just needs a register to hold the value from the bus
|
end else begin : passthrough // just needs a register to hold the value from the bus
|
||||||
logic BufferCaptureEn;
|
flopen #(`XLEN) fb(.clk, .en(LSUBusRead), .d(HRDATA), .q(ReadDataWordMuxM));
|
||||||
|
|
||||||
flopen #(`XLEN) fb(.clk, .en(BufferCaptureEn), .d(HRDATA), .q(ReadDataWordMuxM));
|
|
||||||
assign LSUHWDATA = LSUWriteDataM[`XLEN-1:0];
|
assign LSUHWDATA = LSUWriteDataM[`XLEN-1:0];
|
||||||
|
|
||||||
busfsm #(LOGBWPL) busfsm(
|
busfsm #(LOGBWPL) busfsm(
|
||||||
.clk, .reset, .IgnoreRequest, .RW(LSURWM),
|
.clk, .reset, .IgnoreRequest, .RW(LSURWM),
|
||||||
.BusAck(LSUBusAck), .BusInit(LSUBusInit), .CPUBusy, .Cacheable(1'b0), .BusStall, .BusWrite(LSUBusWrite),
|
.BusAck(LSUBusAck), .BusInit(LSUBusInit), .CPUBusy, .BusStall, .BusWrite(LSUBusWrite),
|
||||||
.SelBusWord, .BusRead(LSUBusRead), .BufferCaptureEn,
|
.SelBusWord, .BusRead(LSUBusRead),
|
||||||
.HBURST(LSUHBURST), .HTRANS(LSUHTRANS), .BusTransComplete(LSUTransComplete),
|
.HTRANS(LSUHTRANS), .BusTransComplete(LSUTransComplete),
|
||||||
.BusCommitted(BusCommittedM));
|
.BusCommitted(BusCommittedM));
|
||||||
|
|
||||||
// *** possible bug - ReadDatWordM vs. ReadDataWordMuxW - is byte swapping needed for endian
|
// *** possible bug - ReadDatWordM vs. ReadDataWordMuxW - is byte swapping needed for endian
|
||||||
|
assign LSUHBURST = 3'b0;
|
||||||
assign {ReadDataWordM, DCacheStallM, DCacheCommittedM, DCacheFetchLine, DCacheWriteLine} = '0;
|
assign {ReadDataWordM, DCacheStallM, DCacheCommittedM, DCacheFetchLine, DCacheWriteLine} = '0;
|
||||||
assign DCacheMiss = CacheableM; assign DCacheAccess = CacheableM;
|
assign DCacheMiss = CacheableM; assign DCacheAccess = CacheableM;
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user