exponenta event banner

writePort

Запись данных в порт DUT из MATLAB

Описание

пример

writePort(hFPGA, portName, data) выдает входные данные, указанные data, к типу данных порта, portNameи отправляет в интерфейс, сопоставленный с этим портом, для записи данных. Перед записью данных установите подключение от MATLAB ® к целевому устройству FPGA или SoC ,hFPGA, а затем используйте mapPort для отображения portName к этому интерфейсу.

Примеры

свернуть все

В этом примере показано, как записать данные в порты DUT, которые сопоставлены с AXI4 подчиненными интерфейсами.

Создание fpga объект с Xilinx как Vendor.

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

   Top-Level Properties

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

    

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

%% AXI4 Slave
addAXI4SlaveInterface(hFPGA, ...
	"InterfaceID", "AXI4-Lite", ...
	"BaseAddress", 0xA0000000, ...
	"AddressRange", 0x10000);

Укажите порты DUT в ядре IP HDL в качестве hdlcoder.DUTPort и затем сопоставить порт с подчиненным интерфейсом AXI4.

hPort_h_in1 = hdlcoder.DUTPort("h_in1", ...
	"Direction", "IN", ...
	"DataType", numerictype(1,16,10), ...
	"Dimension", [1 1], ...
	"IOInterface", "AXI4-Lite", ...
	"IOInterfaceMapping", "0x100");

Сопоставьте объекты порта DUT с подчиненным интерфейсом AXI4 и запишите данные с помощью writePort функция.

mapPort(hFPGA, hPort_h_in1);

writePort(hFPGA, "h_in1", 5);

В этом примере показано, как записывать данные в порты DUT, сопоставленные с AXI4-Stream интерфейсами.

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

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

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

    

Добавьте интерфейс AXI4-Stream в hFPGA с помощью addAXI4StreamInterface функция.

%% AXI4-Stream
addAXI4StreamInterface(hFPGA, ...
	"InterfaceID", "AXI4-Stream", ...
	"WriteEnable", true, ...
      "ReadEnable", true, ...
	"WriteFrameLength", 1024, ...
	"ReadFrameLength", 1024);

Укажите порт DUT как hdlcoder.DUTPort и затем сопоставить порт с интерфейсом AXI4-Stream.

hPort = hdlcoder.DUTPort("x_in", ...
	"Direction", "IN", ...
	"DataType", numerictype(1,16,10), ...
	"Dimension", [1 1], ...
	"IOInterface", "AXI4-Stream");

Сопоставьте объекты порта DUT с интерфейсом AXI4-Stream и запишите данные с помощью writePort функция.

mapPort(hFPGA, hPort);

writePort(hFPGA, "x_in", sin(linspace(0, 2*pi, 1024)));

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

свернуть все

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

Имя порта DUT, указанное как строка. Порт DUT создается как hdlcoder.DUTPort массив объектов. Прежде чем указать portName, необходимо сопоставить порт с интерфейсом AXI с помощью mapPort функция.

Ввод данных для записи в порт DUT, PortName, задается как скаляр или вектор.

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