Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TCP/IP и NIOS2
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
xxxmatrixxx
Здравствуйте,
сейчас занимаюсь разработкой модуля, который имеет на борту 2 Ethernet 1Гбит/с / 100Мбит/с / 10Мбит/с(настраиваемый), шину PCI 64х битную, работающую на частоте 66 МГц, а так же 2а Link порта 4х....

Работать модуль будет так: принимаемые данные по 2м Ethernet, работающим по TCP/IP протоколу, и PCI через DMA кладутся в память DDR, я управляю направлением, сортировкой, анализом информации, получаемой по ним... Link порты используются на передачу информации...

Планировалось использование 2х DDR, одна для получаемых/передаваемых данных, а 2я под программу... в процессе разработки было принято решение оставить одну DDR для данных, а программу разместить во внутренней памяти Stratix 2(EP2S60F484)... Но объем памяти там небезграничен, с моим проектом мне удалось выделить около 120Кбайт внутренней памяти...

Так как я занимался в целом разработкой аппаратуры на контроллерах и их программированием, то для меня эта тема очень нова и пока не изучена, поэтому прошу вашего совета и помощи...

а вопросы следующие с реализацией TCP/IP протокола:
1. Сколько примерно будет занимать место программа, имеющая ОС MicroC и NicheStack, т.е. без учета моего кода?
2. Можно ли запустить NicheStack без ОС MicroC?
3. Насколько можно сжать по минимуму NicheStack, чтобы был только TCP/IP, и сколько примерно он будет весить?
4. Есть ли готовые библиотеки,реализующие TCP/IP под NIOS2, имеющие меньший размер, и работающие без ОС MicroC?
5. Может есть какие-нибудь другие решения, где не требуется вообще NIOS2, т.к. ставил его чисто для того, чтобы реализовать TCP/IP (я имею ввиду уже готовые решения)?

gosu-art
Здравствуйте!
Хотелось бы поинтересоваться, вы решили свою проблему с компиляцией PCI корки?
И не многовато ли для ниоса 2 Гб порта? да еще и с обработкой протокола? Я как то пытался реализовывать огрызок TCP/IP на НИОСЕ (СIII 50МHz) получилось около 1МБ. Хотя.. у меня там была внешняя SDR 32х(отсутствие берста => большая латентность) может быть из-за этого.
xxxmatrixxx
Цитата(gosu-art @ Oct 11 2012, 10:06) *
Здравствуйте!
Хотелось бы поинтересоваться, вы решили свою проблему с компиляцией PCI корки?
И не многовато ли для ниоса 2 Гб порта? да еще и с обработкой протокола? Я как то пытался реализовывать огрызок TCP/IP на НИОСЕ (СIII 50МHz) получилось около 1МБ. Хотя.. у меня там была внешняя SDR 32х(отсутствие берста => большая латентность) может быть из-за этого.


Да, PCI кора сейчас компилится,почему не компилилась так и не выяснил... построил систему сначала на NIOS + PCI, компиляция прошла успешно, а затем навесил Ethernet и Link порт, все так же откомпилилось... времени было мало, поэтому не стал разбираться, почему так получилось...

Насчет Nios2... Nios2 будет задействован только для переключения памятина устройства, т.е. весь обмен реализован через DMA, чтобы минимизировать используемое время проца...

Причем насчет того, что 2 Ethernetа не потянет Nios2, я вообще не задумывался... я считал, что по-любому справится...

вся система будет работать на 100МГц, память на 150 МГц, только кора PCI по стандарту максимум 66...


Тогда еще 1 вопрос)))
Были ли у кого разработки с 2мя Ethernet на 1 Гбит/с и с какими проблемами столкнулись???
ISK
NicheStack без ОС MicroC : поищите на альтере Superloop Simple Socket Server.
TCP/IP без ниоса: не встречал такого, и такое наверное без процессора сделать сложно. Насчёт двух портов Ethernet в одном ниосе, вроде где-то здесь такое обсуждалось. А какую скорость передачи по ethernet вы хотите получить?



gosu-art
Цитата(xxxmatrixxx @ Oct 11 2012, 10:20) *
Причем насчет того, что 2 Ethernetа не потянет Nios2, я вообще не задумывался... я считал, что по-любому справится...

Если просто гонять байтики по ДМА туды-сюды, то справится, если с обработкой TCP/IP, не уверен.
xxxmatrixxx
Цитата(ISK @ Oct 11 2012, 10:51) *
NicheStack без ОС MicroC : поищите на альтере Superloop Simple Socket Server.
TCP/IP без ниоса: не встречал такого, и такое наверное без процессора сделать сложно. Насчёт двух портов Ethernet в одном ниосе, вроде где-то здесь такое обсуждалось. А какую скорость передачи по ethernet вы хотите получить?


Планировалось максимальную, т.е. 1Гбит/с.... но похоже я не добьсь такой скорости никак, используя стэк TCP/IP...
ISK
Цитата(xxxmatrixxx @ Oct 11 2012, 10:17) *
Планировалось максимальную, т.е. 1Гбит/с.... но похоже я не добьсь такой скорости никак, используя стэк ..


У меня на 4-м стратиксе, со всеми оптимизациями, только передача данных, получилось выжать максимум 180 Мбит/с (TCP/IP). Для скоростей до гигабита посмотрите в сторону UDP. Там можно сделать всё аппаратно и без ниоса. Есть опять же на альтере такой проект: udp offload example.
gosu-art
http://electronix.ru/forum/index.php?showt...mp;hl=ethernet*
p/s что то vadimuzzz\а давненько не было...
Konst_777
Цитата(xxxmatrixxx @ Oct 11 2012, 08:42) *
...
4. Есть ли готовые библиотеки,реализующие TCP/IP под NIOS2, имеющие меньший размер, и работающие без ОС MicroC?
...

Возможно, для Вас будет полезной тема "Самый быстрый и самый маленький TCP-стек., По просьбам трудящихся.".
xxxmatrixxx
Выяснил у начальства, что требуется в любом виде реализовать TCP/IP, а на какой скорости он будет работать - это уже на практике будем выяснять...

поэтому актуальными остаются следующие вопросы,на которые я не смог получить ответы:
Самый важный пока для меня вопрос
1. Сколько примерно будет занимать место программа, имеющая ОС MicroC и NicheStack, т.е. без учета моего кода?
2. Можно ли запустить NicheStack без ОС MicroC?
3. Насколько можно сжать по минимуму NicheStack, чтобы был только TCP/IP, и сколько примерно он будет весить?


4. Есть ли готовые библиотеки,реализующие TCP/IP под NIOS2, имеющие меньший размер, и работающие без ОС MicroC?
5. Может есть какие-нибудь другие решения, где не требуется вообще NIOS2, т.к. ставил его чисто для того, чтобы реализовать TCP/IP (я имею ввиду уже готовые решения)?
gosu-art
Посмотрите LwIP, uIP. Последний так вообще простенький. я из него по вытаскивал что мне надо было - все работало без ОС.
C NicheStack я не работал, поэтому ничего сказать не могу.
ISK
Цитата(xxxmatrixxx @ Oct 12 2012, 08:25) *
2. Можно ли запустить NicheStack без ОС MicroC?


http://www.alterawiki.com/wiki/SuperloopSi...T.oss=superloop
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.