Pavel_SSS 0 17 февраля, 2013 Опубликовано 17 февраля, 2013 (изменено) · Жалоба Уважаемый All! Помогите! Жизнь заставила самому взяться за написание стека протоколов UDP/IP на microblaze для обертки HARD TEMAC на virtex5. Причем имеется критичность по быстродействию. Но, как назло, Ethernet кадр, получаемый из TEMAC, содержит 14-байтовый заголовок, состоящий из МАС-адреса источника, - 6 байт, МАС-адреса получателя - 6 байт, и кода типа протокола - 2 байта. Всего 14 байт. В результате собственно IP или ARP заголовок является не выровненным по 32 битам, что не позволяет при его копировании использовать 32-битные команды пересылки, а вынуждает использовать 16-битные команды. Что, в свою очередь. убивает быстродействие. По моему мнению, решением могла бы быть вставка произвольного 16-битного слова в начало кадра, но как это сделать? Ну или я торможу в чем-то очень тривиальном... Изменено 17 февраля, 2013 пользователем Pavel_SSS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mttphreak 0 17 февраля, 2013 Опубликовано 17 февраля, 2013 · Жалоба Уважаемый All! Помогите! Жизнь заставила самому взяться за написание стека протоколов UDP/IP на microblaze для обертки HARD TEMAC на virtex5. Причем имеется критичность по быстродействию. Что за приложение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel_SSS 0 17 февраля, 2013 Опубликовано 17 февраля, 2013 (изменено) · Жалоба Что за приложение? Коммуникационное приложение на Virtex 5, с одной стороны ethernet, с другой 4 интерфейса 16хLVDS. Задача Virtex'а - обработать данные, двигающиеся в обе стороны, задача процессора на microblase - собрать все в UDP и отправить, а так же принять из UDP рассовать по интерфейсам. Скорость порядка 30 мегабайт в секунду. Сейчас, с 16-битными пересылками, скорость не достигается. Есть мнение, что с 32-битными пересылками будет достигаться с запасом. Сейчас TEMAC FIFO опрашиваются поллингом, вот думаю, если применить ДМА корку, сможет она сместить 32-битные слова на 2 позиции? Пока даже собираюсь от безысходности переписать TEMAC FIFO... Изменено 17 февраля, 2013 пользователем Pavel_SSS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel_SSS 0 19 февраля, 2013 Опубликовано 19 февраля, 2013 · Жалоба Проблема решена очень просто. SDMA, который часть MPMC, позволяет копировать данные в буфер, начинающегося с любого адреса байта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться