假設我們有一個協議,其中請求req
被認定爲req_id
並且對應的rsp
將被認定爲rsp_id
。這些可能無序。我想覆蓋req
與特定req_id
和rsp
之間的時間間隔或等待時間的數目與相同的ID。我嘗試過這樣的事情。這是正確的做法嗎?有沒有其他有效的方法?如何覆蓋請求和響應之間的延遲
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
**沒有工作**意味着什麼?編譯器錯誤?沒有覆蓋?請提供一個測試用例。 –
我很抱歉。我想知道這是否是正確的做法?這會覆蓋我的延遲嗎? – user1978273