cgsl_0204: Вектор и сигналы шины, пересекающиеся в атомарные подсистемы или Блоки модели

ID: Заголовокcgsl_0204: Вектор и сигналы шины, пересекающиеся в атомарные подсистемы или Блоки модели
ОписаниеКогда работа с вектором или сигналами шины и некоторые элементы сигнала находится в атомарной подсистеме или модели, на которую ссылаются, использует следующую информацию, чтобы определить, как выбрать элементы сигнала, чтобы минимизировать использование памяти.
A

Шина или вектор, вводящий атомарную подсистему:

Функциональная упаковка: Non-reusable function

Функциональный интерфейс: void_void

 Сигналы, выбранные вне подсистемы, приводят к...Сигнал, выбранный в подсистеме, приводит к...
Виртуальная шинаНикакие копии данных.Никакие копии данных.
Невиртуальная шинаНикакие копии данных.Никакие копии данных.
ВекторКопия выбранных сигналов в глобальной структуре блока I/O, которая используется в функции.Никакие копии данных.

Функциональная упаковка: Non-reusable function

Функциональный интерфейс: Allow arguments

 Сигналы, выбранные вне подсистемы, приводят кСигнал, выбранный в подсистеме, приводит к
Виртуальная шинаНикакие копии данных. Только выбранные сигналы передаются функции.Никакие копии данных. Только выбранные сигналы передаются функции.
Невиртуальная шинаНикакие копии данных. Только выбранные сигналы передаются функции.Никакие копии данных. Целая шина передается функции.
ВекторКопия выбранных сигналов в локальной переменной, которая передается функции.Никакие копии данных. Целый вектор передается функции.

Функциональная упаковка: Reusable function

 Сигналы, выбранные вне подсистемы, приводят кСигнал, выбранный в подсистеме, приводит к
Виртуальная шинаНикакие копии данных. Только выбранные сигналы передаются функции.Никакие копии данных. Только выбранные сигналы передаются функции.
Невиртуальная шинаНикакие копии данных. Только выбранные сигналы передаются функции. Смотрите пример 1. Никакие копии данных. Целая шина передается функции.
ВекторКопия выбранных сигналов в локальной переменной, которая передается функции.Никакие копии данных. Целый вектор передается функции.

 
B

Шина или вектор, вводящий Блок модели:

 Сигналы, выбранные вне Блока модели, приводят к...Сигнал, выбранный в Блоке модели, приводит к...
Виртуальная шинаНикакие копии данных. Только выбранные сигналы передаются функции.

Если параметр блока Inport, Вывод как невиртуальная шина выбран, то нет никаких копий данных. Только выбранные сигналы передаются функции.

Если параметр блока Inport, Вывод как невиртуальная шина очищен, то копия целой шины передается функции.

Невиртуальная шинаНикакие копии данных. Только выбранные сигналы передаются функции.

Если параметр блока Inport, Вывод как невиртуальная шина выбран, то нет никаких копий данных. Только выбранные сигналы передаются функции.

Если параметр блока Inport, Вывод как невиртуальная шина очищен, то копия целой шины передается функции. Смотрите пример 2.

ВекторКопия выбранных сигналов в локальной переменной, которая передается функции.Никакие копии данных. Целый вектор передается функции.

Примечания
  • В зависимости от настроек Embedded Coder® (e. g. оптимизация), блоки-предшественники и классы памяти сигнала, фактические результаты могут отличаться от таблиц.

  • Виртуальные шины не поддерживают глобальные данные.

  • Если подсистема установлена в Inline, копии данных не происходят.

ОбъяснениеA, B Минимизируйте RAM, ROM и использование стека
В последний раз измененныйR2016a
Примеры

Пример 1: Невиртуальная шина, вводящая атомарную подсистему

  • Функциональная упаковка: Reusable function

  • Выбор: подсигнал выбран вне подсистемы

Только выбранные сигналы передаются функции:

Пример 2: Невиртуальная шина, вводящая блок модели

  • Общее количество экземпляров позволило на топ-модель: Multiple

  • Выбор: подсигнал выбран в модели, на которую ссылаются,

Нет никаких копий данных в коде для основной модели. Целая шина передается функции модели - ссылки.

Код для функции модели - ссылки:

Была ли эта тема полезной?