|
|
  |
Оптимальный вариант Ethernet на FPGA |
|
|
|
Aug 19 2011, 10:39
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Читал и перечитывал разные даташиты и так пока и не пришел к одному оптимальному варианту построения 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, как оптимальней поступить, чтобы не загрузнуть в самом начале.
Сообщение отредактировал Acvarif - Aug 19 2011, 10:40
|
|
|
|
|
Aug 19 2011, 11:14
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(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 нужен быстрый... Так что сначала все посчитайте, исходя из задания.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Aug 19 2011, 12:08
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(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 слайсов)
Сообщение отредактировал Acvarif - Aug 19 2011, 12:10
|
|
|
|
|
Aug 19 2011, 14:23
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(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 туда водрузить (хотя, если хочется ОС, то лучше что-нибудь полегче)
|
|
|
|
|
Aug 19 2011, 16:35
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Большое спасибо. Вы меня обнадежили. Цитата я делал несколько систем с ниос и ethernet на корках альтеры и на открытых, пробовал с PHY от Marvell, Micrel, SMSC. некоторые проекты выкладывал тут. их можно легко портировать их на вашу DE0 Если не сложно, дайте ссылку на Ваши проекты. Надеюсь для начала будет достаточно. У меня пока задача минимум связать FPGA с PC, например в режиме UDP (запрос от PC на FPGA и ответ FPGA) Буду пробовать. Главное, Вы меня обнадежили, что DE0 + PHY для этого будет достаточно.
|
|
|
|
|
Aug 23 2011, 10:04
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(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 оно влезет.
|
|
|
|
|
Aug 23 2011, 19:33
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(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 не понадобится
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|