Группировать блоки для создания иерархии модели
Simulink/Порты и подсистемы
Блок подсистемы содержит подмножество блоков в модели или системе. Блок подсистемы может представлять собой виртуальную подсистему или невиртуальную подсистему.
Невиртуальная подсистема - управление, когда содержимое подсистемы оценивается как единая единица (атомарное исполнение). Создайте условно выполняемые подсистемы, которые запускаются только в том случае, если событие происходит при запуске, вызове функции, действии или включении входных данных (см. Условно исполняемые подсистемы и модели).
Виртуальная подсистема - подсистема не выполняется условно или атомарно. Виртуальные подсистемы не имеют контрольных сумм. Чтобы определить, является ли подсистема виртуальной, используйте get_param функция для параметра логического блока IsSubsystemVirtual.
Атомная подсистема - это блок подсистемы с выбранным параметром блока Обработать как атомную единицу.
Подсистема повторного использования кода - это блок подсистемы с выбранным параметром Treat as atomic unit и параметром Function packaging, равным Reusable function, указывая формат генерации кода функции для подсистемы.
Чтобы создать подсистему, выполните одно из следующих действий.
Скопируйте блок подсистемы из библиотеки портов и подсистем в модель. Затем добавьте блоки в подсистему, открыв блок подсистемы и скопировав в него блоки.
Выберите все блоки и линии, составляющие подсистему, а затем на вкладке Несколько щелкните Создать подсистему. Simulink ® заменяет блоки блоком подсистемы, а также необходимыми блоками ввода и вывода для отражения сигналов, поступающих и выходящих из подсистемы.
Количество входных портов, отображаемых на значке блока подсистемы, соответствует количеству блоков ввода в подсистеме. Аналогично, количество выходных портов в блоке соответствует количеству блоков Outport в подсистеме.
Блок подсистемы поддерживает распространение метки сигнала через блоки Inport и Outport подсистемы.
Примечание
Подсистема, на которую имеется ссылка, представляет собой подсистему, хранящуюся в отдельном файле, на которую имеется ссылка с помощью блока ссылки на подсистему. Чтобы повторно использовать эту подсистему, добавьте несколько блоков ссылок на подсистему, которые ссылаются на один и тот же файл подсистемы. Указанная подсистема ведет себя аналогично обычной подсистеме во время выполнения.
In - Вход сигнала в подсистемуРазмещение блока Inport в подсистеме добавляет внешний входной порт к блоку Subsystem. Метка порта соответствует имени блока Inport.
Блоки Inport используются для получения сигналов из локальной среды.
Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus
Out - Выход сигнала из подсистемыРазмещение блока Outport в подсистеме добавляет выходной порт из блока Subsystem. Метка порта в блоке Subsystem является именем блока Outport.
Блоки Outport используются для передачи сигналов в локальную среду.
Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus
Параметры на вкладке «Создание кода» требуют лицензии Simulink Coder™ или Embedded Coder ®.
Show port labels - Параметры отображения меток портовFromPortIcon (по умолчанию) | FromPortBlockName | SignalNameВыберите способ отображения меток портов на значке блока подсистемы.
noneНе отображать метки портов.
FromPortIconЕсли соответствующий значок порта отображает имя сигнала, отобразите имя сигнала в блоке подсистемы. В противном случае отобразите имя блока порта или номер порта, если имя блока является именем по умолчанию.
FromPortBlockNameОтображение имени соответствующего блока портов в блоке подсистемы.
SignalNameЕсли сигнал, подключенный к порту, имеет имя, отобразите имя сигнала в блоке подсистемы. В противном случае отобразите имя соответствующего блока портов.
Параметр: ShowPortLabels |
| Текст: символьный вектор |
Значение: 'FromPortIcon' | 'FromPortBlockName' | 'SignalName' |
По умолчанию: 'FromPortIcon' |
Read/Write permissions - Уровни доступа к содержимому подсистемыReadWrite (по умолчанию) | ReadOnly | NoReadOrWriteУправление доступом пользователей к содержимому подсистемы.
ReadWriteРазрешить открытие и изменение содержимого подсистемы.
ReadOnlyВключить открытие, но не модифицировать подсистему. Если подсистема находится в библиотеке блоков, можно создавать и открывать ссылки на подсистему, а также создавать и изменять локальные копии подсистемы, но не изменять разрешения или содержимое исходного экземпляра библиотеки.
NoReadOrWriteОтключить открытие или изменение подсистемы. Если подсистема проживает в библиотеке, Вы можете создать связи с подсистемой в модели, но не можете открыть, изменить, разрешения изменения, или создать местные копии подсистемы.
Примечание
Вы не получите ответ, если попытаетесь просмотреть содержимое подсистемы, для параметра разрешения на чтение/запись которой задано значение NoReadOrWrite. Например, при двойном щелчке по такой подсистеме Simulink не открывает подсистему и не отображает никаких сообщений.
Параметр: Permissions |
| Текст: символьный вектор |
Значение: 'ReadWrite' | 'ReadOnly' | 'NoReadOrWrite' |
По умолчанию: 'ReadWrite' |
Name of error callback function - имя вызываемой функции при возникновении ошибки;'' (по умолчанию) | имя функцииВведите имя вызываемой функции при возникновении ошибки во время выполнения подсистемы Simulink.
Simulink передает функции два аргумента: дескриптор подсистемы и символьный вектор, указывающий тип ошибки. Если функция не указана, Simulink отображает общее сообщение об ошибке, если выполнение подсистемы вызывает ошибку.
Параметр: ErrorFcn |
| Текст: символьный вектор |
Значение: '' | '<function name>' |
По умолчанию: '' |
Permit hierarchical resolution - Разрешение имен переменных рабочей областиAll (по умолчанию) | ExplicitOnly | NoneУкажите, следует ли разрешать имена переменных рабочей области, на которые ссылается эта подсистема.
Дополнительные сведения см. в разделах Разрешение символов и Процесс разрешения символов.
AllРазрешить все имена переменных рабочей области, используемых этой подсистемой, включая те, которые используются для задания значений параметров блока и объектов данных Simulink (например, Simulink.Signal объекты).
ExplicitOnlyРазрешить только имена переменных рабочей области, используемых для указания значений параметров блока, памяти хранилища данных (где блока нет), сигналов и состояний, помеченных как «необходимо разрешить».
NoneНе разрешайте имена переменных рабочей области.
Параметр: PermitHierarchicalResolution |
| Текст: символьный вектор |
Значение: 'All' | 'ExplicitOnly' | 'None' |
По умолчанию: 'All' |
Treat as atomic unit - Возможность выполнения подсистемы как одного блокаЗаставляет Simulink рассматривать подсистему как единицу при определении порядка выполнения блочных методов.
При определении порядка выполнения блочного метода следует рассматривать все блоки в подсистеме как находящиеся на том же уровне иерархии модели, что и подсистема. Это может привести к перемежению выполнения методов блоков в подсистеме с выполнением методов блоков вне подсистемы.
Рассматривать подсистему как единицу при определении порядка выполнения блочных методов. Например, когда требуется вычислить выходные данные подсистемы, Simulink вызывает методы вывода всех блоков подсистемы перед вызовом методов вывода других блоков на том же уровне, что и блок подсистемы.
Параметр: TreatAsAtomicUnit |
| Текст: символьный вектор |
Значение: 'off' | 'on' |
По умолчанию: 'off' |
Minimize algebraic loop occurrences - Вариант устранения искусственных алгебраических петельПопробуйте устранить любые искусственные алгебраические петли, которые включают атомную подсистему
Не пытайтесь устранить какие-либо искусственные алгебраические петли, которые включают атомную подсистему.
Попробуйте устранить любые искусственные алгебраические петли, которые включают атомную подсистему.
Чтобы включить этот параметр, выберите параметр Обработать как атомную единицу.
Параметр: MinAlgLoopOccurrences |
| Текст: символьный вектор |
Значение: 'off' | 'on' |
По умолчанию: 'off' |
Schedule As - Тип планированияSample Time (по умолчанию) | Periodic Partition | Aperiodic PartitionУкажите, как планировать подсистему.
Sample timeУкажите, должны ли все блоки в этой подсистеме выполняться с одинаковой скоростью или могут выполняться с различной скоростью.
Periodic PartitionЗапланируйте подсистему как периодический раздел. Укажите имя раздела и время выборки, соответствующее скорости выполнения раздела.
Aperiodic PartitionЗапланируйте подсистему как апериодический раздел. Укажите имя раздела.
Чтобы включить этот параметр, выберите параметр Обработать как атомную единицу измерения.
Параметр: ScheduleAs |
| Текст: символьный вектор |
Значение: 'SampleTime' | 'DiscretePartition' | 'UnconstrainedPartition' |
По умолчанию: 'SampleTime' |
Partition Name - Имя разделаУкажите имя раздела для подсистемы.
Чтобы включить этот параметр, выберите параметр Обработать как атомарную единицу измерения (Treat as atomic unit parameter) и задайте для параметра Расписание как (Schedule As) значение Periodic Partition или Aperiodic Partition.
Параметр: PartitionName |
| Текст: символьный вектор |
Значение: '' |
По умолчанию: '' |
Sample time - Интервал времени-1 (по умолчанию) | [Ts 0]Укажите, должны ли все блоки в этой подсистеме выполняться с одинаковой скоростью или могут выполняться с различной скоростью.
Если блоки в подсистеме могут работать с различными скоростями, укажите время выборки подсистемы как унаследованное (-1).
Если все блоки должны работать с одинаковой скоростью, укажите в качестве значения параметра Sample time время выборки, соответствующее этой скорости.
Если какой-либо из блоков в подсистеме указывает другое время выборки (кроме -1 или inf), Simulink отображает сообщение об ошибке при обновлении или моделировании модели. Например, предположим, что все блоки в подсистеме должны выполняться 5 раз в секунду. Для этого укажите время выборки подсистемы как 0.2. В этом примере, если какой-либо из блоков в подсистеме указывает время выборки, отличное от 0.2, -1, или inf, Simulink отображает ошибку при обновлении или моделировании модели.
-1Укажите наследуемое время выборки. Используйте этот пример времени, если блоки в подсистеме могут работать с различными скоростями.
[Ts 0]Укажите время периодической выборки.
Чтобы включить этот параметр, выберите параметр Обработать как атомную единицу.
Параметр: SystemSampleTime |
| Текст: символьный вектор |
Значение: '-1' | '[Ts 0]'
|
По умолчанию: '-1' |
Variant control - Выражение контроля исполнения (условия)Variant (по умолчанию) | логическое выражениеУкажите выражение элемента управления (условия) исполнения, которое выполняет блок функции Simulink исполнения, когда выражение вычисляется как true.
Дополнительные сведения см. в разделе Simulink.Variant.
VariantИмя по умолчанию для логического (логического) выражения.
Логическое (логическое) выражение или Simulink.Variant объект, представляющий логическое выражение.
Функция активируется, когда выражение вычисляется как true.
Если требуется создать код для модели, определите переменные в выражении как Simulink.Parameter объекты.
Включите этот параметр, добавив блок подсистемы в блок подсистемы вариантов.
Параметр блока:
VariantControl |
| Текст: символьный вектор |
Значение:
'Variant' | '<logical expression>' |
По умолчанию:
'Variant' |
Treat as grouped when propagating variant conditions - Возможность рассматривать подсистему как единицу при распространении условий исполненияon (по умолчанию) | offЗаставляет Simulink рассматривать подсистему как единицу измерения при распространении условий исполнения из блоков источника исполнения или в блоки получателя исполнения.
Simulink рассматривает подсистему как единицу при распространении условий исполнения из блоков источника исполнения или в блоки получателя исполнения. Например, когда Simulink вычисляет условие исполнения подсистемы, оно распространяется на все блоки подсистемы.
Simulink рассматривает все блоки в подсистеме как находящиеся на том же уровне иерархии модели, что и сама подсистема при определении их исполнения.
Параметр: TreatAsGroupedWhenPropagatingVariantConditions |
| Текст: символьный вектор |
Значение: 'on' | 'off' |
По умолчанию: 'on' |
Function packaging - Формат кодаAuto (по умолчанию) | Inline | Nonreusable function | Reusable functionВыберите формат кода, который будет создан для атомной (невиртуальной) подсистемы.
AutoSimulink Coder и Embedded Coder выбирают оптимальный формат на основе типа и количества экземпляров подсистемы, существующих в модели.
InlineSimulink Coder и Embedded Coder безусловно встроены в подсистему.
Nonreusable functionЕсли для параметра «Имя файла» задано значение Auto, пакет Simulink Coder и Embedded Coder разделяют функции в файле модели. Если для параметров имени файла установлено значение Use subsystem name, Use function name, или User specified используя различные имена файлов, Simulink Coder и Embedded Coder разделяют функции в отдельных файлах.
Подсистемы с этим параметром генерируют функции, которые могут иметь аргументы в зависимости от параметра Function interface. Сгенерированную функцию и файл можно назвать с помощью параметров Имя функции и Имя файла (без расширения). Эти функции не являются возвратными.
Reusable functionSimulink Coder и Embedded Coder генерируют функцию с аргументами, которые позволяют повторно использовать код подсистемы, когда модель включает несколько экземпляров подсистемы.
Эта опция также генерирует функцию с аргументами, которая позволяет повторно использовать код подсистемы в сгенерированном коде иерархии ссылок на модель, которая включает несколько экземпляров подсистемы в ссылочных моделях. В этом случае подсистема должна находиться в библиотеке.
Дополнительные сведения см. в разделе:
Управление формированием функций для подсистем (Simulink Coder)
Создание кода и исполняемых файлов для отдельных подсистем (Simulink Coder)
Встроенный код подсистемы (Simulink Coder)
Создание кода подсистемы как отдельной функции и файлов (Simulink Coder)
Создание многократно используемого кода из библиотечных подсистем, совместно используемых моделями (Simulink Coder)
Если требуется, чтобы несколько экземпляров подсистемы были представлены как одна повторно используемая функция, можно назначить каждый из них как Auto или как Reusable function. Лучше всего использовать одну или другую, поскольку при использовании обеих функций создаются две многократно используемые функции, по одной для каждого обозначения. Результаты этих вариантов различаются только тогда, когда повторное использование невозможно. Выбор Auto не позволяет управлять функцией или именем файла для кода подсистемы.
Reusable function и Auto оба параметра пытаются определить, существует ли несколько экземпляров подсистемы и можно ли повторно использовать код. Различие между поведением опций заключается в том, что когда повторное использование невозможно:
Auto дает встроенный код или, если обстоятельства запрещают встраивание, отдельные функции для каждого экземпляра подсистемы.
Reusable function вырабатывает отдельную функцию с аргументами для каждого экземпляра подсистемы в модели.
При выборе Reusable function пока созданный код находится в системе управления версиями, задайте для параметра Имя файла значение Use subsystem name, Use function name, или User specified. В противном случае имена файлов кода изменяются при каждом изменении модели, что препятствует управлению версиями файлов.
Для создания кода этому параметру требуется Simulink Coder.
Чтобы включить этот параметр, выберите Обработать как атомную единицу.
Параметр: RTWSystemCode |
| Текст: символьный вектор |
Значение: 'Auto' | 'Inline' | 'Nonreusable function' | 'Reusable function' |
По умолчанию: 'Auto' |
Function name options - Как назвать сгенерированную функциюAuto (по умолчанию) | Use subsystem name | User specifiedВыберите, как Simulink Coder называет функцию, создаваемую для подсистемы.
При наличии лицензии Embedded Coder можно управлять именами функций с помощью опций на панели Создание кода параметра конфигурации (Configuration Parameter Code Generation) > Идентификаторы (Identifiers).
AutoНазначение уникального имени функции с использованием соглашения об именовании по умолчанию. , где model_subsystem()model - имя модели и subsystem - имя подсистемы (или идентичное имя при повторном использовании кода).
При выборе Reusable function для параметра Function packaging и нескольких экземпляров повторно используемой подсистемы в ссылочной иерархии модели, чтобы создать повторно используемый код для подсистемы, параметры Function name должны быть установлены в Auto.
Use subsystem nameВ качестве имени функции используйте имя подсистемы. По умолчанию имя функции использует соглашение об именовании .model_subsystem
Примечание
Когда подсистема находится в блоке библиотеки и параметр подсистемы Function packaging имеет значение Reusable function, если вы установили Use subsystem name , генератор кода использует имя блока библиотеки для имени функции подсистемы и имени файла.
User specifiedВключите поле Имя функции. Введите любое допустимое имя функции C или C++, которое должно быть уникальным.
Дополнительные сведения см. в разделе Управление генерацией функций для подсистем (Simulink Coder).
Для этого параметра требуется лицензия Simulink Coder.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function или Reusable function.
Параметр: RTWFcnNameOpts |
| Текст: символьный вектор |
Значение: 'Auto' | 'Use subsystem name' | 'User specified' |
По умолчанию: 'Auto' |
Function name - Наименование функции для кода подсистемы'' (по умолчанию) | имя функцииУкажите уникальное, допустимое имя функции C или C++ для кода подсистемы.
Используйте этот параметр, если необходимо присвоить функции определенное имя вместо того, чтобы разрешить генератору кода Simulink Coder присваивать собственное автоматически созданное имя или использовать имя подсистемы. Дополнительные сведения см. в разделе Управление генерацией функций для подсистем (Simulink Coder).
Для этого параметра требуется лицензия Simulink Coder.
Чтобы включить этот параметр, задайте для параметра Function name options значение User specified.
Параметр: RTWFcnName |
| Текст: символьный вектор |
Значение: '' | '<function name>' |
По умолчанию: '' |
File name options - Как назвать созданный файлAuto (по умолчанию) | Use subsystem name | Use function name | User specifiedВыберите, как Simulink Coder называет отдельный файл для функции, которую он создает для подсистемы.
AutoВ зависимости от конфигурации подсистемы и количества экземпляров в модели, Auto дает различные результаты:
Если генератор кода не генерирует отдельный файл для подсистемы, код подсистемы генерируется в модуле кода, сгенерированном из родительской системы подсистемы. Если родительской подсистемой является сама модель, код подсистемы генерируется в или model.c.model.cpp
При выборе Reusable function для параметра Function packaging, и созданный код находится в системе управления версиями, рассмотрите возможность указания значения параметров File name, отличного от Auto. Это предотвращает изменение имени созданного файла из-за несвязанных изменений модели, что проблематично при использовании системы управления версиями для управления конфигурациями.
При выборе Reusable function для параметра Function packaging и нескольких экземпляров повторно используемой подсистемы в ссылочной иерархии модели, чтобы создать повторно используемый код для подсистемы, необходимо установить опции File name в значение Auto.
Use subsystem nameГенератор кода генерирует отдельный файл, используя имя подсистемы (или блока библиотеки) в качестве имени файла.
Примечание
Если для параметров имени файла установлено значение Use subsystem nameимя файла подсистемы обрабатывается, если модель содержит блоки модели или если для модели создается целевой объект ссылки на модель. В этих ситуациях имя файла подсистемы состоит из имени подсистемы, которому предшествует имя модели.
Use function nameГенератор кода использует в качестве имени файла имя функции, указанное опциями Имя функции.
User specifiedЭта опция включает текстовое поле Имя файла (без расширения). Генератор кода использует введенное имя в качестве имени файла. Введите любое имя файла, но не включайте .c или .cpp (или любое другое) расширение. Это имя файла не обязательно должно быть уникальным.
Примечание
Хотя имя исходного файла подсистемы не обязательно должно быть уникальным, следует избегать указания неуникальных имен, которые приводят к циклическим зависимостям (например, sys_a.h включает sys_b.h, sys_b.h включает sys_c.h, и sys_c.h включает sys_a.h).
Для этого параметра требуется лицензия Simulink Coder.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function или Reusable function.
Параметр: RTWFileNameOpts |
| Текст: символьный вектор |
Значение: 'Auto' | 'Use subsystem name' | 'Use function name' | 'User specified' |
По умолчанию: 'Auto' |
File name (no extension) - Имя сформированного файла '' (по умолчанию) | имя файла Указанное имя файла не обязательно должно быть уникальным. Однако избегайте давать неуникальные имена, которые приводят к циклическим зависимостям (например, sys_a.h включает sys_b.h, sys_b.h включает sys_c.h, и sys_c.h включает sys_a.h).
Дополнительные сведения см. в разделе Управление генерацией функций для подсистем (Simulink Coder).
Для этого параметра требуется лицензия Simulink Coder.
Чтобы включить этот параметр, задайте для параметра Имя файла значение User specified.
Параметр: RTWFileName |
| Текст: символьный вектор |
Значение: '' | '<file name>' |
По умолчанию: '' |
Function interface - Выберите, чтобы использовать аргументы с функцией генерацииvoid_void (по умолчанию) | Allow arguments (Optimized) | Allow arguments (Match graphical interface)Выберите для использования аргументов с созданной функцией.
void_voidСоздайте функцию без аргументов и передайте данные в виде глобальных переменных. Например:
void subsystem_function(void)
Allow arguments (Optimized)Создайте функцию, использующую аргументы вместо передачи данных в качестве глобальных переменных. Эта спецификация сокращает объем глобальной оперативной памяти. Это может уменьшить размер кода и повысить скорость выполнения, а также позволить генератору кода применять дополнительные оптимизации. Например:
void subsystem_function(real_T rtu_In1, real_T rtu_In2,
real_T *rty_Out1)Allow arguments (Match graphical interface)Создайте интерфейс функции, в котором используются аргументы, соответствующие интерфейсу графического блока подсистемы. Сгенерированный интерфейс функции предсказуем и не изменяется. Предсказуемый интерфейс может быть полезен для отладки и тестирования кода и интеграции с внешними приложениями. Например, если модель имеет два порта ввода и два порта вывода, то генерируемый интерфейс функции:
void subsystem_function(real_T rtu_In1, real_T rtu_In2,
real_T *rty_Out1, real_T *rty_Out2)Дополнительные сведения см. в разделе:
Сокращение глобальных переменных в неиспользуемых функциях подсистемы (встроенный кодер)
Создание интерфейса предсказуемой функции для сопоставления интерфейса графического блока (встроенный кодер)
Создание модульного кода функции для невиртуальных подсистем (встроенный кодер)
Для этого параметра требуется Embedded Coder и целевой системный файл на основе ERT.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function.
Параметр: FunctionInterfaceSpec |
| Текст: символьный вектор |
Значение: 'void_void' | 'Allow arguments (Optimized)' | 'Allow arguments (Match graphical interface)' |
По умолчанию: 'void_void' |
Function with separate data - Формирование кода управления для подсистемыСоздайте функциональный код подсистемы, в котором внутренние данные для атомной подсистемы отделяются от родительской модели и принадлежат подсистеме.
Не создавайте функциональный код подсистемы, в котором внутренние данные для атомной подсистемы отделены от родительской модели и принадлежат подсистеме.
Создайте функциональный код подсистемы, в котором внутренние данные для атомной подсистемы отделяются от родительской модели и принадлежат подсистеме. Структура данных подсистемы объявляется независимо от родительских структур данных модели. Подсистема с отдельными данными имеет собственный блок ввода-вывода и DWork структура данных. В результате сгенерированный код для подсистемы легче отслеживать и тестировать. Разделение данных также приводит к уменьшению максимального размера глобальных структур данных во всей модели, поскольку они разделены на несколько структур данных.
Дополнительные сведения о создании модульного кода функции для атомной подсистемы см. в разделе Создание модульного кода функции для невиртуальных подсистем (встроенный кодер).
Дополнительные сведения о применении разделов памяти к атомарным подсистемам см. в разделе Переопределение размещения памяти по умолчанию для функций подсистемы и данных (встроенный кодер).
Для этого параметра требуется лицензия на Embedded Coder и целевой системный файл на основе ERT.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function.
Параметр: FunctionWithSeparateData |
| Текст: символьный вектор |
Значение: 'off' | 'on' |
По умолчанию: 'off' |
Memory section for initialize/terminate functions - Выберите способ применения разделов памятиInherit from model (по умолчанию) | Default | The memory section of interestВыберите, как Embedded Coder применяет разделы памяти к функциям инициализации и завершения подсистемы.
Inherit from modelПрименение разделов памяти корневой модели к коду функции подсистемы
DefaultНе применять разделы памяти к системному коду подсистемы, переопределяя спецификацию на уровне модели
The memory section of interestПримените один из разделов памяти модели к подсистеме
Возможные значения зависят от того, какой (если есть) пакет разделов памяти был задан для конфигурации модели. См. раздел Управление данными и размещением функций в памяти путем вставки прагматиков (встроенный кодер) и параметров конфигурации модели: создание кода (Simulink Coder).
Если модель не настроена с пакетом, Inherit from model - это единственное отображаемое значение. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.
Эти опции могут быть полезны для переопределения настроек секции памяти модели для данной подсистемы. Дополнительные сведения о применении разделов памяти к атомарным подсистемам см. в разделе Переопределение размещения памяти по умолчанию для функций подсистемы и данных (встроенный кодер).
Этот параметр требует лицензии для программного обеспечения Embedded Coder и целевого файла системы на основе ERT.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function или Reusable function.
Параметр: RTWMemSecFuncInitTerm |
| Текст: символьный вектор |
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest' |
По умолчанию: 'Inherit from model' |
Memory section for execution functions - Выберите способ применения разделов памятиInherit from model (по умолчанию) | Default | The memory section of interestВыберите, как Embedded Coder применяет разделы памяти к функциям выполнения подсистемы.
Inherit from modelПрименение разделов памяти корневой модели к коду функции подсистемы
DefaultНе применять разделы памяти к системному коду подсистемы, переопределяя спецификацию на уровне модели
The memory section of interestПримените один из разделов памяти модели к подсистеме
Возможные значения зависят от того, какой (если есть) пакет разделов памяти был задан для конфигурации модели. См. раздел Управление данными и размещением функций в памяти путем вставки прагматиков (встроенный кодер) и параметров конфигурации модели: создание кода (Simulink Coder).
Если модель не настроена с пакетом, Inherit from model - это единственное отображаемое значение. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.
Эти опции могут быть полезны для переопределения настроек секции памяти модели для данной подсистемы. Дополнительные сведения о применении разделов памяти к атомарным подсистемам см. в разделе Переопределение размещения памяти по умолчанию для функций подсистемы и данных (встроенный кодер).
Этот параметр требует лицензии для программного обеспечения Embedded Coder и целевого файла системы на основе ERT.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function или Reusable function.
Параметр: RTWMemSecFuncExecute |
| Текст: символьный вектор |
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest' |
По умолчанию: 'Inherit from model' |
Memory section for constants - Выберите способ применения разделов памятиInherit from model (по умолчанию) | Default | The memory section of interestВыберите, как Embedded Coder применяет разделы памяти к константам подсистемы.
Inherit from modelПрименение разделов памяти корневой модели к данным подсистемы
DefaultНе применять разделы памяти к данным подсистемы, переопределяя ту или иную спецификацию на уровне модели
The memory section of interestПримените один из разделов памяти модели к подсистеме
Указанный раздел памяти применяется к соответствующим глобальным структурам данных в сгенерированном коде. Основные сведения о глобальных структурах данных, созданных для атомных подсистем, см. в разделе Стандартные структуры данных (Simulink Coder).
Возможные значения зависят от того, какой (если есть) пакет разделов памяти был задан для конфигурации модели. См. раздел Управление данными и размещением функций в памяти путем вставки прагматиков (встроенный кодер).
Если модель не настроена с пакетом, Inherit from model - это единственное отображаемое значение. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.
Эти опции могут быть полезны для переопределения настроек секции памяти модели для данной подсистемы. Дополнительные сведения о применении разделов памяти к атомарным подсистемам см. в разделе Переопределение размещения памяти по умолчанию для функций подсистемы и данных (встроенный кодер).
Для этого параметра требуется лицензия на Embedded Coder и целевой системный файл на основе ERT.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function и выберите функцию с отдельным параметром данных.
Параметр: RTWMemSecDataConstants |
| Текст: символьный вектор |
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest' |
По умолчанию: 'Inherit from model' |
Memory section for internal data - Выберите способ применения разделов памятиInherit from model (по умолчанию) | Default | The memory section of interestВыберите, как Embedded Coder применяет разделы памяти к внутренним данным подсистемы.
Inherit from modelПрименение разделов памяти корневой модели к данным подсистемы
DefaultНе применять разделы памяти к данным подсистемы, переопределяя ту или иную спецификацию на уровне модели
The memory section of interestПримените один из разделов памяти модели к подсистеме
Указанный раздел памяти применяется к соответствующим глобальным структурам данных в сгенерированном коде. Основные сведения о глобальных структурах данных, созданных для атомных подсистем, см. в разделе Стандартные структуры данных (Simulink Coder).
Возможные значения зависят от того, какой (если есть) пакет разделов памяти был задан для конфигурации модели. См. раздел Управление данными и размещением функций в памяти путем вставки прагматиков (встроенный кодер).
Если модель не настроена с пакетом, Inherit from model - это единственное отображаемое значение. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.
Эти опции могут быть полезны для переопределения настроек секции памяти модели для данной подсистемы. Дополнительные сведения о применении разделов памяти к атомарным подсистемам см. в разделе Переопределение размещения памяти по умолчанию для функций подсистемы и данных (встроенный кодер).
Для этого параметра требуется лицензия на Embedded Coder и целевой системный файл на основе ERT.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function и выберите функцию с отдельным параметром данных.
Параметр: RTWMemSecDataInternal |
| Текст: символьный вектор |
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest' |
По умолчанию: 'Inherit from model' |
Memory section for parameters - Выберите способ применения разделов памятиInherit from model (по умолчанию) | Default | The memory section of interestВыберите, как Embedded Coder применяет разделы памяти к параметрам подсистемы.
Inherit from modelПрименение разделов памяти корневой модели к коду функции подсистемы
DefaultНе применять разделы памяти к системному коду подсистемы, переопределяя спецификацию на уровне модели
Примените один из разделов памяти модели к подсистеме
Указанный раздел памяти применяется к соответствующей глобальной структуре данных в сгенерированном коде. Основные сведения о глобальных структурах данных, созданных для атомных подсистем, см. в разделе Стандартные структуры данных (Simulink Coder).
Возможные значения зависят от того, какой (если есть) пакет разделов памяти был задан для конфигурации модели. См. раздел Управление данными и размещением функций в памяти путем вставки прагматиков (встроенный кодер).
Если модель не настроена с пакетом, Inherit from model - это единственное отображаемое значение. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.
Эти опции могут быть полезны для переопределения настроек секции памяти модели для данной подсистемы. Дополнительные сведения о применении разделов памяти к атомарным подсистемам см. в разделе Переопределение размещения памяти по умолчанию для функций подсистемы и данных (встроенный кодер).
Для этого параметра требуется лицензия на Embedded Coder и целевой системный файл на основе ERT.
Чтобы включить этот параметр, установите для параметра Function packaging значение Nonreusable function и выберите функцию с отдельным параметром данных.
Параметр: RTWMemSecDataParameters |
| Текст: символьный вектор |
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest' |
По умолчанию: 'Inherit from model' |
Subsystem file name - Имя файла для подсистемы, на которую имеется ссылкаДля доступа к этому параметру нажмите кнопку «Преобразовать».
Дополнительные сведения о преобразовании подсистемы в подсистему, на которую имеется ссылка, см. в разделе Преобразование существующей подсистемы в подсистему, на которую имеется ссылка.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
[a] Фактический тип данных или поддержка возможностей зависит от реализации блока. | |
Фактический тип данных или поддержка возможностей зависит от реализации блока.
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
| Архитектура | Описание |
|---|---|
Module (по умолчанию) | Создайте код для подсистемы и блоков в подсистеме. |
BlackBox | Создайте интерфейс черного ящика. Сгенерированный код HDL включает только определения портов ввода/вывода для подсистемы. Поэтому можно использовать подсистему в модели для создания интерфейса с существующим, написанным вручную кодом HDL. Генерация интерфейса черного ящика для подсистем аналогична генерации интерфейса блока модели без тактовых сигналов. |
| Удалите подсистему из сгенерированного кода. При моделировании можно использовать подсистему, однако в коде HDL ее можно рассматривать как «no-op». |
Для BlackBox можно настроить имена портов и задать атрибуты внешнего интерфейса компонента. См. раздел Настройка интерфейса косимуляции черного ящика или HDL (кодер HDL).
| Общая информация | |
|---|---|
| AdaptivePipelining | Автоматическая вставка трубопровода на основе инструмента синтеза, целевой частоты и длины слова множителя. Значение по умолчанию: |
| BalanceDelays | Обнаруживает введение новых задержек по одному пути и вставляет совпадающие задержки по другим путям. Значение по умолчанию: |
| ClockRatePipelining | Вставка регистров конвейера с более высокой тактовой частотой вместо более низкой скорости передачи данных. Значение по умолчанию: |
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| DistributedPipelining | Распределение регистров трубопроводов или ресинхронизация регистров. Значение по умолчанию: |
| DSPStyle | Атрибуты синтеза для отображения множителя. Значение по умолчанию: |
| FlattenHierarchy | Удалите иерархию подсистемы из сгенерированного кода HDL. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| SharingFactor | Количество функционально эквивалентных ресурсов для сопоставления с одним общим ресурсом. Значение по умолчанию - 0. См. также раздел Совместное использование ресурсов (кодер HDL). |
| StreamingFactor | Количество параллельных путей данных, или векторов, которые мультиплексируются по времени для преобразования в последовательные скалярные пути данных. По умолчанию используется значение 0, которое реализует полностью параллельные пути данных. См. также Потоковая передача (кодер HDL). |
Если этот блок не является DUT, параметры свойств блока на вкладке «Целевая спецификация» игнорируются. При использовании рабочего процесса генерации IP Core в помощнике по рабочим процессам HDL эти целевые значения свойств блоков спецификаций сохраняются вместе с моделью. Если эти целевые значения свойств блока спецификации указаны с помощью hdlset_param, при открытии помощника по рабочим процессам HDL поля заполняются соответствующими значениями.
| Целевая спецификация | |
|---|---|
| AdditionalTargetInterfaces |
Дополнительные целевые интерфейсы, указанные как символьный вектор. Чтобы сохранить это свойство блока в модели, в задаче Set Target Interface рабочего процесса создания IP Core, соответствующей портам DUT, которые требуется добавить, выберите Добавить еще.... Затем можно добавить дополнительные интерфейсы в диалоговом окне Добавить новые целевые интерфейсы (Add New Target Interfaces). Укажите тип интерфейса, количество дополнительных интерфейсов и уникальное имя для каждого дополнительного интерфейса. Значения: Пример: |
| ProcessorFPGASynchronization | Режим синхронизации процессора/FPGA, заданный как символьный вектор. Чтобы сохранить это свойство блока в модели, укажите синхронизацию процессора/FPGA в задаче Set Target Interface рабочего процесса создания IP Core. Значения: Пример: |
| TestPointMapping | Чтобы сохранить это свойство блока в модели, укажите сопоставление портов тестовых точек с интерфейсами целевой платформы в задаче Set Target Interface рабочего процесса создания IP Core. Значения: Пример: |
| TunableParameterMapping | Чтобы сохранить это свойство блока в модели, укажите сопоставление настраиваемых портов параметров с интерфейсами целевой платформы в задаче Set Target Interface рабочего процесса создания IP-ядра. Значения: Пример: |
| AXI4RegisterReadback | Чтобы сохранить это свойство блока в модели, укажите, нужно ли включить чтение AXI4 ведомых регистрах записи в задаче «Генерировать код RTL и IP-ядро» рабочего процесса создания IP-ядра. Чтобы узнать больше, посмотрите Образцовый Дизайн для Поколения Интерфейса Рабов AXI4 (Кодер HDL). Значения: |
| AXI4SlaveIDWidth |
Чтобы спасти эту собственность блока на модели, определите количество Основных интерфейсов AXI, с которыми Вы хотите соединить IP ядро DUT при помощи Рабской Ширины удостоверения личности AXI4, начинающейся Генерирование Кода RTL и IP Основной задачи IP Основного технологического процесса Поколения. Дополнительные сведения см. в разделе Определение нескольких главных интерфейсов AXI в эталонных конструкциях для доступа к подчиненному интерфейсу DUT AXI4 (кодер HDL). Значения: |
| AXI4SlavePortToPipelineRegisterRatio |
Чтобы спасти эту собственность блока на модели, определите количество ведомых портов AXI4, для которых Вы хотите, чтобы регистр трубопровода был вставлен при помощи Ведомого порта AXI4 в отношение регистра трубопровода, начинающееся Генерирование Кода RTL и IP Основной задачи IP Основного технологического процесса Поколения. Чтобы узнать больше, посмотрите Образцовый Дизайн для Поколения Интерфейса Рабов AXI4 (Кодер HDL). Значения: |
| GenerateDefaultAXI4Slave | Чтобы сохранить это свойство блока в модели, укажите, нужно ли отключить генерацию подчиненных интерфейсов AXI4 по умолчанию в задаче «Генерировать код RTL и ядро IP» рабочего процесса создания ядра IP. Значения: |
| IPCoreAdditionalFiles | Файлы Verilog ® или VHDL ® для черных ящиков в вашем дизайне. Укажите полный путь к каждому файлу и разделите имена файлов точкой с запятой (;). Это свойство можно задать в помощнике по рабочим процессам HDL в поле Дополнительные исходные файлы. Значения: Пример: |
| IPCoreName | Имя ядра IP, указанное как символьный вектор. Это свойство можно задать в помощнике по рабочим процессам HDL в поле имени ядра IP. Если для этого свойства задано значение по умолчанию, помощник по рабочим процессам HDL создает имя ядра IP на основе имени DUT. Значения: Пример: |
| IPCoreVersion | Номер версии ядра IP, указанный как символьный вектор. Это свойство можно задать в помощнике по рабочим процессам HDL в поле версии ядра IP. Если для этого свойства задано значение по умолчанию, помощник по рабочим процессам HDL устанавливает версию ядра IP. Значения: Пример: |
| IPDataCaptureBufferSize |
Размер буфера захвата данных FPGA, указанный как символьный вектор. Функция FPGA Data Capture используется для наблюдения за сигналами в конструкции при работе на FPGA. Размер буфера использует значения 128 * 2 ^ n, где n - целое число. По умолчанию размер буфера равен 128 (n = 0). Максимальное значение n равно 13, что означает, что максимальное значение размера буфера равно 1048576 (= 128 * 2 ^ 13). Значения: Пример: |
Если DUT является маскированной подсистемой, можно создать код только в том случае, если он находится на верхнем уровне модели.
Дополнительные сведения см. в разделе:
Внешние компонентные интерфейсы (кодер HDL)
Создание интерфейса черного ящика для подсистемы (кодер HDL)
Фактический тип данных или поддержка возможностей зависит от реализации блока.
Включенная и запускаемая подсистема | Включенная подсистема | Подсистема вызова функций | Срабатывающая подсистема
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.


