- 1. Шина AXI, интерфейс AXI и протокол AXI.
- 1.1 Обзор шины AXI
- 1.2 Введение в интерфейс AXI Три интерфейса AXI:
- 1.3 Обзор протокола AXI
- 1.4 Соглашение о рукопожатии протокола AXI
- 1.5 Пакетное чтение и запись
- 2 Подробный AXI4-Lite
- 2.1 Исходный код AXI4-Lite
- 2.2 Анализ исходного кода AXI-Lite
- Интеллектуальная рекомендация
- зеркало Zynq
- Qt — UI пакет
- Самые ценные цветы в горшках известны как «Цветы долголетия», красочные и легко выращиваемые, цветущие в течение многих лет.
- Руководство по установке MySQL5.7.21 под Linux
- Найдите простые числа в пределах 1 миллиона с помощью Python
- Расширенный расширяемый интерфейс — Advanced eXtensible Interface
- ID потоков
- Рукопожатие
- каналы
1. Шина AXI, интерфейс AXI и протокол AXI.
Шина, интерфейс и протокол. Шина — это набор каналов передачи, который представляет собой канал передачи данных, образованный различными логическими устройствами. Обычно он состоит из линий данных, адресных линий и линий управления. Интерфейс — это стандарт соединения, который часто называют физическим интерфейсом. Протокол — это правило передачи данных.
1.1 Обзор шины AXI
В ZYNQ поддерживаются три типа шин AXI и три типа интерфейсов AXI, конечно, все они используют протокол AXI. Три автобуса AXI:
AXI4: (Для требований высокопроизводительного отображения памяти) ориентирован в основном на потребности высокопроизводительной связи с отображением адресов.Это интерфейс, ориентированный на отображение адресов, который позволяет максимум 256 раундов передачи пакетов данных;
AXI4-Lite: (для простой связи с отображением памяти с низкой пропускной способностью) представляет собой облегченный интерфейс передачи с отображением адресов, занимающий очень мало логических единиц.
AXI4-Stream: (для высокоскоростной потоковой передачи данных) ориентирован на высокоскоростную потоковую передачу данных; элемент адреса удален, что обеспечивает неограниченный масштаб передачи пакетов данных.
Во-первых, шина AXI4 и шина AXI4-Lite имеют одинаковые компоненты:
(1) Считывать адресный канал, включая сигналы ARVALID, ARADDR, ARREADY;
(2) Чтение канала данных, включая сигналы RVALID, RDATA, RREADY, RRESP;
(3) Запись адресного канала, включая сигналы AWVALID, AWADDR, AWREADY;
(4) Запись канала данных, включая сигналы WVALID, WDATA, WSTRB, WREADY;
(5) Запись канала ответа, включая сигналы BVALID, BRESP, BREADY;
(6) Системный канал, включая сигналы ACLK и ARESETN.
В состав шины AXI4-Stream входит:
(1), сигнал ACL: синхронизация шины, нарастающий фронт действителен;
(2), сигнал ARESETN: сброс шины, активный низкий уровень;
(3), сигнал TREADY: ведомое устройство сообщает ведущему о готовности к передаче;
(4), сигнал TDATA: данные, необязательная ширина 32, 64, 128, 256 бит;
(5), сигнал TSTRB: каждый бит соответствует действительному байту TDATA, ширина TDATA / 8;
(6), сигнал TLAST: ведущий сообщает ведомому, что эта передача является концом пакетной передачи;
(7), сигнал TVALID: ведущий сообщает ведомому, что данные действительны для этой передачи;
(8), сигнал TUSER: определяемый пользователем сигнал, ширина 128 бит
1.2 Введение в интерфейс AXI Три интерфейса AXI:
Интерфейс AXI-GP (4): это универсальный интерфейс AXI, включающий два 32-битных интерфейса главного устройства и два 32-битных интерфейса подчиненного устройства, с помощью которых вы можете получить доступ к периферийным устройствам на кристалле в PS.
Интерфейс AXI-HP (4): это высокопроизводительный интерфейс со стандартной полосой пропускания, модуль PL подключается в качестве основного устройства. В основном используется для доступа PL к памяти на PS (DDR и встроенная оперативная память)
Интерфейс AXI-ACP (1): это интерфейс, определенный в многоядерной архитектуре ARM. Китайский перевод — это порт согласованности ускорителя, который используется для управления DMA и другими периферийными устройствами AXI без кеша. Сторона PS является интерфейсом Slave.
Мы можем дважды щелкнуть, чтобы просмотреть внутреннюю конфигурацию IP-ядра ZYNQ, и мы можем найти три вышеупомянутых интерфейса, которые были отмечены на рисунке красными полями.Мы можем четко видеть направление интерфейсного соединения и шины:
1.3 Обзор протокола AXI
Два конца протокола шины AXI можно разделить на ведущие (ведущие) и ведомые (ведомые). Их обычно необходимо подключать через межсоединение AXI, которое используется для подключения одного или нескольких ведущих устройств AXI к одному или нескольким. Механизм обмена для ведомых устройств AXI. При наличии нескольких ведущих и ведомых устройств AXI Interconnect отвечает за их подключение и управление ими. Поскольку AXI поддерживает передачу вне очереди, передача вне очереди требует поддержки сигнала идентификатора хоста, а идентификатор, отправленный разными хостами, может отличаться, и AXI Interconnect решает эту проблему. Он будет обрабатывать сигнал идентификатора разных хостов, чтобы идентификатор стал только.
Читайте также: Релейная защита сборных шин
Протокол AXI разделяет канал адреса чтения, канал данных чтения, канал адреса записи, канал данных записи и канал ответа записи.Каждый канал имеет свой собственный протокол установления связи. Каждый канал не мешает друг другу, но зависит друг от друга. Это одна из причин, почему AXI эффективен.
1.4 Соглашение о рукопожатии протокола AXI
То, что использует AXI4, — это ГОТОВЫЙ, ДЕЙСТВИТЕЛЬНЫЙ механизм установления связи.Проще говоря, существует процесс установления связи перед тем, как ведущее устройство и ведомое устройство выполнят обмен данными. Источник передачи генерирует сигнал VALID, чтобы указать, когда данные или управляющая информация действительны. Источник назначения генерирует сигнал READY, чтобы указать, что он готов к приему данных или управляющей информации. Передача происходит, когда сигналы VALID и READY имеют высокий уровень. Есть три отношения между появлением сигналов ДЕЙСТВИТЕЛЬНО и ГОТОВ.
(1) Сначала становится ДЕЙСТВИТЕЛЬНО, а затем ГОТОВО. Схема последовательности выглядит следующим образом:
(2) Сначала становится ГОТОВО, а затем ДЕЙСТВИТЕЛЬНО. Схема последовательности выглядит следующим образом:
(3) Сигналы VALID и READY одновременно становятся высокими. Схема последовательности выглядит следующим образом:
1.5 Пакетное чтение и запись
1. Последовательная диаграмма пакетного чтения выглядит следующим образом:
Когда адрес появится на адресной шине, переданные данные появятся в канале считываемых данных. Устройство поддерживает низкий уровень VALID, пока считанные данные не станут действительными. Чтобы указать завершение пакетного чтения и записи, устройство использует сигнал RLAST, чтобы указать последние данные, которые должны быть переданы.
2. Последовательность пакетной записи следующая:
В начале этого процесса хост отправляет адрес и информацию управления в канал адреса записи, а затем хост отправляет все данные записи в канал данных записи. Когда хост отправляет последние данные, сигнал WLAST становится высоким. Когда устройство получило все данные, оно отправляет ответ записи обратно на хост, чтобы указать на завершение транзакции записи.
2 Подробный AXI4-Lite
2.1 Исходный код AXI4-Lite
Шаг 1. Чтобы увидеть исходный код AXI-Lite, нам сначала нужно настроить IP-адрес AXI-Lite. После создания нового проекта выберите в строке меню -> Инструменты -> Создать и IP пакета:
Шаг 3: выберите «Создать периферийное устройство AXI4», затем «Далее»:
Шаг 4: по умолчанию выберите Далее
Шаг 5: Обратите внимание, что тип интерфейса здесь Lite и Next:
Шаг 6: Выберите Edit IP, нажмите Finish:
Шаг 7. После этого Vivado создаст новый проект для редактирования IP. В этом проекте мы можем увидеть исходный код операции AXI-Lite, созданный для нас Vivado:
2.2 Анализ исходного кода AXI-Lite
Когда вы открываете верхний файл, вы видите набор сигналов AXI. Вам знакомы эти сигналы?
Давайте сначала посмотрим на фрагмент кода, относящегося к WDATA:
Функция этой программы заключается в том, что, когда сторона PS записывает данные в шину AXI4-Lite, сторона PS отвечает за получение данных в регистр slv_reg. Регистр slv_reg имеет 4 регистра 0
3. Что касается назначения, которое определяется параметром axi_awaddr [ADDR_LSB + OPT_MEM_ADDR_BITS: ADDR_LSB], в соответствии с определением макроса это фактически
axi_awaddr [3: 2] (адрес записи содержит не только адрес, но и бит управления, где [3: 2] — бит управления) определяет, какой slv_reg назначен.
Когда PS вызывает функцию записи, если смещение адреса не выполнено, значение axi_awaddr [3: 2] по умолчанию равно 0. Например, если адрес нашего настраиваемого IP-адреса сопоставлен с 0x43C00000, тогда мы будем Xil_Out32 (0x43C00000 , Value) записывает значение slv_reg0. Если адрес смещен на 4 бита, например, Xil_Out32 (0x43C00000 + 4, Value) записывает значение slv_reg1 и так далее. При анализе сосредоточьтесь только на slv_reg0 (остальные структуры точно такие же):
Читайте также: Договор сезонного хранения автомобильных шин
Среди них макроопределенное значение C_S_AXI_DATA_WIDTH равно 32, что соответствует разрядности данных, S_AXI_WSTRB — сигнал строба записи, а S_AXI_WDATA — сигнал записи данных.
Наиболее важное предложение в цикле for: slv_reg0 [(byte_index * 8) +: 8]
Интеллектуальная рекомендация
зеркало Zynq
Сначала выберите fsbl.elf, затем файл .bit и, наконец, файл .elf проекта. Файл BOOT, запрограммированный NandFlash, является двоичным файлом bin, а файл BOOT, запрограммированный QSPIFlash, является Ф.
Qt — UI пакет
1. Профиль кнопки кнопки 1. 2. Результаты видов и виджет 3. Контейнер для контейнера Добавьте страницу: сначала выберите текущую страницу, затем выберите Щелкните правой кнопкой мыши StackedWidget, чт.
Самые ценные цветы в горшках известны как «Цветы долголетия», красочные и легко выращиваемые, цветущие в течение многих лет.
Цветок долголетия Рождественская гирлянда, капуста, всемирно известный цветок, после того, как она была завезена в Китай, получила название «цветок долголетия» Цветок долголетия Цветки огр.
Руководство по установке MySQL5.7.21 под Linux
Руководство по установке MySQL5.7.21 под Linux В этой статье в основном рассказывается, как установить MySQL 5.7.21 под Linux. Требуемая среда: CentOS 6.9 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz Уд.
Найдите простые числа в пределах 1 миллиона с помощью Python
1. Определите, является ли число простым Во-первых, давайте посмотрим, как определить, является ли число простым или нет. Вспомните, когда я был ребенком, я изучал математику. Простые числа — это прос.
Расширенный расширяемый интерфейс — Advanced eXtensible Interface
Расширенный расширяемый интерфейс ( AXI ), часть АРМ Расширенного Микроконтроллер архитектура шина 3 (AXI3) и 4 (AXI4) технических характеристик, является параллельной высокой производительность, синхронным , высокочастотный, мульти-мастер, мульти-подчиненным связи интерфейсом , в основном предназначен для внутрикристальной коммуникации.
AXI был представлен в 2003 году со спецификацией AMBA3. В 2010 году новая редакция AMBA, AMBA4, определил AXI4, AXI4-Lite и AXI4-Стрим протокол . AXI не требует лицензионных отчислений, а его спецификации свободно доступны в ARM .
AXI предлагает широкий спектр функций, в том числе:
- отдельные этапы адреса / управления и данных
- поддержка невыровненного доступа к данным
- пакетные передачи с однократной передачей начального адреса
- отдельные и независимые каналы чтения и записи
- сопровождение незавершенных транзакций
- поддержка завершения транзакций вне очереди для транзакций, имеющих разные идентификаторы потока на одном и том же главном порту. (Транзакции на одном и том же главном порте с одинаковым идентификатором потока должны выполняться по порядку. Кроме того, разные главные порты могут выполняться не по порядку относительно друг друга.)
- поддержка атомарных операций .
AMBA AXI определяет множество дополнительных сигналов , которые могут быть дополнительно включены в зависимости от конкретных требований конструкции, что делает AXI универсальной шиной для множества приложений.
Хотя связь по шине AXI осуществляется между одним ведущим и одним ведомым, спецификация включает подробное описание и сигналы для включения межсоединений N: M, позволяющих расширить шину до топологий с большим количеством ведущих и ведомых устройств.
AMBA AXI4, AXI4-Lite и AXI4-Stream были приняты Xilinx и многими его партнерами в качестве основных коммуникационных шин в своих продуктах.
ID потоков
Идентификаторы потоков позволяют одному главному порту поддерживать несколько потоков, при этом каждый поток имеет упорядоченный доступ к адресному пространству AXI, однако каждый идентификатор потока, инициированный с одного главного порта, может завершаться не по порядку относительно друг друга. Например, в случае, когда один идентификатор потока заблокирован медленным периферийным устройством, другой идентификатор потока может продолжаться независимо от порядка идентификатора первого потока. Другой пример: одному потоку на процессоре может быть назначен идентификатор потока для доступа к памяти конкретного главного порта, такого как чтение addr1, запись addr1, чтение addr1, и эта последовательность будет завершена по порядку, поскольку каждая транзакция имеет один и тот же идентификатор потока главного порта. Другой поток, работающий на процессоре, может иметь другой идентификатор потока главного порта, назначенный ему, и его доступ к памяти также будет в порядке, но может быть смешан с транзакциями первых идентификаторов потоков.
Читайте также: Зимние шины в казани бриджстоун
Идентификаторы потоков на главном порте не определены глобально, поэтому коммутатор AXI с несколькими главными портами будет внутренним префиксом индекса главного порта к идентификатору потока и предоставит этот объединенный идентификатор потока ведомому устройству, а затем при возврате транзакции на его Мастер-порт происхождения, этот префикс идентификатора потока будет использоваться для определения местоположения главного порта, и префикс будет усечен. Вот почему идентификатор потока подчиненного порта в битах шире, чем идентификатор потока главного порта.
Шина Axi-lite — это шина AXI, которая поддерживает только один поток ID для каждого ведущего устройства. Эта шина обычно используется для конечной точки, которой необходимо одновременно обмениваться данными только с одним ведущим устройством, например, с простым периферийным устройством, таким как UART . Напротив, ЦП способен одновременно управлять несколькими периферийными устройствами и адресными пространствами и будет поддерживать более одного идентификатора потока на своих главных портах axi и подчиненных портах axi. Вот почему ЦП обычно поддерживает шину Axi с полной спецификацией. Типичный пример переключателя axi на передней панели может включать мастер-устройство axi с полной спецификацией, подключенное к мастеру процессора, и несколько подчиненных устройств axi-lite, подключенных к переключателю axi от различных периферийных устройств.
(Дополнительная шина axi-lite ограничена поддержкой длины транзакции только в 1 слово данных на транзакцию.)
Рукопожатие
AXI определяет базовый механизм квитирования , состоящий из сигналов xVALID и xREADY. Сигнал xVALID управляется источником, чтобы информировать объект назначения о том, что полезная нагрузка на канале действительна и может быть считана начиная с этого тактового цикла и далее. Точно так же сигнал xREADY запускается принимающим объектом, чтобы уведомить, что он готов к приему данных.
Когда оба сигнала xVALID и xREADY имеют высокий уровень в одном тактовом цикле , полезная нагрузка данных считается «переданной», и источник может либо предоставить новую полезную нагрузку данных, поддерживая высокий xVALID, либо прекратить передачу, отменив xVALID. Индивидуальная передача данных, поэтому тактовый цикл, когда и xVALID, и xREADY имеют высокий уровень, называется «биением».
Для управления этими сигналами определены два основных правила:
- Источник не должен ждать высокого уровня xREADY для подтверждения xVALID.
- После утверждения источник должен поддерживать высокий xVALID до тех пор, пока не произойдет рукопожатие.
Благодаря этому механизму рукопожатия и источник, и место назначения могут управлять потоком данных, при необходимости регулируя скорость.
каналы
В спецификации AXI описаны пять каналов :
- Чтение адресного канала (AR)
- Чтение канала данных (R)
- Канал записи адреса (AW)
- Канал записи данных (Вт)
- Канал ответа на запись (B)
Кроме некоторых основных правил упорядочения, каждый канал независимо друг от друга , и имеет свою собственную пару xVALID / xREADY квитирования сигналов.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле




















