枚举变量的可选随机化

Optional Randomization of enum variable

我正在使用 Systemverilog 编写测试台,我希望在每个测试中自由选择随机化一些变量或指定它们的值(从 .do 文件或命令行)。 Systemverilog 中是否有任何选项可以执行此操作?

声明一个变量并使用$urandom$urandom_range生成随机值。当你想从命令行传递值时,你可以使用$value$plusargs

阅读 LRM 的第 21 章(Input/output 系统任务)以查找示例。

您可以做很多事情,但最简单的是将 +some_variable=value 放在命令行上,然后在您的代码中

if (!$value$plusargs("some_variable=%0d",some_variable)
   some_variable = $urandom;