Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Оптимальный вариант Ethernet на FPGA
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Acvarif
Читал и перечитывал разные даташиты и так пока и не пришел к одному оптимальному варианту построения Ethernet (10/100 Mbps) на (Fpga+ MAC) + PHY или FPGA + (MAC and PHY).

Вариант1. Пытаюсь оценить реализацию на XC6SLX9 http://starterkit.ru/html/index.php?name=s...=view&id=60 + Ks8721BL
По документации на MicroBlaze - он займет 512 Slices из 1,430 имеющихся в XC6SLX9, но к нему еще нужно будет пристроить IP EMAC.
Вопрос к знатокам. Сколько займет места EMAC?

Вариант2. XC6SLX9 (или любой подобный Altera) + AvrCore(http://opencores.org/project,avr_core) + ksz8851 (http://www.micrel.com/_PDF/Ethernet/ksz8851_pb.pdf)
SPI в этом варианте вроде неплохо, да и процессор вроде бесплатный, но кто его пробовал? Он вообще рабочий?

Может еще есть варианты?
Поделитесь please, как оптимальней поступить, чтобы не загрузнуть в самом начале.
iosifk
Цитата(Acvarif @ Aug 19 2011, 14:39) *
Читал и перечитывал разные даташиты и так пока и не пришел к одному оптимальному варианту построения Ethernet (10/100 Mbps) на (Fpga+ MAC) + PHY или FPGA + (MAC and PHY).

Вариант1. Пытаюсь оценить реализацию на XC6SLX9 http://starterkit.ru/html/index.php?name=s...=view&id=60 + Ks8721BL
По документации на MicroBlaze - он займет 512 Slices из 1,430 имеющихся в XC6SLX9, но к нему еще нужно будет пристроить IP EMAC.
Вопрос к знатокам. Сколько займет места EMAC?

Вариант2. XC6SLX9 (или любой подобный Altera) + AvrCore(http://opencores.org/project,avr_core) + ksz8851 (http://www.micrel.com/_PDF/Ethernet/ksz8851_pb.pdf)
SPI в этом варианте вроде неплохо, да и процессор вроде бесплатный, но кто его пробовал? Он вообще рабочий?

Может еще есть варианты?
Поделитесь please, как оптимальней поступить, чтобы не загрузнуть в самом начале.


Здесь есть две большие разницы...
Первый вариант - самый простой, только трансивер надо брать самый новый - 8051. А вот второй поддерживает QoS, потом виртуальные сети и т.д Имеет сервисные счетчики событий. Но, самое главное, в ПЛИС довольно мало памяти и она дорогая. А потому посчитайте, куда девать пакеты по 1,5 кило... Их придется по частям перебрасывать во внешнюю память и только там обрабатывать. А в контроллере 8851 эти пакеты помещаются. А плюс к тому еще и разные режимы обработки пакетов в очереди... Но если поток данных будет большой, то SPI нужен быстрый...
Так что сначала все посчитайте, исходя из задания.
vadimuzzz
готовые ядра MAC займут примерно от 1,5 до 2,5 тыс. регистров в зависимости от настроек. на опенкорках есть ядро от Igor Mohor. если скорость критична, то SPI может стать узким местом. таким местом вполне может стать и убогий софтовый контроллер (бесплатная вариация ниоса, например). стек TCP/IP (если нужен) будет есть память.

а вообще, вы спрашиваете про оптимальное решение, но не указали по какому критерию ищете оптимум
Acvarif
Цитата(vadimuzzz @ Aug 19 2011, 14:39) *
готовые ядра MAC займут примерно от 1,5 до 2,5 тыс. регистров в зависимости от настроек. на опенкорках есть ядро от Igor Mohor. если скорость критична, то SPI может стать узким местом. таким местом вполне может стать и убогий софтовый контроллер (бесплатная вариация ниоса, например). стек TCP/IP (если нужен) будет есть память.

а вообще, вы спрашиваете про оптимальное решение, но не указали по какому критерию ищете оптимум


Если от 1,5 до 2,5 тыс + 500 (MicroBlaze) получается на XC6SLX9 ничего не выйдет.

Критерии
1. Исходя из того, что имею на рабочем столе или + то, что смогу недорого приобрести дополнительно.
На данный момент имею Altera DE0 Board и это Есть возможность приобрести платку XC6SLX9 с памятью + какой-либо PHY (MAC+PHY).
2. Простота реализации (наличие примеров, опыт и информация тех кто уже этим занимался)
3. Возможность на этой же FPGA иметь немного места для небольшого vhdl проекта (например 200...300 слайсов)
vadimuzzz
Цитата(Acvarif @ Aug 19 2011, 19:08) *
Если от 1,5 до 2,5 тыс + 500 (MicroBlaze) получается на XC6SLX9 ничего не выйдет.

нет, почему же. просто не выйдет быстро. можно сделать очень простенький MAC, там нет ничего сверхъестественного.
Цитата
1. Исходя из того, что имею на рабочем столе или + то, что смогу недорого приобрести дополнительно.
На данный момент имею Altera DE0 Board и это

на этом точно можно сделать, причем быстро. потом пооптимизировать (в плане занимаемых ресурсов) и, возможно, получится сделать на этом:
Цитата
Есть возможность приобрести платку XC6SLX9 с памятью + какой-либо PHY (MAC+PHY).

Цитата
2. Простота реализации (наличие примеров, опыт и информация тех кто уже этим занимался)

сложного ничего нет, сложности вы себе придумаете сами. я делал несколько систем с ниос и ethernet на корках альтеры и на открытых, пробовал с PHY от Marvell, Micrel, SMSC. некоторые проекты выкладывал тут. их можно легко портировать их на вашу DE0. на alterawiki.com тоже много примеров
Цитата
3. Возможность на этой же FPGA иметь немного места для небольшого vhdl проекта (например 200...300 слайсов)

я не скажу за Xilinx, но на DE0 проект с Ethernet и самым жирным NIOS сожрет примерно половину ресурсов (по логике), так что места порезвиться хватит. памяти тоже навалом - можете даже linux туда водрузить (хотя, если хочется ОС, то лучше что-нибудь полегче)
Acvarif
Большое спасибо.
Вы меня обнадежили.

Цитата
я делал несколько систем с ниос и ethernet на корках альтеры и на открытых, пробовал с PHY от Marvell, Micrel, SMSC. некоторые проекты выкладывал тут. их можно легко портировать их на вашу DE0


Если не сложно, дайте ссылку на Ваши проекты. Надеюсь для начала будет достаточно.
У меня пока задача минимум связать FPGA с PC, например в режиме UDP (запрос от PC на FPGA и ответ FPGA)
Буду пробовать.
Главное, Вы меня обнадежили, что DE0 + PHY для этого будет достаточно.
vadimuzzz
посмотрите эту тему: http://electronix.ru/forum/index.php?showtopic=37680
VladimirB
Цитата(Acvarif @ Aug 19 2011, 16:08) *
Если от 1,5 до 2,5 тыс + 500 (MicroBlaze) получается на XC6SLX9 ничего не выйдет.

Критерии
1. Исходя из того, что имею на рабочем столе или + то, что смогу недорого приобрести дополнительно.
На данный момент имею Altera DE0 Board и это Есть возможность приобрести платку XC6SLX9 с памятью + какой-либо PHY (MAC+PHY).
2. Простота реализации (наличие примеров, опыт и информация тех кто уже этим занимался)
3. Возможность на этой же FPGA иметь немного места для небольшого vhdl проекта (например 200...300 слайсов)


Микроблейз я думаю вам не нужен - линукс вы на SLX9 всёравно не поднимите.
Поставьте пикоблейз - он очень маленький. А насчёт МАКа - буквально на днях тестил на Virtex4 передающую часть софтварного 100BASE-T МАКа от ментора из закромов.
Вместе с простеньким автоматом управления рабочий проект занял:
Number of Slice Flip Flops 192
Number of 4 input LUTs 319
Number of occupied Slices 220

FCS считалоь в МАКе.
Если добавить примерно столько же на приёмную часть и пикоблейз - то в SLX9 оно влезет.


Konst_777
Цитата(Acvarif @ Aug 19 2011, 13:39) *
Читал и перечитывал разные даташиты и так пока и не пришел к одному оптимальному варианту построения Ethernet (10/100 Mbps) на (Fpga+ MAC) + PHY или FPGA + (MAC and PHY)...
...
Может еще есть варианты?
...

Ваш вариант FPGA + (MAC and PHY), только в качестве (MAC and PHY) - LM3S9B95. И отладочные платы есть: SK-MLM3S9B95 и EVB-9B95. Может и FPGA не понадобится cool.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.