likeasm 0 19 мая, 2017 Опубликовано 19 мая, 2017 · Жалоба Доброй всем пятницы! Пытаюсь освоить $random для Verilog в среде xilinx ISE 14 с целью симуляции случайной начальной задержки в определенном диапазоне. Только проблема в том, что начальная задержка не совсем случайная получается, а скажем, строго фиксированная из заданного мной диапазона при каждом перезапуске симуляции, если не менять аргументов функции $random. Это очередная особенность Verilog или среды ISE, или я чего-то не так делаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fitc 0 19 мая, 2017 Опубликовано 19 мая, 2017 · Жалоба random генерирует псевдослучайные значения в соответствии с алгоритмом генерации псевдослучаных значений, впервые определенном ЕМНИП в стандарте IEEE 1364-2001. Аргументом является начальное значение генератора псевдослучаных чисел (seed). Для одинакового seed последолвательность псевдослучайных значений между запусками моделирования не изменяется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
likeasm 0 19 мая, 2017 Опубликовано 19 мая, 2017 · Жалоба Спасибо за ответ, я похоже не так сформировал вопрос. Если не брать чтение из файла, сформировать случайный seed для функции random можно стандартными средствами Verilog? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 20 мая, 2017 Опубликовано 20 мая, 2017 · Жалоба Рандом должен быть повторяемым, иначе вы поймав ошибку не сможете ее воспроизвести. Так что выносите сид в параметры и меняйте их от запуска к запуску. Можно попробовать как то текущее время подтянуть как сиид, или время компиляции исходников... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fitc 0 20 мая, 2017 Опубликовано 20 мая, 2017 · Жалоба Спасибо за ответ, я похоже не так сформировал вопрос. Если не брать чтение из файла, сформировать случайный seed для функции random можно стандартными средствами Verilog? автоматизированно проще всего это сделать средствами tcl-скрипта: в random передать в качестве аргумента параметр или макроопределение, значение которого передается в команде запуска моделирования, сгенерировать средствами tcl случайный seed и передать его в команду запуска моделирования, при этом не забыть сохранить значение seed, чтобы в случае ошибки воспроизвести random-последовательность Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
egorman44 0 31 мая, 2017 Опубликовано 31 мая, 2017 · Жалоба сгенерировать средствами tcl случайный seed В качестве такого seed можно взять текущий момент запуска теста , преобразованный в необходимый формат . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться