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

 
 
> Работа с 256-битными числами и PLL
fpganoob
сообщение Dec 15 2017, 13:57
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 3-12-17
Пользователь №: 100 487



Всем привет!
Постепенно осваиваю ПЛИС и запиливаю нужную мне математику. Математика работает с 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
jojo
сообщение Dec 15 2017, 14:18
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Цитата(fpganoob @ Dec 15 2017, 16:57) *
Всем привет!
Постепенно осваиваю ПЛИС и запиливаю нужную мне математику. Математика работает с 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 проходить цикл?
Еще у меня нет файла для таймквеста, еще не познал эту магию, может ли это влиять?

Спасибо за рекомендации!


Надобно констрейны всё же задать, иначе глюки наблюдаете вполне закономерные.
Locked тянуть не надо, он должен просто установиться, и тогда валидный clock есть.
Разгонять до 100 МГц можно, но констрейны должны выполняться или немного сыпаться (но только немного!)

PS. И да, обычный сумматор на 256 бит едва ли будет быстрым, скорее наоборот.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Dec 15 2017, 14:24
Сообщение #3


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..тут где-то в теме рядом люди не могут 24 битный счётчик на 100 Мгц запустить , а ТС делает 256 битный!


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
fpganoob
сообщение Dec 15 2017, 14:28
Сообщение #4





Группа: Участник
Сообщений: 12
Регистрация: 3-12-17
Пользователь №: 100 487



Благодарю за ответ!

Цитата(jojo @ Dec 15 2017, 15:18) *
Надобно констрейны всё же задать, иначе глюки наблюдаете вполне закономерные.

То есть, таймквест таки прийдётся курить, спасибо! Я думал что для каждой карточки должны быть эти файлы уже дефолтные в доступе от производителя, но нет)

Цитата(jojo @ Dec 15 2017, 15:18) *
PS. И да, обычный сумматор на 256 бит едва ли будет быстрым, скорее наоборот.

Обычный сумматор, имеете в виду запись a = b + c; ?

Цитата(Lmx2315 @ Dec 15 2017, 15:24) *
..тут где-то в теме рядом люди не могут 24 битный счётчик на 100 Мгц запустить , а ТС делает 256 битный!


Хех, намёк Ваш понял) Не удалось найти информации по данному вопросу вот и обращаюсь к коллективному разуму. Спасибо!
Go to the top of the page
 
+Quote Post
jojo
сообщение Dec 15 2017, 14:55
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Цитата(fpganoob @ Dec 15 2017, 17:28) *
Благодарю за ответ!
То есть, таймквест таки прийдётся курить, спасибо! Я думал что для каждой карточки должны быть эти файлы уже дефолтные в доступе от производителя, но нет)
Обычный сумматор, имеете в виду запись a = b + c; ?
Хех, намёк Ваш понял) Не удалось найти информации по данному вопросу вот и обращаюсь к коллективному разуму. Спасибо!


Да, обычный сумматор a = b + c.
Вы попробуйте задать констрейны повыше, те же 100 МГц, и посмотреть, какого размера сумматор уложится без ошибок. Едва ли это будет 256 бит, скорее, много меньше.
С другой стороны, 100 МГц это маленькая частота, и если захотеть, то можно поднять почти до максимальной (по даташиту) частоты переключения ресурсов. Попутно вырастет производительность. Конвейер тут в помощь.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Dec 17 2017, 17:32
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(fpganoob @ Dec 15 2017, 17:28) *
То есть, таймквест таки прийдётся курить, спасибо! Я думал что для каждой карточки должны быть эти файлы уже дефолтные в доступе от производителя, но нет)

Таймквест - это средство временного анализа. Именно по его результатам и можно понять, будет ли проект работать на требуемой частоте или нет. И файл временных ограничений - это файл зависящий не от карты, а от проекта. И для карты такого универсального файла быть не может по определению.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:52
Рейтинг@Mail.ru


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