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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Floating and fixed point arithmetic in FPGA
des333
сообщение Aug 30 2009, 13:56
Сообщение #1


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Подскажите, кто знает, литературу по сабжу.

А то, все что пока удалось найти, это основные мат. сведения + простые показательные примеры.

Интересует более подробный, доскональный и глубокий анализ данной темы.

Не верю, что нет серьезных изданий по сабжу.




Заранее спасибо!




P.S. Лучше, если на английском языке.

Сообщение отредактировал des333 - Aug 30 2009, 14:05


--------------------
Go to the top of the page
 
+Quote Post
Methane
сообщение Aug 30 2009, 14:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(des333 @ Aug 30 2009, 16:56) *
P.S. Лучше, если на английском языке.

Попробуйте подумать головой.
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 30 2009, 14:03
Сообщение #3


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(Methane @ Aug 30 2009, 18:01) *
Попробуйте подумать головой.


Я думаю, если не хочется советовать по теме, писать никто не заставляет...

Сообщение отредактировал des333 - Aug 30 2009, 14:11


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Aug 30 2009, 16:50
Сообщение #4


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



А зачем вам, скажите, литература? На opencores есть готовые реализации, скачайте и изучите.
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 30 2009, 17:34
Сообщение #5


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(DmitryR @ Aug 30 2009, 20:50) *
А зачем вам, скажите, литература? На opencores есть готовые реализации, скачайте и изучите.

Реализации уже скачал - изучаю.

Просто хочется рассмотреть не только конкретный практический подход, но и теоритическую часть.

Алгоритмы, оптимизацию, рассчеты, сравнительный анализ и т.д. 


--------------------
Go to the top of the page
 
+Quote Post
Самурай
сообщение Aug 30 2009, 17:49
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(des333 @ Aug 30 2009, 17:56) *
Подскажите, кто знает, литературу по сабжу.
А то, все что пока удалось найти, это основные мат. сведения + простые показательные примеры.
Интересует более подробный, доскональный и глубокий анализ данной темы.
Не верю, что нет серьезных изданий по сабжу.


Не буду утверждать, что нижеперечисленные книги являются образцом досконального анализа и уж тем более, что они обладают необходимой глубиной, но тем не менее, наверно их все-таки стоит полистать:

1. Арифметика цифровых машин (М.А.Карцев)
2. Основы машинной арифметики (А.М.Шауман)
3. Arithmetic and Logic in Computer Systems (Mi Lu)
4. SYNTHESIS OF ARITHMETIC CIRCUITS: FPGA, ASIC, and Embedded Systems

Все книги легко ищутся в сети, а для более глубокого изучения всегда есть гугл, ключевых фраз для поиска, после прочтения вышеперечисленного, должно хватить с избыткомsmile.gif
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 30 2009, 17:51
Сообщение #7


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Самурай:

Большое спасибо! smile.gif


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 31 2009, 03:07
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(des333 @ Aug 30 2009, 11:34) *
Просто хочется рассмотреть не только конкретный практический подход, но и теоритическую часть.
Алгоритмы, оптимизацию, рассчеты, сравнительный анализ и т.д.


раскажите для повышения образованности, а какую теорию и алгоритмы вы имели в виду ? правила всех арифметических операций однозначно вытекают из определения форматов чисел. И какой именно сравнительный анализ вы имели в виду? Сравнивать что лучше плавучка или фиксированная точка в общем смысле? но на этот вопрос можно дать однозначный ответ %)


--------------------
Go to the top of the page
 
+Quote Post
des333
сообщение Aug 31 2009, 06:00
Сообщение #9


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(des00 @ Aug 31 2009, 07:07) *
раскажите для повышения образованности, а какую теорию и алгоритмы вы имели в виду ? правила всех арифметических операций однозначно вытекают из определения форматов чисел. 


Неужели эта область настолько простая, что не затронута ни в какой литературе?

Лично я предпологал, что у этих задач, как и у всех других, имеются разные подходы и способы решения. Может быть, я не прав. 

Просто я про обычные счетчики видел больше информации, чем про вычесления с плавающей запятой.

Цитата(des00 @ Aug 31 2009, 07:07) *
И какой именно сравнительный анализ вы имели в виду? Сравнивать что лучше плавучка или фиксированная точка в общем смысле? но на этот вопрос можно дать однозначный ответ %)


Если Вас не затруднит, дайте  smile.gif

И скажите, в каких областях тогда используется оставшийся, явно худший в общем смысле, вариант?


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 31 2009, 07:07
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(des333 @ Aug 31 2009, 01:00) *
Неужели эта область настолько простая, что не затронута ни в какой литературе?


фиксированная точка специальной областью не является, ее арифметика выводиться на бумажке минут за 5. Если выводить нет желания то вот статья фиксированная запятая

как видно с точки зрения вычислений, ничем не отличается от целочисленой арифметики.

плавающая точка это много сложнее, из простого анализа формата числа видны требования к реализации арифиметики.

Цитата
Просто я про обычные счетчики видел больше информации, чем про вычесления с плавающей запятой.


насколько я знаю, на это есть отдельный стандарт, в нем все написано как и что делать с плавающей запятой. На счетчики такого стандарта нет %)


Цитата
Если Вас не затруднит, дайте smile.gif
И скажите, в каких областях тогда используется оставшийся, явно худший в общем смысле, вариант?


Это же очевидно, по затратам ресурса плавающая точка на порядки опережает фиксированную, по требуемой производительности тоже (если не брать случай линейного конвейера). Вот из вики

Цитата
Преимущество использования представления чисел в формате с плавающей запятой над представлением в формате с фиксированной запятой (и целыми числами) состоит в том, что можно использовать существенно больший диапазон значений при неизменной относительной точности. Например, в форме с фиксированной запятой число, занимающее 8 разрядов в целой части и 2 разряда после запятой, может быть представлено в виде 123456,78; 8765,43; 123,00 и так далее. В свою очередь, в формате с плавающей запятой (в тех же 8 разрядах) можно записать числа 1,2345678; 1234567,8; 0,000012345678; 12345678000000000 и так далее.


--------------------
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 31 2009, 12:16
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



для плавающей точки:
как всегда в технических делах - общее описание простое, а эффективная техническая реализация требует усилий и стоит денег
предролагаю, что статей в открытов виде про эффективную реализацию нет
есть рассмотрение всяких узлов в IEEE, что вобщем то тоже не бесплатно, да и как все собрать вместе не объясняет

пару лет назад интересовался опенкоресными реализациями - было там все весьма плачевно

но за последние время вышла DW для флоат поинта, ну и опенкорес на месте не стоит...

еще можно порекомендовать изучить реализацию libm (GNU) там написан эмулятор плавучки для целочисленных процессоров - можно получить представление
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Aug 31 2009, 15:00
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 2-12-04
Из: Чебоксары
Пользователь №: 1 289



Некоторое время назад я тоже столкнулся с задачей вычисления алгоритма с дробными числами на ПЛИСине. По моим практическим наблюдениям опенкоресные и закрытые от копирования умножители, сумматоры и делители чисел с плавающей запятой работали слишком медленно, чтобы их можно было серьезно применять. Решением оказалось применение Матлаба в связке с зайлинксовским "AccelEDA". Все исходные данные и результат автоматически приводились Матлабом к целым числам соотвествующей разрядности. Точность вычислений терялась, но в пределах ТЗ. Зато написать все и отмоделировать можно очень быстро.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 31 2009, 15:27
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Книжка по теме:
http://www.telesys.ru/wwwboards/dsp/307/me...es/164673.shtml
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 31 2009, 15:34
Сообщение #14


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Я бы не стал так огульно хаять плавающую точку smile.gif Хотя бы только потому, что если абстрагироваться от конкретного IEEE-шного формата (и не использовать его во внутреннем представлении, а носить на шинах все в распакованном виде), то не так уж и много аппаратуры надо наворотить рядом - для умножителя/делителя нужно сделать рядом вычисление суммы/разностей порядков плюс некоторые костыли для нормализации, а для суммы/разности - такой себе barrel-shift'ер, управляемый разностью порядков для приведения мантисс к одному порядку.

Опять же, если есть уверенность, что не будет всяких машинных нулей и бесконечностей, можно убрать логику обработки крайних случаев.

Я это к тому, что если очень надо, то можно и реализовать плавающую запятую. Конечно, если вообще хочется IEEE-формата, тогда да - там железа надо наворотить некисло.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
zverek
сообщение Aug 31 2009, 16:05
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 2-04-09
Из: Москва
Пользователь №: 47 059



Цитата(Rst7 @ Aug 31 2009, 19:34) *
Я бы не стал так огульно хаять плавающую точку smile.gif Хотя бы только потому, что если абстрагироваться от конкретного IEEE-шного формата (и не использовать его во внутреннем представлении, а носить на шинах все в распакованном виде), то не так уж и много аппаратуры надо наворотить рядом


По ощущениям, разные крутые GPU (там где много вычислителей с плавающей точкой) так и делают, снаружи оно поддерживает все стандарты, а внутри злые и очень продуманные алгоритмы (VLIW, или вообще что-то свое). Но для этого нужно как минимум вникнуть во все детали и хорошо во всем разбираться.

Цитата(Гвоздик @ Aug 31 2009, 19:00) *
Некоторое время назад я тоже столкнулся с задачей вычисления алгоритма с дробными числами на ПЛИСине. По моим практическим наблюдениям опенкоресные и закрытые от копирования умножители, сумматоры и делители чисел с плавающей запятой работали слишком медленно, чтобы их можно было серьезно применять. Решением оказалось применение Матлаба в связке с зайлинксовским "AccelEDA". Все исходные данные и результат автоматически приводились Матлабом к целым числам соотвествующей разрядности. Точность вычислений терялась, но в пределах ТЗ. Зато написать все и отмоделировать можно очень быстро.


ИМХО, только как вариант "вставил и забыл", что-то "расширяемое" так сделать не получится.

Хотя, посмотреть на то, как будет считать матлаб, интересно (а может даже пригодится) smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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