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