akorud
Свой-
Постов
203 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о akorud
-
Звание
Местный
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
-
Извините, тогда думаю сюда https://www.xilinx.com/products/intellectua...ty/axi_dma.html Через AXI-Stream к нему будет приходить пакет который надо передать на хост и оно используя дескрипторы (предварительно заполненные драйвером) будет через PCIe записывать данные прямо в память хоста. А дальше дело драйвера.
-
Начинать надо с https://www.xilinx.com/products/intellectua...y/axi_pcie.html Для начала даже драйвера не надо - таким вот способом http://billfarrow.blogspot.com/2010/09/use...pci-memory.html можно легко инициировать транзакции на шине "по той стороне" PCIe.
-
Под Linux драйвер для Интела - полностью открыт, считается одним из лучших драйверов сетевых карт. У ТС нет чипов PHY - там SFP+. Работает сразу, только надо помнить, что Xilinx не поддерживает модули LR. А даже и если был бы чип - что ж там сложного? DMA надо, к сожалению у Xilinx нет бесплатного (в новых Виртексах вроде есть аппаратное встроенное в PCIe), надо использовать что-то подобное http://nwlogic.com/packetdma/, кстати там сразу и нарисована схема того, что Вы ищете :-). Коммерческое, но на фоне лицензии на 10G не сильно дорого :-) В эмуляцию стандартного контроллера я бы не игрался, разве что действительно очень надо.
-
У нас есть похожий дизайн, честно - не измеряли но могу глянуть на схему, точно помню что там LDO. При проектировании использовалась оценка XPE
-
Из моего опыта - заметно (десятки %) влияет только частота процессора. Лучшим решением оказалось собрать компьютер из компонентов игрового класса и разогнать сколько получится.
-
Контроллер ничего не будет думать. Он просто запишет 8 бит и ожидает получить их в том же порядке читая. А в какую конкретно ячейку памяти попадет бит (в границах группы) ему в общем-то все равно.
-
Vivado interclock
akorud ответил k2i тема в Среды разработки - обсуждаем САПРы
В xdc добавляете (пример из моего проекта). set_clock_groups -asynchronous \ -group [get_clocks clk_27M] \ -group [get_clocks clk_36M] \ -group [get_clocks clk_628M] \ -group [get_clocks clk_324M] \ -group [get_clocks clk_162M] \ -group [get_clocks gt_txoutclk_sgmii -include_generated_clocks] -
У Xilinx симуляция на одном ядре. В Vivado P&R (но не синтез) наконец научился загружать все, до чего дотянется. Приятно смотреть. Единственный способ заметно ускорить симуляцию и синтез - собрать игровой компьютер (без графики - хотя если есть бюджет то и поиграть можно ;-) и разгонять по мегагерцах сколько получится. У нас получилось ощутимо сократить время сборки.
-
Ну написать простую программку на microblaze - UART консоль с командами (например команда "mr" прочитает память и напишет содержимое на консоли). Что-то Вы как-то путаете. Если используете Bus2IP то насколько я помню к AXI напрямую писать ничего не надо. Если непосредственно AXI - вся документация свободно доступна на сайте ARM - читайте и делайте по стандарту - увы, нет другого выхода. Если мешаете все в кучу - как мне кажется ничем хорошим не кончится. Что касается количества тактов - AXI ориентирована на пакетную передачу и накладные расходы на передачу одного байта весьма высоки, вполне может быть 40 тактов. В стандарте хорошо описано (и даже нарисовано :-) что и как происходит.
-
Да, оно.
-
Если Вы подключите 2 мастера к одной "колонке" AXI арбитр будет сгенерирован автоматически. Далее просто из своего мастера пишите в любую память на AXI (согласно адресации на шине). Только я смотрю у Вас ее нет - создайте что-то вроде AXI BRAM если не хочется с DDR возиться.
-
1. По монстрам Bus2IP и IP2Bus я Вам уже не помогу - последний раз работал в ними года 3 назад и уже все забыл. 2. Vivado -> Tools -> "Create and package IP" -> и Next, Next, Next... :-) 3. Вам известно, а нам нет. Вы кажется даже не писали, что он к GPIO подключен. Далее, на приложенной картинке в видимом времени транзакции на шине AXI нет от слова вообще. Да и зачем вам 2 шины? Куда проще своим мастером писать в память видимую Microblaze и смотреть записалось ли.
-
Если используется Bus2IP i IP2Bus то о AXI вам, в общем случае, знать не нужно и напрямую управлять ее сигналами тоже. IP2Bus конвертирует канал записи AXI master в "локальную шину", которая по задумке программистов Xilinx проще для понимания. Но они сами уже отказались от таких странностей и в Vivado все куда проще. Готовый пример AXI master по внешнему сигналу (ваша кнопка) пишет заданные данные по заданному адресу. А зажжется ли светодиод - никто вам не скажет, так как неизвестно как и куда он подключен. По второму вопросу ничем помочь не могу, так как не помню использовал ли Chipscope в системах с Microblaze и уж точно не использовал платы KC705. Да, очень рекомендую пройти Lab 4 из UG940 - вот прямо в режиме "делай раз, делай два" :-)
-
Linux с голого железа
akorud ответил vgovseychuk тема в Linux
Да Ну например http://stackoverflow.com/questions/1796669...-embedded-linux И книга Embedded Linux Primer: A Practical Real-World Approach U-Boot. Если можно его использовать - то нужно его использовать. Нет -
Используем, исключительно беспроблемный чип, никаких нареканий.