реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Ошибка в AXI4 burst, Zynq 7010
alxkon
сообщение May 18 2017, 09:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 16-11-10
Пользователь №: 60 920



Приветствую Всех!

Столкнулся с интересным явлением при работе с HP портами 1,2,3,4 на Zynq 7010 (PicoZed).
Есть 4 AXI4 MM мастера в PL, каждый подлючен к соответсвующему HP порту через конвертор AXI4->AXI3. Логики занято 63%, нарушений таймингов нет. На PS крутится Линукс.
Дата полученая мастерами от внеших устройств прекачивается в DDR3 и оттуда по Ethernet на ПК.
Мастер осуществляет только WRITE транзакции и только с одним ID.
Время от времени, во write burst-e один из слейвов (HP) делает de-assert WREADY и больше не устанавливает в '1', сколько не жди. Три остальных порта работают при этом нормально.
По стандарту AXI бурст нужно довести до конца, только непонятно как, если слейв не готов к записи. Сейчас мастер после таймаута в в 256 ахi клоков ре-инициализируется.
Причин наверное есть множество. Может ли быть некий конфликт при чтениии/записи в DDR на стороне PS и по этому слейв не может принимать больше даных ? Но после таймаута наверное должно бы разрулиться, на самом же деле слейв больше не отвечает.

Возникает 2 вопросы, если кто столкнулся с подобым:
1. Как отловить реальную причину?
2. Как правильно завершить залипший бурст?
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 20 2017, 15:53
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 260
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(alxkon @ May 18 2017, 12:23) *
Приветствую Всех!

Столкнулся с интересным явлением при работе с HP портами 1,2,3,4 на Zynq 7010 (PicoZed).
Есть 4 AXI4 MM мастера в PL, каждый подлючен к соответсвующему HP порту через конвертор AXI4->AXI3. Логики занято 63%, нарушений таймингов нет. На PS крутится Линукс.
Дата полученая мастерами от внеших устройств прекачивается в DDR3 и оттуда по Ethernet на ПК.
Мастер осуществляет только WRITE транзакции и только с одним ID.
Время от времени, во write burst-e один из слейвов (HP) делает de-assert WREADY и больше не устанавливает в '1', сколько не жди. Три остальных порта работают при этом нормально.
По стандарту AXI бурст нужно довести до конца, только непонятно как, если слейв не готов к записи. Сейчас мастер после таймаута в в 256 ахi клоков ре-инициализируется.
Причин наверное есть множество. Может ли быть некий конфликт при чтениии/записи в DDR на стороне PS и по этому слейв не может принимать больше даных ? Но после таймаута наверное должно бы разрулиться, на самом же деле слейв больше не отвечает.

Возникает 2 вопросы, если кто столкнулся с подобым:
1. Как отловить реальную причину?
2. Как правильно завершить залипший бурст?

например промоделироавать с bfm model Вашу реализацию для FPGA


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd May 2017 - 10:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016