Перейти к содержанию
    

Генератор случайных чисел на VHDL

Если Гауссовскость не нужна - можно испльзовать просто LFSR, у Xilinx на тему есть XAPP. Если сильно прижмет - могу куда-нибудь выложить тексты.
Будьте добры, выложите, пожалуйста, имеющуюся у Вас информацию об этом на местный ФТП или на почту paul_paul (gav-gav) ngs (tochka) ru

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендую следующий ресурс:

 

http://web.univ-ubs.fr/lester/~boutillon/wgng/wgng.html

 

неплохой генератор белого, и что наиболее сложно - Гауссовского шума. Я когда-то писал разработчику, и получил исходные тексты на VHDL. Работает корректно. Реализация - приемлемая, можно использовать в качестве базы для своих разработок, или как пример. На тему есть неплохая статья.

 

Если Гауссовскость не нужна - можно испльзовать просто LFSR, у Xilinx на тему есть XAPP.

 

Если сильно прижмет - могу куда-нибудь выложить тексты.

 

Доступа на фтп у меня нет. Не могли бы вы прислать тексты на ящик alfinyu(собака)мэйл.ру

Заранее спасибо :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исходные тексты всем выслал. При необходимости - пишите в личку.

 

Из основных ограничений (для меня) сразу отмечу формирование одного выходного отсчета на четыре тактовых импульса - возможна доработка с ростом ресурсов ПЛИС, но для данной задачи это вполне приемлемо. В любом случае - спасибо автору за бесплатный пример, что встречается далеко не часто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исходные тексты всем выслал. При необходимости - пишите в личку.

 

Из основных ограничений (для меня) сразу отмечу формирование одного выходного отсчета на четыре тактовых импульса - возможна доработка с ростом ресурсов ПЛИС, но для данной задачи это вполне приемлемо. В любом случае - спасибо автору за бесплатный пример, что встречается далеко не часто.

 

Спасибо автору и спасибо Вам,что выслали очень интересный пример. :a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исходные тексты всем выслал. При необходимости - пишите в личку.
Посмотрел. Как-то чересчур сложно мне показалось. Вот такой у меня генератор ПСП в графике получился (см. прикрепление)

generator_psp.bmp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исходные тексты всем выслал. При необходимости - пишите в личку.
Посмотрел. Как-то чересчур сложно мне показалось. Вот такой у меня генератор ПСП в графике получился (см. прикрепление)

 

А Вы уверены что получите нужное распределение своим генератором :) ? Автор упомянутых исходников получает гауссовское распределение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А Вы уверены что получите нужное распределение своим генератором :) ? Автор упомянутых исходников получает гауссовское распределение.
Ясно, я не вникал особо.

Подумал, что речь об этом идёт:

Если Гауссовскость не нужна - можно испльзовать просто LFSR, у Xilinx на тему есть XAPP. Если сильно прижмет - могу куда-нибудь выложить тексты.
Т.е. думал, что там пример про LFSR. У меня тоже на LFSR, гауссовости нет, зато есть простота реализации :)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если кому надо. Случайно наткнулся на реализацию Mersenne Twister (Вихря Менсона) на VHDL. Проверил она сентезиться в XST 9.2

http://www.ht-lab.com/freecores/mt32/mersenne.html

 

Говорит что работает на 336МГц на Virtex4-SX35

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример простого генератора псевдослучайных чисел с кратким объяснением работы смотри вложения :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример с кратким объяснением работы смотри вложения

 

Ээ это не совсем так, генератор ПСП это конечно хорошо, но длинна псевдослучайной последовательности 2^19937-1 это значительно кручем чем обычное ПСП

см. http://www.math.sci.hiroshima-u.ac.jp/~m-m...ARTICLES/mt.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос немного не в тему....

Как сделать на FPGA самому генератор случайной последовательности, т.е. не псевдо, а полностью.

Чтоб к FPGA подключать мелкий микроконтроллер с кодовыми ключами, а все вместе использовать для интеллектуальной защиты IP.

Конечно есть готовые решения с ИМС, но хотелось бы что-то свое…

Изменено пользователем 608

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос немного не в тему....

Как сделать на FPGA самому генератор случайной последовательности, т.е. не псевдо, а полностью.

Чтоб к FPGA подключать мелкий микроконтроллер с кодовыми ключами, а все вместе использовать для интеллектуальной защиты IP.

Конечно есть готовые решения с ИМС, но хотелось бы что-то свое…

См. http://electronix.ru/forum/index.php?s=&am...st&p=120223

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос немного не в тему....

Как сделать на FPGA самому генератор случайной последовательности, т.е. не псевдо, а полностью.

Чтоб к FPGA подключать мелкий микроконтроллер с кодовыми ключами, а все вместе использовать для интеллектуальной защиты IP.

Конечно есть готовые решения с ИМС, но хотелось бы что-то свое…

если попроще, так пара ринг осцилляторов разной длинны, выходы семплирутся, ксорятся и на выходе что-то подобное к рандому

можно также семплить один быстрый ринг осциллятор другим медленным

материалов полно, пригодных в той или иной мере к реализации на ФПГА. например Goliс "High-Speed True Random Number Generation with Logic Gates Only" с CHES 2007

а если что-то серьезнее, то ..... все над этм работаю, в т.ч. Интел, ВИА и т.д. ;)

успехов :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если попроще, так пара ринг осцилляторов разной длинны, выходы семплирутся, ксорятся и на выходе что-то подобное к рандому

Уточните, плз, слова: ринг осциллятор,.. семплируются,... ксорятся... Что это такое и как это все вместе работает? Какие частоты предпочтительней, хотябы приблизительно?

На сколько они приблизят псевдо-генератор к случайному? Что останется еще не случайным?

 

можно также семплить один быстрый ринг осциллятор другим медленным

материалов полно, пригодных в той или иной мере к реализации на ФПГА. например Goliс "High-Speed True Random Number Generation with Logic Gates Only" с CHES 2007

а если что-то серьезнее, то ..... все над этм работаю, в т.ч. Интел, ВИА и т.д. ;)

успехов :)

Тоже много специфики, не все понятно.. Есть ли ссылки на статьи и фирмы?

 

По поводу защиты IP у меня был такой вариант: Требуется маловыводной микроконтроллер типа tinyAVR или PIC c жесткими ключами в рабочей программе и перепрограммируемой EEPROM. EEPROM здесь нужна для хранения псевдослучайных кодов, которые вычисляются в микроконтроллере с определенным псевдослучайным темпом или с плавающим периодом, например от 10с до 60с. После снятия питания, в EEPROM хранится этот определенный код который и будет считан сразу после рестарта в FPGA. Далее FPGA модифицирует этот код и передает результат в микроконтроллер, который тоже модифицирует его и возвращает окончательный результат в FPGA. Если FPGA не найдет ожидаемый код она подвисает. Пересылаемые псевдослучайные коды могут также шифроваться. А интерфейс между микроконтроллером и FPGA может быть SPI или I2C.

Модераторов просьбы извинить за отход от темы... Уж очень эти вопросы связаны...

Изменено пользователем 608

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уточните, плз, слова: ринг осциллятор,.. семплируются,... ксорятся... Что это такое и как это все вместе работает? Какие частоты предпочтительней, хотябы приблизительно?

На сколько они приблизят псевдо-генератор к случайному? Что останется еще не случайным?

Еще раз: смотри http://electronix.ru/forum/index.php?s=&am...st&p=120223 - там рассматривается именно этот вариант

 

Генератор ПОЛНОСТЬЮ случайный (не псевдо!)

 

По поводу защиты IP у меня был такой вариант:
Тогда смотри вышеупомянутую тему с самого начала - это оно и есть :1111493779:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...