在系统verilog / uvm中处理定义的最佳方法是什么

时间:2017-03-27 18:51:44

标签: system-verilog uvm

我有一个许多团队使用的验证组件。我有defineADDRESS_WIDTH,我将其设置为所有团队的所有要求的最大值。

但这看起来不是理想的解决方案。有没有办法可以用SV / UVM方式处理。

我想到了几种方式

  • 我在代理中将其列为parameter,以便人们可以使用defparams来更新它,但我还需要一种方法来单独处理interfaces

这留下了一个潜在的洞,有人可能会更新一个地方而不会改变另一个地方。

  • 还有一个命令行选项来更新定义,但如果参数列表太多,这不是理想的解决方案。

  • 我可以有一个单独的defines文件,每个人都可以拥有自己的defines文件,但这取决于编译顺序。

请告诉我其他更好的解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:1)

使用package定义interface和验证组件将使用的参数,以便保持同步。每个团队都可以修改包以满足他们的需求。

创建另一个包,指定这些参数的合法值范围,并使用接口或验证使用断言来检查团队包的值。

相关问题