Рекомендации по моделированию HDL представляют собой набор рекомендуемых рекомендаций, которым можно следовать при создании модели Simulink ® для генерации кода с помощью Coder™ HDL. Инструкции по поддерживаемым блокам и типам данных состоят из инструкций по использованию различных блоков в библиотеке блоков кодера HDL и о поддерживаемых типах данных. Каждое руководство по моделированию для генерации кода HDL имеет различный уровень серьезности, который указывает на уровни соответствия требованиям. Дополнительные сведения об этих уровнях серьезности см. в разделе Рекомендации по моделированию HDL Уровни серьезности.
В этих таблицах перечислены рекомендации для поддерживаемых типов данных в кодере HDL и для различных блоков в библиотеке блоков кодера HDL. Руководство начинается с 2.1 и подразделяются на подразделы. В таблице показано, что определенные рекомендации имеют связанную проверку модели. Можно следовать шаблону моделирования, рекомендованному для этих рекомендаций, выполнив проверку в помощнике по коду HDL. Дополнительные сведения о помощнике по коду HDL см. в разделе Проверка совместимости HDL модели Simulink с помощью помощника по коду HDL.
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.1.1 | Вопросы доступа к блокам ОЗУ | Рекомендуется | Ничего |
| 2.1.2 | Последовательно-параллельное преобразование | Рекомендуется | Ничего |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.2.1 | Операции логического и арифметического сдвига битов | Информативный | Ничего |
| 2.2.2 | Использование логических операторов, битовых операторов и блоков уменьшения битов | Информативный | Ничего |
| 2.2.3 | Использовать логические выходные данные для сравнения с постоянными и реляционными операторными блоками | Очень рекомендуем | Проверка модели: Проверка использования блока реляционного оператора |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.3.1 | Создание оперативной памяти блока FPGA из таблиц поиска | Очень рекомендуем | Ничего |
| 2.3.2 | Рекомендуемые параметры блока блока многопортового коммутатора для числовых и перечисляемых типов | Рекомендуется | Ничего |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.4.1 | Виртуальная подсистема: использование в качестве DUT | Обязательный | Проверка модели: проверка недопустимой подсистемы верхнего уровня |
| 2.4.2 | Атомарные и виртуальные подсистемы: создание повторно используемых файлов HDL | Рекомендуется | Ничего |
| 2.4.3 | Вариационная подсистема: Использование вариационных подсистем для генерации кода HDL | Обязательный | Ничего |
| 2.4.4 | Ссылки на модель: Построение проекта модели с использованием меньших секций | Рекомендуется | Ничего |
| 2.4.5 | Параметры блокировки включенных и запускаемых подсистем | Обязательный | Проверка модели: Проверка начальных состояний включенных и запущенных подсистем |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.5.1 | Использование блоков преобразования ставок | Рекомендуется | Ничего |
| 2.5.2 | Использовать дискретное и конечное время выборки для постоянного блока | Обязательный | Проверка модели: проверка бесконечных и непрерывных источников времени выборки |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.6.1 | Соответствующее использование блоков задержки в качестве регистров | Рекомендуется | Проверка наличия устаревших блоков с включенной/сбрасываемой задержкой установки |
| 2.6.2 | Поглощение задержек во избежание разницы во времени | Рекомендуется | Ничего |
| 2.6.3 | Сопоставить большие задержки с блоками ОЗУ | Рекомендуется | Ничего |
| 2.6.4 | Необходимые настройки HDL для блоков перехода и из | Обязательный | Ничего |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.7.1 | Разработка множителей и сумматоров для эффективного отображения в блоки DSP на FPGA | Очень рекомендуем | Ничего |
| 2.7.2 | Установите свойство блока HDL ConstMultiplierOptimization в значение Auto для блока усиления | Рекомендуется | Ничего |
| 2.7.3 | Использование архитектуры SheyAdd разделяющего блока для типов с фиксированной точкой | Рекомендуется | Ничего |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.8.1 | Обновление постоянных переменных в конце функции MATLAB | Очень рекомендуем | Ничего |
| 2.8.2 | Избегайте ошибок алгебраического цикла из постоянных переменных в функциональных блоках MATLAB | Обязательный | Ничего |
| 2.8.3 | Использование параметров hdlfimath и определение объектов fi в функциональном блоке MATLAB | Очень рекомендуем | Проверка настроек функционального блока MATLAB |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.9.1 | Выбор типа конечного автомата на основе требований к внедрению HDL | Очень рекомендуем | Ничего |
| 2.9.2 | Задание параметров конфигурации блоков диаграммы потока состояний | Очень рекомендуем | Проверка параметров диаграммы потока состояний |
| 2.9.3 | Вставить безусловное состояние перехода для оператора Else в код HDL | Рекомендуется | Ничего |
| 2.9.4 | Настройки типа данных и заливка в диаграмме статофлоу для генерации кода HDL | Информативный | Ничего |
| Идентификатор руководства | Название | Серьезность | Связанное стандартное правило проверки/кодирования модели |
|---|---|---|---|
| 2.10.1 | Использовать логическое значение для логических данных и Ufix1 для числовых данных | Обязательный | Ничего |
| 2.10.2 | Укажите тип данных блоков усиления | Рекомендуется | Ничего |
| 2.10.3 | Ограничения на перечисляемые типы данных | Обязательный | Ничего |