iiv 29 4 августа, 2011 Опубликовано 4 августа, 2011 · Жалоба Всем привет, озадачился написать минимально возможную и простую в эксплуатации корку для 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к блочной памяти, поэтому мне надо делать свою корку, которую я сам смог бы встроить в алгоритм генерации данных, тем самым съэкономив ресурсы. Спасибо ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kst 0 4 августа, 2011 Опубликовано 4 августа, 2011 · Жалоба Подсказать, не подскажу, но нафлудить нафлудю :) А это что за сигналы у вас перечислены, контакты ПЛИС которые на Marvell уходят? А что за пакет формируете, MAC-уровня? А программа tcpdump, что делает, ловит пакеты TCP? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 29 4 августа, 2011 Опубликовано 4 августа, 2011 · Жалоба Подсказать, не подскажу, но нафлудить нафлудю :) И на том - спасибо, во влуде рождается истина! А это что за сигналы у вас перечислены, контакты ПЛИС которые на Marvell уходят? ага, они самые, могу марвел тех док выложить, если так проще, и, распиновку что куда воткнуто. А программа tcpdump, что делает, ловит пакеты TCP? ага, вроде так А что за пакет формируете, MAC-уровня? А программа tcpdump, что делает, ловит пакеты TCP? мне главное ловить данные, все остальное - не важно. Проверку ошибочности сам могу реализаовать, мне это не сложно. Никто в этот момент на это етернет подключение ничего посылать не будет. Моя задача - достичь максимальной скорости передачи данных с плиски на комп, а потом научиться еще таскать даннные с компа на плиску, но пока самое актуальное - именно что-то близкое к гигабиту в секунду с плиски на комп. Комп мощный 6 ядер + 6ой Radeon + PCIx8 SSD, так что, словить, сохранить и обработать в реал тайм мой поток эмоций, думаю, что сможет. Счастливо ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба все остальное вообще трогать не буду, то tcpdump на приемном компьютере должен начать собирать получившиеся пакеты. не факт, что удастся обойтись без MDC и MDIO. возможно PHY необходимо предварительно сконфигурировать, чтобы включить RGMII. по крайней мере на альтеровской борде это так. как на вашей - не в курсе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба Всем привет, озадачился написать минимально возможную и простую в эксплуатации корку для RGMII c 1GB Ethernetом. Место тренировки, Терасиковская борда ДЕ2-115, должна быть у меня на столе уже в понедельник. Хочу поставить такой эксперимент, и, очень прошу всех покритиковать то ли я делаю, и правильно ли я мыслю. GTX_CLK должен быть отражением TX_CLK, который определяется 88E1111 и находится в независимом тайм домене. Причём необходимо уложиться в допуск на сдвиг фазы, не помню сколько. Между фреймами необходимо сбрасывать TX_EN. TX_ERR установить в 0. Начать отладку советую в MII режиме, тогда не нужен GTX_CLK, и вообще проще будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bark 0 8 августа, 2011 Опубликовано 8 августа, 2011 · Жалоба вообще-то в 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 в МАС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 29 9 августа, 2011 Опубликовано 9 августа, 2011 · Жалоба вообще-то в Altera TSE есть вариант "1000 Small MAC" и "10/100 Small МАС". откройте документацию. вот для циклонаIII: 1,655 Comb.ALUT 1,279 LogicRegs 24 Memory(M9K) ещё можно отказаться от встроенного FIFO в МАС Вы правы, Барк, и огромное спасибо Вам за Ваш совет, а также всем остальным участникам тоже огромное спасибо за помощь! Сожмотить пару тысяч регистров и несколько блоков памяти в моем же алгоритме для меня оказалось гораздо проще, чем разбираться с интерфейсом RGMII! Я как-то листал этот мануал, но почему-то у меня сложилось впечатление, что оно только с ниосом нормально работает, а, при внимательном прочтении, все оказалось совсем не так. Счастливо ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться