roboforum.ru

Технический форум по робототехнике.

Вопрос по применению ПЛИС

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Вопрос по применению ПЛИС

Сообщение toshas » 09 сен 2007, 12:33

Добрый день!
с ПЛИСами не работал, поэтому спрашиваю реально ли сделать на них следующее:

массив из N 16битных чисел и константа D0

for( ; ; ) {
1. каждое число в массиве сдвигается на соседнее место M[i]->M[i+1],   M[N] при этом теряется, M[0] освобождается
2. записать извне (spi или паралл.)  новое число на место M[0]
3. взять среднее  от k чисел M[0],....,M[k]  (M1) и  M[N-k],.....,M[N]   (M2)
4. вычислить (M2-M1)/(N-k)=D
5. сравнить  D и D0
}

какова максимально возможная скорость реализации этого алгоритма ?
на сколько большими могут быть заданы числа N и k (хотелось бы N>1.000.000 k>1000)?

спасибо!
Аватара пользователя
toshas
 
Сообщения: 90
Зарегистрирован: 31 янв 2006, 14:37
Откуда: Москва

Сообщение avr123.nm.ru » 09 сен 2007, 12:47

Конечно возможно. Про скорость не занаю.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение -= Александр =- » 09 сен 2007, 16:36

С шагами 3 и 4 будет много гемора, зато все остальное возможно на порядок быстрее чем в контроллере.
Скачайте MaxPlus2 с сайта Altera.com и попробуйте - он скажет сколько времени это будет выполняться.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение toshas » 09 сен 2007, 17:58

спасибо, попробую, не очень тривиальная программа на первый взгляд (
Аватара пользователя
toshas
 
Сообщения: 90
Зарегистрирован: 31 янв 2006, 14:37
Откуда: Москва

Сообщение EIN_ENGEL » 13 сен 2007, 22:49

для этого лучше взять АРМ или ДСП.
реализовывать на ПЛИС не выгодно, если количество значений, от которых нужно брать среднее более-менее фиксировано и можно обойтись без деления, то максимально достижимая частота вычислителя на топовой плисе - 550 МГц. Все операции будут выполнены за один такт. Иначе придётся делить, а это порядка тридцати тактов.
Аватара пользователя
EIN_ENGEL
 
Сообщения: 496
Зарегистрирован: 06 янв 2006, 03:02
Откуда: Москва
прог. языки: VHDL, C++, Matlab
ФИО: Павел

Сообщение toshas » 14 сен 2007, 09:07

а что будет для арм ?

в принципе нужно штучное устройство, поэтому экономическая выгодя не столь важна.
Аватара пользователя
toshas
 
Сообщения: 90
Зарегистрирован: 31 янв 2006, 14:37
Откуда: Москва

Сообщение EIN_ENGEL » 14 сен 2007, 15:24

топовая плис стоит от 1000$ ))))
Можно взять быстрый АРМ, мегагерц на 600, он считать будет медленнее плисы, но и стоить будет на 2-3 порядка меньше. Или ДСП. ДСП есть довольно быстрые. Посмотри аналог девайс или тексас инструментс.
Аватара пользователя
EIN_ENGEL
 
Сообщения: 496
Зарегистрирован: 06 янв 2006, 03:02
Откуда: Москва
прог. языки: VHDL, C++, Matlab
ФИО: Павел


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4