Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							cae350abb7 
							
						 
					 
					
						
						
							
							Added invalidate to icache.  
						
						
						
					 
					
						2021-09-16 16:15:54 -05:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							a158558b83 
							
						 
					 
					
						
						
							
							Merge branch 'main' of  https://github.com/davidharrishmc/riscv-wally  into main  
						
						
						
					 
					
						2021-09-15 17:31:11 -04:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							ff5379fd95 
							
						 
					 
					
						
						
							
							fix regression  
						
						
						
					 
					
						2021-09-15 17:30:59 -04:00 
						 
				 
			
				
					
						
							
							
								David Harris 
							
						 
					 
					
						
						
						
						
							
						
						
							9ae25b0cea 
							
						 
					 
					
						
						
							
							Added Zfencei support in instruction decoder and configurations.  Also added riscv-arch-test 32-bit tests to regression.  
						
						
						
					 
					
						2021-09-15 13:14:00 -04:00 
						 
				 
			
				
					
						
							
							
								David Harris 
							
						 
					 
					
						
						
						
						
							
						
						
							9fa048980d 
							
						 
					 
					
						
						
							
							Fixed MTVAL contents during breakpoint.  Now all riscv-arch-test vectors pass in rv32 and rv64  
						
						
						
					 
					
						2021-09-13 12:40:40 -04:00 
						 
				 
			
				
					
						
							
							
								David Harris 
							
						 
					 
					
						
						
						
						
							
						
						
							7be1160a48 
							
						 
					 
					
						
						
							
							Cleaned up wally-arch test scripts  
						
						
						
					 
					
						2021-09-13 00:02:32 -04:00 
						 
				 
			
				
					
						
							
							
								David Harris 
							
						 
					 
					
						
						
						
						
							
						
						
							12bd351edf 
							
						 
					 
					
						
						
							
							Lint cleaning, riscv-arch-test testing  
						
						
						
					 
					
						2021-09-09 11:05:12 -04:00 
						 
				 
			
				
					
						
							
							
								David Harris 
							
						 
					 
					
						
						
						
						
							
						
						
							9480f8efdb 
							
						 
					 
					
						
						
							
							Merge branch 'main' of  https://github.com/davidharrishmc/riscv-wally  into main  
						
						
						
					 
					
						2021-09-08 16:00:12 -04:00 
						 
				 
			
				
					
						
							
							
								David Harris 
							
						 
					 
					
						
						
						
						
							
						
						
							118cb7fb87 
							
						 
					 
					
						
						
							
							Added testbench-arch for riscv-arch-test suite  
						
						
						
					 
					
						2021-09-08 15:59:40 -04:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							6550f38af9 
							
						 
					 
					
						
						
							
							Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main  
						
						
						
					 
					
						2021-09-08 12:47:03 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							a15d6c1c96 
							
						 
					 
					
						
						
							
							Slight modification to wave file.  
						
						
						
					 
					
						2021-09-08 10:40:46 -05:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							bb84354a47 
							
						 
					 
					
						
						
							
							fixed bug where M mode was sensitive to S mode traps  
						
						
						
					 
					
						2021-09-07 19:14:39 -04:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							da9a366d20 
							
						 
					 
					
						
						
							
							No longer forcing CSRReadValM because that can feedback to corrupt some CSRs  
						
						
						
					 
					
						2021-09-06 22:59:54 -04:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							05455f8392 
							
						 
					 
					
						
						
							
							Changed name of memory in icache.  
						
						
						
					 
					
						2021-09-06 20:54:52 -05:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							c463f177e9 
							
						 
					 
					
						
						
							
							restore functionality of being able to turn on waves at a certain instruction count; restore linux-waves.do because wave.do seems to be in disrepair  
						
						
						
					 
					
						2021-09-04 19:45:04 -04:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							2968623f9a 
							
						 
					 
					
						
						
							
							Partial multiway set associative icache.  
						
						
						
					 
					
						2021-08-30 10:49:24 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							6a9fa2fae3 
							
						 
					 
					
						
						
							
							Fixed bugs I introduced to the icache.  
						
						
						
					 
					
						2021-08-27 15:00:40 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							96cbd8e785 
							
						 
					 
					
						
						
							
							Modified icache to no longer need StallF in the PCMux logic.  Instead this is handled in the icachefsm.  
						
						... 
						
						
						
						One downside is it increases the icache complexity.  However it also fixes an untested bug.  If a region
was uncacheable it would have been possible for the request to be made multiple times.  Now that is
not possible.  Additionally spills were oscillating between the spill hit states without this change.
The impact was 'benign' as the final spilled instruction always had the correct upper 16 bits. 
						
					 
					
						2021-08-27 11:03:36 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							d6ff89b7e6 
							
						 
					 
					
						
						
							
							Swapped out the icachemem for cacheway.  cacheway is modified to optionally support dirty bits.  
						
						
						
					 
					
						2021-08-26 15:43:02 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							e4bbd3bbc7 
							
						 
					 
					
						
						
							
							Converted the icache type from logic to state type.  
						
						
						
					 
					
						2021-08-26 10:41:42 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							0530047f53 
							
						 
					 
					
						
						
							
							Moved dcache fsm to separate module.  
						
						
						
					 
					
						2021-08-25 21:37:10 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							d23b860c96 
							
						 
					 
					
						
						
							
							Moved LRU and storage for the LRU into a single module.  Also found a subtle bug with the update address used to write the cache's memory.  
						
						... 
						
						
						
						This was correct for the LRU but incorrect for the data, tag, valid, and dirty storage. 
						
					 
					
						2021-08-25 21:09:42 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							e9a1dc90f6 
							
						 
					 
					
						
						
							
							Removed generate around the dcache memories.  
						
						
						
					 
					
						2021-08-25 13:27:26 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							983524e81b 
							
						 
					 
					
						
						
							
							Updated linux test bench documenation and scripts.  
						
						
						
					 
					
						2021-08-25 10:54:47 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							fe378f2692 
							
						 
					 
					
						
						
							
							Added function tracking to linux test bench.  
						
						
						
					 
					
						2021-08-24 11:08:46 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							ddbc659d7b 
							
						 
					 
					
						
						
							
							Fixed bug with coremark do file.  When I moved the testbench to have a common set of files i forgot to remove the old path reference to function_radix.sv in wally-coremark_bare.do.  
						
						
						
					 
					
						2021-08-19 10:33:11 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							6c57002d0e 
							
						 
					 
					
						
						
							
							Added logic to linux test bench to not stop simulation on csr write faults.  
						
						
						
					 
					
						2021-08-15 11:13:32 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							af2c6fd6ff 
							
						 
					 
					
						
						
							
							Updated linux-wave.do to have cursors at the timer interrupt problem.  
						
						
						
					 
					
						2021-08-13 17:29:37 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							55fda4de62 
							
						 
					 
					
						
						
							
							Switched ExceptionM to dcache to be just exceptions.  
						
						... 
						
						
						
						Added test bench logic to hold forces until the W stage is unstalled. 
						
					 
					
						2021-08-13 15:53:50 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							e141a00934 
							
						 
					 
					
						
						
							
							Cleaned up the linux testbench by removing old code and signals.  
						
						... 
						
						
						
						Added back in the csr checking logic.
Added code to force timer, external, and software interrupts by using the expected
values from qemu's (m/s)cause registers.
Still need to prevent wally's timer interrupt. 
						
					 
					
						2021-08-13 14:39:05 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							cce0571925 
							
						 
					 
					
						
						
							
							Fixed another bug with the atomic instrucitons implemention in the dcache.  
						
						
						
					 
					
						2021-08-08 22:50:31 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							d3be04b7de 
							
						 
					 
					
						
						
							
							Fixed another bug with AMO.  If the CPU stalled as an AMO was finishing, the write to the  
						
						... 
						
						
						
						cache's SRAM would occur.  Then in the next cycle the SRAM would be reread while stalled
providing the new update dated rather than the correct older value. 
						
					 
					
						2021-08-08 11:42:10 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							fc7016eea6 
							
						 
					 
					
						
						
							
							Fixed the AMO dcache bug.  The subword write needs to occur before the AMO logic.  
						
						... 
						
						
						
						Fixed logic for trace update in the M and W stages.  The M stage should not update if there
is an instruction fault. 
						
					 
					
						2021-08-08 00:28:18 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							0bfbcef8ab 
							
						 
					 
					
						
						
							
							Now past the CLINT issues.  
						
						
						
					 
					
						2021-08-06 16:16:39 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							9be10cdc8b 
							
						 
					 
					
						
						
							
							Partial conversion of the linux trace checking to read in the file in the Memory Stage so it is possible to overwrite registers, memory, and interrupts.  
						
						
						
					 
					
						2021-08-06 16:06:50 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							c749d08542 
							
						 
					 
					
						
						
							
							fixed the read timer issue but we still have problems with interrupts and i/o devices.  
						
						
						
					 
					
						2021-08-06 10:16:06 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							e166cc84ee 
							
						 
					 
					
						
						
							
							Patched up changes for wally-pipelined.do and wally-buildroot.do to support moved common testbench files.  
						
						
						
					 
					
						2021-07-30 14:24:50 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							74fba4bb06 
							
						 
					 
					
						
						
							
							Moved the test bench modules to a common directory.  
						
						
						
					 
					
						2021-07-30 14:16:14 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							3e916da36e 
							
						 
					 
					
						
						
							
							Removed the hardware page table walker fault state from the icache so that the icache will only unstall CPU for 1 cycle.  
						
						... 
						
						
						
						In the dcache we added a register to save the load read data in the event an itlb miss occurs concurrently with
the load in the memory stage.  Under this situation we need to record the load ReadDataM into a temporary register,
SavedReadDataM.  At this time the CPU is stall; however the walker is going to change the address in the dcache
which destroys this data.  When leaving the PTW_READY state via a walker instruction fault or ITLB write we select
this SavedReadDataM so that the CPU can capture it. 
						
					 
					
						2021-07-22 19:42:19 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							551e3491af 
							
						 
					 
					
						
						
							
							Moved the ReadDataW register into the datapath.  
						
						... 
						
						
						
						The StallW from the hazard unit controls this.
Previously it was in the dcache and controlled by both the HPTW and hazard unit.
This caused an issue when the CPU expected the data to stay constant while
stalled, but the HPTW was causing the data to be modified. 
						
					 
					
						2021-07-22 14:52:03 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							3dd89a7e62 
							
						 
					 
					
						
						
							
							Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main  
						
						
						
					 
					
						2021-07-22 10:38:24 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							25a8920a69 
							
						 
					 
					
						
						
							
							Tested all numbers of ways for dcache 1, 2, 4, and 8.  
						
						
						
					 
					
						2021-07-22 10:38:07 -05:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							d3059dd04c 
							
						 
					 
					
						
						
							
							fix UART RX FIFO bug where tail pointer can overtake head pointer  
						
						
						
					 
					
						2021-07-22 02:09:41 -04:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							57a2917997 
							
						 
					 
					
						
						
							
							make address translator signals visible in waveview  
						
						
						
					 
					
						2021-07-21 20:07:49 -04:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							313bc5255c 
							
						 
					 
					
						
						
							
							Improved address bus names and usages in the walker, dcache, and tlbs.  
						
						... 
						
						
						
						Merge branch 'walkerEnhance' into main 
						
					 
					
						2021-07-21 14:55:09 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							e0990535e1 
							
						 
					 
					
						
						
							
							Fixed remaining bugs in 2 way set associative dcache.  
						
						
						
					 
					
						2021-07-21 10:35:23 -05:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							14e949d6e3 
							
						 
					 
					
						
						
							
							Partially working 2 way set associative d cache.  
						
						
						
					 
					
						2021-07-20 17:51:42 -05:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							1aeef4e7d1 
							
						 
					 
					
						
						
							
							remove busybear from regression because it is not keeping up with buildroot's changes to testbench-linux  
						
						
						
					 
					
						2021-07-19 16:22:05 -04:00 
						 
				 
			
				
					
						
							
							
								bbracker 
							
						 
					 
					
						
						
						
						
							
						
						
							cd469035be 
							
						 
					 
					
						
						
							
							make testbench check the same CSRs that QEMU logs; change CLINT to reset MTIMECMP to -1 so that we don't instantly get a timer interrupt upon reset  
						
						
						
					 
					
						2021-07-19 15:13:03 -04:00 
						 
				 
			
				
					
						
							
							
								Ross Thompson 
							
						 
					 
					
						
						
						
						
							
						
						
							9f76e1d64d 
							
						 
					 
					
						
						
							
							Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main  
						
						
						
					 
					
						2021-07-19 12:32:35 -05:00