А что конкретно нужно? Самый простой способ это взять готовую реализацию какого-нибудь процессора на ПЛИС и найти реализацию TCP/IP стека для этого процессора. (как вариант - использовать Linux). Есть и более сложный вариант - реализовать UDP/IP аппаратно. Чтобы оценить сложность такого решения посмотрите на вот этот проект -
marsohod.org/projects/marsohod2/263-rtl-recv
Т.е. по сути потребуется реализовать приём, разбор и передачу Ethernet фреймов, примём разбор и передачу IP пакетов + поддержка протокола ARP, а уже затем работа непосредственно c UDP пакетами. Для каких-то совсем простых случаев, когда формат, размер и структура UDP пакетов одинакова, это можно оптимизировать и упростить, но если делать универсальное решение, то сложность проекта будет расти в геометрической прогрессии.
А вам нужна коммуникация именно через интернет? Тогда одним udp не обойдется. Нужно еще как минимум ARP и желательно ICMP. По литературе сказать нечего. Но по запросам IPv4, ARP, UDP в википедии информация более чем исчерповающая. + Wireshark - даст белее полное (наглядное) понимание картины. И не нужен вам никакой софт процессор, пара тройка statemachine более чем для этой задачи. И как совет: если будете работать с плис по UDP или вообще по сети, не пользуйтесь пакетами в которых размер пакета больше мту. Это сильно облегчит жизнь при написании стека. Такие пакеты (фрагментированные) стоит рубить на корню еще при первичном разборе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.