Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

43 rader
2.2 KiB

  1. covergroup write_cg;
  2. option.per_instance=1;
  3. awaddr_cp: coverpoint wr_xtn.AWADDR{bins awaddr_bin={[0:'hffff_ffff]};}
  4. awburst_cp: coverpoint wr_xtn.AWBURST{bins awburst_bin[]={[0:2]};}
  5. awsize_cp : coverpoint wr_xtn.AWSIZE{bins awsize_bin[]={[0:2]};}
  6. awlen_cp : coverpoint wr_xtn.AWLEN{bins awlen_bin={[0:11]};}
  7. bresp_cp : coverpoint wr_xtn.BRESP{bins bresp_bin={0};}
  8. WRITE_ADDR_CROSS: cross awburst_cp,awsize_cp,awlen_cp;
  9. endgroup
  10. covergroup write_cg1 with function sample(int i);
  11. option.per_instance=1;
  12. wdata_cp : coverpoint wr_xtn.WDATA[i]{bins wdata_bin={[0:'hffff_ffff]};}
  13. wstrb_cp : coverpoint wr_xtn.WSTRB[i]{bins wstrobe_bin0={4'b1111};
  14. bins wstrobe_bin1={4'b1100};
  15. bins wstrobe_bin2={4'b0011};
  16. bins wstrobe_bin3={4'b1000};
  17. bins wstrobe_bin4={4'b0100};
  18. bins wstrobe_bin5={4'b0010};
  19. bins wstrobe_bin6={4'b0001};
  20. bins wstrobe_bin7={4'b1110};
  21. }
  22. WRITE_DATA_CROSS: cross wdata_cp,wstrb_cp;
  23. endgroup
  24. covergroup read_cg;
  25. option.per_instance=1;
  26. araddr_cp: coverpoint rd_xtn.ARADDR{bins araddr_bin={[0:'hffff_ffff]};}
  27. arburst_cp: coverpoint rd_xtn.ARBURST{bins arburst_bin[]={[0:2]};}
  28. arsize_cp : coverpoint rd_xtn.ARSIZE{bins arsize_bin[]={[0:2]};}
  29. arlen_cp : coverpoint rd_xtn.ARLEN{bins arlen_bin={[0:11]};}
  30. READ_ADDR_CROSS: cross arburst_cp,arsize_cp,arlen_cp;
  31. endgroup
  32. covergroup read_cg1 with function sample(int i);
  33. option.per_instance=1;
  34. rdata_cp : coverpoint rd_xtn.RDATA[i]{bins rdata_bin={[0:'hffff_ffff]};}
  35. rresp_cp : coverpoint rd_xtn.RRESP[i]{bins rresp_bin={0};}
  36. endgroup