mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Reduced busfsm to 3 states!
This commit is contained in:
parent
6f3dad8207
commit
7598fbcb3b
@ -62,7 +62,6 @@ module buscachefsm #(parameter integer WordCountThreshold,
|
||||
typedef enum logic [2:0] {STATE_READY,
|
||||
STATE_CAPTURE,
|
||||
STATE_DELAY,
|
||||
STATE_CPU_BUSY,
|
||||
STATE_CACHE_FETCH,
|
||||
STATE_CACHE_EVICT} busstatetype;
|
||||
|
||||
@ -89,10 +88,8 @@ module buscachefsm #(parameter integer WordCountThreshold,
|
||||
else BusNextState = STATE_READY;
|
||||
STATE_CAPTURE: if(HREADY) BusNextState = STATE_DELAY;
|
||||
else BusNextState = STATE_CAPTURE;
|
||||
STATE_DELAY: if(CPUBusy) BusNextState = STATE_CPU_BUSY;
|
||||
STATE_DELAY: if(CPUBusy) BusNextState = STATE_DELAY;
|
||||
else BusNextState = STATE_READY;
|
||||
STATE_CPU_BUSY: if(CPUBusy) BusNextState = STATE_CPU_BUSY;
|
||||
else BusNextState = STATE_READY;
|
||||
STATE_CACHE_FETCH: if(HREADY & FinalWordCount) BusNextState = STATE_READY;
|
||||
else BusNextState = STATE_CACHE_FETCH;
|
||||
STATE_CACHE_EVICT: if(HREADY & FinalWordCount) BusNextState = STATE_READY;
|
||||
|
@ -48,8 +48,7 @@ module busfsm
|
||||
|
||||
typedef enum logic [2:0] {STATE_READY,
|
||||
STATE_CAPTURE,
|
||||
STATE_DELAY,
|
||||
STATE_CPU_BUSY} busstatetype;
|
||||
STATE_DELAY} busstatetype;
|
||||
|
||||
typedef enum logic [1:0] {AHB_IDLE = 2'b00, AHB_BUSY = 2'b01, AHB_NONSEQ = 2'b10, AHB_SEQ = 2'b11} ahbtranstype;
|
||||
|
||||
@ -65,10 +64,8 @@ module busfsm
|
||||
else BusNextState = STATE_READY;
|
||||
STATE_CAPTURE: if(HREADY) BusNextState = STATE_DELAY;
|
||||
else BusNextState = STATE_CAPTURE;
|
||||
STATE_DELAY: if(CPUBusy) BusNextState = STATE_CPU_BUSY;
|
||||
STATE_DELAY: if(CPUBusy) BusNextState = STATE_DELAY;
|
||||
else BusNextState = STATE_READY;
|
||||
STATE_CPU_BUSY: if(CPUBusy) BusNextState = STATE_CPU_BUSY;
|
||||
else BusNextState = STATE_READY;
|
||||
default: BusNextState = STATE_READY;
|
||||
endcase
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user