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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Умножение в ПЛИС., Как это там внутри происходит?
Serhiy_UA
сообщение Dec 28 2015, 13:03
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



В студенческие годы изучал матричные умножители на основе дерева сумматоров. Даже проектировал на логике 133 серии работающие платы матричных умножителей; тогда еще не было возможности применять ни ПЛИС, ни БИС, не MCU. Скорости были 1 МГц для 12*12 в доп.кодах, очень скромные по сегодняшним меркам. Но эта же матрица позволяла и делить...

Интересно было бы узнать, как сейчас это делают в ПЛИС, там 18*18 умножают со скоростью 100 МГц и более, за счет каких схем и структур, какие алгоритмы и ухищрения используются?
Просто любопытно, может, кто знает...
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 28 2015, 13:25
Сообщение #2


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Serhiy_UA @ Dec 28 2015, 16:03) *
Интересно было бы узнать, как сейчас это делают в ПЛИС, там 18*18 умножают со скоростью 100 МГц и более, за счет каких схем и структур, какие алгоритмы и ухищрения используются?
Просто любопытно, может, кто знает...

Речь идет о встроенных умножителях(DSP модулях), описание нужно смотреть для конкретного семейства в даташите. Хотя для пользователя, мне кажется, важнее скорее знать не структуру, а максимальное быстродействие и умение им пользоваться.
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Dec 29 2015, 06:00
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(Serhiy_UA @ Dec 28 2015, 16:03) *
В студенческие годы изучал матричные умножители на основе дерева сумматоров. Даже проектировал на логике 133 серии работающие платы матричных умножителей; тогда еще не было возможности применять ни ПЛИС, ни БИС, не MCU. Скорости были 1 МГц для 12*12 в доп.кодах, очень скромные по сегодняшним меркам. Но эта же матрица позволяла и делить...

Интересно было бы узнать, как сейчас это делают в ПЛИС, там 18*18 умножают со скоростью 100 МГц и более, за счет каких схем и структур, какие алгоритмы и ухищрения используются?
Просто любопытно, может, кто знает...


Эх вы!=)) Помните еще 133 логику, а интернетом не научились пользоваться......
Инфы очень много... как пример Нажмите сюда! см. стр 14


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 29 2015, 06:42
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Может, не совсем полно сформулировал свой вопрос. Меня интересовала внутренняя структура самого умножителя, принципы его схемотехнического построения, ну и главное за счет чего он такой быстрый, то есть что там в нем внутри. Вопрос чисто из любопытства, и никакого практического продолжения не имеет…
По части примеров применения умножителя от Xilinx, что выложил Dmitriyspb, то документ интересный. Или мне так кажется, но как раз Xilinx очень хорошо объясняет, как применять свои ПЛИС, и в этом их большой плюс…
Ну и попутно, в воронежских ПЛИС (аналогов FLEX10K) нет узлов DSP и соответственно готовых встроенных умножителей. Как там обходятся, если что-то надо массово умножать или уже есть российские ПЛИС с блоками DSP…
Go to the top of the page
 
+Quote Post
likeasm
сообщение Dec 29 2015, 07:02
Сообщение #5


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

Группа: Участник
Сообщений: 156
Регистрация: 15-04-10
Пользователь №: 56 673



У Воронежа есть ПЛИС с DSP умножителями, нужно повнимательнее поискать.
По поводу умножения на логике, если надо быстро, то конвейер вам в помощь.
Go to the top of the page
 
+Quote Post
Vascom
сообщение Dec 29 2015, 07:21
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 2-08-07
Из: Москва
Пользователь №: 29 534



Схемотехнически это делается точно так же как и на логике. Только вместо "медленной" конфигурироемой логики FPGA этот умножитель представляет собой цельный блок на кристалле, который нельзя переконфигурировать для других задач.
Конечно сам DSP блок немного конфигурируется, но всё равно он содержит уже готовые сумматоры, перемножители, регистры. За счёт этого и достигается высокая скорость, ну и за счёт современных техпроцессов производства ПЛИС.

То же самое умножение можно сделать и на логике FPGA, и работать будет почти с той же скоростью, но занимает гораздо больше места.
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Dec 29 2015, 07:38
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(Serhiy_UA @ Dec 29 2015, 09:42) *
ну и главное за счет чего он такой быстрый, то есть что там в нем внутри.


Понятие быстрые - это весьма относительное понятие. Если Вы сравниваете 133 серию и современные ПЛИС (fpga), то наверное Вам стоит начать разбираться с эволюцией электроники за последние 20 лет. Разберитесь с принципом работы ПЛИС... думаю только тогда вы поймете чем занимались во всем электронном мире последних 20 лет.

Цитата(Serhiy_UA @ Dec 29 2015, 09:42) *
но как раз Xilinx очень хорошо объясняет, как применять свои ПЛИС, и в этом их большой плюс…

Это ошибочное суждение, у Altera тоже все идентично описано (не хуже).

Цитата(Serhiy_UA @ Dec 29 2015, 09:42) *
Вопрос чисто из любопытства, и никакого практического продолжения не имеет…


просто поговорить?


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 29 2015, 09:20
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Dmitriyspb @ Dec 29 2015, 11:38) *
...Вам стоит начать разбираться с эволюцией электроники за последние 20 лет. Разберитесь с принципом работы ПЛИС... думаю только тогда вы поймете чем занимались во всем электронном мире последних 20 лет.

Уважаемый, Dmitriyspb,
CPLD и FPGA от Xilinx и Altera я постоянно занимаюсь с 2000 года, проектов достаточно много. Давайте не отклоняться от темы, я ее уже достаточно уточнил…

Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Dec 29 2015, 09:42
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(Serhiy_UA @ Dec 29 2015, 12:20) *
Уважаемый, Dmitriyspb,
CPLD и FPGA от Xilinx и Altera я постоянно занимаюсь с 2000 года, проектов достаточно много. Давайте не отклоняться от темы, я ее уже достаточно уточнил…


А откуда такие вопросы? За 16 лет не удалось разобраться с принципом построения цифровых устройств на базе ПЛИС? С их компиляторами и т.п?


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Dec 29 2015, 10:23
Сообщение #10


ʕʘ̅͜ʘ̅ʔ
*****

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



Поищите Wallace tree, Booth multiplier. В открытом доступе много статей и студенческих проектов. Библиотеки стандартых ячеек содержат примитивы как раз для этой реализации схем умножения.

P.S. fpga-программисты такие программисты.

Цитата(Serhiy_UA @ Dec 28 2015, 17:03) *
Интересно было бы узнать, как сейчас это делают в ПЛИС, там 18*18 умножают со скоростью 100 МГц и более, за счет каких схем и структур, какие алгоритмы и ухищрения используются?
Просто любопытно, может, кто знает...
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 29 2015, 10:25
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Dmitriyspb @ Dec 29 2015, 12:42) *
А откуда такие вопросы? За 16 лет не удалось разобраться с принципом построения цифровых устройств на базе ПЛИС? С их компиляторами и т.п?

Прочтите еще раз мои вопросы. Там не спрашиваются принципы построения цифровых устройств на ПЛИС. Не идет речь о компиляции и т.п.. Также я не спрашиваю никого о том, куда ушли мои последние 16 лет…
Если затрудняетесь сказать, что и как внутри самих умножителей, так не нужно плодить пустые посты, и заговаривать тему. Тема не тривиальная и достаточно интересна и по логике и по схемотехнике, но пока еще не раскрыта…

to Fat Robot
Спасибо, уже то что надо!
Есть ключевое слово!
Go to the top of the page
 
+Quote Post
Vascom
сообщение Dec 29 2015, 10:43
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 2-08-07
Из: Москва
Пользователь №: 29 534



А чем мой ответ не устроил?
Go to the top of the page
 
+Quote Post
Alex11
сообщение Dec 29 2015, 11:14
Сообщение #13


Гуру
******

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



Цитата
А чем мой ответ не устроил?

Ну, например,полным отсутствием конкретики: "содержит уже готовые сумматоры, перемножители, регистры" - а что он еще может содержать?
- радиостанция на лампах или транзисторах?
- для непонятливых повторяю - радиостанция на бронетранспортере.
Вопрос же достаточно корректно поставлен - по какой именно структуре делаются современные умножители для повышения скорости.
Я, к сожалению, сам ответа не знаю - не интересовался вопросом.
Go to the top of the page
 
+Quote Post
Vascom
сообщение Dec 29 2015, 11:19
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 2-08-07
Из: Москва
Пользователь №: 29 534



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

Только эта обычная комбинаторная логика умножителя выполнена на кристалле максимально компактно - отсюда и высокие тактовые частоты и минимум занимаемого места.

Какая ещё конкретика нужна?
В качестве референса можно взять небольшой код с умножителем и сгенерировать нетлист не для FPGA, а для ASIC и убедиться, что умножение делается не "особыми схемами и алгоритмами", а обычным матричным перемножителем.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 29 2015, 11:21
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Vascom @ Dec 29 2015, 14:43) *
А чем мой ответ не устроил?

Понимаете, Vascom, хотелось бы найти на структурном уровне описание внутренностей современных умножителей со всеми примененными в них арифметическими и схемными финтами, и которые однозначно применены в DSP блоках ПЛИС, и еще лучше знать в каком семействе.
Арифметических финтов в таких умножителях достаточно и они поучительны сами по себе. А лично мне также интересны в их развитии, как знающему с чего это начиналось....

А по поводу применения DSP блоков, хорошую ссылку дал выше Dmitriyspb, мне такая до этого еще не поподала.
Go to the top of the page
 
+Quote Post

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

 


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


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