Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 15 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Junior
Статус: Не в сети
Регистрация: 13.02.2006
Откуда: Воронеж
Собственно требуется поделить два числа. Прошу послать меня на литературу где имеются данные об алгоритмах деления(поиск ничего хорошего не дал), или, если не сложно, рассказать о том или ином способе деления известном Вам. Делением в столбик я владею чуть ли не в совершенстве, особенно с листочком и ручкой в руках :), хотя если имеется другой способ, кроме школьного, деления в столбик ,хотелось бы знать и его, а вообще хотелось бы узнать наиболее быстрый алгоритм деления.



Партнер
 

Member
Статус: Не в сети
Регистрация: 17.06.2005
Откуда: [ХАРЬКОВ]
У тебя не получается реализовать программно деление в столбик? Почему нельзя просто c=a/b?

_________________
Кольорова крейда це знаряддя деявола!


 

Junior
Статус: Не в сети
Регистрация: 13.02.2006
Откуда: Воронеж
Проблема в том что мне нужно реализовать это не только, как программу на PC, но и как устройство на FPGA, деление в столбик не подходит потому критерию, что оно выполняется очень много тактов, для чисел с большой разрядностью. Поэтому я и прошу посоветовать, дать мне ссылки на другие алгоритмы деления, которые могли бы выполниться быстрее. Мне потребуется сделать модель которая полностью повторяла бы устройство на FPGA, и c=a/b, не совсем то что нужно.
может я не в тот форум обратился?????


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
http://inf.1september.ru/1999/art/posd1.htm :)

http://www.atmel.ru/Articles/Atmel21.htm

Черт ее знает, наверно лучше было в R&D - у тебя явный hardware


 

Member
Статус: Не в сети
Регистрация: 17.06.2005
Откуда: [ХАРЬКОВ]
lumumba писал(а):
нужно реализовать это не только, как программу на PC, но и как устройство на FPGA

Это надо было сразу сказать.
lumumba писал(а):
деление в столбик не подходит потому критерию, что оно выполняется очень много тактов, для чисел с большой разрядностью.

Делай конвеер.
Добавлено спустя 3 минуты, 9 секунд
О! Еще можно сгенерировать кор-генератором. Какое ФПЖА Xilinx? Altera?

_________________
Кольорова крейда це знаряддя деявола!


 

Junior
Статус: Не в сети
Регистрация: 13.02.2006
Откуда: Воронеж
Dimakey
Altera Stratix II , lpm_divider работает очень долго, а именно, для обеспечения необходимой частоты работы, длина конвеера у него должна быть не меньше разрядности делимого (установлено экспериментально), а если учесть что делимое (потенциально по т.з.) до 128 разрядов может быть, то мне кучу данных надо будет задерживать в фифо, поэтому и начал поиск более быстрого и эффективного алгоритма деления. Мое устройство будет не единственным в FPGA, будут другие компоненты которые будут довольно прожорливыми в плане памяти, так что использовать большие задержки не хотелось бы.
serj Спасибо!!!
Добавлено спустя 40 минут, 36 секунд
serj К кому можно обратиться о переносе темы?????


 

Member
Статус: Не в сети
Регистрация: 17.06.2005
Откуда: [ХАРЬКОВ]
lumumba Ничего лучше ты не придумаешь. Тут всегда так - или быстро, но много памяти или мало памяти, но долго. Те, кто писал генератор, как следует подумали, прежде чем реализовать именно такой делитель.

_________________
Кольорова крейда це знаряддя деявола!


 

Junior
Статус: Не в сети
Регистрация: 13.02.2006
Откуда: Воронеж
Dimakey Это достаточно спорный вопрос, особенно касается компонентов альтеры(ИМХО),встречался с компонентами которые работали с более высокой частотой и съедали меньше ресурсов чем то, что предлагала альтера, поэтому вполне может быть что найдется более эффективный метод деления.


 

Junior
Статус: Не в сети
Регистрация: 13.02.2006
Откуда: Воронеж
Господа, заходим, не стесняемся, следуем примеру serj


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Господа, может мысли будут?


 

Member
Статус: Не в сети
Регистрация: 25.10.2005
Откуда: IDC
1) Fast Division Algorithm with a Small Lookup Table
http://www.doc.ic.ac.uk/~oskar/pubs/asil99div.pdf

2) M. D. Ercegovac, T. Lang, J.-M. Muller, and A. Tisserand, “Reciprocation,
square root, inverse square root, and some elementary functions using small
multipliers,"
IEEE Transactions on Computers, vol. 2, pp. 628-637, 2000

классика...


PS
Для второго нужен доступ, если не забуду на следующей неделе зайду с работы и подкину.


 

Junior
Статус: Не в сети
Регистрация: 13.02.2006
Откуда: Воронеж
Спасибо за помощь, мне удалось распараллелить деление на два потока, в результате я получаю данные в два раза быстрее, чем при классическом делении в столбик, для данного проекта этого достаточно, однако тему хотелось бы продолжить, поскольку деление довольно часто встречающаяся операция, и хотелось бы знать как можно больше эффективных алгоритмов, на будущее, поэтому просьба к участникам форума и дальше высказывать свои идеи по данной теме, а также давать ссылки.


 

Junior
Статус: Не в сети
Регистрация: 01.04.2004
Откуда: Питер
Не хотите попробовать перейти к экспоненте разности логарифмов? плавающая запятая устроит?
В своё время писал библиотеку для плавающей запятой с длинной мантиссой (48 бит). (исходники погибли вместе с винтом в 1997)
Там почти все функции сводились к итерационно вычисляемым рядам. приведение к FPGA должно прокатывать.


 

Junior
Статус: Не в сети
Регистрация: 13.02.2006
Откуда: Воронеж
basileus будьте любезны, подробнее. Вы предлагаете мантиссу внести в показатель экспоненты ? У меня и так плавающая запятая, так что с экспонентами мне, все равно, приходится оперировать.
Прошу изложить вашу мысль более подробно, возможно я вас не понял.


 

Junior
Статус: Не в сети
Регистрация: 01.04.2004
Откуда: Питер
Z=x/y=e(log(x)-log(y)); математика, средняя школа.
(ну и, естественно, десятичный или двоичный логарифм тоже проходят)
http://ru.wikipedia.org/wiki/CORDIC -даст отправную точку для ваших поисков.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 15 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan