1b0e205f87 
								
							 
						 
						
							
							
								
								Fix bad AMO asserts. Fix hwdata instability during stalled AMO write dphase, which meant AMOs were fundamentally broken following yesterday's datapath origami  
							
							
							
						 
						
							2021-12-18 14:51:46 +00:00  
				
					
						
							
							
								 
						
							
								d1b5f83b7a 
								
							 
						 
						
							
							
								
								Beef up the ULX3S SoC again now that atomics aren't so disastrous for timing  
							
							
							
						 
						
							2021-12-18 02:41:50 +00:00  
				
					
						
							
							
								 
						
							
								6b8d4913ee 
								
							 
						 
						
							
							
								
								Remove unnecessary mux of mw_result -> m_result  
							
							
							
						 
						
							2021-12-18 01:34:25 +00:00  
				
					
						
							
							
								 
						
							
								79fec3a2f5 
								
							 
						 
						
							
							
								
								Overload mw_result register for capturing AMO read data. Save some LCs.  
							
							
							
						 
						
							2021-12-18 01:24:26 +00:00  
				
					
						
							
							
								 
						
							
								28b53ef7b5 
								
							 
						 
						
							
							
								
								Delete the AMO ALU. Save around 80 LCs vs original implementation, maybe enables some more savings.  
							
							
							
						 
						
							2021-12-18 00:35:13 +00:00  
				
					
						
							
							
								 
						
							
								7485269ddf 
								
							 
						 
						
							
							
								
								Use the branch target adder for load/store addresses. Preparing for AMO ALU deletion  
							
							
							
						 
						
							2021-12-17 22:36:40 +00:00  
				
					
						
							
							
								 
						
							
								a35739baf1 
								
							 
						 
						
							
							
								
								Fix AMO failing to loop on global monitor write fail  
							
							
							
						 
						
							2021-12-17 17:04:22 +00:00  
				
					
						
							
							
								 
						
							
								a81d129961 
								
							 
						 
						
							
							
								
								Add exclusives monitor to testbench  
							
							
							
						 
						
							2021-12-17 17:03:35 +00:00  
				
					
						
							
							
								 
						
							
								5ab60422ad 
								
							 
						 
						
							
							
								
								Add minimal multicore launch code  
							
							
							
						 
						
							2021-12-17 01:24:11 +00:00  
				
					
						
							
							
								 
						
							
								01d9617f9c 
								
							 
						 
						
							
							
								
								Add multicore tb integration file  
							
							
							
						 
						
							2021-12-17 00:41:23 +00:00  
				
					
						
							
							
								 
						
							
								207566660d 
								
							 
						 
						
							
							
								
								tb: handle both ports identically. Preparing for dual core  
							
							
							
						 
						
							2021-12-17 00:04:00 +00:00  
				
					
						
							
							
								 
						
							
								1fa0d4d442 
								
							 
						 
						
							
							
								
								Create LICENSE  
							
							
							
						 
						
							2021-12-13 23:40:14 +00:00  
				
					
						
							
							
								 
						
							
								b0d28447ab 
								
							 
						 
						
							
							
								
								New license headers: DWTFPL -> Apache 2.0  
							
							
							
						 
						
							2021-12-13 23:23:40 +00:00  
				
					
						
							
							
								 
						
							
								f1cda26bcc 
								
							 
						 
						
							
							
								
								Oops, try a little harder this time to ensure local monitor is cleared by sc.w errors _always_, even if lined up with trap entry stalls etc  
							
							
							
						 
						
							2021-12-12 23:32:01 +00:00  
				
					
						
							
							
								 
						
							
								25b44d04cf 
								
							 
						 
						
							
							
								
								Add more properties wrt AMO. Fix awful bugs in interaction between AMOs and prior lr/sc, prior load/store exception, or IRQ which is asserted then deasserted. Fix sc with HRESP=1 HEXOKAY=1 not clearing the local monitor (not a bug, but unfriendly).  
							
							
							
						 
						
							2021-12-12 23:24:25 +00:00  
				
					
						
							
							
								 
						
							
								1697192c62 
								
							 
						 
						
							
							
								
								Fix cycle timing docs for sc.w: 2 cycles if next instruction is RAW-dependent.  
							
							
							
						 
						
							2021-12-12 20:50:26 +00:00  
				
					
						
							
							
								 
						
							
								88fea7acfa 
								
							 
						 
						
							
							
								
								Fix lockup on misaligned AMO. Add tests for misaligned/faulting AMOs.  
							
							
							
						 
						
							2021-12-12 18:28:23 +00:00  
				
					
						
							
							
								 
						
							
								719c21fec3 
								
							 
						 
						
							
							
								
								Add IRQ tests. Disable waves by default in runtests  
							
							
							
						 
						
							2021-12-12 15:53:04 +00:00  
				
					
						
							
							
								 
						
							
								9fb2af800f 
								
							 
						 
						
							
							
								
								Allow IRQs to be set/cleared by sw in tb. Add soft IRQ test  
							
							
							
						 
						
							2021-12-12 14:58:50 +00:00  
				
					
						
							
							
								 
						
							
								a232833d81 
								
							 
						 
						
							
							
								
								Add CSR writable test  
							
							
							
						 
						
							2021-12-12 14:23:34 +00:00  
				
					
						
							
							
								 
						
							
								8a003dbbed 
								
							 
						 
						
							
							
								
								Make mcycle/minstret inhibited by default  
							
							
							
						 
						
							2021-12-12 13:55:33 +00:00  
				
					
						
							
							
								 
						
							
								2bbc3637a2 
								
							 
						 
						
							
							
								
								Simplify CSR update logic. Showed promise in block synth but no difference to example soc. Still cleaner RTL.  
							
							
							
						 
						
							2021-12-12 00:38:30 +00:00  
				
					
						
							
							
								 
						
							
								7da67a0600 
								
							 
						 
						
							
							
								
								Similarly for minstret  
							
							
							
						 
						
							2021-12-11 22:25:12 +00:00  
				
					
						
							
							
								 
						
							
								1b722b5f27 
								
							 
						 
						
							
							
								
								Add mcycle test, fix incorrect description of mcycle in docs  
							
							
							
						 
						
							2021-12-11 21:21:31 +00:00  
				
					
						
							
							
								 
						
							
								93eca19aeb 
								
							 
						 
						
							
							
								
								Add test for lr/sc RAW stalls  
							
							
							
						 
						
							2021-12-11 19:16:41 +00:00  
				
					
						
							
							
								 
						
							
								763a5cd364 
								
							 
						 
						
							
							
								
								Add test for readability of all implemented CSRs  
							
							
							
						 
						
							2021-12-11 17:50:12 +00:00  
				
					
						
							
							
								 
						
							
								7b1da32af1 
								
							 
						 
						
							
							
								
								Move expected_output into tests inline  
							
							
							
						 
						
							2021-12-11 16:58:25 +00:00  
				
					
						
							
							
								 
						
							
								9460b3cd04 
								
							 
						 
						
							
							
								
								Add load/store and lr/sc bus fault tests. Fix lr.w not clearing local monitor when HRESP=1 HEXOKAY=1.  
							
							
							
						 
						
							2021-12-11 15:52:34 +00:00  
				
					
						
							
							
								 
						
							
								f64f44f7af 
								
							 
						 
						
							
							
								
								Add test for identification CSRs vs expected values  
							
							
							
						 
						
							2021-12-11 13:26:59 +00:00  
				
					
						
							
							
								 
						
							
								4066e941ef 
								
							 
						 
						
							
							
								
								Fix sim cmdline in bitmanip-random tests  
							
							
							
						 
						
							2021-12-11 13:13:21 +00:00  
				
					
						
							
							
								 
						
							
								3fe0d92d41 
								
							 
						 
						
							
							
								
								Add load/store alignment testcases  
							
							
							
						 
						
							2021-12-11 12:53:37 +00:00  
				
					
						
							
							
								 
						
							
								c90727b05a 
								
							 
						 
						
							
							
								
								Remove padding after vector table in init.S  
							
							
							
						 
						
							2021-12-11 12:22:23 +00:00  
				
					
						
							
							
								 
						
							
								6076eba61f 
								
							 
						 
						
							
							
								
								Add run_all script under riscv-compliance  
							
							
							
						 
						
							2021-12-11 12:08:53 +00:00  
				
					
						
							
							
								 
						
							
								52d58fdee4 
								
							 
						 
						
							
							
								
								Add keep wires for debug port on bus compliance tb  
							
							
							
						 
						
							2021-12-11 12:06:10 +00:00  
				
					
						
							
							
								 
						
							
								6edfbfae8b 
								
							 
						 
						
							
							
								
								Add ebreak size/alignment test  
							
							
							
						 
						
							2021-12-11 11:17:24 +00:00  
				
					
						
							
							
								 
						
							
								cccc32fe16 
								
							 
						 
						
							
							
								
								Update instructions for running hello world under debugger  
							
							
							
						 
						
							2021-12-11 10:25:29 +00:00  
				
					
						
							
							
								 
						
							
								abe1769929 
								
							 
						 
						
							
							
								
								Add instruction access fault testcase  
							
							
							
						 
						
							2021-12-11 09:54:00 +00:00  
				
					
						
							
							
								 
						
							
								933f2cd65c 
								
							 
						 
						
							
							
								
								Fix remaining fallout from tb args change  
							
							
							
						 
						
							2021-12-11 09:53:39 +00:00  
				
					
						
							
							
								 
						
							
								6d55cd2d55 
								
							 
						 
						
							
							
								
								Consolidate openocd and bin-load testbenches  
							
							
							
						 
						
							2021-12-11 09:46:38 +00:00  
				
					
						
							
							
								 
						
							
								fadb9601de 
								
							 
						 
						
							
							
								
								Illegal instruction test  
							
							
							
						 
						
							2021-12-10 00:11:18 +00:00  
				
					
						
							
							
								 
						
							
								3d2c912b4f 
								
							 
						 
						
							
							
								
								Add test script to make it easier to add software testcases  
							
							
							
						 
						
							2021-12-09 22:25:18 +00:00  
				
					
						
							
							
								 
						
							
								7d2fa6a049 
								
							 
						 
						
							
							
								
								Fix width warnings in A instruction decode, add don't-care to bus rdata picking logic  
							
							
							
						 
						
							2021-12-09 06:26:31 +00:00  
				
					
						
							
							
								 
						
							
								116e34df49 
								
							 
						 
						
							
							
								
								Fix commented out frontend properties which relied on non-constant past reset values  
							
							
							
						 
						
							2021-12-07 20:24:29 +00:00  
				
					
						
							
							
								 
						
							
								449348f459 
								
							 
						 
						
							
							
								
								Fix bug where an IRQ can fire during load/store dphase, followed by dphase bus exception.  
							
							... 
							
							
							
							Result was that the exception would sample the IRQ vector PC rather than the load/store instruction PC.
Fix by fencing off on in-flight dphases before asserting the IRQ. This adds a cycle of jitter
to IRQs, but is required for correct operation without adding a full exception-gathering pipeline. 
							
						 
						
							2021-12-07 19:24:53 +00:00  
				
					
						
							
							
								 
						
							
								dbc331dbb4 
								
							 
						 
						
							
							
								
								Add exclusives bus properties  
							
							
							
						 
						
							2021-12-07 05:47:25 +00:00  
				
					
						
							
							
								 
						
							
								6ef3503ef5 
								
							 
						 
						
							
							
								
								Add A bit to MISA, update docs  
							
							
							
						 
						
							2021-12-07 05:10:20 +00:00  
				
					
						
							
							
								 
						
							
								93be227d8a 
								
							 
						 
						
							
							
								
								Add (currently failing) trap entry property. Fails when an IRQ arrives during a load/store data phase which subsequently excepts.  
							
							
							
						 
						
							2021-12-06 20:12:23 +00:00  
				
					
						
							
							
								 
						
							
								ed22d502fd 
								
							 
						 
						
							
							
								
								Fix bus stall getting stuck high when a bus fault exception isn't immediately accepted by the frontend  
							
							
							
						 
						
							2021-12-06 19:28:21 +00:00  
				
					
						
							
							
								 
						
							
								50d3d5d3b3 
								
							 
						 
						
							
							
								
								Maintain AMO IRQ holdoff when transitioning from data phase to error phase, to prevent error possibly being flushed  
							
							
							
						 
						
							2021-12-06 19:27:20 +00:00  
				
					
						
							
							
								 
						
							
								29c5c8ca7f 
								
							 
						 
						
							
							
								
								Fix AMO stall falling through when write data phase should proceed to error phase  
							
							
							
						 
						
							2021-12-06 18:28:56 +00:00