mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Cachefsm simplifications.
This commit is contained in:
		
							parent
							
								
									1ebc7aa95a
								
							
						
					
					
						commit
						9348025727
					
				
							
								
								
									
										6
									
								
								src/cache/cachefsm.sv
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								src/cache/cachefsm.sv
									
									
									
									
										vendored
									
									
								
							| @ -74,10 +74,8 @@ module cachefsm import cvw::*; #(parameter cvw_t P, | |||||||
|   logic              AnyUpdateHit, AnyHit; |   logic              AnyUpdateHit, AnyHit; | ||||||
|   logic              AnyMiss; |   logic              AnyMiss; | ||||||
|   logic              FlushFlag; |   logic              FlushFlag; | ||||||
|   logic              CMOWritebackHit; |  | ||||||
|   logic              CMOWriteback; |   logic              CMOWriteback; | ||||||
|   logic              CMOZeroNoEviction; |   logic              CMOZeroNoEviction; | ||||||
|   logic              CMOZeroEviction; |  | ||||||
| 
 | 
 | ||||||
|   typedef enum logic [3:0]{STATE_READY, // hit states
 |   typedef enum logic [3:0]{STATE_READY, // hit states
 | ||||||
|                            // miss states
 |                            // miss states
 | ||||||
| @ -95,10 +93,8 @@ module cachefsm import cvw::*; #(parameter cvw_t P, | |||||||
|   assign AnyMiss = (CacheRW[0] | CacheRW[1]) & ~CacheHit & ~InvalidateCache; // exclusion-tag: cache AnyMiss
 |   assign AnyMiss = (CacheRW[0] | CacheRW[1]) & ~CacheHit & ~InvalidateCache; // exclusion-tag: cache AnyMiss
 | ||||||
|   assign AnyUpdateHit = (CacheRW[0]) & CacheHit;                            // exclusion-tag: icache storeAMO1
 |   assign AnyUpdateHit = (CacheRW[0]) & CacheHit;                            // exclusion-tag: icache storeAMO1
 | ||||||
|   assign AnyHit = AnyUpdateHit | (CacheRW[1] & CacheHit);                  // exclusion-tag: icache AnyUpdateHit
 |   assign AnyHit = AnyUpdateHit | (CacheRW[1] & CacheHit);                  // exclusion-tag: icache AnyUpdateHit
 | ||||||
|   assign CMOWritebackHit = (CMOp[1] | CMOp[2]) & CacheHit & HitLineDirty; |  | ||||||
|   assign CMOZeroNoEviction = CMOp[3] & ~LineDirty;   // (hit or miss) with no writeback store zeros now
 |   assign CMOZeroNoEviction = CMOp[3] & ~LineDirty;   // (hit or miss) with no writeback store zeros now
 | ||||||
|   assign CMOZeroEviction = CMOp[3] & LineDirty;   // (hit or miss) with writeback dirty line
 |   assign CMOWriteback = ((CMOp[1] | CMOp[2]) & CacheHit & HitLineDirty) | CMOp[3] & LineDirty; | ||||||
|   assign CMOWriteback = CMOWritebackHit | CMOZeroEviction; |  | ||||||
|    |    | ||||||
|   assign FlushFlag = FlushAdrFlag & FlushWayFlag; |   assign FlushFlag = FlushAdrFlag & FlushWayFlag; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user