|
MAC для Cyclone, что? где ? когда? |
|
|
|
Aug 17 2010, 14:09
|

Частый гость
 
Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659

|
Добрый день. У меня много глупых вопросов. Т.к. решение задачи для меня не совсем понятное. Сталкиваюсь с какой-то стеной непонимания и что делать не знаю. Форум поиском помучал, почитал, но ничего путного для себя не нашел или не понял. Есть задача чтобы с Cyclon'ом III + PHY запустить 1Gbit Ethernet. Как я понимаю для этого нужно иметь ядро MAC-контроллера зашить в Циклон. вот тут начинаются вопросы. где его взять? на опенкорах смотрел там есть гигабитный, но как им пользоваться не совсем разобрался. ещё в нем интерфейс к фиттеру GMII, а мне нужен RGMII. Может я усложняю себе жизнь и такие (как бы) стандартные вещи как интерфейс локалки можно где-то достать проще? или у самой альтеры где-то есть. сам пока путного не нашел. Если более полно описать задачу - то у меня есть девборда DK-DEV-3C120N. куплена довольно давно, но руки до неё доходят вот только сейчас. как запустить в ней локалку и использовать - не понимаю. спросить просто не у кого. есть с бордой какие-то базовые проекты. там есть использование локалки, но они собраны в ниосе. а мне бы просто иметь отдельный модуль чтобы вставить в проект. или можно нормально использовать и ниосовский? наставьте на пусть праведный. как правильно поступать? какие подводные камни? уже голова кружится не знаю куда податься чтобы хоть копать в одном направлении для решения задачи.
--------------------
Работаю 20ns в сутки.
|
|
|
|
|
Aug 18 2010, 05:49
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(bark @ Aug 17 2010, 17:09)  ...куда податься чтобы хоть копать в одном направлении для решения задачи... Правильно сформулированная задача - это половина ее решения. В подобных задачах есть несколько аппаратно-программных уровней, определитесь с желаниями и своими возможностями. Можно связать два девборда физически напрямую через PHY и без МАС; такое решение иногда имеет смысл. Если вторая точка компьютер, то без МАС не обойтись, синтезировать аппаратный МАС самому тяжело, найти и приспособить чужой, несколько легче. Потом нужен стек протоколов, полный или усеченный; последний, в принципе, можно написать свой. А для поддержки стека нужен еще процессор, тот же NiosII или другой, на мезонине, а здесь уже программирование.
|
|
|
|
|
Aug 18 2010, 09:20
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(bark @ Aug 18 2010, 12:14)  Протоколы реализованы руками. arp, icmp, udp (tcp нет). т.е. пакеты создаю сам и толкаю в мас. Абсолютно верное решение для локалок и соединений точка-в-точку. Городить TCP по-полной никакой нужды нет. Я бы из вашего списка еще и icmp выкинул для простоты реализации в FPGA. Цитата т.е. просто загонял в МАС контроллер свои пакеты и давал отмашку на передачу. теgерь надо реализацию МАС загнать в FPGA. чтобы осталась связка FPGA -> PHY. я это уже прошел именно с вашим списком протоколов(без icmp) и с интерфейсом RGMII для Cyclone-III. Сказать, что сделал полноценный MAC,- будет неправильно. По сути, использовал описание фрейма Ethernet-II для интерпретатора входящих пакетов на сдвиговом регистре, добавил вычислитель сrc32 и пару fifo. Работает замечательно. Цитата TCP в принцете не особо нужен. но если можно построить готовые модули так чтобы был - это будет хорошо. Enthusiast, можно чуть подробней? что где взять и хоть в двух словак как слепить? Мне представляется, вы потратите больше времени на поиски и разбирательства в чужом и ненужно накрученном, нежели сами напишете такой простенький MAC.
|
|
|
|
|
Aug 18 2010, 10:24
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(Aprox @ Aug 18 2010, 12:20)  ...Сказать, что сделал полноценный MAC,- будет неправильно. По сути, использовал описание фрейма Ethernet-II для интерпретатора входящих пакетов на сдвиговом регистре, добавил вычислитель сrc32 и пару fifo. Работает замечательно. Круто все же! У меня, правда, NiosII и LAN91C111, а в последнем все внутри, что позволяет работать как с точками, так и с сетью. Отказываться от ICMP полностью не стал, оставил только функцию Ping, как наиболее привычную. Далее планирую применять 88E1111, но там уже без МАС вроде нельзя. Вообще то, здесь уже советовали посмотреть на примеры от Altera, припоминаю, их должно быть много. Но что-то типа NiosII в системе, все же желательно предусмотреть. Немного об аппаратной реализации было еще здесь: http://www.fpga4fun.com/10BASE-T.html
|
|
|
|
|
Aug 18 2010, 14:47
|

Частый гость
 
Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659

|
Цитата(Stewart Little @ Aug 18 2010, 17:26)  А чем родная альтеровская корка Triple Speed Ethernet (10/100/1G) не устраивает? я не говорил что во всем разобрался и иду по самому оптимальному пути  вроде пытался её подключать через MegaWizarg Plug-In Manager. но при компиляции кажет что какбы тайм эвалюейшн и все дела. или есть крфк/обход лицензирования? или я что-то не то делаю? как-то так ругается: Warning: Megafunction that supports OpenCore Plus feature will stop functioning in 1 hour after device is programmed Error: Can't generate netlist output files because the file "D:/......./triple_speed_ethernet-library/altera_tse_tx_min_ff.v" is an OpenCore Plus time-limited file
--------------------
Работаю 20ns в сутки.
|
|
|
|
|
Aug 18 2010, 16:03
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 25-09-09
Из: Nizhny Novgorod, Russia
Пользователь №: 52 588

|
Цитата(Serhiy_UA @ Aug 18 2010, 11:44)  Дайте, пожалуйста, ссылку на это ядро, что-то не нахожу. Тема уж сильно актуальна.... Исходники с описанием указанного мной выше ядра сетевого контроллера лежат тут: /pub/FPGA/_IPcores_/Mentor.Decrypted/pe_mcxmac.tar.gz. На передаче ПЛИСина шлет пакеты так, что компьютер с XP уходит в глубокую задумчивость 8)
|
|
|
|
|
Aug 19 2010, 06:23
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(bark @ Aug 18 2010, 16:13)  ну с таким быстрым решением ещё можно пободаться. Это не просто быстрое, а самое эффективное решение для локалок и соединений точка в точку. Решение, обеспечивающее до 86% загрузки сети, для 1G -это худо-бедно 860Mbit/s в полном дуплексе. Никакой ниос не потянет. Цитата а ваш проект доступен как-то общественности или это личный и закрытый проект? Это коммерческий Reference Design в виде готового модуля и софта к нему. Станет доступен платежеспособной общественности в самое ближайшее время.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|