mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			702 B
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			702 B
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
| typedef RISCV_instruction #(ILEN, XLEN, FLEN, VLEN, NHART, RETIRE) test_ins_rv64i_t;
 | |
| 
 | |
| covergroup test_fencei_cg with function sample(test_ins_rv64i_t ins);
 | |
|     option.per_instance = 1; 
 | |
|     option.comment = "Fence.I";
 | |
|   
 | |
|     cp_asm_count : coverpoint ins.ins_str == "fence.i"  iff (ins.trap == 0 )  {
 | |
|         option.comment = "Number of times instruction is executed";
 | |
|         bins count[]  = {1};
 | |
|     }
 | |
| endgroup
 | |
| 
 | |
| function void test_fencei_sample(int hart, int issue);
 | |
|     test_ins_rv64i_t ins;
 | |
| 
 | |
|     case (traceDataQ[hart][issue][0].inst_name)
 | |
|         "fenci"     : begin 
 | |
|             ins = new(hart, issue, traceDataQ); 
 | |
|             test_fencei_cg.sample(ins); 
 | |
|         end
 | |
|     endcase
 | |
| 
 | |
| endfunction
 | |
| 
 | |
| 
 |