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

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

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

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

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

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

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

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

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

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

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

 
B

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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