Перейти к содержанию
    

Проблемы с Xilinx AMM AXI Bridge

Коллеги, помогите, пожалуйста, решить проблему.

Сделал Block Design, но он почему-то не работает.

Сигнал waitrequest на любой из шин Avalon всегда в 1.

Если принудительно выставить write или read, то waitrequest переключает в 0 и дает записать/считать некоторое количество данных, но после этого возвращается в 1 и намертво зависает.

 

P.S.

Hardware Manager пишет, что контроллер успешно проходит калибровку, так что видимо дело в остальной части схемы.

post-7056-1535020715_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте,

Пытаюсь использовать похожую схему, но только с DDR3.
Сделал как в примере этой IP - вначале выставляются read/write, а потом уже ожидается валидность waitrequest.
Так же как и у вас проходит несколько операций и все зависает (смотрел только моделирование).
Вам удалось проверить этот блок на реальном железе или как-то решить проблему?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. waitrequest имеет право быть активным и это не повод не начинать транзакцию, но нельзя ее заканчивать.

2. Я сейчас не помню наверняка, но не должен ли сигнал aresetn быть синхронным с соответсвующим клоком? А у вас ресет внешний, а клок с ядра ддр идет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

44 minutes ago, alexadmin said:

waitrequest имеет право быть активным и это не повод не начинать транзакцию, но нельзя ее заканчивать

На сколько я помню  если waitrequest активен то начинать транзакцию нельзя. 

Хотя Avlaon в спецификациях  на сигналы этом  абсолютно непредсказуем (в отличии от AXI)   - надо смотреть какая конкретно логика реализована в конкретном slave. 

В случае TC  особого смысла гадать по фото  нет. Ему надо воткнуть ILA на  шины между birdge, clock_converter и DDR controller  и посмотреть что там с сигналами. И все сразу станет понятнее.

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, RobFPGA said:

На сколько я помню  если waitrequest активен то начинать транзакцию нельзя.

A slave asserts waitrequest when unable to respond to a read or write request. Forces the master to wait until the interconnect is ready to proceed with the transfer. At the start of all transfers, a master initiates the transfer and waits until waitrequest is deasserted. A master must make no assumption about the assertion state of waitrequest when the master is idle: waitrequest may be high or low, depending on system properties.When waitrequest is asserted, master control signals to the slave must remain constant except for beginbursttransfer. For a timing diagram illustrating the beginbursttransfer signal, refer to the figure in Read Bursts.An Avalon-MM slave may assert waitrequest during idle cycles. An Avalon-MM master may initiate a transaction when waitrequest is asserted and wait for that signal to be deasserted. To avoid system lockup, a slave device should assert waitrequest when in reset.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я решил эту проблему, только уже не помню как :(

Надо поискать в архиве проектов.

Помню, только то, что у Xilinx Avalon сделан немного не по спецификации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел.

Во вложении пример работающий с Avalon от Xilinx.

Проверено на железе в Vivado 2018.3.

av_adapter.sv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...