forked from Github_Repos/cvw
		
	give EBU a dedicated PMA unit as just an address decoder
This commit is contained in:
		
							parent
							
								
									9b27cd6fb7
								
							
						
					
					
						commit
						303f8e2a7f
					
				| @ -48,7 +48,7 @@ module uncore ( | ||||
|   input  logic [3:0]       HSIZED, | ||||
|   input  logic             HWRITED, | ||||
|   // PMA checker signals
 | ||||
|   input  logic [5:0]       HSELRegions, | ||||
|   input  logic             AtomicAccessM, ExecuteAccessF, WriteAccessM, ReadAccessM, | ||||
|   // bus interface
 | ||||
|   // PMA checker now handles access faults. *** This can be deleted
 | ||||
|   // output logic             DataAccessFaultM,
 | ||||
| @ -64,6 +64,7 @@ module uncore ( | ||||
|   logic [`XLEN-1:0] HWDATA; | ||||
|   logic [`XLEN-1:0] HREADTim, HREADCLINT, HREADPLIC, HREADGPIO, HREADUART; | ||||
| 
 | ||||
|   logic [5:0]      HSELRegions; | ||||
|   logic            HSELTim, HSELCLINT, HSELPLIC, HSELGPIO, PreHSELUART, HSELUART; | ||||
|   logic            HSELTimD, HSELCLINTD, HSELPLICD, HSELGPIOD, HSELUARTD; | ||||
|   logic            HRESPTim, HRESPCLINT, HRESPPLIC, HRESPGPIO, HRESPUART; | ||||
| @ -73,6 +74,8 @@ module uncore ( | ||||
|   logic [1:0]      MemRWboottim; | ||||
|   logic            UARTIntr,GPIOIntr; | ||||
| 
 | ||||
|   pmachecker ebuAdrDec(.PhysicalAddress('0),.Size('0),.Cacheable(),.Idempotent(),.AtomicAllowed(),.PMASquashBusAccess(),.PMAInstrAccessFaultF(),.PMALoadAccessFaultM(),.PMAStoreAccessFaultM(),.*); | ||||
| 
 | ||||
|   // unswizzle HSEL signals
 | ||||
|   assign {HSELBootTim, HSELTim, HSELCLINT, HSELGPIO, HSELUART, HSELPLIC} = HSELRegions; | ||||
| 
 | ||||
|  | ||||
| @ -52,7 +52,9 @@ module wallypipelinedhart ( | ||||
|   // Delayed signals for subword write
 | ||||
|   output logic [2:0]       HADDRD, | ||||
|   output logic [3:0]       HSIZED, | ||||
|   output logic             HWRITED | ||||
|   output logic             HWRITED, | ||||
|   // Access signals for PMA decoder
 | ||||
|   output logic             AtomicAccessM, ExecuteAccessF, WriteAccessM, ReadAccessM | ||||
| ); | ||||
| 
 | ||||
|    //  logic [1:0]  ForwardAE, ForwardBE;
 | ||||
| @ -116,7 +118,7 @@ module wallypipelinedhart ( | ||||
|   logic [1:0]       PageTypeF, PageTypeM; | ||||
| 
 | ||||
|   // PMA checker signals
 | ||||
|   logic             AtomicAccessM, ExecuteAccessF, WriteAccessM, ReadAccessM; | ||||
|   //logic             AtomicAccessM, ExecuteAccessF, WriteAccessM, ReadAccessM;
 | ||||
|   logic             PMPInstrAccessFaultF, PMPLoadAccessFaultM, PMPStoreAccessFaultM; | ||||
|   logic             PMAInstrAccessFaultF, PMALoadAccessFaultM, PMAStoreAccessFaultM; | ||||
|   logic             DSquashBusAccessM, ISquashBusAccessF; | ||||
|  | ||||
| @ -62,6 +62,7 @@ module wallypipelinedsoc ( | ||||
|   logic             HREADY, HRESP; | ||||
|   logic [5:0]       HSELRegions; | ||||
|   logic             InstrAccessFaultF, DataAccessFaultM; | ||||
|   logic             AtomicAccessM, ExecuteAccessF, WriteAccessM, ReadAccessM; // to uncore PMA decoder
 | ||||
|   logic             TimerIntM, SwIntM; // from CLINT
 | ||||
|   logic [63:0]      MTIME_CLINT, MTIMECMP_CLINT; // from CLINT to CSRs
 | ||||
|   logic             ExtIntM; // from PLIC
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user