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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Арифметика с плавающей точкой на VHDL, Возможно ли?
Гвоздик
сообщение Feb 9 2006, 17:27
Сообщение #1


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

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



Чисто теоретический вопрос: возможно ли стандартными возможностями языка VHDL описать умножитель/делитель чисел с плавающей точкой? С фиксированной я сначала сигналы в числа преобразовывал, затем их умножал/делил, как обычно (* или /), затем обратно в сигналы преобразовывал для выдачи на ножки ввода вывода. Возможно ли также дробные числа на сигналы перемножать с последующим округлением в целые числа, а затем в сигналы?
Go to the top of the page
 
+Quote Post
3.14
сообщение Feb 9 2006, 18:37
Сообщение #2


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Можно.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Laptop
сообщение Feb 10 2006, 07:32
Сообщение #3


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

Группа: Свой
Сообщений: 142
Регистрация: 19-11-05
Пользователь №: 11 103



Если хочешь выполнять арифментические операции для сигналов в IEEE-754, то все придется писать самому. А так конечно можно, только очень неэффективно и проще описать умножитель или делитель самому на VHDL. Если важна простота, а не скорость и площадь, то пользуйся встроенными.
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 10 2006, 09:52
Сообщение #4


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

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



Это радует. А не мог ли кто-нибудь привести небольшой пример, например, умножения сигнала (16 разрядов) на дробное число и получения сигнала опять. Хотя бы несколько строк для понимания используя стандартные возможности VHDL?
Go to the top of the page
 
+Quote Post
M_A
сообщение Feb 13 2006, 09:10
Сообщение #5


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

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



Если Вам нужно именно умножение целых чисел на дробный множитель, то я делал так (множитель у меня был постоянно один и тот же): допустим мой дробный множитель 0.3, я домножал его, например, на 1024 (на калькуляторе), для этого примера должно получиться 307, после этого все входные числа домножаю на 307, а затем у результата выкидываю 10 младших бит, что эквивалентно делению на 1024.
Возможно способ не самый простой и красивый (точнее я в этом уверен smile.gif ), но я сам пока начинающий blush.gif
Go to the top of the page
 
+Quote Post
3.14
сообщение Feb 13 2006, 18:49
Сообщение #6


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



http://electronix.ru/forum/index.php?showtopic=487


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 14 2006, 18:03
Сообщение #7


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

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



Всем спасибо, попробую прошить умножитель дробных чисел в "железе", посмотрим кто быстрее умножает - ПЛИС или DSP.
Go to the top of the page
 
+Quote Post
M_A
сообщение Feb 15 2006, 01:34
Сообщение #8


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

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



Цитата(Гвоздик @ Feb 14 2006, 18:03) *
Всем спасибо, попробую прошить умножитель дробных чисел в "железе", посмотрим кто быстрее умножает - ПЛИС или DSP.

Имхо сравнение несравнимого... Ценность ПЛИСов не в этом. Может быть DSP и побыстрее (не знаю, не работал), но на одной хорошей ПЛИСе я могу собрать кучу умножителей. А если то же делать на DSP? Ставить кучу чипов? Дорого обойдется...
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Feb 17 2006, 07:56
Сообщение #9


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

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



С этим вопросов нет, хотелось бы увидеть вот что:
use XXXXXX.XXXXX - подключили библиотеку (какую?)

...........
digit_1 : real;
digit_2 : real;
digit_3 : real;
...........

digit_3 = digit_1 * digit_2;

Так можно делать вообще? Т.е. не приводя к целочисленной арифметике и не кодируя свои функции умножения дробных чисел.
Go to the top of the page
 
+Quote Post
3.14
сообщение Feb 17 2006, 21:41
Сообщение #10


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



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


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
jericho
сообщение Mar 7 2006, 08:46
Сообщение #11


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

Группа: Свой
Сообщений: 120
Регистрация: 18-01-06
Из: Нижний Новгород
Пользователь №: 13 319



В ксайлинксе <=6.1, по крайней мере, синтезатор не сможет это синтезировать.
Go to the top of the page
 
+Quote Post
3.14
сообщение Mar 7 2006, 18:10
Сообщение #12


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Он не сможет и в 8.2 (когда выйдет) и в synplify и в leonardo wink.gif


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Гвоздик
сообщение Mar 9 2006, 10:59
Сообщение #13


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

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



Тогда как народ с дробными числами работает? Приводит все к целочисленным вычислениям или кодирует свои подпрограммы арифметики для дробных чисел? Я просто с этим еще не сталкивался, подскажите кто сможет.
Go to the top of the page
 
+Quote Post
3.14
сообщение Mar 9 2006, 17:46
Сообщение #14


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Плавучка это "буржуазные" замашки последних лет (на FPGA), всю жизнь люди обходились оперециями с фиксированной точкой.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
jericho
сообщение Mar 16 2006, 08:28
Сообщение #15


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

Группа: Свой
Сообщений: 120
Регистрация: 18-01-06
Из: Нижний Новгород
Пользователь №: 13 319



Между прочим, в Веб-паке 8.1 есть генератор ядер и в составе его есть ядро Floating-point 1.0. Может складывать, вычитать, умножать, делить, сравнивать, и вычислять квадратный корень.
Go to the top of the page
 
+Quote Post

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

 


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


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