Многожильный анализ Используя область потока данных

В этом примере показано, как анализировать многожильное поведение при выполнении области потока данных в Simulink.

Создайте сервисную систему радио семейства

Модель в этом примере использует блоки Цифрового повышающего преобразователя (DUC) и Цифрового понижающего преобразователя (DDC), чтобы создать передатчик Сервиса радио семейства (FRS) и приемник. Блок DUC преобразует комплексный цифровой сгенерированный модулированный сигнал в действительный сигнал полосы пропускания. Блок DDC преобразует оцифрованный действительный сигнал назад в основополосный комплексный сигнал.

Открытый familyRadioServiceMulticoreAnalysisExample модель.

model_name = 'familyRadioServiceMulticoreAnalysisExample';
open_system(model_name);
close_system([model_name '/UpConverted Signal Spectrum Analyzer'], 0);
close_system([model_name '/Baseband  Spectrum Analyzer'], 0);

Задайте область выполнения потока данных

В Simulink®, чтобы задать поток данных как область выполнения для подсистемы, используют Property Inspector, чтобы установить Доменный параметр на Dataflow. Чтобы просмотреть Property Inspector для подсистемы, выберите подсистему, затем выберите View > Property Inspector. Выберите область выполнения Set, затем нажмите Domain и выберите Dataflow. Можно также использовать блок Subsystem Потока данных от библиотеки Dataflow DSP System Toolbox, чтобы получить подсистему, которая предварительно сконфигурирована с областью выполнения потока данных.

set_param([model_name,'/Dataflow Subsystem'],'SetDomainSpec','on');
set_param([model_name,'/Dataflow Subsystem'],'DomainSpecType','Dataflow');
set_param([model_name,'/Dataflow Subsystem'],'Latency','0');
set_param([model_name,'/Dataflow Subsystem'],'AutoFrameSizeCalculation','off');

Выполните многожильный анализ Используя профилирование SIL

После определения области выполнения потока данных вкладка Multicore открывается на панели инструментов Simulink.

На вкладке Multicore нажмите Cost Estimation. Из списка выберите SIL/PIL Profiling.

Нажмите Profile.

Однажды профильные концы, величина затрат отображается в Редакторе Стоимости. Здесь, среднее время выполнения (стоившее) за каждый блок, отображено в микросекундах. Относительная загрузка каждого блока относительно самого дорогого блока в подсистеме потока данных обозначается с панелями различной длины.

Например, блок DDC является самым дорогим блоком в таблице и имеет стоимость 117035 микросекунды. Нажмите на имя блока в столбце Блока, чтобы подсветить соответствующий блок в блок-схеме.

Нажмите Run Analysis.

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

Подсистема Потока данных задает значение задержки 0. Предложенной задержкой для системы является 3.

Нажмите кнопку Accept, чтобы использовать рекомендуемую задержку для Подсистемы Потока данных и повторно выполнить анализ. Это значение может также быть введено непосредственно в Property Inspector для параметра Задержки. Simulink показывает значение параметров Задержки с помощью$Z^{-1}$ тегов в выходных портах подсистемы потока данных.

Легенда Выделения Потока теперь показывает два потока, указывающие, что блоки в подсистеме потока данных могут быть выполнены в двух параллельных потоках.

Вставленные задержки трубопровода показывают в холсте с помощью$Z^{-1}$ тегов.

Отчет контрольного анализа

В нижней части Аналитического Отчета и панели Предложений, максимальное теоретическое ускорение показывается 1.51x для модели в результате разделения, выполняемого во время анализа.

Вручную стоимость переопределения

Чтобы выполнить исследование космоса проекта, можно вручную изменить стоимость блоков. Первые два блока являются относительно более дорогими, чем другие блоки в подсистеме, которая должна значительно влиять, как блоки сопоставлены с потоками. Разделите полную сумму стоимости для первых двух блоков три, затем вручную присвойте тот номер первым трем блокам путем снимания флажков в Автоматическом столбце и редактирования значений в столбце Стоимости.

Нажмите Run Analysis, чтобы повторно выполнить анализ, затем принять обеспеченное предложение задержки. Новый результат показывает, что подсистема теперь разделена в четыре потока с соответствующим теоретическим значением ускорения 1.84x.

Смотрите также

Похожие темы