
Комментарии 13
Все легко можно найти.
https://developer.arm.com/documentation/ihi0022/latest/
ты на каком-то железе или в симуляции смотришь ?
Вопрос получился непонятный, я хотел спросить: на практике ты смотрел как происходит транзакции в этом интерфейсе? И если смотришь то где, через чипскоп(в плисе) или в симуляторе.
Ну в рамках этой статьи я чисто теорию изучал, сейчас пробую написать код на systemverilog, как закончу запускать буду в симулятуре questasim.
По хорошему возьми какое-нибудь ip ядро, и попытаться в него достучаться по axi. Например какойнибуть gpio или память.
Так как готовое ядро точно соответствует стандарту axi, и если что-то пойдет не так то точно знаешь кто не прав)
Спасибо за совет, поробую.
Я бы посмотрел на результат, просимулировал бы.
Сейчас тоже начал в свободное время изучать протокол AXI4 lite
ну готовых решений достаточно на github, я время от времени поглядываю на некоторые
Если не хочется кодить, в Vivado можно сгенерить AXI-ядро (например I2C). Затем по щелчку правой кнопкой выбрать Open Example Design и оно создаст пример с генератором AXI транзакций.
Если же самопальное ядро уже готово, можно проверить, корректно ли оно взаимодействует с AXI с помощью protocol-checker IP в составе AXI-interconnect. Оно может сотни варнингов выдавать по нарушениям AXI, очень подробно. Их и в железе можно посмотреть, через ILA.
Если охота ещё углубиться, можно поиграться с AXI Verification IP.
AXI4 уменьшает сигнал ARLOCK до одного бита, чтобы учитывать только эксклюзивные передачи, поскольку заблокированные передачи не поддерживаются
Не заблокированные, а блокирующие, наверное -- т.е. захватывающие шины в монопольное владение на всё время выполнения операции.
Кроме того, secure лучше переводить как безопасный, а не защищённый. Защита -- это protection, она реализуется, например, средствами устройства защиты памяти (MPU, memory protection unit) на микроконтроллерах M- и R-профилей архитектуры ARM и используется операционной системой, чтобы защитить себя от прикладного кода, а прикладные задачи -- друг от друга. А secure -- это другое, к обычной защите памяти отношения не имеющее (есть некое "безопасное ПО", работающее независимо и над операционной системой, последняя точно так же не имеет доступа к безопасной памяти, как и прикладные программы; в общем, ещё один механизм защиты для борьбы с уязвимости в операционных системах).
Шпаргалка по AXI: Краткое описание интерфейса