У меня есть шина следующего типа
typedef struct packed {
logic vld;
logic [ASI_MAX_PCL_CYC_M:0] cyc;
} type_t;
с определенной шириной, скажем [3: 0]
Итак type_t [3: 0] my_bus_req;
Как мне написать точку покрытия, которая говорит, что в любом тактовом цикле только один vld высок, т.е. my_bus_req [0] .vld = 1 и rest = 0. (Приходит только один запрос)in)
, если сигнал не был структурным типом, например, logic [3: 0] my_req_bus;мы могли бы просто сделать
прикрытие i iff (my_bus_req [i] .vld == 1 && $ onehot (my_bus_req))
, но не уверены, как это может бытьсделано для автобуса типа struct