Project

General

Profile

[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  Voneline
  WFH
General Info
  Papers

Issue #784

Support for SystemVerilog coverage

Added by Alex Solomatnikov almost 5 years ago. Updated almost 5 years ago.

Status:
Feature
Priority:
Normal
Assignee:
-
Category:
Unsupported
% Done:

0%


Description

Example RTL:

    covergroup cg_forward_path_control @(posedge clk);
       rd_state:   coverpoint {rd_cnt_not_zero, rd_deq} {
          illegal_bins illegal = { 2'b01 };
       }

       f_state:    coverpoint {f_uop_v, f_issue} {
          illegal_bins illegal = { 2'b01 };
       }

       rt_state: coverpoint {rt_cnt_not_zero, rt_fsm_v, rt_to_issue_v, rt_issue} {
          wildcard illegal_bins illegal = { 4'b??01 };
       }

       ry_state:  coverpoint {ry_cnt_not_zero, ry_to_issue_v, ry_issue} {
          wildcard illegal_bins illegal = { 3'b?01 };
       }

       state_cross: cross rd_state, f_state, rt_state, ry_state {
          wildcard illegal_bins ill1 = (binsof(rd_state) intersect { 2'b1? })   && ( (binsof(f_state)  intersect { 2'b?1 })   ||
                                                                                     (binsof(rt_state) intersect { 4'b???1 }) ||
                                                                                     (binsof(ry_state) intersect { 3'b??1 }) );
          wildcard illegal_bins ill2 = (binsof(f_state)  intersect { 2'b?1 })   && ( (binsof(rt_state) intersect { 4'b???1 }) ||
                                                                                     (binsof(ry_state) intersect { 3'b??1 }) );
          wildcard illegal_bins ill3 = (binsof(rt_state) intersect { 4'b???1 }) &&   (binsof(ry_state) intersect { 3'b??1 });
       }

       b2d_control: coverpoint {b2d_needed_pulse, b2d_v, b2d_v_d1, b2d_v_wait, b2d_out_en} {
          wildcard illegal_bins ill1 = { 7'b???11?? };
          wildcard illegal_bins ill2 = { 7'b?????01 };
       }
       option.per_instance = 1;
    endgroup // cg_forward_path_control

History

#1 Updated by Wilson Snyder almost 5 years ago

  • Subject changed from Support for SystemVerilog coverage: covergroup/coverpoint/bins/ignore_bins/illegal_bins/cross/wildcard/binsof/intersect/option.per_instance to Support for SystemVerilog coverage
  • Category set to Unsupported
  • Status changed from New to Feature

This be great to have a patch for, as I don't think there is anyone working on this.

BTW another related project I would like to see is moving the SystemPerl coverage scripts into the verilator kit itself.

Also available in: Atom