exponenta event banner

addAXI4SlaveInterface

Запись данных в ядро IP или считывание данных из ядра IP с помощью интерфейса AXI4 или AXI4-Lite

Описание

пример

addAXI4SlaveInterface(hFPGA) добавляет рабский интерфейс AXI4, который Вы можете использовать, чтобы управлять портами DUT, нанесенными на карту к AXI4, или AXI4-облегченные интерфейсы в HDL Coder™ произвели IP ядро от MATLAB®.

пример

addAXI4SlaveInterface(hFPGA, Name,Value) добавляет подчиненный интерфейс AXI4, который можно использовать для управления портами DUT, сопоставленными с AXI4 или AXI4-Lite интерфейсами в кодере HDL, созданном ядром IP из MATLAB, с одним или несколькими свойствами, заданными в качестве аргументов пары «имя-значение». Заключите каждую пару свойств и значений в отдельные кавычки.

Примеры

свернуть все

Добавьте AXI4 подчиненный интерфейс для цели Xilinx ®.

Создание целевого объекта, hFPGA, для целевого устройства.

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

       Vendor: "Xilinx"
   Interfaces: [0x0 fpgaio.interface.InterfaceBase]

    

Добавьте подчиненный интерфейс AXI4 к hFPGA с помощью addAXI4SlaveInterface функция.

%% AXI4-Lite
addAXI4SlaveInterface(hFPGA, ...
	... % Interface properties
    "InterfaceID", "AXI4-Lite", ...
    "BaseAddress", 0xA0000000, ...
    "AddressRange", 0x10000, ...
    ... % Driver properties
    "WriteDeviceName", "mwipcore0:mmwr0", ...
    "ReadDeviceName", "mwipcore0:mmrd0");

После добавления интерфейсов используйте mapPort для отображения портов на этот интерфейс, а затем для чтения и записи данных. См. раздел Сопоставление портов DUT в IP-ядре HDL с AXI4 подчиненными интерфейсами.

Добавьте AXI4 подчиненный интерфейс для целевого устройства Intel ®.

Создание целевого объекта, hFPGA, для цели Intel.

hFPGA = fpga("Intel")
hFPGA = 

  fpga with properties:

       Vendor: "Intel"
   Interfaces: [0x0 fpgaio.interface.InterfaceBase]

    

Добавьте подчиненный интерфейс AXI4 к hFPGA с помощью addAXI4SlaveInterface функция.

%% AXI4
addAXI4SlaveInterface(hFPGA, ...
	... % Interface properties
    "InterfaceID", "AXI4", ...
    "BaseAddress", 0xA0000000, ...
    "AddressRange", 0x10000, ...
    ... % Driver properties
    "WriteDeviceName", "mwipcore0:mmwr0", ...
    "ReadDeviceName", "mwipcore0:mmrd0");

После добавления интерфейсов используйте mapPort для отображения портов на этот интерфейс, а затем для чтения и записи данных. См. раздел Сопоставление портов DUT в IP-ядре HDL с AXI4 подчиненными интерфейсами.

Добавьте AXI4 подчиненный интерфейс для автономного целевого объекта Xilinx.

Создание целевого объекта, hFPGA, для целевого устройства.

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

       Vendor: "Xilinx"
   Interfaces: [0x0 fpgaio.interface.InterfaceBase]

    

Поскольку автономные платы FPGA не имеют встроенного процессора ARM, можно использовать драйвер MATLAB AXI Master. Используйте aximaster указать драйвер MATLAB AXI Master и затем добавить эту информацию в addAXI4SlaveInterface функция.

% Create an "aximaster" object 
hAXIMDriver = aximaster("Xilinx");

% Pass it into the addInterface command
addAXI4SlaveInterface(hFPGA, ...
    ... % Interface properties
    "InterfaceID",  "AXI4-Lite", ...
    "BaseAddress",  0xB0000000, ...
    "AddressRange", 0x10000, ...
    ... % Driver properties
    "WriteDriver", hAXIMDriver, ...
    "ReadDriver", hAXIMDriver, ...
    "DriverAddressMode", "Full");


После добавления интерфейсов используйте mapPort для отображения портов на этот интерфейс, а затем для чтения и записи данных. См. раздел Сопоставление портов DUT в IP-ядре HDL с AXI4 подчиненными интерфейсами.

Входные аргументы

свернуть все

fpga объект для целевого поставщика, указанный как fpga объект.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: addAXI4SlaveInterface(hFPGA, "InterfaceID", "AXI4-Lite") создает подчиненный интерфейс AXI4 с помощью InterfaceID как AXI4-Lite.

Имя AXI4-Lite или AXI4 интерфейса, с которым требуется сопоставить порты DUT, указанное как строка.

Базовый адрес для AXI4 или AXI4-Lite подчиненного интерфейса, указанный как числовое значение.

Пример: 0x40010000

Диапазон адресов для AXI4 или AXI4-Lite интерфейса, указанный как числовое значение.

Пример: 0x10000

Имя и путь устройства IIO, на которое требуется выполнить запись. При создании ядра IP с помощью IP Core Generation workflow, имя по умолчанию: mwipcore0:mmwr0.

Пример: "mwipcore0:mmwr0"

Имя и путь устройства IIO, из которого требуется выполнить чтение. При создании ядра IP с помощью IP Core Generation workflow, имя по умолчанию: mwipcore0:mmrd0.

Пример: "mwipcore0:mmrd0"

Имя драйвера AXI, используемого для записи данных. Это свойство можно указать как HDL Verifier™ aximaster объект для автономных плат FPGA. Для платформ SoC кодер HDL создает драйверы автоматически.

Пример: "aximaster('Xilinx')"

Имя драйвера AXI, используемого для чтения данных из. Это свойство можно указать как средство проверки HDL aximaster объект для автономных плат FPGA, не имеющих встроенного процессора ARM. Для платформ SoC кодер HDL создает драйверы автоматически.

Пример: "aximaster('Xilinx')"

Укажите, ожидает ли драйвер AXI полный адрес, включающий базовый адрес и адрес смещения, или только адрес смещения.

Пример: "Offset"

Представлен в R2020b