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

 
 
> IP ядро целочисленного деления от Альтеры, lpm_div
novartis
сообщение Nov 29 2016, 06:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Сколько я его не пытался использовать, все какие то заморочки.
Утыкаюсь в ограничение по частоте. Нужно например поделить два числа (64 бит на 32 бит) на частоте 300МГц.
Компилю проект, таймквест репортует - отрицательные слаки. Считаю, вроде тактов 10 не хватает.
В мегавизарде можно выставить latency, ставлю 14 тактов ( запасом).
Компилю проект, таймквест репортует - отрицательные слаки.
Ставлю 24 такта.
Компилю проект, таймквест репортует - отрицательные слаки.
Сколько ему тактов то надо?

Зашел с другой стороны. Завел пониженную частоту 30МГц.
Данные с 300мгц перекидываю на частоту 30мгц. Результат с 30мгц перевожу на 300мгц, все это делаю через всякие там защелки-синхронизаторы .
Таймквест весь изнылся, что куча переходов с 30 мгц на 300мгц и обратно. Все надо описывать в sdc. Час на это потратил, устал, уже под ночь было, и так не доделал все.

Есть нормальный способ целочисленно поделить в ПЛИС?

Сморю сейчас на корки с opencores, может кто что использовал от туда?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
x736C
сообщение Apr 21 2017, 13:57
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



У меня тоже есть вопрос по делению, задам тут.
Существует ли какой-нибудь оптимальный способ целочисленного деления на 2^n-1 ?
Или только предложенными выше универсальными делителями?
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 21 2017, 16:33
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(x736C @ Apr 21 2017, 16:57) *
Существует ли какой-нибудь оптимальный способ целочисленного деления на 2^n-1 ?
Или только предложенными выше универсальными делителями?

Да, такой "оптимальный" способ существует. biggrin.gif

Чтобы его "найти", нужно вспомнить школьную формулу для суммы геометрической прогрессии:

2-n + 2-2n + 2-3n + ... + 2-mn = (1 - 2-mn)/(2n - 1).

Из этого следует, что:

a*(1 - 2-mn)/(2n - 1) = a/(2n - 1) - a*2-mn/(2n - 1) = a*(2-n + 2-2n + 2-3n + ... + 2-mn),

или:

a/(2n - 1) = a*(2-n + 2-2n + 2-3n + ... + 2-mn) + a*2-mn/(2n - 1),

или:

a/(2n - 1) = (a >>> n) + (a >>> 2n) + (a >>> 3n) + ... + (a >>> mn) + a*2-mn/(2n - 1).

Из этой формулы видно, что с точностью до слагаемого:

Δ = b*2-mn,

частное от деления "a" на (2n - 1) равно:

b == a/(2n - 1) ≈ (a >>> n) + (a >>> 2n) + (a >>> 3n) + ... + (a >>> mn).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- novartis   IP ядро целочисленного деления от Альтеры   Nov 29 2016, 06:05
- - Maverick   Цитата(novartis @ Nov 29 2016, 08:05) Ско...   Nov 29 2016, 06:15
- - novartis   Сейчас Arria 10 (speed grade 1)   Nov 29 2016, 06:17
|- - goodsoul   Цитата(novartis @ Nov 29 2016, 09:17) Сей...   Nov 29 2016, 07:06
|- - novartis   Цитата(goodsoul @ Nov 29 2016, 12:06) В к...   Nov 29 2016, 07:12
- - Maverick   Цитата(novartis @ Nov 29 2016, 08:05) Уты...   Nov 29 2016, 07:58
- - goodsoul   С мегафункцией целочисленного деления lpm_divide у...   Nov 29 2016, 08:28
|- - Maverick   попробуйте такое описание Кодlibrary IEEE; use IE...   Nov 29 2016, 20:29
|- - novartis   Цитата(Maverick @ Nov 30 2016, 01:29) поп...   Apr 21 2017, 06:32
- - Kuzmi4   2 novartis Как вариация на тему деления - попробуй...   Apr 21 2017, 07:27
- - sqrt(2)   У меня на Cyclone IV делит нормально (Квартус 16),...   Apr 21 2017, 08:18
|- - Tausinov   Цитата(x736C @ Apr 21 2017, 16:57) У меня...   Apr 21 2017, 14:58
- - Alexxxxey   Цитата(novartis @ Nov 29 2016, 09:05) В м...   Apr 23 2017, 11:56
- - x736C   Tausinov, blackfin, спасибо большое! В общем, ...   Apr 24 2017, 00:47


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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 02:34
Рейтинг@Mail.ru


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