【问题标题】:what is the best way to handle defines in system verilog/uvm在系统 verilog/uvm 中处理定义的最佳方法是什么
【发布时间】:2017-03-27 18:51:44
【问题描述】:

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

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

我想到了几种方法

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

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

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

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

请让我知道还有哪些更好的解决方案。

提前致谢。

【问题讨论】:

  • 如何在package 中定义参数然后从那里引用它?同一个包中定义的类可以引用不带::的参数

标签: system-verilog uvm


【解决方案1】:

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

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

【讨论】:

  • 很好的建议。非常感谢。
猜你喜欢
  • 2017-01-15
  • 2010-09-06
  • 2021-09-10
  • 2015-10-24
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多