enum {Idle, S1, S2} State;
covergroup cg_State @(posedge Clock);
states : coverpoint State;
state_trans : coverpoint State {
bins legal[] = ( Idle => S1, S2 ),
( S1, S2 => Idle);
bins idle[] = ( Idle [* 2:4] );
bins illegal = default sequence;
}
endgroup
Для одного перечисления я знаю, что покрытие перехода выглядит так, как указано выше
В моем случае у меня есть два перечисления, которые представлены ниже:
typedef enum {RST=0,START=1,PAUSE=2,RESUME=3} instr_t;
typedef enum {IDLE=0,RUNNING=1,PAUSED=2,EXPIRED=3} state_t;
Я пытаюсь написать точку покрытия для IDLE => RST, START => RUNNING
и т. Д., Но не могу найти способ сделать это,
Может кто-нибудь сказать, есть ли какой-нибудь возможный способ сделать это, например (IDLE=> RST, IDLE => START
и т. Д.)