| @@ -0,0 +1,42 @@ | |||||
| covergroup write_cg; | |||||
| option.per_instance=1; | |||||
| awaddr_cp: coverpoint wr_xtn.AWADDR{bins awaddr_bin={[0:'hffff_ffff]};} | |||||
| awburst_cp: coverpoint wr_xtn.AWBURST{bins awburst_bin[]={[0:2]};} | |||||
| awsize_cp : coverpoint wr_xtn.AWSIZE{bins awsize_bin[]={[0:2]};} | |||||
| awlen_cp : coverpoint wr_xtn.AWLEN{bins awlen_bin={[0:11]};} | |||||
| bresp_cp : coverpoint wr_xtn.BRESP{bins bresp_bin={0};} | |||||
| WRITE_ADDR_CROSS: cross awburst_cp,awsize_cp,awlen_cp; | |||||
| endgroup | |||||
| covergroup write_cg1 with function sample(int i); | |||||
| option.per_instance=1; | |||||
| wdata_cp : coverpoint wr_xtn.WDATA[i]{bins wdata_bin={[0:'hffff_ffff]};} | |||||
| wstrb_cp : coverpoint wr_xtn.WSTRB[i]{bins wstrobe_bin0={4'b1111}; | |||||
| bins wstrobe_bin1={4'b1100}; | |||||
| bins wstrobe_bin2={4'b0011}; | |||||
| bins wstrobe_bin3={4'b1000}; | |||||
| bins wstrobe_bin4={4'b0100}; | |||||
| bins wstrobe_bin5={4'b0010}; | |||||
| bins wstrobe_bin6={4'b0001}; | |||||
| bins wstrobe_bin7={4'b1110}; | |||||
| } | |||||
| WRITE_DATA_CROSS: cross wdata_cp,wstrb_cp; | |||||
| endgroup | |||||
| covergroup read_cg; | |||||
| option.per_instance=1; | |||||
| araddr_cp: coverpoint rd_xtn.ARADDR{bins araddr_bin={[0:'hffff_ffff]};} | |||||
| arburst_cp: coverpoint rd_xtn.ARBURST{bins arburst_bin[]={[0:2]};} | |||||
| arsize_cp : coverpoint rd_xtn.ARSIZE{bins arsize_bin[]={[0:2]};} | |||||
| arlen_cp : coverpoint rd_xtn.ARLEN{bins arlen_bin={[0:11]};} | |||||
| READ_ADDR_CROSS: cross arburst_cp,arsize_cp,arlen_cp; | |||||
| endgroup | |||||
| covergroup read_cg1 with function sample(int i); | |||||
| option.per_instance=1; | |||||
| rdata_cp : coverpoint rd_xtn.RDATA[i]{bins rdata_bin={[0:'hffff_ffff]};} | |||||
| rresp_cp : coverpoint rd_xtn.RRESP[i]{bins rresp_bin={0};} | |||||
| endgroup | |||||