mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	mmu cleanup
This commit is contained in:
		
							parent
							
								
									939bf3f148
								
							
						
					
					
						commit
						7c5548a39c
					
				@ -27,17 +27,17 @@
 | 
				
			|||||||
`include "wally-config.vh"
 | 
					`include "wally-config.vh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module adrdec (
 | 
					module adrdec (
 | 
				
			||||||
  input  logic [`PA_BITS-1:0] PhysicalAddress,
 | 
					  input  logic [`PA_BITS-1:0] PhysicalAddress,  // Physical address to decode
 | 
				
			||||||
  input  logic [`PA_BITS-1:0] Base, Range,
 | 
					  input  logic [`PA_BITS-1:0] Base, Range,      // Base and range of peripheral addresses
 | 
				
			||||||
  input  logic                Supported,
 | 
					  input  logic                Supported,        // Is this peripheral supported?
 | 
				
			||||||
  input  logic                AccessValid,
 | 
					  input  logic                AccessValid,      // Is the access type valid?
 | 
				
			||||||
  input  logic [1:0]          Size,
 | 
					  input  logic [1:0]          Size,             // Size of access
 | 
				
			||||||
  input  logic [3:0]          SizeMask,
 | 
					  input  logic [3:0]          SizeMask,         // List of supported sizes: 0 = 8, 1 = 16, 2 = 32, 3 = 64-bit
 | 
				
			||||||
  output logic                Sel
 | 
					  output logic                Sel               // Decoder selects this peripheral
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  logic Match;
 | 
					  logic                       Match;            // Address matches in range
 | 
				
			||||||
  logic SizeValid;
 | 
					  logic                       SizeValid;        // Size of access is valid
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // determine if an address is in a range starting at the base
 | 
					  // determine if an address is in a range starting at the base
 | 
				
			||||||
  // for example, if Base = 0x04002000 and range = 0x00000FFF,
 | 
					  // for example, if Base = 0x04002000 and range = 0x00000FFF,
 | 
				
			||||||
@ -47,7 +47,7 @@ module adrdec (
 | 
				
			|||||||
  // determine if legal size of access is being made (byte, halfword, word, doubleword)
 | 
					  // determine if legal size of access is being made (byte, halfword, word, doubleword)
 | 
				
			||||||
  assign SizeValid = SizeMask[Size]; 
 | 
					  assign SizeValid = SizeMask[Size]; 
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  // Select this peripheral if the address matches, the peripheral is supported, and the type and size of access is ok
 | 
				
			||||||
  assign Sel = Match & Supported & AccessValid & SizeValid;
 | 
					  assign Sel = Match & Supported & AccessValid & SizeValid;
 | 
				
			||||||
 | 
					 | 
				
			||||||
endmodule
 | 
					endmodule
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user