Многоскоростная генерация ядра IP

Этот пример показывает проекты поддержек HDL Coder™ с несколькими частотами дискретизации, когда вы запускаете рабочий процесс IP Core Generation.

Если вы только используете ведомые интерфейсы AXI4, такие как AXI4 или AXI4-облегченный, и когда вы используете Free running для Синхронизации Процессора/FPGA, можно использовать несколько частот дискретизации в проекте без ограничений.

Когда вы сопоставляете интерфейсные порты с AXI4-потоком, AXI4-потоковым Видео, или Основные интерфейсы AXI4, чтобы использовать несколько частот дискретизации, убеждаются, что порты DUT, которые сопоставляют с интерфейсами AXI4, запущенными на самом быстром уровне проекта после генерации HDL-кода.

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

Запустите часть проекта на более медленном уровне

Можно запустить часть проекта на более медленном уровне при проверке, что порты DUT, которые сопоставляют с интерфейсным выполнением на самом быстром уровне. Этот пример иллюстрирует отображение с AXI4-потоковыми Видеоинтерфейсами, но можно сопоставить с AXI4-потоком или Основными интерфейсами AXI4 при помощи этого подхода.

Для примера откройте модель hdlcoder_axi_video_multirate.

load_system('hdlcoder_axi_video_multirate')
set_param('hdlcoder_axi_video_multirate','SimulationCommand','update')
open_system('hdlcoder_axi_video_multirate')

В этой модели, порты DUT, соответствующие вводам и выводам Video_Algorithm, запущенного на самом быстром уровне.

open_system('hdlcoder_axi_video_multirate/Multirate_DUT')

Эти порты могут поэтому сопоставить с AXI4-потоковыми Видеоинтерфейсами. Часть проекта, запускающегося вне этого алгоритма, соответствующего входу slow и выводу slowOut, запускающемуся на более медленном уровне, может сопоставить с AXI4 или AXI4-облегченными интерфейсами. Эти данные показывают пример интерфейса целевой платформы, сопоставляющего для этой модели.

Примечание: Чтобы использовать Пиксельные блоки Селектора Шины управления Создателя и Пикселя Шины управления, необходимо было установить Vision HDL Toolbox™. Если у вас нет Vision HDL Toolbox, используйте блоки Селектора Создателя и Шины Шины вместо этого.

См. также Образцовый Проект для AXI4-потоковой Генерации Видеоинтерфейса.

Примените оптимизацию к части проекта, запускающегося на низкой скорости

С многоскоростной поддержкой можно применить оптимизацию, такую как разделение ресурсов к части проекта, запускающегося на более медленном уровне. Убедитесь, что оптимизация не вводит более быстрый уровень в вашей модели Simulink™. Этот пример иллюстрирует отображение с AXI4-потоковыми интерфейсами, но можно сопоставить с AXI4-потоковым Видео или Основными интерфейсами AXI4 при помощи этого подхода.

Для примера откройте модель hdlcoder_axi_multirate_sharing

load_system('hdlcoder_axi_multirate_sharing')
set_param('hdlcoder_axi_multirate_sharing','SimulationCommand','update')
open_system('hdlcoder_axi_multirate_sharing/DUT')

В этой модели Подсистема содержит простое, умножаются - добавляет алгоритм, запускающийся на более медленном уровне.

open_system('hdlcoder_axi_multirate_sharing/DUT/Subsystem')

Разделение ресурсов может быть применено к этой части проекта. Видеть параметры экономило на этой Подсистеме, выполнение hdlsaveparams.

hdlsaveparams('hdlcoder_axi_multirate_sharing/DUT/Subsystem')
%% Set Model 'hdlcoder_axi_multirate_sharing' HDL parameters
hdlset_param('hdlcoder_axi_multirate_sharing', 'HDLSubsystem', 'hdlcoder_axi_multirate_sharing/DUT');
hdlset_param('hdlcoder_axi_multirate_sharing', 'ReferenceDesign', 'Default system with AXI4-Stream interface');
hdlset_param('hdlcoder_axi_multirate_sharing', 'ResetType', 'Synchronous');
hdlset_param('hdlcoder_axi_multirate_sharing', 'SynthesisTool', 'Xilinx Vivado');
hdlset_param('hdlcoder_axi_multirate_sharing', 'SynthesisToolChipFamily', 'Zynq');
hdlset_param('hdlcoder_axi_multirate_sharing', 'SynthesisToolDeviceName', 'xc7z020');
hdlset_param('hdlcoder_axi_multirate_sharing', 'SynthesisToolPackageName', 'clg484');
hdlset_param('hdlcoder_axi_multirate_sharing', 'SynthesisToolSpeedValue', '-1');
hdlset_param('hdlcoder_axi_multirate_sharing', 'TargetDirectory', 'hdl_prj\hdlsrc');
hdlset_param('hdlcoder_axi_multirate_sharing', 'TargetFrequency', 50);
hdlset_param('hdlcoder_axi_multirate_sharing', 'TargetPlatform', 'ZedBoard');
hdlset_param('hdlcoder_axi_multirate_sharing', 'Workflow', 'IP Core Generation');

% Set SubSystem HDL parameters
hdlset_param('hdlcoder_axi_multirate_sharing/DUT/Subsystem', 'SharingFactor', 3);

Можно сопоставить интерфейсные порты DUT с AXI4-потоковыми Ведущими или AXI4-потоковыми Ведомыми интерфейсами. Эти данные показывают пример интерфейса целевой платформы, сопоставляющего для этой модели.

См. также Образцовый Проект для AXI4-потоковой Генерации Интерфейса.

Похожие темы