Для проектов, которые требуют больших наборов данных доступа от внешней памяти, смоделируйте свой алгоритм с упрощенным Основным протоколом AXI4. Когда вы запускаете IP Core Generation рабочий процесс, HDL Coder™generates ядро IP с Основными интерфейсами AXI4. Интерфейс AXI4 Master может передать между вашим проектом и контроллером внешней памяти IP при помощи Основного протокола AXI4.
Можно использовать упрощенный Основной протокол AXI4, чтобы сопоставить с Основными интерфейсами AXI4. Используйте упрощенный Основной протокол записи AXI4 в транзакции записи и упрощенный Основной протокол чтения AXI4 для транзакции чтения.
Этот рисунок показывает схему синхронизации для сигналов, что вы моделируете в интерфейсах ввода и вывода DUT для Основной транзакции записи AXI4.

DUT ожидает wr_ready стать высоким, чтобы инициировать запрос записи. Когда wr_ready становится высоким, DUT может отослать запрос записи. Запрос записи состоит из Data и Write Master to Slave bus сигналы. Эта шина состоит из wr_len, wr_addr, и wr_valid. wr_addr задает начальный адрес, в который DUT хочет записать. wr_len сигнал соответствует количеству элементов данных в этой транзакции записи. Data может отправляться настолько же долго как wr_valid высоко. Когда wr_ready становится низким, DUT должен прекратить отправлять данные в одном такте и Data сигнал становится недопустимым. Если DUT продолжает отправлять данные после того, как один такт, данные будут проигнорированы.
Выходные сигналы
Смоделируйте Data и Write Master to Slave bus сигналы в DUT интерфейс выхода.
Data: Данные, которые вы хотите передать, допустимый каждый цикл транзакции.
Write Master to Slave bus это состоит из:
wr_addr: Начальный адрес транзакции записи, которая производится в первом цикле транзакции. Адрес задан в байтах.
wr_len: Количество значений данных, которые вы хотите передать, произведенный в первом цикле транзакции. wr_len сигнал задан в словах.
wr_valid: Когда этот управляющий сигнал становится высоким, он указывает что Data сигнал, произведенный при выходе, допустим.
Входные сигналы
Смоделируйте Write Slave to Master bus это состоит из:
wr_ready: Этот сигнал соответствует противодавлению от ведомого IP оперативная или внешняя память. Когда этот управляющий сигнал идет высоко, он указывает, что данные могут быть отправлены. Когда wr_ready является низким, DUT должен прекратить отправлять данные в одном такте. Можно также использовать wr_ready сигнал определить, может ли DUT сразу отправить второй пакетный сигнал после первого пакетного сигнала, был отправлен. Несколько пакетных сигналов поддерживаются, что означает что wr_ready сигнал остается высоким, чтобы сразу принять второй пакет после того, как последний элемент первого пакета был принят.
wr_bvalid (дополнительный сигнал): сигнал Ответа от ведомого ядра IP, что можно использовать в целях диагноза. wr_bvalid сигнал становится высоким после того, как межсоединение AXI4 примет каждую пакетную транзакцию. Если wr_len больше 256, Основной модуль записи AXI4 разделяет большой пакетный сигнал в пакеты 256 размеров. wr_bvalid становится высоким для каждого пакета 256 размеров.
wr_bresp (дополнительный сигнал): сигнал Ответа от ведомого ядра IP, что можно использовать в целях диагноза. Используйте этот сигнал с wr_bvalid сигнал.
wr_complete (дополнительный сигнал): Управляющий сигнал, который, когда остается высоким для одного такта, указывает, что транзакция записи завершилась. Этот сигнал утверждает в последнем wr_bvalid из пакета.
Этот рисунок показывает схему синхронизации для сигналов, что вы моделируете в интерфейсах ввода и вывода DUT для Основной транзакции чтения AXI4. Эти сигналы включают Data, Read Master to Slave Bus, и Read Slave to Master Bus.

DUT ожидает rd_aready стать высоким, чтобы инициировать запрос чтения. Когда rd_aready высоко, DUT может отослать запрос чтения. Запрос чтения состоит из rd_addr, rd_len, и rd_avalid сигналы Read Master to Slave bus. Ведомый IP или внешняя память отвечают на запрос чтения путем отправки Data в каждом такте. rd_len сигнал соответствует количеству значений данных, чтобы читать. DUT может получить Data настолько же долго как rd_dvalid высоко.
Считайте запрос
Чтобы смоделировать запрос чтения, в DUT интерфейс выхода, моделируют Read Master to Slave bus это состоит из:
rd_addr: Начальный адрес для транзакции чтения, которая производится в первом цикле транзакции. Адрес задан в байтах.
rd_len: Количество значений данных, которые вы хотите считать, произведенный в первом цикле транзакции. rd_len сигнал задан в словах.
rd_avalid: Управляющий сигнал, который задает, допустим ли запрос чтения.
В интерфейсе входа DUT реализуйте rd_aready сигнал. Этот сигнал является частью Read Slave to Master bus и указывает, когда принять запросы чтения. Можно контролировать rd_aready сигнал определить, может ли DUT отправить последовательные пакетные запросы. Когда rd_aready становится высоким, это указывает, что DUT может отправить запрос чтения за следующий такт.
Считайте ответ
В интерфейсе входа DUT смоделируйте Data и Read Slave to Master bus сигналы.
Data: Данные, которые возвращены в запрос чтения.
Read Slave to Master bus это состоит из:
rd_dvalid: Управляющий сигнал, который указывает что Data возвращенный в запрос чтения допустимо.
rd_rvalid (дополнительный сигнал): сигнал ответа от ведомого ядра IP, что можно использовать в целях диагноза.
rd_rresp (дополнительный сигнал): сигнал Ответа от ведомого ядра IP, которое указывает на состояние транзакции чтения.
В DUT интерфейс выхода можно опционально реализовать rd_dready сигнал. Этот сигнал является частью Read Master to Slave bus и указывает, когда DUT может начать принимать данные. По умолчанию, если вы не сопоставляете этот сигнал с Ведущим интерфейсом чтения AXI4, сгенерированное ядро IP HDL связывает rd_dready к логике высоко.
Memory Channel | SoC Bus Creator