|
10_100_1000 Mbps tri-mode ethernet MAC core by Gao Jon, проект с Open Cores |
|
|
|
Jan 25 2010, 10:01
|
Группа: Участник
Сообщений: 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). В общем если кто то имел опыт решения подобных проблем,поделитесь пожалуйста.
|
|
|
|
|
Feb 1 2010, 13:10
|
Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052

|
Это LSI ET1011. Но думаю от Марвела не сильно отличается. Тот же GMII и тот же MIIM.
|
|
|
|
|
Feb 2 2010, 11:37
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Feb 2 2010, 13:57
|
Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052

|
Спасибо за ответ!действительно, почти все это мне знакомо. Реализация GMII самостоятельно меня не пугает но требует времени и отладки. Куда как приятней взять готовое МАС core и подсовывать в него 32 битные слова, не заботясь о преамбулах и CRC. Опробовал я творение товарища Gao. Принимать пакеты оно уже начало. А вот с отправкой так и не разобрался. Не шлет ничего  К тому же смысл некоторых сигналов остался неясен. По поводу управления PHY микроконтроллером. Нету на плате микроконтроллера у меня) потому все эти сдвиги и конфигурирования надо делать на ПЛИСе. Не сомневаюсь что задача решена, зачем решать ее опять? еще попробую поразбираться с передачей и если не оживет придется МАС писать заново
|
|
|
|
|
Feb 5 2010, 13:51
|
Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052

|
Спасибо тем кто откликнулся! удалось разобраться. уже реализован ARP запрос-ответ. Mac core явно рабочее. Не стоит изобретать велосипед и описывать заново MII и GMII, этой штукой вполне можно пользоваться. Моей ошибкой было то,что не завел сразу TXCLK который используется в MII, но который не нужен в GMII. В МАК модуле этот сигнал запускает начальное конфигурирование и управляет клоковыми мультиплексорами,потому он нужен обязательно. Но как ни крути бедность документации на это tri-mode ethernet MAC core дает иногда о себе знать....
|
|
|
|
|
Mar 24 2010, 14:04
|
Участник

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

|
Доброго времени суток. Есть необходимость синтезировать данную core от Gao... до данного момента с корками еще не работал. Запустил скрипт в ModelSim но ничего из этого не вышло.... Объясните алгоритм действий при работе с core, чтобы ее оживить и получить синтезируемый модуль
|
|
|
|
|
Mar 31 2010, 10:20
|
Участник

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

|
Спасибо за исчерпывающий ответ!!!
|
|
|
|
|
Jun 19 2010, 18:39
|
Участник

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

|
Цитата(TverBASS @ Feb 2 2010, 17:57)  Спасибо за ответ!действительно, почти все это мне знакомо. Реализация GMII самостоятельно меня не пугает но требует времени и отладки. Куда как приятней взять готовое МАС core и подсовывать в него 32 битные слова, не заботясь о преамбулах и CRC. Опробовал я творение товарища Gao. Принимать пакеты оно уже начало. А вот с отправкой так и не разобрался. Не шлет ничего  К тому же смысл некоторых сигналов остался неясен. По поводу управления 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)?
|
|
|
|
|
Jul 19 2010, 07:57
|
Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052

|
По поводу 0.4 нс. Да,были проблемы с фазой клока. На задержки не обращали внимание, от ошибок неправильного защелкивания данных боролись принудительным сдвигом фазы 125мгц. пока работа встала, MDIO не проверял, но его реализации там так и не нашел. Спасибо за ответ про BE!
|
|
|
|
|
Jul 19 2010, 16:56
|
Участник

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

|
.4 нсек рассосался сам ка только поставил ПЛЛ . МДИО контроллер там есть , его надо только подключить через контрольные регистры. Все вроде рабочее.
|
|
|
|
|
Sep 23 2010, 08:13
|
Группа: Участник
Сообщений: 6
Регистрация: 25-01-10
Из: Dubna
Пользователь №: 55 052

|
msn-spb: добавляйте все файлы *.v в проект и головным модулем будет модуль TOP. Я сам работаю со схематикой, потому по модулю TOP создаю символ и вставляю в основной проект. По поводу встроенного файла для симуляции не знаю,не пробовал.
Друзья, если кто то продолжает работать с этой ethernet коркой, подскажите,нет ли у кого проблем с RX_EOP? в 99 процентах случаев все ок, но иногда после конца пакета этот сигнал уходит в высокое и так и держится до следующего пакета. это у меня такая проблема или это баг?
|
|
|
|
|
Apr 19 2011, 06:55
|
Группа: Новичок
Сообщений: 3
Регистрация: 5-04-11
Пользователь №: 64 130

|
jk
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|