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