Всем привет!
Постепенно осваиваю ПЛИС и запиливаю нужную мне математику. Математика работает с 256-битными числами. Сложение, вычитание, битовый сдвиг. Есть и умножение где получается 512-битное число, которое затем понижается по модулю до 256-битного. алгоритм реализовал, работает и считает всё верно.
Работаю с карточкой de0-nano-soc на базе циклона пятого. На карте есть генератор 50Мгц. Хочу ускорить вычисления насколько это возможно. Пробую подключать PLL от альтеры. В IP каталоге выбираю Altera Pll, задаю вот такие настройки -
https://screencast.com/t/RD0qNJ9uHn2N , то есть хочу разогнать до 100Мгц. В идеале, конечно еще выше))
В рефклок отдаю свой 50Мгц клок, а выходной отдаю в модули. Алгоритм выполняется, но вот результаты совсем неверные получаются и всегда разные. locked сигнал я использую в топ модуле для того чтобы стартовать вычисления ( if(locked) begin ..начать вычислять.. end)
Блокирующие назначения нигде не использую.
Подскажите, я что-то делаю не так, или это нормально что плис не тянет работу с 256-битными числами быстрее чем 50Мгц? Может нужно locked протягивать по всем модулям и только если он == 1 проходить цикл?
Еще у меня нет файла для таймквеста, еще не познал эту магию, может ли это влиять?
Спасибо за рекомендации!
Сообщение отредактировал fpganoob - Dec 15 2017, 13:58