forked from Github_Repos/cvw
		
	Moved conditional instantiation outside pmpchecker
This commit is contained in:
		
							parent
							
								
									53875a9bbd
								
							
						
					
					
						commit
						ac21bed64d
					
				| @ -107,10 +107,16 @@ module mmu #(parameter TLB_ENTRIES = 8, IMMU = 0) ( | ||||
|     .Cacheable, .Idempotent, .SelTIM, | ||||
|     .PMAInstrAccessFaultF, .PMALoadAccessFaultM, .PMAStoreAmoAccessFaultM); | ||||
|   | ||||
|   if (`PMP_ENTRIES > 0)  | ||||
|     pmpchecker pmpchecker(.PhysicalAddress, .PrivilegeModeW, | ||||
|       .PMPCFG_ARRAY_REGW, .PMPADDR_ARRAY_REGW, | ||||
|       .ExecuteAccessF, .WriteAccessM, .ReadAccessM, | ||||
|       .PMPInstrAccessFaultF, .PMPLoadAccessFaultM, .PMPStoreAmoAccessFaultM); | ||||
|   else begin | ||||
|     assign PMPInstrAccessFaultF     = 0; | ||||
|     assign PMPStoreAmoAccessFaultM  = 0; | ||||
|     assign PMPLoadAccessFaultM      = 0; | ||||
|   end | ||||
| 
 | ||||
|   // Access faults
 | ||||
|   // If TLB miss and translating we want to not have faults from the PMA and PMP checkers.
 | ||||
|  | ||||
| @ -49,7 +49,6 @@ module pmpchecker ( | ||||
|   output logic                     PMPStoreAmoAccessFaultM | ||||
| ); | ||||
| 
 | ||||
|   if (`PMP_ENTRIES > 0) begin | ||||
|   // Bit i is high when the address falls in PMP region i
 | ||||
|   logic                    EnforcePMP; | ||||
|   logic [`PMP_ENTRIES-1:0] Match; // physical address matches one of the pmp ranges
 | ||||
| @ -74,9 +73,4 @@ module pmpchecker ( | ||||
|   assign PMPInstrAccessFaultF     = EnforcePMP & ExecuteAccessF & ~|(X & FirstMatch) ; | ||||
|   assign PMPStoreAmoAccessFaultM  = EnforcePMP & WriteAccessM   & ~|(W & FirstMatch) ; | ||||
|   assign PMPLoadAccessFaultM      = EnforcePMP & ReadAccessM    & ~|(R & FirstMatch) ; | ||||
|   end else begin | ||||
|     assign PMPInstrAccessFaultF     = 0; | ||||
|     assign PMPStoreAmoAccessFaultM  = 0; | ||||
|     assign PMPLoadAccessFaultM      = 0; | ||||
|   end | ||||
|  endmodule | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user