Для проектов, которые требуют больших наборов данных доступа от внешней памяти, смоделируйте свой алгоритм с упрощенным Основным протоколом 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