2016-01-12 63 views
0

我正在考慮創建一個通用任務/函數,它將從任何給定的ovm分析端口讀取事務,並且如果事務匹配用戶提供的某個約束,那麼我將觸發匹配事務的事件。陣列定位器功能的原型

我希望用戶像我們使用WITH子句陣列定位器功能,如

out = arr.find_first with (item == 10); 

回答

0

with條款在很多的SystemVerilog的結構的傳遞通過約束是不是很友好OOP。沒有辦法通過with表達式作爲參數。你可能想嘗試

兩個軟件設計模式是

  • 工廠 - 在那裏你允許用戶與別不同的擴展這些功能比較功能
  • 一個策略類 - 你可以讓類,其唯一的目的是提供一個比較功能。
+0

有沒有辦法將差異比較函數作爲參數傳遞?就像我們在C中傳遞函數指針一樣。 –

+0

這就是你要做的一個策略類。 –