Я пишу Testbench, используя Systemverilog, и я хочу иметь свободу выбора в каждом тесте либо рандомизировать некоторые переменные, либо указать их значение (из файла .do или из командной строки).Есть ли возможность в Systemverilog сделать это?
Есть много вещей, которые вы можете сделать, но самое простое - ввести +some_variable=value в командной строке, а затем в вашем коде
+some_variable=value
if (!$value$plusargs("some_variable=%0d",some_variable) some_variable = $urandom;
Объявите переменную и используйте $urandom или $urandom_range для генерации случайных значений.Если вы хотите передать значения из командной строки, вы можете использовать $value$plusargs.
$urandom
$urandom_range
$value$plusargs
Прочтите главу 21 (Системные задачи ввода / вывода) LRM, чтобы найти примеры.