数组定位器函数的原型
Prototype for array locator functions
我正在考虑创建一个通用的 task/function,它将从任何给定的 ovm 分析端口读取一个事务,如果该事务匹配用户提供的某些约束,那么我将触发一个找到匹配事务的事件。
我希望用户传递约束,就像我们使用 with 子句通过数组定位器函数传递它一样
out = arr.find_first with (item == 10);
许多 SystemVerilog 构造中的 with
子句对 OOP 不是很友好。无法将 with
表达式作为参数传递。
您可能想尝试的两种软件设计模式是
- 工厂 - 允许用户使用差异比较功能扩展这些功能
- 政策 class - 您可以制定 class 其唯一目的是提供比较功能。
我正在考虑创建一个通用的 task/function,它将从任何给定的 ovm 分析端口读取一个事务,如果该事务匹配用户提供的某些约束,那么我将触发一个找到匹配事务的事件。
我希望用户传递约束,就像我们使用 with 子句通过数组定位器函数传递它一样
out = arr.find_first with (item == 10);
许多 SystemVerilog 构造中的 with
子句对 OOP 不是很友好。无法将 with
表达式作为参数传递。
您可能想尝试的两种软件设计模式是
- 工厂 - 允许用户使用差异比较功能扩展这些功能
- 政策 class - 您可以制定 class 其唯一目的是提供比较功能。