mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Install dtlb in dmem
This commit is contained in:
		
							parent
							
								
									1a2db17ee5
								
							
						
					
					
						commit
						8c410b6fbe
					
				@ -48,13 +48,28 @@ module dmem (
 | 
				
			|||||||
  // faults
 | 
					  // faults
 | 
				
			||||||
  input  logic             DataAccessFaultM,
 | 
					  input  logic             DataAccessFaultM,
 | 
				
			||||||
  output logic             LoadMisalignedFaultM, LoadAccessFaultM,
 | 
					  output logic             LoadMisalignedFaultM, LoadAccessFaultM,
 | 
				
			||||||
  output logic             StoreMisalignedFaultM, StoreAccessFaultM
 | 
					  output logic             StoreMisalignedFaultM, StoreAccessFaultM,
 | 
				
			||||||
 | 
					  // TLB management
 | 
				
			||||||
 | 
					  //input logic  [`XLEN-1:0] PageTableEntryM,
 | 
				
			||||||
 | 
					  //input logic              DTLBWriteM, DTLBFlushM,
 | 
				
			||||||
 | 
					  // *** satp value will come from CSRs
 | 
				
			||||||
 | 
					  // input logic [`XLEN-1:0] SATP,
 | 
				
			||||||
 | 
					  output logic             DTLBMissM, DTLBHitM
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  logic             SquashSCM;
 | 
					  logic             SquashSCM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Initially no MMU
 | 
					  // Initially no MMU
 | 
				
			||||||
  assign MemPAdrM = MemAdrM;
 | 
					  // *** temporary hack until we can figure out how to get actual satp value
 | 
				
			||||||
 | 
					  // from priv unit -- Thomas F
 | 
				
			||||||
 | 
					  logic [`XLEN-1:0] SATP = '0;
 | 
				
			||||||
 | 
					  // *** temporary hack until walker is hooked up -- Thomas F
 | 
				
			||||||
 | 
					  logic  [`XLEN-1:0] PageTableEntryM = '0;
 | 
				
			||||||
 | 
					  logic DTLBFlushM = '0;
 | 
				
			||||||
 | 
					  logic DTLBWriteM = '0;
 | 
				
			||||||
 | 
					  tlb #(3) dtlb(clk, reset, SATP, MemAdrM, PageTableEntryM, DTLBWriteM,
 | 
				
			||||||
 | 
					    DTLBFlushM, MemPAdrM, DTLBMissM, DTLBHitM);
 | 
				
			||||||
 | 
					  //assign MemPAdrM = MemAdrM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Determine if an Unaligned access is taking place
 | 
						// Determine if an Unaligned access is taking place
 | 
				
			||||||
	always_comb
 | 
						always_comb
 | 
				
			||||||
 | 
				
			|||||||
@ -52,7 +52,7 @@ module ifu (
 | 
				
			|||||||
  output logic             IllegalIEUInstrFaultD,
 | 
					  output logic             IllegalIEUInstrFaultD,
 | 
				
			||||||
  output logic             InstrMisalignedFaultM,
 | 
					  output logic             InstrMisalignedFaultM,
 | 
				
			||||||
  output logic [`XLEN-1:0] InstrMisalignedAdrM,
 | 
					  output logic [`XLEN-1:0] InstrMisalignedAdrM,
 | 
				
			||||||
  // TLB Management
 | 
					  // TLB management
 | 
				
			||||||
  //input logic  [`XLEN-1:0] PageTableEntryF,
 | 
					  //input logic  [`XLEN-1:0] PageTableEntryF,
 | 
				
			||||||
  //input logic              ITLBWriteF, ITLBFlushF,
 | 
					  //input logic              ITLBWriteF, ITLBFlushF,
 | 
				
			||||||
  // *** satp value will come from CSRs
 | 
					  // *** satp value will come from CSRs
 | 
				
			||||||
 | 
				
			|||||||
@ -89,6 +89,7 @@ module wallypipelinedhart (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // memory management unit signals
 | 
					  // memory management unit signals
 | 
				
			||||||
  logic             ITLBMissF, ITLBHitF;
 | 
					  logic             ITLBMissF, ITLBHitF;
 | 
				
			||||||
 | 
					  logic             DTLBMissM, DTLBHitM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // bus interface to dmem
 | 
					  // bus interface to dmem
 | 
				
			||||||
  logic             MemReadM, MemWriteM;
 | 
					  logic             MemReadM, MemWriteM;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user