Используйте эти рекомендации для разработки алгоритма HDL в Simulink ®. Рекомендации включают использование поддерживаемых ЛПВП блоков при моделировании конструкции и способы разделения конструкции при разработке алгоритма.
Каждое руководство имеет уровень серьезности, который указывает уровень соответствия требованиям. Дополнительные сведения см. в разделе Рекомендации по моделированию HDL Уровни серьезности.
1.1.1
Очень рекомендуем
При создании модели Simulink используйте блоки из обозревателя библиотеки Simulink > библиотеки HDL Coder. Несколько блоков в этой библиотеке предварительно сконфигурированы для создания кода HDL. Блоки в этой библиотеке доступны в Simulink. Если у вас нет Coder™ HDL, вы можете моделировать блоки в модели, но не можете генерировать код HDL.
Дополнительные поддерживаемые ЛПВП блоки можно найти в следующих библиотеках блоков Simulink:
Системная панель инструментов DSP, поддержка HDL
Поддержка ЛПВП для коммуникационного инструментария
Панель инструментов Vision HDL
Беспроводная панель инструментов HDL
Для отображения в браузере библиотеки только поддерживаемых HDL блоков:
на вкладке Приложения выберите Кодер HDL. Появится вкладка Код HDL (HDL Code). Выберите «Свойства блока HDL» > «Открыть библиотеку блоков HDL».
Либо в окне команд MATLAB ® введитеhdllib.
hdllib

Для восстановления просмотра библиотеки по умолчанию введите следующую команду:
hdllib('off')Примечание
Набор поддерживаемых блоков изменится в будущих выпусках, поэтому при каждой установке новой версии этого продукта следует перестраивать библиотеку поддерживаемых блоков.
1.1.2
Рекомендуется
При создании модели Simulink для генерации кода HDL подсистемой, для которой требуется создать код HDL, является Design-Under-Test (DUT). Эта подсистема содержит блоки Simulink, которые могут быть реализованы на целевом устройстве FPGA или ASIC. Кроме того, логику внутри DUT можно разделить на более мелкие подсистемы на основе функциональных возможностей, частоты дискретизации в конструкции и т.д. При создании кода HDL DUT становится модулем или объектом верхнего уровня, а подсистемы внутри DUT - подмодулями или объектами меньшего размера.
Блоки вне подсистемы DUT становятся частью испытательного стенда. Испытательный стенд может состоять из блоков, которые не поддерживаются для генерации кода HDL. Смоделировать испытательный стенд следующим образом:
Проверьте функциональность DUT в модели Simulink.
Проверьте функциональную эквивалентность созданной модели исходной модели.
Например, при открытии Blank_DUT шаблона модели Simulink эта модель открывается в редакторе Simulink Editor.

В этой модели Подсистема HDL_DUT - DUT и блокирует вне этой формы Подсистемы испытательную скамью. Алгоритм HDL можно разработать в подсистеме HDL_DUT. Эта модель шаблона предварительно настроена для создания кода HDL.
1.1.3
Очень рекомендуем
Нисходящие инструменты синтеза и моделирования не поддерживают двухбайтовые символы, такие как японские и китайские символы. Кодер HDL не поддерживает использование:
Двухбайтовые символы в именах моделей и блоков.
Зарезервированные слова операционной системы в названиях моделей и блоков, например CR, con, prn, aux, ptr, null, ipt1, ipt2, ipt3, и ipt4, com1, com2, com3, и com4.
Двухбайтовые символы в комментариях, поскольку комментарии распространяются на созданный код. Используйте комментарии на английском языке.
1.1.4
Рекомендуется
Чтобы упростить управление сгенерированным кодом HDL, можно документировать справочную информацию как часть настроек модели следующими способами:
Пользовательские заголовки файлов и комментарии к ним в коде HDL для проектирования и тестирования
На вкладке «Создание кода HDL» > «Глобальные параметры» > «Стиль кодирования» диалогового окна «Параметры конфигурации» с помощью параметров «Комментарий верхнего колонтитула пользовательского файла» и «Комментарий нижнего колонтитула пользовательского файла» можно ввести собственные пользовательские комментарии, которые будут отображаться в виде колонтитулов во всех созданных файлах HDL. Дополнительные сведения см. в разделе Параметры настройки комментария к файлу.
Аннотации модели и блока, текстовые комментарии и комментарии требований
К созданному коду можно добавить аннотации в виде аннотаций модели, текстовых комментариев или комментариев требований. Например, можно ввести текст непосредственно на блок-схеме в виде аннотаций Simulink или вставить текстовые комментарии, поместив DocBlock в модель. Чтобы связать аннотации на блок-схеме с блоками в модели, используйте линии для соединения аннотаций с этими блоками. Эти аннотации отображаются в виде комментариев рядом с блоками в созданном коде. Дополнительные сведения см. в разделе Создание кода с аннотациями или комментариями.
Блокировать элементы и атрибуты как пользовательские комментарии к заголовку для каждого файла
В разделе «Описание» раздела «Свойства блока» для подсистем, используемых в проекте. Эта информация отображается в виде заголовков комментариев в коде HDL. Например, этот рисунок иллюстрирует комментарии блока, добавленные для Vector FFT
Подсистема в вашем проекте.

Комментарии блока отображаются как заголовки в сгенерированном коде 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