В этом примере показано, как анализировать многожильное поведение при выполнении области потока данных в 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');
После определения области выполнения потока данных вкладка Multicore открывается на панели инструментов Simulink.
На вкладке Multicore нажмите Cost Estimation. Из списка выберите SIL/PIL Profiling.
Нажмите Profile.
Однажды профильные концы, величина затрат отображается в Редакторе Стоимости. Здесь, среднее время выполнения (стоившее) за каждый блок, отображено в микросекундах. Относительная загрузка каждого блока относительно самого дорогого блока в подсистеме потока данных обозначается с панелями различной длины.
Например, блок DDC является самым дорогим блоком в таблице и имеет стоимость 117035
микросекунды. Нажмите на имя блока в столбце Блока, чтобы подсветить соответствующий блок в блок-схеме.
Нажмите Run Analysis.
После анализа модели открывается Легенда Выделения Потока. Легенда Выделения Потока показывает один поток, потому что зависимость по данным между блоками в модели препятствует тому, чтобы блоки были выполнены одновременно. Аналитический Отчет и панель Предложений, которая появляется справа от холста, показывают, как увеличить параллелизм и получить более высокую пропускную способность путем конвейеризации информационно-зависимых блоков.
Подсистема Потока данных задает значение задержки 0
. Предложенной задержкой для системы является 3
.
Нажмите кнопку Accept, чтобы использовать рекомендуемую задержку для Подсистемы Потока данных и повторно выполнить анализ. Это значение может также быть введено непосредственно в Property Inspector для параметра Задержки. Simulink показывает значение параметров Задержки с помощью тегов в выходных портах подсистемы потока данных.
Легенда Выделения Потока теперь показывает два потока, указывающие, что блоки в подсистеме потока данных могут быть выполнены в двух параллельных потоках.
Вставленные задержки трубопровода показывают в холсте с помощью тегов.
В нижней части Аналитического Отчета и панели Предложений, максимальное теоретическое ускорение показывается 1.51x
для модели в результате разделения, выполняемого во время анализа.
Чтобы выполнить исследование космоса проекта, можно вручную изменить стоимость блоков. Первые два блока являются относительно более дорогими, чем другие блоки в подсистеме, которая должна значительно влиять, как блоки сопоставлены с потоками. Разделите полную сумму стоимости для первых двух блоков три, затем вручную присвойте тот номер первым трем блокам путем снимания флажков в Автоматическом столбце и редактирования значений в столбце Стоимости.
Нажмите Run Analysis, чтобы повторно выполнить анализ, затем принять обеспеченное предложение задержки. Новый результат показывает, что подсистема теперь разделена в четыре потока с соответствующим теоретическим значением ускорения 1.84x
.