|
Возможно ли в принципе сделать такое с использованием ПЛИС?, Реализовать относительно сложную мат. обработку данных |
|
|
|
Nov 23 2005, 18:04
|
Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295

|
День добрый. Есть следующий вопрос - возможно ли реализовать (хватит ли производительности, возможно ли вводить данные в таком формате, не будет ли проект уж совсем заоблачной сложности) на ПЛИС, желательно Altera, алгоритм такого плана: 1. Поток входных данный 64 целочисленных слова за период, частота 3,5 МГц 2. В обработке будут актуальны входные данные на 10 - 20 периодов "назад", то есть их нужно помнить 3. С каждым словом и предыдущими полученными по этому каналу данными (см п.1) нужно совершить 10 - 20 операций типа умножение/деление, и 2-3 операции тригонометрических функций 4. С полученными результатами пункта 3 необходимо произвести еще несколько операций умножения/сложения 5. Результат - слово, его нужно выводить с небольшой частотой, успеем. Если такое возможно в принципе, буду пытаться осваивать P.S. Если не сложно, презентуйте пожалуйста элементарную графическую схемку-проект для MAX+plus II сложения двух слов и описание как посмотреть симулирование работы такого девайса.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 17)
|
Nov 24 2005, 09:43
|
Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295

|
Приблизительно начинает прорисовываться, спасибо. Если не влом, проконсультируйте дальше! 2Alex11: 1. "Слово" я подразумевал из терминологии программирования ПК, 16 бит, целочисленное. 2. Да, понятно что будет талблица синусов/косинусов 3. Вспомнил, что есть еще несколько извлечений квадратного корня - это, по идее, вообще очень медленная операция. 4. А сколько стоит этот самый циклон? Quartus - не вопрос, давайте над ним повздыхаем. 2vitus_strom: Задача вообще стояла реализовать на компьютере (я программистом работаю), но с таким потоком даже комп не справляется, а задача критически важна. Это обработка поступающих с технологического сканера данных, потом они один фиг идут в комп для визуализации и т.п. То есть смотрите: 64 слова со скоростью 3.5 MHz - это если делить процессорное время на последовательную обработку, аналогично что одно слово поступает со скоростью 224 MHz. Сделать над ним два десятка операций (по несколько тактов минимум) никакого процессора не хватит. Поэтому и копаю в сторону программируемой логики, не сильно представляя, каюсь, что это такое. А почему может справиться DSP, если комп не может? Он что, может обрабатывать параллельно 64 слова? Вообще, если имели опыт - поделитесь плз. - что с такой задачей делать?
|
|
|
|
|
Nov 24 2005, 09:57
|
Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295

|
Adlex, а то что я писал что обычный компьютер не справляется? Как справится такой процессор? "Чем" их программируют и посоветуйте модель процессора? Спасибо.
|
|
|
|
|
Nov 24 2005, 12:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Для реализация вычислений в FPGA или DSP - есть свои плюсы и минусы. Для FPGA - плюс - возможность работать с очень большим потоком данных , минус - сложность реализации сложных алгоритмов мат. обработки. Для DSP с точностью наоборот  . В поставленном вопросе например если предположить что входные слова 16 бит то поток данных составит 448 MB/сек. ввести такой поток наприме в тотже TI320c6416 уже проблема а ведь надо еще и посчитать и вывести. Для FPGA - это не сложно. Построение много процесорной системы порождает проблему разделения входных данных, синхронизации вычислениий , объединения на выходе. Без FPGA не обойтись Для определения возможности реализации алгоритма в FPGA или в DSP надо прикинуть необходимое быстродейсвие. Также необходимо учесть накладные расходы - потоки данных на ввод и вывод, требуемый объем и скорость доступа к памяти, возможность распаралеливания и допустимость конверизации(и соответствующей задержки в получении результата) операций и. т. д. . С точки зрения реализации в FPGA алгоритмов деления и триг. функций - особых проблем нет - надо только проанализировать требуемые точности. Это будет влиять на объем требуемых кристаллов и соответствено цену. А вобще оптимальным с точки срения структуры обработки есть связка (FPGA + MEM) + (DSP + MEM) Успехов! Rob.
|
|
|
|
|
Nov 24 2005, 16:29
|
Группа: Новичок
Сообщений: 4
Регистрация: 23-11-05
Пользователь №: 11 295

|
Ну, спасибо за советы, пока нифига не понятно  . Уж сорри - проблема, скорее всего, во мне Сразу скажу - обработка только в Real Time: последующая визуализация уже мной написана с использованием мощностей граф. адаптера и летает, а поток будет вводиться часами  . Конвейер как раз хотелось бы делать - по задержке там оператор все равно незаметит этих милисекунд, а штука полезная. И все-таки: чем программируются "сигнальники"? накатайте плз. схемку для ПЛИС, кому не влом, ну скажем перемножения двух 16-bit значений, и как это отсимулировать. Посмотреть бы для оценки сложности. Еще раз сэнкс.
|
|
|
|
|
Nov 24 2005, 22:03
|
Профессионал
    
Группа: Участник
Сообщений: 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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|