Перейти к содержанию
    

Здравствуйте!

Подскажите, пожалуйста, хорошие примеры или литературу по реализации UDP/IP.

Хочу реализовать передачу данных по Ethernet на FPGA GOWIN. MAC хочу использовать библиотечный Triple Speed Ethernet MAC.

А вот разработка UDP вызывает трудности.

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Aleksey25 said:

Хочу реализовать передачу данных по Ethernet на FPGA GOWIN. MAC хочу использовать библиотечный Triple Speed Ethernet MAC.

Давайте уточним: вы хотите реализовать поддержку UDP/IP именно в виде чистого HW, т.е., в виде конечных автоматов? Программируемая составляющая (SW) не входит в ваши планы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Raven сказал:

Давайте уточним: вы хотите реализовать поддержку UDP/IP именно в виде чистого HW, т.е., в виде конечных автоматов? Программируемая составляющая (SW) не входит в ваши планы?

Да, хочу попробовать именно HW.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А разве реализовывать стек протоколов на FPGA - это норма? Максимум что я бы оставил за FPGA-частью, это то, чего не доделал GOWIN в MAC (если такое есть, а оно обязательно найдется). А помимо UDP для сети надо поднимать еще несколько промежуточных протоколов. Изучать можно где угодно - хоть по википедии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Aleksey25 said:

Да, хочу попробовать именно HW.

Чисто HW это лишнее усложнение и трата ресурсов.

Вам как минимум нужно: ARP, ICMP, UDP.

Я когда свою видеокамеру делал, реализовал комбинированный вариант - фильтр MAC HW, маршрутизация UDP HW, всё что прошло фильтр, но не прошло в UDP HW обрабатывалось на встроенном софт-процессоре RISC-V (PicoRV32).

И то даже в таком комбинированном виде это занимало довольно прилично как Slice, так и BRAM.

Чисто HW это монстр будет с точки зрения потребления ресурсов.

Не говоря уже про сложности с отладкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сколько я знаю даже в коммутаторах/маршрутизаторах управляемых и сложнее L2 пакет не попавший под текущие правила в матрице попадает в проц и в матрицу пишутся правила для него процом, сразу аппаратно не делают из за большой вариативности.

С другой стороны прием/передача ARP и IP-UDP не сложны и их можно реализовать в железе, с IP-TCP-DHCP будет сложнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, BSACPLD said:

Вам как минимум нужно: ARP, ICMP, UDP.

Делал на си автомат который разбирал ethernet на ARP/UDP/TCP ничего сложного чтоб написать на верилоге. Структура простая, нужно лишь контрольные суммы считать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, BSACPLD said:

Чисто HW это лишнее усложнение и трата ресурсов.

А с другой стороны  городить целый soft-CPU  вместо пры тройки простых автоматов. 
UDP с сопутствующими сервисами (ARP, ICMP) поднимается в HW несложно. Причем сложность и ресурсы зависит в основном от на сколько правильно и полно вы хотите все это делать. 


Для примера релизации можно посмотреть на стек у  Аlex Forencich,  где все сделанно по классике, с четким разделением по уровням стека.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...