Симуляция с данными ввода-вывода, записанными с однокристального устройства

В этом примере показано, как использовать записанные данные реального мира в симуляции.

Поддерживаемые аппаратные платформы:

  • Набор для оценки ZC706 Xilinx ® Zynq ®

  • Набор для оценки ZCU102 Xilinx Zynq UltraScale™+ MPSoC

  • Комплект для разработки Altera ® Cyclone ® V

  • Набор для разработки Altera Arria ® 10 SoC

Во многих ситуациях вы можете захотеть проверить свой алгоритм на соответствие реальным данным. Этот пример показов, как использовать записанный сигнал данных в симуляции сгенерированной процессорной системной модели полного приложения СО.

Мы рекомендуем заполнить пример потоковой передачи данных с оборудования на программное обеспечение.

Использование записанных данных в симуляции

В этом разделе вы моделируете подсистему процессора модели приложения SoC с записанными данными в качестве входных данных. Процессорная подсистема приложения SoC использует AXI4 протокол для потоковой передачи данных из внешней памяти и определения, является ли сигнал, содержащийся в данных, высокой или низкой частотой. Блок IO Data Source заменяет внешнюю память и подсистему FPGA модели воспроизведением данных AXI4 потока. Вы будете использовать данные, записанные в примере записи данных ввода-вывода из устройства с СнК.

1. Откройте модель Signal Detection.

2. Откройте маску блока источника данных ввода-вывода.

3. Нажмите Обзор... и выберите файл matlab\toolbox\soc\socexamples\zynq _ sine _ data.tgz, содержащий записанные данные.

4. Нажмите Select... и выберите источник данных в файле данных для воспроизведения. Нажмите кнопку ОК, чтобы закрыть диалоговое окно маски блоков.

5. Запустите модель Simulink ® и откройте Vector Scope, чтобы наблюдать записанные данные.

6. Для доступа к записанным данным в MATLAB ® используйте socFileReader.

h = socFileReader('zynq_sine_data.tgz');
data = getData(h,'AXI4 stream interface');

Возвращенные данные являются объектом временных рядов 'uint32'. Чтобы построить график данных в MATLAB, преобразуйте 'uint32' в 'int32'.

plot(data.Time, typecast(data.Data,'int32'));

См. также

Запись данных ввода-вывода с однокристального устройства