mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Before returning to the ready state the dcache must set SelAdr = 0 on the cycle before.
This commit is contained in:
		
							parent
							
								
									e3bf8db80b
								
							
						
					
					
						commit
						053e9593af
					
				
							
								
								
									
										12
									
								
								wally-pipelined/src/cache/dcache.sv
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								wally-pipelined/src/cache/dcache.sv
									
									
									
									
										vendored
									
									
								
							| @ -149,6 +149,7 @@ module dcache | ||||
| 		STATE_MISS_READ_WORD, | ||||
| 		STATE_MISS_READ_WORD_DELAY, | ||||
| 		STATE_MISS_WRITE_WORD, | ||||
| 		STATE_MISS_WRITE_WORD_DELAY,		 | ||||
| 
 | ||||
| 		STATE_AMO_MISS_FETCH_WDV, | ||||
| 		STATE_AMO_MISS_FETCH_DONE, | ||||
| @ -315,7 +316,7 @@ module dcache | ||||
|   assign CPUBusy = CurrState == STATE_CPU_BUSY; | ||||
|   flop #(1) CPUBusyReg(.clk, .d(CPUBusy), .q(PreviousCPUBusy)); | ||||
|    | ||||
|   assign ReadDataWEn = (~StallW & ~PreviousCPUBusy) |  | ||||
|   assign ReadDataWEn = (~StallW & (~PreviousCPUBusy & (CurrState != STATE_CPU_BUSY))) |  | ||||
| 		       (NextState == STATE_CPU_BUSY & CurrState == STATE_READY) | | ||||
| 		       (CurrState == STATE_MISS_READ_WORD_DELAY); | ||||
|    | ||||
| @ -573,7 +574,7 @@ module dcache | ||||
|       end | ||||
| 
 | ||||
|       STATE_MISS_READ_WORD_DELAY: begin | ||||
| 	SelAdrM = 1'b1; | ||||
| 	//SelAdrM = 1'b1;
 | ||||
| 	CommittedM = 1'b1; | ||||
| 	if(StallW) NextState = STATE_CPU_BUSY; | ||||
| 	else NextState = STATE_READY; | ||||
| @ -583,7 +584,12 @@ module dcache | ||||
| 	SRAMWordWriteEnableM = 1'b1; | ||||
| 	SetDirtyM = 1'b1; | ||||
| 	SelAdrM = 1'b1; | ||||
| 	DCacheStall = 1'b0; | ||||
| 	DCacheStall = 1'b1; | ||||
| 	CommittedM = 1'b1; | ||||
| 	NextState = STATE_MISS_WRITE_WORD_DELAY; | ||||
|       end | ||||
| 
 | ||||
|       STATE_MISS_WRITE_WORD_DELAY: begin | ||||
| 	CommittedM = 1'b1; | ||||
| 	if(StallW) NextState = STATE_CPU_BUSY; | ||||
| 	else NextState = STATE_READY; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user