mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	csr cleanup
This commit is contained in:
		
							parent
							
								
									be236d9438
								
							
						
					
					
						commit
						c9c174de49
					
				| @ -209,13 +209,6 @@ module csr #(parameter | ||||
|     .STATUS_MPP, .STATUS_SPP, .STATUS_TSR, .STATUS_TW, | ||||
|     .STATUS_MIE, .STATUS_SIE, .STATUS_MXR, .STATUS_SUM, .STATUS_MPRV, .STATUS_TVM, | ||||
|     .STATUS_FS, .BigEndianM); | ||||
|   csrc  counters(.clk, .reset, .StallE, .StallM, .FlushM, | ||||
|               .InstrValidNotFlushedM, .LoadStallD, .CSRMWriteM, | ||||
|               .DirPredictionWrongM, .BTBPredPCWrongM, .RASPredPCWrongM, .PredictionInstrClassWrongM, | ||||
|               .InstrClassM, .DCacheMiss, .DCacheAccess, .ICacheMiss, .ICacheAccess, | ||||
|               .CSRAdrM, .PrivilegeModeW, .CSRWriteValM, | ||||
|               .MCOUNTINHIBIT_REGW, .MCOUNTEREN_REGW, .SCOUNTEREN_REGW, | ||||
|               .MTIME_CLINT,  .CSRCReadValM, .IllegalCSRCAccessM); | ||||
|   csrm  csrm(.clk, .reset, .InstrValidNotFlushedM,  | ||||
|     .CSRMWriteM, .MTrapM, .CSRAdrM, | ||||
|     .NextEPCM, .NextCauseM, .NextMtvalM, .MSTATUS_REGW, .MSTATUSH_REGW, | ||||
| @ -236,6 +229,18 @@ module csr #(parameter | ||||
|     .CSRUWriteM, .CSRAdrM, .CSRWriteValM, .STATUS_FS, .CSRUReadValM,   | ||||
|     .SetFflagsM, .FRM_REGW, .WriteFRMM, .WriteFFLAGSM, | ||||
|     .IllegalCSRUAccessM); | ||||
|   if (`ZICOUNTERS_SUPPORTED) begin:counters | ||||
|     csrc  counters(.clk, .reset, .StallE, .StallM, .FlushM, | ||||
|       .InstrValidNotFlushedM, .LoadStallD, .CSRMWriteM, | ||||
|       .DirPredictionWrongM, .BTBPredPCWrongM, .RASPredPCWrongM, .PredictionInstrClassWrongM, | ||||
|       .InstrClassM, .DCacheMiss, .DCacheAccess, .ICacheMiss, .ICacheAccess, | ||||
|       .CSRAdrM, .PrivilegeModeW, .CSRWriteValM, | ||||
|       .MCOUNTINHIBIT_REGW, .MCOUNTEREN_REGW, .SCOUNTEREN_REGW, | ||||
|       .MTIME_CLINT,  .CSRCReadValM, .IllegalCSRCAccessM); | ||||
|   end else begin | ||||
|     assign CSRCReadValM = 0; | ||||
|     assign IllegalCSRCAccessM = 1; // counters aren't enabled
 | ||||
|   end | ||||
| 
 | ||||
|   // merge CSR Reads
 | ||||
|   assign CSRReadValM = CSRUReadValM | CSRSReadValM | CSRMReadValM | CSRCReadValM;  | ||||
|  | ||||
| @ -61,7 +61,6 @@ module csrc #(parameter | ||||
|   output logic 	            IllegalCSRCAccessM | ||||
| ); | ||||
| 
 | ||||
|   if (`ZICOUNTERS_SUPPORTED) begin:counters | ||||
|   logic [4:0]  CounterNumM; | ||||
|   (* mark_debug = "true" *)     logic [`XLEN-1:0] HPMCOUNTER_REGW[`COUNTERS-1:0]; | ||||
|   logic [`XLEN-1:0] HPMCOUNTERH_REGW[`COUNTERS-1:0]; | ||||
| @ -156,10 +155,6 @@ module csrc #(parameter | ||||
|       CSRCReadValM = 0; | ||||
|       IllegalCSRCAccessM = 1; // no privileges for this csr
 | ||||
|     end | ||||
|   end else begin | ||||
|     assign CSRCReadValM = 0; | ||||
|     assign IllegalCSRCAccessM = 1; // counters aren't enabled
 | ||||
|   end | ||||
| endmodule | ||||
| 
 | ||||
| // To Do:
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user