Добавить функциональное покрытие для сигнала с условием - PullRequest
0 голосов
/ 22 апреля 2019

Я новичок в функциональном освещении в системе-verilog. Я хочу написать кавер-группу, когда два сигнала не равны.

Например, у меня есть два отдельных покрытия для каждого сигнала.

    covergroup group1 @(posedge `TB_TOP.clk); 
    cpb_1 : coverpoint `TB_TOP.sig1 {
        bins r_zero = {0};
        bins r_one = {1};
     endgroup
    covergroup group2 @(posedge `TB_TOP.clk); 
    cpb_2 : coverpoint `TB_TOP.sig2 {
        bins r_zero = {0};
        bins r_one = {1};
     endgroup

Теперь я хочу добавить еще один, когда sig1 не равен sig2 в позиции часов. Спасибо

1 Ответ

1 голос
/ 23 апреля 2019

Ты имеешь в виду что-то подобное?

covergroup group3 @(posedge `TB_TOP.clk);
  // coverpoint can take an expression, so provide sig1!=sig2
  cpb_3: coverpoint (`TB_TOP.sig1 != `TB_TOP.sig2) {
    // Since we only want to cover this case, sample a true value (1) only
    bins covered = {1};
  }
endgroup
...