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

 
 
> Ethernet+RGMII+Marvel+Terasic DE2+1GB data transfer rate
iiv
сообщение Aug 4 2011, 17:04
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 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к блочной памяти, поэтому мне надо делать свою корку, которую я сам смог бы встроить в алгоритм генерации данных, тем самым съэкономив ресурсы.

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bark
сообщение Aug 8 2011, 08:05
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 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 в сутки.
Go to the top of the page
 
+Quote Post
iiv
сообщение Aug 9 2011, 16:42
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 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!

Я как-то листал этот мануал, но почему-то у меня сложилось впечатление, что оно только с ниосом нормально работает, а, при внимательном прочтении, все оказалось совсем не так.

Счастливо

ИИВ
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 03:51
Рейтинг@Mail.ru


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