requestreq
が でアサートされreq_id
、対応rsp
するものが でアサートされるプロトコルがあるとしrsp_id
ます。これらは故障している可能性があります。req
特定の IDreq_id
とrsp
同じ ID の間の clks またはレイテンシーの数をカバーしたいと考えています。私はこのようなものを試しました。これは正しい方法ですか?他に効率的な方法はありますか?
covergroup cg with function sample(int a);
coverpoint a {
a1: bins short_latency = {[0:10]};
a2: bins med_latency = {[11:100]};
a3: bins long_latency = {[101:1000]};
}
endgroup
// Somewhere in code
cg cg_inst = new();
sequence s;
int lat;
int id;
@(posedge clk) disable iff (~rst)
(req, id = req_id, lat = 0) |-> ##[1:$] ((1'b1, lat++) and (rsp && rsp_id == id, cg_inst.sample(lat)));
endsequence