реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Verilog $random
likeasm
сообщение May 19 2017, 17:13
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 139
Регистрация: 15-04-10
Пользователь №: 56 673



Доброй всем пятницы! Пытаюсь освоить $random для Verilog в среде xilinx ISE 14 с целью симуляции случайной начальной задержки в определенном диапазоне. Только проблема в том, что начальная задержка не совсем случайная получается, а скажем, строго фиксированная из заданного мной диапазона при каждом перезапуске симуляции, если не менять аргументов функции $random. Это очередная особенность Verilog или среды ISE, или я чего-то не так делаю?
Go to the top of the page
 
+Quote Post
Fitc
сообщение May 19 2017, 21:18
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 21-10-11
Пользователь №: 67 894



random генерирует псевдослучайные значения в соответствии с алгоритмом генерации псевдослучаных значений, впервые определенном ЕМНИП в стандарте IEEE 1364-2001. Аргументом является начальное значение генератора псевдослучаных чисел (seed). Для одинакового seed последолвательность псевдослучайных значений между запусками моделирования не изменяется.
Go to the top of the page
 
+Quote Post
likeasm
сообщение May 19 2017, 22:27
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 139
Регистрация: 15-04-10
Пользователь №: 56 673



Спасибо за ответ, я похоже не так сформировал вопрос. Если не брать чтение из файла, сформировать случайный seed для функции random можно стандартными средствами Verilog?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 20 2017, 05:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 118
Регистрация: 17-02-06
Пользователь №: 14 454



Рандом должен быть повторяемым, иначе вы поймав ошибку не сможете ее воспроизвести. Так что выносите сид в параметры и меняйте их от запуска к запуску. Можно попробовать как то текущее время подтянуть как сиид, или время компиляции исходников...
Go to the top of the page
 
+Quote Post
Fitc
сообщение May 20 2017, 13:38
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 21-10-11
Пользователь №: 67 894



Цитата(likeasm @ May 20 2017, 01:27) *
Спасибо за ответ, я похоже не так сформировал вопрос. Если не брать чтение из файла, сформировать случайный seed для функции random можно стандартными средствами Verilog?

автоматизированно проще всего это сделать средствами tcl-скрипта: в random передать в качестве аргумента параметр или макроопределение, значение которого передается в команде запуска моделирования, сгенерировать средствами tcl случайный seed и передать его в команду запуска моделирования, при этом не забыть сохранить значение seed, чтобы в случае ошибки воспроизвести random-последовательность
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd May 2017 - 21:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.03826 секунд с 7
ELECTRONIX ©2004-2016