mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	AMO and LR/SC instructions now working correctly.
Page table walking is not working.
This commit is contained in:
		
							parent
							
								
									a4266c0136
								
							
						
					
					
						commit
						8dfbf60b67
					
				@ -283,7 +283,7 @@ add wave -noupdate -group CLINT /testbench/dut/uncore/genblk1/clint/MTIMECMP
 | 
			
		||||
add wave -noupdate -group CLINT /testbench/dut/uncore/genblk1/clint/TimerIntM
 | 
			
		||||
add wave -noupdate -group CLINT /testbench/dut/uncore/genblk1/clint/SwIntM
 | 
			
		||||
TreeUpdate [SetDefaultTree]
 | 
			
		||||
WaveRestoreCursors {{Cursor 4} {32648010 ns} 0} {{Cursor 5} {10763646 ns} 0}
 | 
			
		||||
WaveRestoreCursors {{Cursor 4} {32648010 ns} 0} {{Cursor 5} {11165332 ns} 0} {{Cursor 3} {7672141 ns} 0}
 | 
			
		||||
quietly wave cursor active 2
 | 
			
		||||
configure wave -namecolwidth 250
 | 
			
		||||
configure wave -valuecolwidth 189
 | 
			
		||||
@ -299,4 +299,4 @@ configure wave -griddelta 40
 | 
			
		||||
configure wave -timeline 0
 | 
			
		||||
configure wave -timelineunits ns
 | 
			
		||||
update
 | 
			
		||||
WaveRestoreZoom {10763302 ns} {10763880 ns}
 | 
			
		||||
WaveRestoreZoom {11156770 ns} {11173894 ns}
 | 
			
		||||
 | 
			
		||||
@ -214,9 +214,12 @@ module lsu (
 | 
			
		||||
  always_comb begin
 | 
			
		||||
    case (CurrState)
 | 
			
		||||
      STATE_READY:
 | 
			
		||||
	if (|AtomicMaskedM) begin 
 | 
			
		||||
	if (AtomicMaskedM[1]) begin 
 | 
			
		||||
	  NextState = STATE_FETCH_AMO_1; // *** should be some misalign check
 | 
			
		||||
	  DataStall = 1'b1;
 | 
			
		||||
	end else if((MemReadM & AtomicM[0]) | (MemWriteM & AtomicM[0])) begin
 | 
			
		||||
	  NextState = STATE_FETCH_AMO_2; 
 | 
			
		||||
	  DataStall = 1'b1;
 | 
			
		||||
	end else if (MemAccessM & ~DataMisalignedM) begin
 | 
			
		||||
	  NextState = STATE_FETCH;
 | 
			
		||||
	  DataStall = 1'b1;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user