|
|
  |
Ethernet+RGMII+Marvel+Terasic DE2+1GB data transfer rate |
|
|
|
Aug 4 2011, 17:04
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Всем привет, озадачился написать минимально возможную и простую в эксплуатации корку для RGMII c 1GB Ethernetом. Место тренировки, Терасиковская борда ДЕ2-115, должна быть у меня на столе уже в понедельник. Хочу поставить такой эксперимент, и, очень прошу всех покритиковать то ли я делаю, и правильно ли я мыслю. Железо: терасиковская борда, соединенная по етернет кабелю с линукс компом. На борде хочу генерить кадры вида Код 8'b10101010 (7 раз) 8'b10101011 48'h... адреса получателя 48 бит 48'h... придумываю какой-то адрес отправителя 16'h05dc длина сообщения, которая соответствует 1500 байтам 1500'h... сами байты сообщения 32'h... crc сумма 96'h0 ожидание перед следующей посылкой Правильно ли я понимаю, что если я подам клок в 125МГц на Код output ENET0_GTX_CLK; а вот сюда Код output [3:0] ENET0_TX_DATA; по двум фронтам буду скармливать с этим клоком сгенеренные мной данные, в все остальное Код input ENET0_INT_N; input ENET0_LINK100; output ENET0_MDC; inout ENET0_MDIO; output ENET0_RST_N; input ENET0_RX_CLK; input ENET0_RX_COL; input ENET0_RX_CRS; input [3:0] ENET0_RX_DATA; input ENET0_RX_DV; input ENET0_RX_ER; input ENET0_TX_CLK; output ENET0_TX_EN; output ENET0_TX_ER; input ENETCLK_25; вообще трогать не буду, то tcpdump на приемном компьютере должен начать собирать получившиеся пакеты. Пожалуйста, поправьте меня, если я где-то не прав! Использовать готовую корку, похоже не смогу, все остальное у меня сожрало все ресурсы, оставив для игр 2к лутов и 4 х м9к блочной памяти, поэтому мне надо делать свою корку, которую я сам смог бы встроить в алгоритм генерации данных, тем самым съэкономив ресурсы. Спасибо ИИВ
|
|
|
|
|
Aug 4 2011, 19:52
|

Частый гость
 
Группа: Свой
Сообщений: 141
Регистрация: 16-06-05
Из: Нижний Новгород
Пользователь №: 6 065

|
Подсказать, не подскажу, но нафлудить нафлудю  А это что за сигналы у вас перечислены, контакты ПЛИС которые на Marvell уходят? А что за пакет формируете, MAC-уровня? А программа tcpdump, что делает, ловит пакеты TCP?
|
|
|
|
|
Aug 4 2011, 23:16
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Цитата(kst @ Aug 5 2011, 01:52)  Подсказать, не подскажу, но нафлудить нафлудю  И на том - спасибо, во влуде рождается истина! Цитата(kst @ Aug 5 2011, 01:52)  А это что за сигналы у вас перечислены, контакты ПЛИС которые на Marvell уходят? ага, они самые, могу марвел тех док выложить, если так проще, и, распиновку что куда воткнуто. Цитата(kst @ Aug 5 2011, 01:52)  А программа tcpdump, что делает, ловит пакеты TCP? ага, вроде так Цитата(kst @ Aug 5 2011, 01:52)  А что за пакет формируете, MAC-уровня? А программа tcpdump, что делает, ловит пакеты TCP? мне главное ловить данные, все остальное - не важно. Проверку ошибочности сам могу реализаовать, мне это не сложно. Никто в этот момент на это етернет подключение ничего посылать не будет. Моя задача - достичь максимальной скорости передачи данных с плиски на комп, а потом научиться еще таскать даннные с компа на плиску, но пока самое актуальное - именно что-то близкое к гигабиту в секунду с плиски на комп. Комп мощный 6 ядер + 6ой Radeon + PCIx8 SSD, так что, словить, сохранить и обработать в реал тайм мой поток эмоций, думаю, что сможет. Счастливо ИИВ
|
|
|
|
|
Aug 5 2011, 05:18
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(iiv @ Aug 4 2011, 21:04)  Всем привет, озадачился написать минимально возможную и простую в эксплуатации корку для RGMII c 1GB Ethernetом. Место тренировки, Терасиковская борда ДЕ2-115, должна быть у меня на столе уже в понедельник. Хочу поставить такой эксперимент, и, очень прошу всех покритиковать то ли я делаю, и правильно ли я мыслю. GTX_CLK должен быть отражением TX_CLK, который определяется 88E1111 и находится в независимом тайм домене. Причём необходимо уложиться в допуск на сдвиг фазы, не помню сколько. Между фреймами необходимо сбрасывать TX_EN. TX_ERR установить в 0. Начать отладку советую в MII режиме, тогда не нужен GTX_CLK, и вообще проще будет.
|
|
|
|
|
Aug 8 2011, 08:05
|

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

|
вообще-то в Altera TSE есть вариант "1000 Small MAC" и "10/100 Small МАС". откройте документацию. у меня сейчас вроде и полная версия занимает около 2К лутов(голый МАС), а объем использованной памяти настраивается довольно в больших пределах. (начиная от 4К бит и до 2*65536*32 бит). весь проект с протоколами (ICMP, ARP, UDP) командами и ещё там чем-то занимал вроде около 7К.. но там дофига всего было. (полный удалённый доступ к регистрам МАС и PHY с чтением записью и резервом на два канала МАС, необязательный расчет чексумм для UDP, набор пользовательских внутренних регистров RW, ещё пианино на 3 октавы =) т.к. присутствовал спикер) облегченная наверняка влезет в ваш проект, при этом минимум геморроя. судя по документации вариант 1000 Small MAC с RGMII с 2048x32-bit FIFO кушает: (!!пардон данные укзаны для стратикса)843 Comb.ALUT 1,329 LogicRegs 22/0/128 Memory(M9K /M144K/ MLAB) вот для циклонаIII: 1,655 Comb.ALUT 1,279 LogicRegs 24 Memory(M9K) ещё можно отказаться от встроенного FIFO в МАС
--------------------
Работаю 20ns в сутки.
|
|
|
|
|
Aug 9 2011, 16:42
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Цитата(bark @ Aug 8 2011, 13:05)  вообще-то в Altera TSE есть вариант "1000 Small MAC" и "10/100 Small МАС". откройте документацию. вот для циклонаIII: 1,655 Comb.ALUT 1,279 LogicRegs 24 Memory(M9K) ещё можно отказаться от встроенного FIFO в МАС Вы правы, Барк, и огромное спасибо Вам за Ваш совет, а также всем остальным участникам тоже огромное спасибо за помощь! Сожмотить пару тысяч регистров и несколько блоков памяти в моем же алгоритме для меня оказалось гораздо проще, чем разбираться с интерфейсом RGMII! Я как-то листал этот мануал, но почему-то у меня сложилось впечатление, что оно только с ниосом нормально работает, а, при внимательном прочтении, все оказалось совсем не так. Счастливо ИИВ
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|