Основные инструкции для моделирования алгоритма HDL в Simulink

Используйте эти инструкции, чтобы разработать ваш алгоритм HDL в Simulink®. Инструкции включают использующие поддержанные HDL блоки при моделировании проекта и как разделить проект при разработке алгоритма.

Каждая инструкция имеет уровень серьезности, который указывает на уровень требований податливости. Чтобы узнать больше, смотрите Уровни серьезности Руководств по моделированию HDL.

Используйте поддержанные HDL блоки

ID инструкции

1.1.1

Серьезность

Строго рекомендуемый

Описание

Когда вы создадите свою модель Simulink, используйте блоки из библиотеки Simulink Library Browser> HDL Coder. Несколько блоков в этой библиотеке предварительно сконфигурированы для генерации HDL-кода. Блоки в этой библиотеке доступны с Simulink. Если у вас нет HDL Coder™, вы можете симулировать блоки в своей модели, но не можете сгенерировать HDL-код.

Можно найти дополнительные поддержанные HDL блоки в этих библиотеках блока Simulink:

  • DSP System Toolbox HDL Support

  • Communications Toolbox HDL Support

  • Vision HDL Toolbox

  • LTE HDL Toolbox

Отобразить только поддержанные HDL блоки в Браузере Библиотеки:

  • во вкладке Apps выберите HDL Coder. Вкладка HDL Code появляется. Выберите HDL Block Properties> Open HDL Block Library.

  • В качестве альтернативы в Командном окне MATLAB®, введите hdllib.

    hdllib

Чтобы восстановить браузер библиотеки к представлению по умолчанию, введите эту команду:

hdllib('off')

Примечание

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

Модель раздела в DUT и испытательный стенд

ID инструкции

1.1.2

Серьезность

Рекомендуемый

Описание

Когда вы создаете свою модель Simulink для генерации HDL-кода, Subsystem, для которого вы хотите сгенерировать HDL-код, является Проектом под тестом (DUT). Эта Подсистема содержит блоки Simulink, которые могут быть реализованы на вашем целевом FPGA или устройстве ASIC. Можно далее разделить логику в DUT в меньшие подсистемы на основе функциональности, частот дискретизации в проекте, и так далее. Когда вы генерируете HDL-код, DUT становится модулем верхнего уровня или сущностью, и Подсистемы в DUT становятся подмодулями или меньшими сущностями.

Блоки вне Подсистемы DUT становятся частью испытательного стенда. Испытательный стенд может состоять из блоков, которые не поддержаны для генерации HDL-кода. Симулируйте испытательный стенд к:

  • Проверьте функциональность DUT в вашем Simulinkmodel.

  • Проверьте функциональную эквивалентность сгенерированной модели с вашей исходной моделью.

Например, если вы открываете шаблон Blank_DUT модели Simulink, эта модель открывается в Редакторе Simulink.

В этой модели Подсистема HDL_DUT является DUT и блокирует вне этой формы Подсистемы испытательный стенд. Можно разработать алгоритм HDL в Подсистеме HDL_DUT. Эта модель шаблона предварительно сконфигурирована для генерации HDL-кода.

Примечание

Можно также сгенерировать HDL-код для целой модели вместо Подсистемы DUT. Замените входные сигналы и блоки Constant с блоками Inport. Замените выходные сигналы и блоки Scope с блоками Outport.

Избегайте использования двухбайтовых символов

ID инструкции

1.1.3

Серьезность

Строго рекомендуемый

Описание

Нисходящие инструменты синтеза и симуляции не поддерживают двухбайтовые символы, такие как японские и китайские символы. HDL Coder не поддерживает использование:

  • Двухбайтовые символы в именах модели и именах блока.

  • Зарезервированные слова вашей Операционной системы в именах модели и именах блока, таких как CR, con, prn, aux, ptrпустой указатель, ipt1, ipt2, ipt3, и ipt4, com1, com2, com3, и com4.

  • Двухбайтовые символы в комментариях, потому что комментарии распространены к сгенерированному коду. Используйте английские комментарии вместо этого.

Особенности модели документа и атрибуты

ID инструкции

1.1.4

Серьезность

Рекомендуемый

Описание

Чтобы сделать сгенерированный HDL-код легче справиться, вы можете информация о ссылке на документ как часть ваших настроек модели этими способами:

  • Пользовательские заголовки файлов и комментарии нижнего колонтитула в HDL-коде для проекта и испытательного стенда

    Во вкладке HDL Code Generation> Global Settings> Coding Style диалогового окна Configuration Parameters, при помощи Custom File Header Comment и параметров Custom File Footer Comment, можно ввести собственные комментарии, чтобы появиться как заголовки или нижние колонтитулы во всех сгенерированных файлах HDL. Чтобы узнать больше, смотрите Индивидуальную настройку Комментария Файла.

  • Модель и аннотации блока, текстовые комментарии и комментарии требования

    Можно добавить аннотации в форме аннотаций модели, текстовые комментарии или комментарии требования к сгенерированному коду. Например, можно ввести текст непосредственно на блок-схеме как аннотации Simulink или вставить текстовые комментарии путем размещения DocBlock в модель. Чтобы связать аннотации в блок-схеме с блоками в вашей модели, используйте линии, чтобы соединить аннотации с теми блоками. Эти аннотации появляются как комментарии около блоков в сгенерированном коде. Чтобы узнать больше, смотрите, Генерируют Код с Аннотациями или Комментариями.

  • Блокируйте функции и атрибуты, как пользовательский заголовок комментирует для каждого файла

    В разделе Description Block Properties для подсистем, которые вы используете в своем проекте. Эта информация появляется как заголовки комментария в HDL-коде. Например, этот рисунок иллюстрирует комментарии блока, добавленные для Vector FFT Subsystem в вашем проекте.

    Комментарии блока появляются как заголовки в сгенерированном HDL-коде.

    -- Simulink subsystem description for vector_fft_implementation_example/Vector_FFT: 
    -- 
    -- Created by: John  
    -- Function: Vector FFT 
    -- This model shows... 
    -- Revision 1.0 
    -- Revision 1.1 added functionality to... 
    --  
    -- 
    ------------------------------------------------------------- 
    LIBRARY IEEE; 
    USE IEEE.std_logic_1164.ALL; 
    USE IEEE.numeric_std.ALL; 
     
    ENTITY Vector_FFT IS 
     

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

Функции

Руководства по моделированию

Похожие темы