Шаблонная подсистема, содержащая блоки Subsystem или блоки Model как Варианты
Simulink / Ports & Subsystems
HDL Coder / Ports & Subsystems
Блок Variant Subsystem может иметь самое большее один активный выбор для симуляции. Блок Variant Subsystem является шаблоном, предварительно сконфигурированным, чтобы содержать два блока Subsystem, чтобы использовать в качестве Различного выбора Подсистемы.
Блок Variant Subsystem может содержать смесь Subsystem и блоков Model как Вариантные системы. Это может также включать Inport, Outport и блоки Connection Port. В Различных блоках Subsystem нет никаких проведенных связей.
Блок Variant Subsystem с блоками Model как выбор, называется блоком Variant Model.
Каждая Вариантная система сопоставлена с Различным управлением, которое создается в глобальной рабочей области. Различное управление определяет, какая Вариантная система активна. Различное управление может быть выражением условия, Simulink.Variant
объект, задающий выражение условия или Вариант по умолчанию. Различное управление, которое оценивает к true
определяет активный Вариант.
Когда вы выбираете опцию Specify output when source is unconnected в блоке Outport, который находится в Различном блоке Subsystem, можно задать неназемное значение как его выход.
Примечание
Необходимо задать правильный тип данных в разделе Signal Attributes диалогового окна блока Outport.
В процессе моделирования Simulink® отключает неактивные порты в Различном блоке Subsystem.
In_1
— Input port, соответствующий корневому уровню блоки Inport, содержится в Различной ПодсистемеКаждый блок Subsystem или Model, содержавший в Различной Подсистеме, представляет одну Вариантную систему. Если имена импорта на Вариантной системе являются подмножеством имен импорта, используемых Различным блоком контейнера Подсистемы, то блоки Вариантной системы могут иметь различные количества импорта, чем Различный блок Subsystem имеет.
Out_1
— Выходной порт, соответствующий блокам Выходного порта корневого уровня, содержится в Различной ПодсистемеКаждый блок Subsystem или Model, содержавший в Различной Подсистеме, представляет одну Вариантную систему. Если имена выходного порта на Вариантной системе являются подмножеством имен выходного порта, используемых Различным блоком Subsystem, то блоки Вариантной системы могут иметь различные количества выходных портов, чем Различный блок Subsystem имеет.
Variant control mode
— Имя Различного режима управленияexpression
(значение по умолчанию) | label
| sim codegen switching
expression
— Чтобы выбрать активный Вариант на основе оценки Различных условий, используйте expression
режим. Различные контрольные переменные, используемые в Различном условии, должны быть созданы в глобальной рабочей области или в словаре данных.
Label
— Чтобы выбрать активный Вариант на основе имени Варианта, вы задаете в параметре Label mode active choice, используете label
режим. В label
режим, Различное управление является строкой и не должно быть создано ни в каких рабочих областях.
Когда вы выбираете label
режим, Различный значок указывает на изменение.
Примечание
Когда вы продвигаете параметр Label mode active choice маску, Variant control mode отключен.
Если блок находится в expression
режим при продвижении параметра Label mode active choice маску, можно изменить Variant control mode в label
путем изменения продвинутого параметра Label mode active choice от диалогового окна Mask.
Если блок находится в label
режим при продвижении параметра Label mode active choice маску, вы не можете изменить Variant control mode в expression
режим.
Для получения информации о продвижении параметров к маскам смотрите, Продвигают Параметр Маску.
sim codegen switching
— Чтобы автоматически переключиться между Вариантами для симуляции и рабочих процессов генерации кода, используйте sim codegen switching
режим. Когда вы симулируете (Нормальный, Акселератор, Быстрый Акселератор) модель, затем Simulink автоматически выбирает sim
перейдите как активный выбор. Точно так же, когда вы делаете программное обеспечение в цикле (SIL), симуляции Процессора в цикле (PIL) или генерируете код или используете режим external mode, Simulink автоматически выбирает codegen
ветвь.
Когда вы устанавливаете этот параметр на различные значения, Различный значок изменяется как показано в Различных Значках.
Параметр Variant activation time доступен только, когда вы устанавливаете параметр Variant control mode на expression
или sim codegen switching
.
Variant activation time
— Определите, когда Simulink выберет активный вариантupdate diagram
(значение по умолчанию) | update diagram analyze all choices
| code compile
Этот параметр определяет, устанавливает ли Simulink активный выбор блока Variant Subsystem во время компиляции схемы или кода обновления. Этот параметр также определяет, для которого предназначается изменчивость включать в сгенерированный код для ERT. Если вы принимаете решение включать все Варианты, выбор заключен в условных операторах препроцессора C (#if и #endif) в сгенерированном коде.
Когда вы устанавливаете этот параметр на различные значения, различный значок изменяется как показано в Различных Значках.
Можно установить параметр Variant activation time как:
update diagram
— Simulink устанавливает активный выбор во время схемы обновления перед распространением атрибутов сигнала. Неактивный выбор удален до распространения атрибутов сигнала, таким образом, сгенерированный код содержит только активный выбор.
update diagram analyze all choices
— Simulink устанавливает активный выбор во время схемы обновления после распространения атрибутов сигнала. Атрибуты сигнала распространены и к активному и к неактивному выбору. Весь выбор анализируется, чтобы гарантировать непротиворечивость всех различных ветвей между результатами симуляции и генерации кода. Неактивный выбор удален в конце схемы обновления, прежде чем запуск модели произойдет. Сгенерированный код содержит только активный выбор. Этот рабочий процесс остается то же самое для симуляции и генерации кода.
code compile
— Для симуляции рабочий процесс - то же самое как update diagram analyze all choices
. Однако неактивный выбор не удален во время генерации кода. Сгенерированный код содержит активный и неактивный выбор, и выбор заключен в условные операторы препроцессора C, #if
и #endif
.
Этот рисунок показывает Различное время активации для различных значений, которые вы задаете в этом параметре.
Для получения дополнительной информации смотрите, Представляют Различные Блоки Источника и Приемника в Сгенерированном коде (Embedded Coder).
Когда вы устанавливаете Variant control mode на expression
, этот параметр может быть установлен на update diagram
, update diagram analyze all choices
, или code compile
.
Когда вы устанавливаете Variant control mode на sim codegen switching
, этот параметр может быть установлен на любой update diagram
или update diagram analyze all choices
. code compile
опция становится недоступной.
Параметры блоков:
VariantActivationTime
|
Ввод: символьный вектор |
Значения:
update diagram | update diagram analyze all choices |code compile
|
Значение по умолчанию:
update diagram
|
Variant choices (table of variant systems)
— Таблица вариантов, различных средств управления и условийТаблица ссорится для каждой Вариантной системы, содержавшейся в Различной Подсистеме. Если нет никаких Вариантных систем, таблица пуста.
Можно использовать кнопки слева от таблицы Variant choices, чтобы изменить элементы в таблице.
К... | Щелкнуть... |
---|---|
Create and add a new subsystem choice: Поместите новый Вариант Подсистемы в таблицу и создайте блок Subsystem в Различной схеме блока Subsystem. | |
Create and add a new model variant choice: Поместите новый Вариант Модели в таблицу и создайте блок Model в Различном блоке Subsystem. | |
Create/Edit selected variant object: создайте Simulink.Variant объект в глобальной рабочей области и открытый Simulink.Variant диалоговое окно параметра объекта, чтобы задать Вариант Condition. | |
Open selected variant choice block: Откройте схему блока Subsystem для выбранной строки в таблице Variant choices. | |
Refresh dialog information from Variant Subsystem contents: Обновите таблицу Variant choices согласно Вариантной системе и значениям Различного управления в глобальной рабочей области. |
Name (read-only)
— Имя вариантной системы''
(значение по умолчанию) | имя Подсистемы или блока Model содержится в Различной ПодсистемеЭто поле только для чтения основано на имени Вариантной системы. Чтобы добавить Вариант Подсистемы, щелкнуть. Чтобы добавить Вариант Модели, щелкнуть.
Variant control expression
— Различное управление в глобальной рабочей областиChoice_<index>
(значение по умолчанию) | выражение булева условия | Simulink.Variant object, представляющий выражение булева условия | Simulink.Parameter object (требуемый для генерации кода) | перечислениеЧтобы ввести Различное имя, дважды кликните ячейку Variant control в новой строке и тип в Различном выражении управления.
Чтобы ввести нечисловые Различные значения управления, используйте перечисленные данные. Для получения информации об использовании перечислимых данных смотрите Использование Перечислимые Данные в Моделях Simulink
Поле Structure: Представленный variant.Name только для чтения поле в Variant структура параметра |
Ввод: символьный вектор |
Значение: Различное управление, которое сопоставлено с Вариантом |
Значение по умолчанию:
'variant' |
Condition (read-only)
— Условие для Различных средств управления''
(значение по умолчанию)Это поле только для чтения основано на условии для связанного Различного управления в глобальной рабочей области. Создайте или измените Различное условие в Simulink.Variant
диалоговое окно параметра или в глобальной рабочей области.
Label mode active choice
— Имя Активного выбора, если режим Label выбранChoice_1
(значение по умолчанию) | on
Когда вы выбираете Variant control mode to Label
, опция the Label mode active choice доступна. Можно выбрать активный Вариант из опций Label mode active choice. Можно также щелкнуть правой кнопкой по значку по блоку Variant Subsystem и выбрать Label Mode Active Choice.
Для опции Label mode active choice Различное управление не должно быть выражением булева условия или Simulink.Variant
объект. Различные средства управления, которые запускаются с %
символ проигнорирован.
Примечание
Опция Label mode active choice не доступна в Expression
режим.
Чтобы включить этот параметр, выберите Label
опция от параметра Variant control mode.
Параметр:
LabelModeActivechoice
|
Ввод: символьный вектор |
Значение: если никакой режим Label, активный выбор задан, значение, не пуст. Если режим Label, активный выбор задан, значение, является именем режима Label активный выбор. |
Значение по умолчанию:
'' |
Allow zero active variant controls
— Симулируйте модель, не используя активный Вариантoff
(значение по умолчанию) | on
Чтобы симулировать модель (содержащий Вариантную систему) без активного Варианта, выберите опцию Allow zero active variant controls. Когда вы выбираете эту опцию и если нет никакого активного Варианта, Simulink отключает все блоки, соединенные с потоком ввода и вывода Различного блока Subsystem. Отключенные блоки проигнорированы из схемы обновления или симуляции.
Если вы не выбираете эту опцию, Simulink генерирует ошибку, когда нет никакого активного Варианта.
Опция (по умолчанию) Варианта не выбрана
Expression
опция от Variant control mode выбрана.
Параметр:
AllowZeroVariantControls
|
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |
Propagate conditions outside of variant subsystem
— Распространите Различные условия за пределами Различного блока Subsystemoff
(значение по умолчанию) | on
Когда вы выбираете эту опцию, Simulink распространяет Различные условия базовых блоков с блоками вне Различного блока Subsystem. Компоненты за пределами Подсистемы, соединенной с активным выбором, становятся активными, и компоненты, соединенные с неактивным выбором, становится неактивным в процессе моделирования.
Выбирание этой опции гарантирует, что компоненты за пределами Различной Подсистемы знают об активном и неактивном состоянии блоков в Различном блоке Subsystem. Для получения дополнительной информации смотрите Адаптивный Интерфейс для Различных Подсистем.
Когда вы выбираете эту опцию, Различный значок указывает на изменение.
Параметр:
PropagateVariantConditions
|
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |
Фактическая поддержка типа данных или возможности зависит от реализации блока.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику. Фактическая поддержка типа данных или возможности зависит от реализации блока.
Архитектура | Описание |
---|---|
Module (значение по умолчанию) | Сгенерируйте код для подсистемы и блоков в подсистеме. HDL Coder генерирует код только для активного варианта. |
BlackBox | Сгенерируйте интерфейс черного ящика. Таким образом, сгенерированный HDL-код включает только определения порта ввода/вывода для подсистемы. Таким образом можно использовать подсистему в модели, чтобы сгенерировать интерфейс к существующему вручную записанному HDL-коду. Интерфейс черного ящика, сгенерированный для подсистем, похож на интерфейс, сгенерированный для блоков Model, но без генерации сигналов часов. |
| Удалите подсистему из сгенерированного кода. Можно использовать подсистему в симуляции, но обработать его как "нет" в HDL-коде. |
Для BlackBox
архитектура, можно настроить имена порта и установить атрибуты интерфейса внешнего компонента. Смотрите Настраивают Черный квадрат или HDL Интерфейс Cosimulation (HDL Coder).
Общий | |
---|---|
AdaptivePipelining | Автоматическая конвейерная вставка на основе инструмента синтеза, предназначайтесь для частоты и размеров слова множителя. Значением по умолчанию является |
BalanceDelays | Обнаруживает введение новых задержек вдоль одного пути и вставляет соответствие с задержками на других путях. Значением по умолчанию является |
ClockRatePipelining | Вставьте конвейерные регистры на более быстрой тактовой частоте вместо более медленной скорости передачи данных. Значением по умолчанию является |
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
DistributedPipelining | Конвейерно обработайте распределение регистра или повторную синхронизацию регистра. Значением по умолчанию является |
DSPStyle | Синтез приписывает для отображения множителя. Значением по умолчанию является |
FlattenHierarchy | Удалите иерархию подсистемы из сгенерированного HDL-кода. Значением по умолчанию является |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
SharingFactor | Количество функционально эквивалентных ресурсов, чтобы сопоставить с одним совместно используемым ресурсом. Значением по умолчанию является 0. См. также Разделение ресурсов (HDL Coder). |
StreamingFactor | Количество параллельных информационных каналов или векторы, которые являются временем, мультиплексированным, чтобы преобразовать в последовательные, скалярные информационные каналы. Значение по умолчанию 0, который реализует полностью параллельные информационные каналы. См. также Передающий потоком (HDL Coder). |
Целевая спецификация
Этот блок не может быть DUT, таким образом, настройки свойства блока во вкладке Target Specification проигнорированы.
DUT не может быть Variant Subsystem.
Фактическая поддержка типа данных или возможности зависит от реализации блока.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.