Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Многопроцессорная система с сопряжением через ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
engineer09
Уважемые коллеги!
Проектрирую многопроцессорную систему (4 телекоммуникационных 2-х ядерных процессора).
Встал вопрос о сопряжении их между собой.
Из интерфейсов у процессоров есть по 4 линк-порта.
Приняла решение соединить их через ПЛИС FPGA.
Раньше такого не делала. Считаю что так будет лучше, чем соединять их другим образом.
Хотелось бы узнать ваши соображения и рассуждения по сопряжению процессоров через ПЛИС.
Может, кто-нибудь это уже делал? Не хочу углубляться в технические подробности, давайте просто порассуждаем.
klop
Телепаты становись!!!! biggrin.gif

Цитата(engineer09 @ Mar 10 2012, 07:45) *
Проектрирую многопроцессорную систему (4 телекоммуникационных 2-х ядерных процессора).


Название???

Цитата(engineer09 @ Mar 10 2012, 07:45) *
Из интерфейсов у процессоров есть по 4 линк-порта.


Краткое описание сигналов?????

А вообще то так
- Какую хотим архитектуру (раделяемую память или соединение через UART)
- Что хотим по скорости
- Ну и самое главное а обеспечивае ли выбранный проц подходящий инерфейс

Цитата(engineer09 @ Mar 10 2012, 07:45) *
Не хочу углубляться в технические подробности, давайте просто порассуждаем.

cranky.gif


ASN
engineer09
Без хотя бы краткого пояснения задачи сказать что дельное, IMHO, сложно.
На мой взгляд, самый простой способ - обмен через FIFO внутри FPGA (при наличии внешней шины адреса/данных).
Это самый простой способ, но не самый эффективный и скоростной, поскольку процессор должен будет "прокачивать" через свои регистры все данные.
Если есть LPORT, то можно внутри FPGA разбирать последовательность и коммутировать сообщения каждому абоненту.
Это сложнее, зато можно использовать режим DMA.
Если большие потоки данных идут от внешнего интерфейса одного процессора к внешнему интерфейсу другого (к примеру, маршрутизация IP-пакетов), то тут лучше применить что-то типа AMBA (как в Leon3). Это значительно сложнее, но и значительно эффективнее.
Соглашаюсь с уважаемым klop - сложно что-то порекомендовать, если не ясна задача устройства.
irum4
А задача скорее всего не ясна и самому разработчику, поэтому ей хочется "просто" порассуждать... заодно и задачу сформулировать sm.gif
А поскольку "раньше никогда такого никогда не делала", то наверное и неизвестно, что такое FPGA...
Ну для начала уважаемая engineer09, что за процессоры собираетесь использовать?
jojo
Дела какие, подумаешь, "задача, процессоры". Сразу к стенке ставят.

Можно соединить линк-порты с ПЛИС, не забыв проверить однонаправленные, выделенно-клоковые и банко-несовместимо-непомещаюшиеся сигналы.

Ничего страшного при этом не случится, кроме усложнения, удорожания и роста задержки.
eugen_pcad_ru
Обычно в самих процессорах уже присутствует механизм наращиваемости в многопроцессорную систему. Думаю проще этим и воспользоватьсяsm.gif
А ПЛИС использовать для других задач (если таковые есть).

P.S.: Название процессоров? ПЛИС? И (повторю предыдущие репликиsm.gif) зачем это нужно?
P.P.S.: Если Вы хотите "просто порассуждать", обратитесь в программу "Пycть гoвopят" sm.gif
Koluchiy
+1.

Надо посмотреть, как выбранные процессоры по замыслу фирмы-разработчика объединяются в многопроцессорную систему. И не изобретать велосипед.
Volkov
Если есть RapidIO, то через этот интерфейс. Вместо FPGA - комутатор.
engineer09
Очень рада, что мой вопрос вызвал неподдельный интерес)
Итак, по-порядку.
1. Система предназначена под реализацию OFDM-сигнала для WiMAX или LTE (полоса 10МГц, БПФ на 1024 точки).
2. Выбран процессор пр-ва НПЦ "Элвис" NVCom-01 http://www.multicore.ru/mc/data_sheets/NVC...rief_070509.pdf
3. Память отдельная для каждого процессора
4. Каждый процессор имеет по 4 многофункциональных порта MFBSP (I2S/ SPI/ SHARC LPORT/ GPIO) с DMA.
ASN
engineer09
Планируете реализовать радиомодем с поддержкой стандартов WiMAX или LTE?
На форуме обсуждались реализации - там одного БПФ на 1024 точки мало (IMHO, далеко не самая затратная по вычислительным ресурсам задача).
Поддержка интерфейсов пользователя уже определена? Какие сервисы будут доступны?
IMHO, лучше сначала модель на высокоуровневом языке "обкатать" прежде чем схему проектировать.
NVCom-01 - не самый удобный СнК, лучше что-нибудь поновее (более шустрое, менее жрущее).
DmitryR
Цитата(engineer09 @ Mar 11 2012, 17:26) *
4. Каждый процессор имеет по 4 многофункциональных порта MFBSP (I2S/ SPI/ SHARC LPORT/ GPIO) с DMA.

А у Analog devices нет готового коммутатора для LPORT?

Но вообще зачем вам процессор, предназначенный для GPS под OFDM? Возьмите MC-0226, у него есть PCI. Посадите на стандартный PCI коммутатор и все.
VladimirB
Цитата(engineer09 @ Mar 11 2012, 16:26) *
Очень рада, что мой вопрос вызвал неподдельный интерес)
Итак, по-порядку.
1. Система предназначена под реализацию OFDM-сигнала для WiMAX или LTE (полоса 10МГц, БПФ на 1024 точки).
2. Выбран процессор пр-ва НПЦ "Элвис" NVCom-01 http://www.multicore.ru/mc/data_sheets/NVC...rief_070509.pdf
3. Память отдельная для каждого процессора
4. Каждый процессор имеет по 4 многофункциональных порта MFBSP (I2S/ SPI/ SHARC LPORT/ GPIO) с DMA.

А зачем вам вообще процессоры?
Поставьте большой ПЛИС типа Virtex6, Kintex7, Stratix5,
памяти к нему побольше DDR2...3.
Потоковое Фурье на 1024 точки (правда целочисленное 16...32 бита) будет грызть как заяц морковку.
И таких Фурье числогрызок можно поставить 10-20 штук в параллель.
Ну и накрайняк можно создать многопроцессорную систему с Линухом или RTOS прямо внутри ПЛИС.

P.S. Я исхожу из того, что на задаче целочисленного Фурье, один современный ПЛИС типа XC6VLX240T по суммарной производительности
порвёт несколько TMS320C64XX, как тузик грелку.
engineer09
Цитата(DmitryR @ Mar 13 2012, 14:49) *
А у Analog devices нет готового коммутатора для LPORT?

Но вообще зачем вам процессор, предназначенный для GPS под OFDM? Возьмите MC-0226, у него есть PCI. Посадите на стандартный PCI коммутатор и все.


'DmitryR', какой PCI коммутатор посоветуете?
Был сделан выбор в пользу плис еще и потому, что это позволит гибко конфигурить устройство.
Какие будут задержки на psi при обработке одновременно 4-х потоков?
tAmega
Тема действительно очень интересная, меня только одно удивляет, все мы знаем что процессоры Элвис применяют только и исключительно в военных разработках. Куда смотрит Ваша служба безопасности, если Вы ключевые подробности проекта вывалили на форум откуда не вылезают спецслужбы забугорных стран.
engineer09
Цитата(tAmega @ Mar 18 2012, 17:56) *
Тема действительно очень интересная, меня только одно удивляет, все мы знаем что процессоры Элвис применяют только и исключительно в военных разработках. Куда смотрит Ваша служба безопасности, если Вы ключевые подробности проекта вывалили на форум откуда не вылезают спецслужбы забугорных стран.


В данном случае процессор используется не в военных а в чисто учебно-научных разработках)
DmitryR
Зачем тогда применять особо узкоспециализированные изделия для учебно-научных разработок? Возьмите на самом деле, как вам советовали, одну большую современную ПЛИС. За те деньги, что стоят четыре NvComа можно хороший кит купить.
yes
Цитата(engineer09 @ Mar 11 2012, 17:26) *
2. Выбран процессор пр-ва НПЦ "Элвис" NVCom-01 http://www.multicore.ru/mc/data_sheets/NVC...rief_070509.pdf
3. Память отдельная для каждого процессора
4. Каждый процессор имеет по 4 многофункциональных порта MFBSP (I2S/ SPI/ SHARC LPORT/ GPIO) с DMA.


у NVCom-а большие проблемы с интерфейсами, ну то есть, далеко не все, что заявлено в даташите, работает на самом деле.
если SDRAM ставите - смотрите, там поддерживается только 512 страницы, а такую память купить нынче тяжело
с интерфейсами - LPORT, I2C, половину SPI можно вычеркнуть. работает только SPI Master и GPIO

кстати у них есть два патча NVCom-01m и NVCom-02 , по моему в м особенно не улучшилось, а 02 еще пока не пробовали (там покупные IP для DDR USB, но опять же - заработает или нет - пока еще никто не пробовал)

то есть если партия требует NVCOM, то можно сильно подумать о прокладке между процессором и памятью в виде ПЛИС (но я не уверен, что сигнал BUSY нормально понимается)

а если бы все работало (ну положим как LPORT-ы у SHARK-а) без ПЛИС обойтись - соединить их по кольцу и гонять по кругу с меткой, имхо, проще чем в ПЛИС переключатель делать. но видел и реализацию заказной микросхемы (в смысле не верилог, а то что такая микросхема есть) для связи между SHARK-ами

у NVCOm, кстати, DSP-шные ядра задокументированы, скажем так, неполностью, если нет поддержки, то трудно будет

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





Цитата(DmitryR @ Mar 27 2012, 18:41) *
Зачем тогда применять особо узкоспециализированные изделия для учебно-научных разработок? Возьмите на самом деле, как вам советовали, одну большую современную ПЛИС. За те деньги, что стоят четыре NvComа можно хороший кит купить.

если это бюджетное учереждение, то деньги могут давать только под NVCom. уж что, что а лоббировать свои интересы "элвис" умеет
да и вообще, на хорошем кит-е каждый дурак сможет sm.gif, а тут будет серьезная инженерная практика

DmitryR
Цитата(yes @ Mar 28 2012, 17:06) *
а тут будет серьезная инженерная практика

Это будет не серьезная инженерная практика, а хождение по граблям и сплошное разочарование. Я было дело участвовал в попытках программировать MC-24 - так намучались, притом что у нас прямой выход был на инженеров. Но они же сами ничего не скажут, все вытягивать надо. Например начала у нас валиться DRAM. Искали-искали, нашли место в коде, после которого раскосячивается. Инженеры ответили за минуту: "ну конечно, вы же второй раз контроллер памяти инициализируете". А это низзяяя. Написать это в документацию видимо религия не позволяет, а мы неделю потеряли. Так это MC-24, а с NvCOm судя по вашему описанию все еще намного хуже.
tolik1
Цитата(DmitryR @ Mar 27 2012, 17:41) *
Зачем тогда применять особо узкоспециализированные изделия для учебно-научных разработок? Возьмите на самом деле, как вам советовали, одну большую современную ПЛИС. За те деньги, что стоят четыре NvComа можно хороший кит купить.

Добавлю. А если процессоры так интересуют реализуйте их внутри ПЛИС. Будет интересно.
yes
но за NVCOM может быть 300МГц на МИПСе и на двух ДСП ядрах (которые для некоторых операций 64х битные)

на ПЛИС такое не реализуешь,

в Stratix III 340 или подобный можно запихать несколько NVCom-ов (но опять же - для этого нужен код RTL, а где его взять?)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.