exponenta event banner

Создание кода HDL для системных объектов

HDL Coder™ поддерживает как предопределенные, так и пользовательские системные объекты для создания кода.

Зачем использовать системные объекты?

Системные объекты обеспечивают преимущество при проектировании, поскольку:

  • Можно сэкономить время во время проектирования и тестирования, используя существующие компоненты System object™.

  • Можно проектировать и квалифицировать пользовательские системные объекты для повторного использования в нескольких проектах.

  • Алгоритм можно определить в системном объекте один раз и повторно использовать несколько его экземпляров в одной конструкции MATLAB.

    Этот идиом нельзя использовать с функциями MATLAB, имеющими состояние. Например, если алгоритм имеет состояние и требует использования постоянных переменных, эта функция не может быть создана несколько раз в конструкции. Вместо этого необходимо скопировать и переименовать функцию для каждого экземпляра.

  • Код HDL, генерируемый из системных объектов, является модульным и более читаемым.

Предопределенные системные объекты

Для генерации кода HDL поддерживаются предопределенные системные объекты, доступные с MATLAB ®, DSP System Toolbox™ и Communications Toolbox™. Список см. в разделе Предопределенные системные объекты, поддерживаемые для создания кода HDL.

Пользовательские системные объекты

Для создания кода HDL можно создавать пользовательские системные объекты. Пример см. в разделе Создание кода для пользовательских системных объектов.

Ограничения создания кодов HDL для системных объектов

Следующие ограничения применяются к созданию кода HDL для всех системных объектов:

  • Ваш дизайн может вызвать step метод только один раз на объект System.

  • step не должен находиться внутри вложенного условного оператора, например вложенного цикла, if заявление, или switch заявление.

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

  • Объект System должен быть объявлен постоянным, если он имеет состояние.

    Объект System имеет состояние, когда он имеет настраиваемое частное или публичное свойство или свойство с DiscreteState атрибут.

  • Вы можете использовать dsp.Delay Системный объект только в моделировании задержки передачи.

  • Перечисления не поддерживаются.

  • Глобальные переменные не поддерживаются.

Поддерживаемые методы

Для предварительно определенных системных объектов: step является единственным методом, поддерживаемым для генерации кода HDL.

Для пользовательских системных объектов: step метод или output и update поддерживаются для генерации кода HDL.

Дополнительные ограничения для предварительно определенных системных объектов

Предопределенные системные объекты не поддерживаются для генерации кода HDL из системного блока MATLAB.

Дополнительные ограничения для пользовательских системных объектов

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

  • В setupImpl и resetImpl при назначении значений свойствам или переменным значения должны быть константами.

  • Если в проекте используется output и update методы, они могут вызывать каждый метод только один раз на объект System.

  • Начальное и исходное значения свойств должны быть константами времени компиляции.

  • Определяемые пользователем системные объекты не должны быть общими свойствами.

  • A step метод с несколькими выходами не может быть вызван в условном операторе.

Примеры системных объектов для генерации кода HDL

Чтобы узнать, как использовать системные объекты для создания кода HDL, просмотрите конструкции MATLAB в следующих примерах.