реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> 10_100_1000 Mbps tri-mode ethernet MAC core by Gao Jon, проект с Open Cores
TverBASS
сообщение Jan 25 2010, 10:01
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052



Возникла вот необходимость сделать железку с Ethernet'ом. В качестве Phy был выбран et1011, рулить им будет virtex4(без аппаратной поддержки gmii). С нуля описывать gmii не хотелось, потому решено было воспользоваться наработками товарища Gao Jon, стянутыми с Open Cores. И все бы ничего, да уж больно бедновата документация на это творение. И что меня удивило, это что нет шума вокруг этого проекта,хотя вроде штука вроде работает...
Мои вопросы вероятнее всего будут адресованы тем кто уже работал с этой реализацией МАК уровня, хотя возможно вы предложите альтернативные решения, более описанные и уже освоенные.
Вызвал трудности Host Interface. Как я понимаю он одновременно выполняет конфигурирование МАК модуля и по miim может работать с phy. Host interface это 16-битная шина данных на чтение,16 бит на запись, 8 бит адреса(?) и два управляющих сигнала. Как по этому интерфейсу изменять регистры самого мак модуля ясно, а как по нему посылать в et1011 32 битные слова не очевидно.
Так же не очень понятно назначение сигналов RX_mac_BE(1:0) и TX_mac_BE(1:0).
В общем если кто то имел опыт решения подобных проблем,поделитесь пожалуйста.
Go to the top of the page
 
+Quote Post
AndreiUS
сообщение Jan 28 2010, 06:51
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Проще написать самому на верилоге модуль GMII-интерфейса, тем более там особо хитрого ничего нет, чем разбираться в уже кем-то написанном. Немного посложнее дело с RGMII. А eth1011, про который вы говорите, это случайно не Marvell 88E1011?
Go to the top of the page
 
+Quote Post
TverBASS
сообщение Feb 1 2010, 13:10
Сообщение #3





Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052



Это LSI ET1011. Но думаю от Марвела не сильно отличается. Тот же GMII и тот же MIIM.
Go to the top of the page
 
+Quote Post
PavelTs
сообщение Feb 2 2010, 11:37
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 26-08-08
Пользователь №: 39 831



Ну раз никто ничего не написал, то попробую чуть поумничать, хотя по-моему буду освещать тривиальные понятия, которые Вам скорее всего знакомы. Так что не судите строго. Сам по себе MII и GMII для FPGA не представляет ничего сложного. Мы реализовали это для второго циклона. Работает без проблем. Главное в этом деле правильно развести плату и согласовать волновые сопротивления терминирующими резисторами и правиьным расчетом трасс. Тоже самое касается и высокочастотной части, которая находится в сторону "меди". Если согласующие резисторы находятся внутри корпуса микросхемы, то проблем скорее всего не возникнет. Теперь, что касается управления. В нашем девайсе используются линии MDIO и MDCLK, т.е. управление по последовательному порту, и мы это сделали на обычном микроконтроллере, который управляет всеми элементами нашего девайса. Там как раз все эти 16 разрядов данных и 8 адреса, как Вы и писали. Достаточно подробно это все описано в документах на DP83865 NSC, что есть в открытом доступе. Основная часть регистров - это первые 4, по-моему, они стандартизованы для всех Phy Ethertnet, но могу и ошибаться. По крайней мере 0-й точно АБСОЛЮТНО у всех одинаковый, а там как раз идут настройки скорости порта, разрешение Auto Negotiation и т.д. Т.е. самое главное Вы сможете почерпнуть оттуда. Другой вопрос, что реализовывать всю алгоритмику Вам придется в ПЛИСе, что как мне кажется, не удобно. Кроме того, наверняка Вам понадобятся и другие функции микросхемы, которые подключаются через специфические регистры.
Сам по себе MAC уровень, т.е. формирование 802.3 пакетов мы не реализовывали, т.к. задачи не стояло, мы сделали прозрачную железку. Поэтому по конкретно этому вопросу помочь врядли смогу. Да, добавлю, что мы использовали Phy DP83865 и 88E1119 от Marvell. Marvell рулит, т.к. ваще безпроблемная микросхема и потребляет не много, т.е. греется не сильно, можно не ставить радиатор.
Удачи в реализации!!!

Сообщение отредактировал PavelTs - Feb 2 2010, 11:41
Go to the top of the page
 
+Quote Post
TverBASS
сообщение Feb 2 2010, 13:57
Сообщение #5





Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052



Спасибо за ответ!действительно, почти все это мне знакомо. Реализация GMII самостоятельно меня не пугает но требует времени и отладки. Куда как приятней взять готовое МАС core и подсовывать в него 32 битные слова, не заботясь о преамбулах и CRC. Опробовал я творение товарища Gao. Принимать пакеты оно уже начало. А вот с отправкой так и не разобрался. Не шлет ничего 05.gif К тому же смысл некоторых сигналов остался неясен.
По поводу управления PHY микроконтроллером. Нету на плате микроконтроллера у меня) потому все эти сдвиги и конфигурирования надо делать на ПЛИСе. Не сомневаюсь что задача решена, зачем решать ее опять? еще попробую поразбираться с передачей и если не оживет придется МАС писать заново
Go to the top of the page
 
+Quote Post
TverBASS
сообщение Feb 5 2010, 13:51
Сообщение #6





Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052



Спасибо тем кто откликнулся! удалось разобраться. уже реализован ARP запрос-ответ. Mac core явно рабочее. Не стоит изобретать велосипед и описывать заново MII и GMII, этой штукой вполне можно пользоваться. Моей ошибкой было то,что не завел сразу TXCLK который используется в MII, но который не нужен в GMII. В МАК модуле этот сигнал запускает начальное конфигурирование и управляет клоковыми мультиплексорами,потому он нужен обязательно.
Но как ни крути бедность документации на это tri-mode ethernet MAC core дает иногда о себе знать....
Go to the top of the page
 
+Quote Post
des333
сообщение Mar 18 2010, 22:12
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(TverBASS @ Jan 25 2010, 13:01) *
Так же не очень понятно назначение сигналов RX_mac_BE(1:0) и TX_mac_BE(1:0).


Если, вдруг, еще не разобрались, BE - byte enable, показывает число валидных байтов в последнем слове.


--------------------
Go to the top of the page
 
+Quote Post
msn-spb
сообщение Mar 24 2010, 14:04
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 5-07-09
Из: СПб
Пользователь №: 50 934



Доброго времени суток.
Есть необходимость синтезировать данную core от Gao... до данного момента с корками еще не работал.
Запустил скрипт в ModelSim но ничего из этого не вышло.... cranky.gif
Объясните алгоритм действий при работе с core, чтобы ее оживить и получить синтезируемый модуль help.gif
Go to the top of the page
 
+Quote Post
msn-spb
сообщение Mar 31 2010, 10:20
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 5-07-09
Из: СПб
Пользователь №: 50 934



Спасибо за исчерпывающий ответ!!!
Go to the top of the page
 
+Quote Post
agate
сообщение Jun 19 2010, 18:39
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 19-06-10
Пользователь №: 58 021



Цитата(TverBASS @ Feb 2 2010, 17:57) *
Спасибо за ответ!действительно, почти все это мне знакомо. Реализация GMII самостоятельно меня не пугает но требует времени и отладки. Куда как приятней взять готовое МАС core и подсовывать в него 32 битные слова, не заботясь о преамбулах и CRC. Опробовал я творение товарища Gao. Принимать пакеты оно уже начало. А вот с отправкой так и не разобрался. Не шлет ничего 05.gif К тому же смысл некоторых сигналов остался неясен.
По поводу управления PHY микроконтроллером. Нету на плате микроконтроллера у меня) потому все эти сдвиги и конфигурирования надо делать на ПЛИСе. Не сомневаюсь что задача решена, зачем решать ее опять? еще попробую поразбираться с передачей и если не оживет придется МАС писать заново


Hello, I hope you'd not have a problem to read my post.

I created new testbench to check functionality of the MAC- tx would work if all control registers preloaded with a default values from set_reg_data.tcl file.
MDIO port is not completed but I will add it myself.
Question: Have you been able to meet timing 125MHz. Spartan6 fails by 0.4 ns (CRC path)?
Go to the top of the page
 
+Quote Post
des333
сообщение Jun 19 2010, 20:41
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(agate @ Jun 19 2010, 22:39) *
Hello, I hope you'd not have a problem to read my post.

I created new testbench to check functionality of the MAC- tx would work if all control registers preloaded with a default values from set_reg_data.tcl file.
MDIO port is not completed but I will add it myself.
Question: Have you been able to meet timing 125MHz. Spartan6 fails by 0.4 ns (CRC path)?


В русскоязычных разделах форума принято писать по-русски.


Если нет возможности писать русскими буквами - данный ресурс Вам поможет:

http://www.translit.ru/



--------------------
Go to the top of the page
 
+Quote Post
TverBASS
сообщение Jul 19 2010, 07:57
Сообщение #12





Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052



По поводу 0.4 нс. Да,были проблемы с фазой клока. На задержки не обращали внимание, от ошибок неправильного защелкивания данных боролись принудительным сдвигом фазы 125мгц. пока работа встала, MDIO не проверял, но его реализации там так и не нашел.
Спасибо за ответ про BE!
Go to the top of the page
 
+Quote Post
agate
сообщение Jul 19 2010, 16:56
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 19-06-10
Пользователь №: 58 021



.4 нсек рассосался сам ка только поставил ПЛЛ . МДИО контроллер там есть , его надо только подключить через контрольные регистры. Все вроде рабочее.
Go to the top of the page
 
+Quote Post
TverBASS
сообщение Sep 23 2010, 08:13
Сообщение #14





Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052



msn-spb:
добавляйте все файлы *.v в проект и головным модулем будет модуль TOP. Я сам работаю со схематикой, потому по модулю TOP создаю символ и вставляю в основной проект. По поводу встроенного файла для симуляции не знаю,не пробовал.

Друзья, если кто то продолжает работать с этой ethernet коркой, подскажите,нет ли у кого проблем с RX_EOP? в 99 процентах случаев все ок, но иногда после конца пакета этот сигнал уходит в высокое и так и держится до следующего пакета. это у меня такая проблема или это баг?
Go to the top of the page
 
+Quote Post
Xuck
сообщение Apr 19 2011, 06:55
Сообщение #15





Группа: Новичок
Сообщений: 3
Регистрация: 5-04-11
Пользователь №: 64 130



jk
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016