Hello,

Is there a easier way in SV to define coverpoint to do a toggle coverage on every bit of a 32 bit vector. Meaning If I have a 32-bit interrupt mask vector and I just want to see if each interrupt was either masked or unmasked , I usually have to code 32 lines of code. for instance

```
cp_interrupting_csrmask0 : coverpoint m_csr_intr_mask.interrupting_csrmask[0];
cp_interrupting_csrmask1 : coverpoint m_csr_intr_mask.interrupting_csrmask[1];
cp_interrupting_csrmask2 : coverpoint m_csr_intr_mask.interrupting_csrmask[2];
cp_interrupting_csrmask3 : coverpoint m_csr_intr_mask.interrupting_csrmask[3];
cp_interrupting_csrmask4 : coverpoint m_csr_intr_mask.interrupting_csrmask[4];
cp_interrupting_csrmask5 : coverpoint m_csr_intr_mask.interrupting_csrmask[5];
cp_interrupting_csrmask6 : coverpoint m_csr_intr_mask.interrupting_csrmask[6];
cp_interrupting_csrmask7 : coverpoint m_csr_intr_mask.interrupting_csrmask[7];
cp_interrupting_csrmask8 : coverpoint m_csr_intr_mask.interrupting_csrmask[8];
cp_interrupting_csrmask9 : coverpoint m_csr_intr_mask.interrupting_csrmask[9];
cp_interrupting_csrmask10 : coverpoint m_csr_intr_mask.interrupting_csrmask[10];
cp_interrupting_csrmask11 : coverpoint m_csr_intr_mask.interrupting_csrmask[11];
cp_interrupting_csrmask12 : coverpoint m_csr_intr_mask.interrupting_csrmask[12];
cp_interrupting_csrmask13 : coverpoint m_csr_intr_mask.interrupting_csrmask[13];
cp_interrupting_csrmask14 : coverpoint m_csr_intr_mask.interrupting_csrmask[14];
cp_interrupting_csrmask15 : coverpoint m_csr_intr_mask.interrupting_csrmask[15];
cp_interrupting_csrmask16 : coverpoint m_csr_intr_mask.interrupting_csrmask[16];
cp_interrupting_csrmask17 : coverpoint m_csr_intr_mask.interrupting_csrmask[17];
cp_interrupting_csrmask18 : coverpoint m_csr_intr_mask.interrupting_csrmask[18];
cp_interrupting_csrmask19 : coverpoint m_csr_intr_mask.interrupting_csrmask[19];
cp_interrupting_csrmask20 : coverpoint m_csr_intr_mask.interrupting_csrmask[20];
cp_interrupting_csrmask21 : coverpoint m_csr_intr_mask.interrupting_csrmask[21];
cp_interrupting_csrmask22 : coverpoint m_csr_intr_mask.interrupting_csrmask[22];
cp_interrupting_csrmask23 : coverpoint m_csr_intr_mask.interrupting_csrmask[23];
cp_interrupting_csrmask24 : coverpoint m_csr_intr_mask.interrupting_csrmask[24];
cp_interrupting_csrmask25 : coverpoint m_csr_intr_mask.interrupting_csrmask[25];
cp_interrupting_csrmask26 : coverpoint m_csr_intr_mask.interrupting_csrmask[26];
cp_interrupting_csrmask27 : coverpoint m_csr_intr_mask.interrupting_csrmask[27];
cp_interrupting_csrmask28 : coverpoint m_csr_intr_mask.interrupting_csrmask[28];
cp_interrupting_csrmask29 : coverpoint m_csr_intr_mask.interrupting_csrmask[29];
cp_interrupting_csrmask30 : coverpoint m_csr_intr_mask.interrupting_csrmask[30];
cp_interrupting_csrmask31 : coverpoint m_csr_intr_mask.interrupting_csrmask[31];
```

Is there a neater way to do a toggle functional coverage bitwise for a vector.

Regards,

Nisreen