Создайте защищенные модели, чтобы скрыть содержимое и сгенерировать HDL-код

Когда это необходимо, чтобы совместно использовать модель с третьим лицом, не показывая интеллектуальную собственность, защитите модель. Когда вы создаете защищенную модель, вы скрываете детали реализации исходной модели путем компиляции ее в модель - ссылку. Защищенная модель включает производные файлы, чтобы поддержать дополнительные функциональности, которые вы задаете.

Как работы защиты модели

Этот рабочий процесс иллюстрирует, как можно создать защищенную модель с симуляцией и поддержкой генерации HDL-кода, если у вас есть лицензия HDL Coder™. Защищенный пользователь модели может затем сгенерировать HDL-код для моделей, которые ссылаются на защищенную модель, которую вы создали. Чтобы включить поддержку генерации кода C или задать дополнительные опции, такие как интерфейс кода, у вас должны быть лицензия Embedded Coder® или Simulink® Coder™. Чтобы узнать больше о том рабочем процессе, смотрите, Защищают Модели, чтобы Скрыть Содержимое (Simulink Coder).

Когда вы защищаете модель, можно позволить пользователю защищенной модели к:

  • Откройте веб-представление только для чтения модели, включая содержимое модели и параметры блоков.

  • Симулируйте модель в акселераторе (значение по умолчанию), быстрый акселератор и режимы normal mode.

  • Сгенерируйте HDL-код для модели, которая включает защищенную модель.

  • Сгенерируйте код С для модели, которая включает защищенную модель, если у вас есть Simulink Coder.

  • Сгенерируйте код для защищенной модели через автономный интерфейс, если вы имеете Embedded Coder и задаете основанный на ERT системный конечный файл для модели.

Вы можете опционально, пароль - защищает каждую опцию. Если вы выбирать-защита-паролем для одной из этих опций, программное обеспечение защищает вспомогательные файлы при помощи шифрования AES-256.

Как создать защищенную модель

Создайте защищенную модель при помощи одной из этих опций:

  • Контекстное меню блока Model.

  • Simulink.ModelReference.protect функция.

  • Редактор Simulink панель меню. Чтобы создать защищенную модель из текущей модели, выберите File> Export Model To> Protected Model.

Когда вы создаете защищенную модель:

  • По умолчанию Simulink создает и хранит защищенную версию модели в текущей рабочей папке. Защищенная модель имеет то же имя как исходная модель с .slxp расширение.

  • Исходный файл модели, с .slx расширение, не изменяется. Если вы защищаете модель через блок Model, который не изменяет блок Model.

  • Защищенный файл модели состоит из самой модели и вспомогательных файлов, в зависимости от опций, которые вы выбираете, когда вы создаете защищенную модель.

Если ваша защищенная модель требует, чтобы вспомогательные файлы, такие как определения базового рабочего пространства или словарь данных, включали эти файлы с моделью, когда вы совместно используете защищенную модель.

Общие защищенные требования модели и ограничения

Когда вы создаете защищенную модель, рассматриваете эти требования:

  • У вас должна быть лицензия HDL Coder, чтобы создать защищенную модель.

  • Модель должна быть доступной на пути MATLAB®.

  • Модель не может иметь несохраненных изменений.

  • Модель использует настройку, которая активна во время защиты. Вы не можете изменить настройку защищенной модели.

  • Если модель содержит варианты, защищенная модель включает только вариант, который активен во время защиты.

  • Защищенное имя модели не должно быть изменено. Переименование модели или изменение суффикса делают модель неприменимой, пока вы не восстанавливаете ее настоящее имя и суффикс.

Модель должна также удовлетворить все требования, перечисленные в Требованиях Модели - ссылки и Ограничениях (Simulink).

Защищенные ограничения модели для генерации HDL-кода

Эти настройки не поддержаны, когда вы создаете защищенную модель, которая имеет поддержку генерации HDL-кода.

  • Защищенная модель должна использовать те же параметры конфигурации в качестве верхнего уровня, от которого на нее ссылаются.

  • Настройками решателя, которые вы задаете в панели Solver диалогового окна Configuration Parameters, должен быть Fixed-step и auto.

  • Вы не должны включать эти настройки в диалоговом окне Configuration Parameters:

    • Generate parameterized HDL code from masked subsystem

    • Module name prefix

    • Use trigger signal as clock

    • Minimize clock enables

    • Scalarize vector ports

    • Allow clock-rate pipelining at DUT output ports

  • Модели с несколькими сигналами часов или набором Clock inputs к multiple в Configuration Parameters диалоговое окно не поддержаны.

  • Модели, которые содержат аргументы модели, не поддержаны.

  • Исходный код HDL защищенной модели не может быть запутан.

  • Вложенные защищенные модели не поддержаны.

  • Защищенная модель не может иметь коллбэков.

Чтобы узнать больше об ограничениях для генерации кода C, смотрите Требования Генерации кода и Ограничения (Simulink Coder).

Подготовьте родительскую модель

В этом примере показано, как можно защитить модель, на которую ссылается блок Model в родительской модели. Откройте родительскую модель hdlcoder_protected_model_parent_harness.

open_system('hdlcoder_protected_model_parent_harness')
set_param('hdlcoder_protected_model_parent_harness','SimulationCommand','Update')

Перейдите к блоку Model в вашей родительской модели. Если вы дважды кликаете DUT Подсистема, и затем открывает mynested Подсистема, вы видите блок Model, это ссылается на модель hdlcoder_referenced_model_gain.

open_system('hdlcoder_protected_model_parent_harness/DUT/mynested')

Откройте блок Model и убедитесь что modelname с дополнительным .slx задан в поле Имени модели. Когда и модель, на которую ссылаются, и защищенная модель существуют в той же папке, родительская модель ссылается на защищенную модель, если расширение не задано.

В этом случае блок Model ссылается на модель hdlcoder_referenced_model_gain.slx, модель, которую вы хотите защитить. Дважды кликните Model блокируйте или откройте модель hdlcoder_referenced_model_gain в отдельном окне.

open_system('hdlcoder_referenced_model_gain')
set_param('hdlcoder_referenced_model_gain','SimulationCommand','Update')

Защитите модель, на которую ссылаются,

В этом примере вы используете контекстное меню, чтобы преобразовать блок Model в защищенную модель.

  1. Щелкните правой кнопкой по блоку Model и выберите Subsystem & Model Reference> Create Protected Model for Selected Model Block.

  2. В диалоговом окне Create Protected Model выберите диалоговое окно Simulate. Эта опция позволяет защищенному пользователю модели симулировать модель, которая ссылается на защищенную модель.

  3. Если у вас есть Simulink Coder или Embedded Coder, можно задать дополнительные настройки те, которые включают поддержку генерации кода с защитой паролем при помощи флажка Use generated code или задают Code interface. Чтобы узнать больше об этих опциях, смотрите, Защищают Модели, чтобы Скрыть Содержимое (Embedded Coder).

  4. Установите флажок Use generated HDL code, чтобы сгенерировать HDL-код для модели, которая ссылается на защищенную модель. Если вы хотите к паролю - защищают эту функциональность защищенной модели, необходимо задать минимум восьми символов. Можно задать уникальный пароль для этой опции. Вы не можете запутать исходный код HDL для защищенной модели.

  5. В поле Create protected model in задайте путь к папке для защищенной модели. Значением по умолчанию является текущая рабочая папка.

  6. Чтобы создать модель тестовой обвязки для защищенной модели, установите флажок Create harness model for protected model. В этом примере оставьте флажок очищенным. Нажмите Create.

    HDL Coder затем проверяет совместимость модели для генерации HDL-кода и затем генерирует код для модели. Содержимое файла сгенерированного кода находится в hdlsrc папка. Чтобы узнать о файлах, которые сгенерированы, смотрите Пакет и Долю Защищенные Модели.

    Если вы установили флажок, когда вы создали защищенную модель, модель тестовой обвязки открывается как новая, неназванная модель, которая содержит только блок Model, который ссылается на защищенную модель. Чтобы использовать защищенную модель, сошлитесь на него через блок Model, такой как тот, включенный в модель тестовой обвязки. Simulation mode для блока Model установлен в Accelerator. Вы не можете изменить режим. Для получения дополнительной информации см. Ссылочные Защищенные Модели от Третьих лиц (Simulink).

Чтобы узнать больше об этих опциях пользовательского интерфейса, смотрите, Создают Защищенную Модель (Simulink Coder).

Создать защищенную модель при использовании Simulink.ModelReference.protect функция, набор Mode к HDLCodeGeneration. Например, запустите эту команду, чтобы защитить модель hdlcoder_referenced_model_gain, на которую ссылаются,:

Simulink.ModelReference.protect('hdlcoder_referenced_model_gain', ... 
                                    'Mode','HDLCodeGeneration')

Защищенный отчет модели

Когда вы создаете защищенную модель из Редактора Simulink, защищенный отчет модели сгенерирован и включен как часть защищенной модели. В данном примере, чтобы просмотреть защищенный отчет модели, дважды кликните защищенную модель или щелкните правой кнопкой по значку значка защищенной модели по блоку в модели тестовой обвязки и выберите Display Report.

Отчет содержит:

  • Summary, включая следующие таблицы:

    • Environment, обеспечивая версию Simulink, версию Simulink Coder, версию HDL Coder и платформу раньше создавал защищенную модель.

    • Supported functionality, сообщая о On'off', или On with password protection для каждой возможной функциональности, которую поддерживает защищенная модель. Если вы конфигурируете свою защищенную модель для нескольких целей, эта таблица включает список поддерживаемых целей.

    • Licenses, перечисляя лицензии, требуемые запускать защищенную модель.

  • Interface Report, включая информацию об интерфейсе модели, такую как спецификации ввода и вывода, соединяет интерфейсом с параметрами и хранилищами данных.

Сгенерировать отчет при использовании Simulink.ModelReference.protect функция, набор ‘Report’опция к True.

Сгенерируйте HDL-код для моделей, ссылающихся на защищенную модель

Если защищенная созданная модель имеет симуляцию и поддержку генерации HDL-кода, защищенный пользователь модели может симулировать и сгенерировать HDL-код из модели, которая ссылается на защищенную модель. Вы генерируете HDL-код для модели, которая ссылается на защищенную модель таким же образом как, как вы сгенерировали бы код для обычной модели.

Если защищенная модель защищена паролем, прежде чем вы сгенерируете код, щелкните правой кнопкой по защищенному значку значка модели и выберите Authorize. Необходимо затем ввести пароль для каждой опции. Если введенный пароль совпадает с паролем, который вы задали при создании защищенной модели, модель авторизовывается. Можно затем сгенерировать HDL-код для модели.

Например, чтобы сгенерировать HDL-код для защищенной модели hdlcoder_referenced_model_gain.slxp на это ссылается hdlcoder_protected_model_parent_harness модель:

  1. Авторизуйте защищенную модель hdlcoder_referenced_model_gain.slxp если вы задали пароль при создании защищенной модели.

  2. Сгенерируйте HDL-код для Подсистемы DUT из контекстного меню или при помощи makehdl функция.

    makehdl('hdlcoder_protected_model_parent_harness/DUT')

Смотрите также

Функции

Похожие темы