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,
 | 
					  typedef enum logic [2:0] {STATE_READY,
 | 
				
			||||||
				            STATE_CAPTURE,
 | 
									            STATE_CAPTURE,
 | 
				
			||||||
				            STATE_DELAY,
 | 
									            STATE_DELAY,
 | 
				
			||||||
				            STATE_CPU_BUSY,
 | 
					 | 
				
			||||||
                            STATE_CACHE_FETCH,
 | 
					                            STATE_CACHE_FETCH,
 | 
				
			||||||
                            STATE_CACHE_EVICT} busstatetype;
 | 
					                            STATE_CACHE_EVICT} busstatetype;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -89,9 +88,7 @@ module buscachefsm #(parameter integer   WordCountThreshold,
 | 
				
			|||||||
                   else                          BusNextState = STATE_READY;
 | 
					                   else                          BusNextState = STATE_READY;
 | 
				
			||||||
      STATE_CAPTURE: if(HREADY)                  BusNextState = STATE_DELAY;
 | 
					      STATE_CAPTURE: if(HREADY)                  BusNextState = STATE_DELAY;
 | 
				
			||||||
		           else                          BusNextState = STATE_CAPTURE;
 | 
							           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;
 | 
							           else                          BusNextState = STATE_READY;
 | 
				
			||||||
      STATE_CACHE_FETCH: if(HREADY & FinalWordCount) BusNextState = STATE_READY;
 | 
					      STATE_CACHE_FETCH: if(HREADY & FinalWordCount) BusNextState = STATE_READY;
 | 
				
			||||||
                         else                       BusNextState = STATE_CACHE_FETCH;
 | 
					                         else                       BusNextState = STATE_CACHE_FETCH;
 | 
				
			||||||
 | 
				
			|||||||
@ -48,8 +48,7 @@ module busfsm
 | 
				
			|||||||
  
 | 
					  
 | 
				
			||||||
  typedef enum logic [2:0] {STATE_READY,
 | 
					  typedef enum logic [2:0] {STATE_READY,
 | 
				
			||||||
				            STATE_CAPTURE,
 | 
									            STATE_CAPTURE,
 | 
				
			||||||
				            STATE_DELAY,
 | 
									            STATE_DELAY} busstatetype;
 | 
				
			||||||
				            STATE_CPU_BUSY} busstatetype;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  typedef enum logic [1:0] {AHB_IDLE = 2'b00, AHB_BUSY = 2'b01, AHB_NONSEQ = 2'b10, AHB_SEQ = 2'b11} ahbtranstype;
 | 
					  typedef enum logic [1:0] {AHB_IDLE = 2'b00, AHB_BUSY = 2'b01, AHB_NONSEQ = 2'b10, AHB_SEQ = 2'b11} ahbtranstype;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -65,9 +64,7 @@ module busfsm
 | 
				
			|||||||
                   else        BusNextState = STATE_READY;
 | 
					                   else        BusNextState = STATE_READY;
 | 
				
			||||||
      STATE_CAPTURE: if(HREADY)  BusNextState = STATE_DELAY;
 | 
					      STATE_CAPTURE: if(HREADY)  BusNextState = STATE_DELAY;
 | 
				
			||||||
		           else        BusNextState = STATE_CAPTURE;
 | 
							           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;
 | 
							           else        BusNextState = STATE_READY;
 | 
				
			||||||
	  default:                 BusNextState = STATE_READY;
 | 
						  default:                 BusNextState = STATE_READY;
 | 
				
			||||||
	endcase
 | 
						endcase
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user