mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	csr cleanup
This commit is contained in:
		
							parent
							
								
									e4f4b31896
								
							
						
					
					
						commit
						97bddf0d54
					
				@ -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