Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FPU
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Egel
Всем здравствуйте!

Вопрос такой - проектируется FPU одинарной точности, но абсолютно непонятна реализация в железе округления (например round to nearest) (не могу выстроить в голове алгоритм). Любай информация по этому поводу будет крайне полезной.

С уважением
des00
Цитата(Egel @ Mar 15 2010, 06:50) *
Вопрос такой - проектируется FPU одинарной точности, но абсолютно непонятна реализация в железе округления (например round to nearest) (не могу выстроить в голове алгоритм). Любай информация по этому поводу будет крайне полезной.

Код
signed data_in, data_out;

assign data_out = data_in[$high(data_in):$high(data_in)-$high(data_out)] + (data_in[$high(data_in)]^data_in[$high(data_in)-$high(data_out)-1] );


ЗЫ. могу ошибаться
Egel
Спасибо! А предпосылки к этой строчке ?? ))) Нашел кое-что - http://www.diycalculator.com/popup-m-round.shtml#A3 , но любая помощь приветствуется ))
des00
Egel
да стандартно на бумажке рассмотрите деление чисел на числа кратные 2^N и наложите желаемое вами правило округления. Отдельно рассмотрите отрицательные числа.
Egel
Все равно не очень понял. Есть два числа в формате f.p. - знак, степень и мантисса. Складываем их по всем правилам, получаем результат - его надо округлить. вот здесь то у меня результат и отличается от жедаемого в мантиссе на +1, -1, -2, -3 в различных случаях...

Вот это как сделать - http://babbage.cs.qc.edu/IEEE-754/Decimal.html ???
Egel
вопрос по прежднему актуален ))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.