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

 
 
> Возможно ли в принципе сделать такое с использованием ПЛИС?, Реализовать относительно сложную мат. обработку данных
Ibragim
сообщение Nov 23 2005, 18:04
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295



День добрый.
Есть следующий вопрос - возможно ли реализовать (хватит ли производительности, возможно ли вводить данные в таком формате, не будет ли проект уж совсем заоблачной сложности) на ПЛИС, желательно Altera, алгоритм такого плана:

1. Поток входных данный 64 целочисленных слова за период, частота 3,5 МГц
2. В обработке будут актуальны входные данные на 10 - 20 периодов "назад", то есть их нужно помнить
3. С каждым словом и предыдущими полученными по этому каналу данными (см п.1) нужно совершить 10 - 20 операций типа умножение/деление, и 2-3 операции тригонометрических функций
4. С полученными результатами пункта 3 необходимо произвести еще несколько операций умножения/сложения
5. Результат - слово, его нужно выводить с небольшой частотой, успеем.

Если такое возможно в принципе, буду пытаться осваивать smile.gif

P.S. Если не сложно, презентуйте пожалуйста элементарную графическую схемку-проект для MAX+plus II сложения двух слов и описание как посмотреть симулирование работы такого девайса.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 17)
Alex11
сообщение Nov 23 2005, 20:36
Сообщение #2


Гуру
******

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



Чтобы сказать более-менее точно, недостаточно данных. Как минимум, разрядность слов какая? Но на вскидку, не успеешь. Проблемы будут с делением - оно медленное, и с тригонометрией - там вообще. Если только точность не очень высокая, и можно использовать табулированные значения с линейной аппроксимацией. Про макс - забудь. Это будет что-нибудь не меньше циклона, соответственно - только quartus.
Go to the top of the page
 
+Quote Post
vitus_strom
сообщение Nov 24 2005, 09:08
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 553
Регистрация: 15-10-04
Пользователь №: 877



Я что то подобное делал, только скажите уважаемый зачем городить сигнальный процессор, ежели такой уже есть, ну скажем если хотите поиметь геморрой то можете, в принципе реализуемо но цена по сравнению с ДСП будет раз в 5 больше, времени уйдет раз 15-20 больше, ну а геммороя геммороя то будет, вы себе даже не представляете...
Go to the top of the page
 
+Quote Post
Ibragim
сообщение Nov 24 2005, 09:43
Сообщение #4





Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295



Приблизительно начинает прорисовываться, спасибо.
Если не влом, проконсультируйте дальше!

2Alex11:
1. "Слово" я подразумевал из терминологии программирования ПК, 16 бит, целочисленное.
2. Да, понятно что будет талблица синусов/косинусов
3. Вспомнил, что есть еще несколько извлечений квадратного корня - это, по идее, вообще очень медленная операция.
4. А сколько стоит этот самый циклон? Quartus - не вопрос, давайте над ним повздыхаем. smile.gif

2vitus_strom:
Задача вообще стояла реализовать на компьютере (я программистом работаю), но с таким потоком даже комп не справляется, а задача критически важна. Это обработка поступающих с технологического сканера данных, потом они один фиг идут в комп для визуализации и т.п.
То есть смотрите: 64 слова со скоростью 3.5 MHz - это если делить процессорное время на последовательную обработку, аналогично что одно слово поступает со скоростью 224 MHz. Сделать над ним два десятка операций (по несколько тактов минимум) никакого процессора не хватит. Поэтому и копаю в сторону программируемой логики, не сильно представляя, каюсь, что это такое.
А почему может справиться DSP, если комп не может? Он что, может обрабатывать параллельно 64 слова? Вообще, если имели опыт - поделитесь плз. - что с такой задачей делать?
Go to the top of the page
 
+Quote Post
Adlex
сообщение Nov 24 2005, 09:52
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 500
Регистрация: 8-08-05
Пользователь №: 7 451



Деление, умножение, тем более тригонометрия жрут сильно много ресурсов ПЛИС. Так же считаю. что это оптимальнее делать на процессоре (сигнальном процессоре).
Другое дело, если есть желание на этом примере нацчиться работать с ПЛИС.
Go to the top of the page
 
+Quote Post
Ibragim
сообщение Nov 24 2005, 09:57
Сообщение #6





Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295



Adlex, а то что я писал что обычный компьютер не справляется? Как справится такой процессор? "Чем" их программируют и посоветуйте модель процессора?
Спасибо.
Go to the top of the page
 
+Quote Post
AlexanderX
сообщение Nov 24 2005, 10:32
Сообщение #7


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

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



С точки зрения кривой обучения, то задачу следует решать на сигнальном процессоре (лучше даже на нескольких в параллель). С точки зрения экономической эффективности - FPGA будет гораздо лучше, т.к. FPGA имеет гораздо большую вычислительную мощность по сравнению с сигнальным процессором и, возможно, Вам понадобится всего пара-тройка корпусов для всей задачи.
Go to the top of the page
 
+Quote Post
vitus_strom
сообщение Nov 24 2005, 10:33
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 553
Регистрация: 15-10-04
Пользователь №: 877



Очень большое заблуждение думать что комп это чемпион, в компе стоит процессор общего назначения который греет воздух и гоняет данные по разным каналам и не всегда самым оптимальным образом, далее процессор ДСП - процессор оптимизированный на вычисления, причем вычисления могут вестись парралельно! плюс современные процессоры имеют еще на борту и достаточно мощную периферию которая занимается пересылкой данных, иногда и предварительной обработкой. и потом кто вам сказал что процессор должен быть один? их может быть и два и три и вы не поверите но даже 17 на одной плате и это не предел... Тип процесоора могу посоветовать что то вроде TMS320C64XX, сейчас доступны с частотой 1ГГц, да и вот еще что: Большинство операций на сигнальнике делается за 1 такт. И по деньгам одна плисина тянет по-меньшей мере 2 сигнальника. А далее выбор за вами...
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Nov 24 2005, 12:33
Сообщение #9


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

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



Приветствую!

Для реализация вычислений в FPGA или DSP - есть свои плюсы и минусы. Для FPGA - плюс - возможность работать с очень большим потоком данных , минус - сложность реализации сложных алгоритмов мат. обработки. Для DSP с точностью наоборот smile.gif . В поставленном вопросе например если предположить что входные слова 16 бит то поток данных составит 448 MB/сек. ввести такой поток наприме в тотже TI320c6416 уже проблема а ведь надо еще и посчитать и вывести.
Для FPGA - это не сложно. Построение много процесорной системы порождает проблему разделения входных данных, синхронизации вычислениий , объединения на выходе. Без FPGA не обойтись smile.gif

Для определения возможности реализации алгоритма в FPGA или в DSP надо прикинуть необходимое быстродейсвие. Также необходимо учесть накладные расходы - потоки данных на ввод и вывод, требуемый объем и скорость доступа к памяти, возможность распаралеливания и допустимость конверизации(и соответствующей задержки в получении результата) операций и. т. д. .
С точки зрения реализации в FPGA алгоритмов деления и триг. функций - особых проблем нет - надо только проанализировать требуемые точности. Это будет влиять на объем требуемых кристаллов и соответствено цену.

А вобще оптимальным с точки срения структуры обработки есть связка (FPGA + MEM) + (DSP + MEM) smile.gif

Успехов! Rob.
Go to the top of the page
 
+Quote Post
vitus_strom
сообщение Nov 24 2005, 13:28
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 553
Регистрация: 15-10-04
Пользователь №: 877



так возмите 6455 и качайте через рапид 1.125 ГГБайт/сек
Go to the top of the page
 
+Quote Post
Igor_S
сообщение Nov 24 2005, 16:14
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 258
Регистрация: 3-08-04
Пользователь №: 434



A woobshe, zachem delatj obrabotku w Real Time? Wedj, nawernoe, " posledujushaja wizualizacija" - process medlennyj... Bystro zakachiwaete potok w pamjatj, a potom - medlenno chitaete i obrabatywaete na komputere.
Go to the top of the page
 
+Quote Post
Ibragim
сообщение Nov 24 2005, 16:29
Сообщение #12





Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295



Ну, спасибо за советы, пока нифига не понятно smile.gif. Уж сорри - проблема, скорее всего, во мне smile.gif
Сразу скажу - обработка только в Real Time: последующая визуализация уже мной написана с использованием мощностей граф. адаптера и летает, а поток будет вводиться часами smile.gif.
Конвейер как раз хотелось бы делать - по задержке там оператор все равно незаметит этих милисекунд, а штука полезная.

И все-таки:
чем программируются "сигнальники"?
накатайте плз. схемку для ПЛИС, кому не влом, ну скажем перемножения двух 16-bit значений, и как это отсимулировать. Посмотреть бы для оценки сложности.

Еще раз сэнкс.
Go to the top of the page
 
+Quote Post
kas
сообщение Nov 24 2005, 16:43
Сообщение #13


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

Группа: Свой
Сообщений: 77
Регистрация: 17-05-05
Из: Красноярск
Пользователь №: 5 108



У Xilinx'а есть микросхемы с как с отдельными умножителями 18х18 Spartan3, так и с умножителями входящими в состав 48 разрядного аккумулятора Virtex 4. А проект, ИМХО, лучше писать на (VHDL|Verilog) по выбору.
Go to the top of the page
 
+Quote Post
Leka
сообщение Nov 24 2005, 22:03
Сообщение #14


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

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Теория (практики пока никакой):
Cycloneii EP2C8:
18 умножителей 18*18 @ ~200 МГц --> 3,6 G умножений/сек;
чтение одной 2-хпортовой таблички: ~400 М значений/сек, всего м/б несколько табличек (до 36 по 256*16).
Задача:
умножения: 3,5 МГц * 64 * 10..20 умножений = 2,3..4,5 G умножений/сек;
таблицы: 3,5 МГц * 64 * 2..3 = 450..670 M значений/сек.
Справится ли ПЛИС, и какая - зависит от разрядности адреса таблиц,те от требуемой точности.

Кто-нибудь пробовал сравнивать производительность EP2C8 и XC3S400 в подобных задачах ?

Сообщение отредактировал Leka - Nov 24 2005, 22:07
Go to the top of the page
 
+Quote Post
vetal
сообщение Nov 24 2005, 22:26
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Берите ep2s180, там точно влезет и успеет smile.gif. (шутка)

На данной стадии проводить какую либо оценку быстродействия нецелесообразно. Реально вы не получите тех характеристик, которые приведены в документации(максимум 50-70%).
Необходимо распаралелить потоки обработки (один поток считает отсчет n, второй n-1 и.т.д до необходимого быстродействия).
НО. Пока нет хотя-бы общей, просчитанной структуры анализировать нечего.
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 25 2005, 06:36
Сообщение #16


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

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



ИМХО еще хотелось бы поинтересоваться бюджетом на разработку, сколько вы готовы "отдать" на все это безобразие smile.gif
а так не вижу сложностей, кроме гемора smile.gif , кстати посмотрите на фпга с процессором на борту ? или на уже готовые дев.киты с фпга и процем smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Adlex
сообщение Nov 25 2005, 12:57
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 500
Регистрация: 8-08-05
Пользователь №: 7 451



Ответ запоздалый, но просто два дня был в командировке.
По DSP - возможный вариант Тайгер Шарк от AD, пограмируется в Визуал ДСП - пакет от AD.
Go to the top of the page
 
+Quote Post
leevv
сообщение Nov 25 2005, 17:49
Сообщение #18


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

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



Prismotrites' k Virtex2pro i osobenno Virtex4FX s PowerPC processorom na chipe.
V zavisimosti ot razmera chipa moget byt' do 2 PowerPC na kristale.

Sami processory begut realno do 300 - 350 MHz clk.

No prelest' v tom chto mogno gramotno razdelit' obrabotku na fpga i na PPC. Plus V4 imeet neplohoj Axilary Processor Unit Interface. Chto pozvoljaet vam sdelat' custom coprocessor i takim obrazom rashirit' systemu komand PPC specifichnymi dlja vas operacijami, kotorye budut vypolnjatsja na logike FPGA.

Krome togo DSP48 blocks(apparatnye multipliery) v V4 toge neslabyj zver', esly vashu zadachu mogno konveerizirovat'.
Go to the top of the page
 
+Quote Post

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

 


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


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