Если вы хотите поделиться моделью со сторонней компанией без раскрытия интеллектуальной собственности, защитите модель. При создании защищенной модели детали реализации исходной модели скрываются путем ее компиляции в ссылочную модель. Защищенная модель включает производные файлы для поддержки указанных дополнительных функциональных возможностей, таких как поддержка генерации кода C или генерации кода HDL.
При наличии лицензии HDL Coder™ можно создать защищенную модель с поддержкой моделирования и генерации кода HDL. Затем пользователь защищенной модели может создать код HDL для моделей, которые ссылаются на созданную вами защищенную модель. Чтобы включить поддержку генерации кода C или указать дополнительные параметры, такие как интерфейс кода, необходимо иметь лицензию Simulink ® Coder™ или Embedded Coder ®. Дополнительные сведения об этом рабочем процессе см. в разделе Защита моделей для сокрытия содержимого.
При защите модели можно разрешить пользователю защищенной модели:
Откройте веб-представление модели, доступное только для чтения, включая содержимое модели и параметры блока.
Моделирование модели в режимах ускорения (по умолчанию), быстрого ускорения и нормального режима.
Создайте код HDL для модели, включающей защищенную модель.
При наличии Simulink Coder создайте код C для модели, включающей защищенную модель.
Создайте код для защищенной модели через автономный интерфейс, если имеется Embedded Coder, и укажите целевой системный файл для модели на основе ERT.
При необходимости можно защитить каждый параметр паролем. Если вы выберете защиту паролем для одного из этих вариантов, программное обеспечение защитит поддерживающие файлы с помощью AES-256 шифрования.
Создайте защищенную модель с помощью одной из следующих опций.
Чтобы создать защищенную модель на основе ссылочной модели, выберите блок «Модель» и на вкладке «Моделирующий блок модели» нажмите кнопку «Защитить».
Чтобы создать защищенную модель из текущей модели, выполните следующие действия.
На вкладке Приложения Simulink Toolstrip выберите Кодер HDL. Появится вкладка Код HDL (HDL Code).
Выберите блок «Модель» и на вкладке «Код HDL» > «Общий доступ» выберите «Создать защищенную модель».
Чтобы программно создать защищенную модель, используйте Simulink.ModelReference.protect функция.
При создании защищенной модели:
Simulink создает и сохраняет защищенную версию модели в файле, который имеет то же имя, что и исходная модель, с .slxp расширение.
Исходный файл модели с .slx расширение, не изменяется. При защите модели с помощью блока модели этот блок модели не изменяется.
При необходимости Simulink создает архив проекта (.mlproj), которая содержит защищенную модель, модель кабельных трасс для защищенной модели и дополнительные вспомогательные файлы.
Если для защищенной модели требуются дополнительные вспомогательные файлы, такие как определения базовой рабочей области или словарь данных, включите эти файлы в модель при совместном использовании защищенной модели. Дополнительные сведения см. в разделе Защищенные модели пакетов и общего доступа.
При создании защищенной модели учитывайте следующие требования.
Для создания защищенной модели необходимо иметь лицензию HDL Coder или Simulink Coder.
Модель должна быть доступна на пути MATLAB ®.
Модель не может иметь несохраненных изменений.
Модель использует конфигурацию, которая активна во время резервирования. Невозможно изменить конфигурацию защищенной модели.
Если модель содержит варианты, защищенная модель включает только тот вариант, который активен во время защиты.
Имя защищенной модели не должно быть изменено. Переименование модели или изменение суффикса делает модель непригодной для использования до тех пор, пока не будет восстановлено ее исходное имя и суффикс.
Модель также должна соответствовать всем требованиям, перечисленным в разделе Ссылочные требования и ограничения модели.
Эти конфигурации не поддерживаются при создании защищенной модели с поддержкой генерации кода HDL.
Защищенная модель должна использовать те же параметры конфигурации, что и верхний уровень, на который она ссылается.
Параметры решателя, заданные на панели Решатель (Solver) диалогового окна Параметры конфигурации (Configuration Parameters), должны быть Fixed-step и auto.
Нельзя включать эти параметры в диалоговом окне Параметры конфигурации (Configuration Parameters):
Создание параметризованного кода HDL из маскированной подсистемы
Префикс имени модуля
Использовать триггерный сигнал в качестве тактового сигнала
Минимизация включения часов
Скаляризировать векторные порты
Разрешить конвейерную передачу тактовой частоты на выходных портах DUT
Модели с несколькими синхросигналами или входами синхросигналов, установленными на multiple в диалоговом окне «Параметры конфигурации» не поддерживаются.
Модели, содержащие аргументы модели, не поддерживаются.
Исходный код HDL защищенной модели не может быть искажен.
Вложенные защищенные модели не поддерживаются.
Защищенная модель не может иметь обратных вызовов.
Дополнительные сведения об ограничениях для генерации кода C см. в разделе Требования и ограничения для генерации кода.
В этом примере показано, как можно защитить модель, на которую ссылается блок модели в родительской модели. Открытие родительской модели hdlcoder_protected_model_parent_harness.
open_system('hdlcoder_protected_model_parent_harness') set_param('hdlcoder_protected_model_parent_harness','SimulationCommand','Update')

Перейдите к блоку «Модель» в родительской модели. Если дважды щелкнуть значок DUT Подсистема, а затем откройте mynested Подсистема, отображается блок модели, который ссылается на модель hdlcoder_referenced_model_gain.
open_system('hdlcoder_protected_model_parent_harness/DUT/mynested')

Откройте блок «Модель» и убедитесь, что имя модели с расширением .slx указывается в поле Имя модели. Если ссылочная модель и защищенная модель находятся в одной папке, родительская модель ссылается на защищенную модель, если не указано расширение.
В этом случае блок «Модель» ссылается на модель hdlcoder_referenced_model_gain.slx, модель, которую вы хотите защитить. Дважды щелкните значок Model блокировать или открыть модель hdlcoder_referenced_model_gain в отдельном окне.
open_system('hdlcoder_referenced_model_gain') set_param('hdlcoder_referenced_model_gain','SimulationCommand','Update')

Выберите блок «Модель».
На вкладке «Блок модели Simulink Toolstrip» нажмите «Защитить».

В диалоговом окне Создать защищенную модель (Create Protected Model) выберите диалоговое окно Моделирование (Simulate). Эта опция позволяет пользователю защищенной модели моделировать модель, которая ссылается на защищенную модель.
При использовании Simulink Coder или Embedded Coder можно указать дополнительные параметры, такие как включение поддержки создания кода с защитой паролем, с помощью флажка Использовать сгенерированный код (Use generated code) или с помощью интерфейса Код (Code). Дополнительные сведения об этих параметрах см. в разделе Защита моделей для сокрытия содержимого (встроенный кодер).
Установите флажок Использовать сгенерированный код HDL, чтобы создать код HDL для модели, которая ссылается на защищенную модель. Чтобы защитить эту функцию защищенной модели паролем, необходимо указать не менее восьми символов. Для этого параметра можно указать уникальный пароль. Невозможно запутать исходный код HDL для защищенной модели.
В поле Папка назначения (Destination folder) укажите путь к папке для защищенной модели. Значением по умолчанию является текущая рабочая папка.
Чтобы автоматически собирать, создавать и упаковывать поддерживающие файлы с защищенной моделью, установите для параметра Содержимое значение Protected Model (.slxp) and dependencies in a project. В этом примере задайте для параметра «Содержимое» значение Protected Model (.slxp) only.
Чтобы создать модель кабельных трасс для защищенной модели, установите флажок Создать модель кабельных трасс для защищенной модели. Модель кабельных трасс обеспечивает изолированную среду для блока модели, который ссылается на защищенную модель. В этом примере снимите флажок.
Щелкните Создать (Create).
Кодер HDL проверяет совместимость модели для генерации кода HDL, затем генерирует код для модели. Содержимое сгенерированного файла кода находится в hdlsrc папка. Сведения о создаваемых файлах см. в разделе Защищенные модели пакетов и общего доступа.
Для использования защищенной модели в иерархии модели необходимо создать ссылку на нее через блок модели. Режим моделирования для блоков модели, ссылающихся на защищенную модель, имеет значение Accelerator. Изменить режим нельзя. Дополнительные сведения см. в разделе Ссылки на защищенные модели от третьих лиц.
Дополнительные сведения о параметрах см. в разделе Создание защищенной модели.
Создание защищенной модели при использовании Simulink.ModelReference.protect , установите Mode кому HDLCodeGeneration. Например, выполните эту команду для защиты ссылочной модели. hdlcoder_referenced_model_gain:
Simulink.ModelReference.protect('hdlcoder_referenced_model_gain', ... 'Mode','HDLCodeGeneration')
При создании защищенной модели из Simulink Editor создается отчет о защищенной модели, который включается в состав защищенной модели. Для этого примера, чтобы просмотреть отчет о защищенной модели, дважды щелкните защищенную модель или щелкните правой кнопкой мыши значок значка защищенной модели на блоке в модели кабельных трасс и выберите Показать отчет (Display Report).

Отчет содержит:
Резюме, включая следующие таблицы:
Среда, обеспечивающая версию Simulink, версию Simulink Coder, версию HDL Coder и платформу, используемую для создания защищенной модели.
Поддерживаемые функциональные возможности, отчетность On, Off, или On with password protection для каждой возможной функциональности, поддерживаемой защищенной моделью. При настройке защищенной модели для нескольких целевых объектов эта таблица содержит список поддерживаемых целевых объектов.
Лицензии, список лицензий, необходимых для запуска защищенной модели.
Отчет по интерфейсам, включая информацию об интерфейсах модели, такую как входные и выходные спецификации, параметры интерфейсов и хранилища данных.
Создание отчета при использовании Simulink.ModelReference.protect , установите "Report"параметр для True.
Если защищенная модель имеет поддержку моделирования и генерации кода HDL, пользователь защищенной модели может моделировать и генерировать код HDL из модели, которая ссылается на защищенную модель. Код HDL создается для модели, которая ссылается на защищенную модель, так же, как и для обычной модели.
Если защищенная модель защищена паролем, перед созданием кода щелкните правой кнопкой мыши значок защищенной модели и выберите Авторизовать. Затем необходимо ввести пароль для каждого параметра. Если введенный пароль соответствует паролю, заданному при создании защищенной модели, модель будет авторизована. Затем можно создать код HDL для модели.
Например, для генерации кода HDL для защищенной модели hdlcoder_referenced_model_gain.slxp , на который ссылается hdlcoder_protected_model_parent_harness модель:
Авторизовать защищенную модель hdlcoder_referenced_model_gain.slxp если при создании защищенной модели был указан пароль.
Создайте код HDL для подсистемы DUT из контекстного меню или с помощью makehdl функция.
makehdl('hdlcoder_protected_model_parent_harness/DUT')