Руководства по моделированию HDL являются набором рекомендуемых инструкций, за которыми можно следовать при создании модели Simulink® для генерации кода с HDL Coder™. Инструкции для поддерживаемых блоков и типов данных состоят из инструкций для использования различных блоков в библиотеке блоков HDL Coder, и о поддерживаемых типах данных. Каждое руководство по моделированию для генерации HDL-кода имеет другой уровень серьезности, которая указывает на уровни требований податливости. Чтобы узнать больше об этих уровнях серьезности, смотрите Уровни серьезности Руководств по моделированию HDL.
Эти таблицы приводят инструкции для поддерживаемых типов данных в HDL Coder и для различных блоков в библиотеке блоков HDL Coder. Инструкции начинают с 2.1
и разделены на подразделы. В таблице вы видите, что определенные инструкции имеют связанную проверку модели. Можно следовать за шаблоном моделирования, рекомендуемым для этих инструкций путем выполнения той регистрации Советника по вопросам HDL-кода. Чтобы узнать больше о Советнике по вопросам HDL-кода, смотрите Совместимость HDL Проверки Модели Simulink Используя Советника по вопросам HDL-кода.
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.1.1 | Блок RAM доступ к факторам | Рекомендуемый | 'none' |
2.1.2 | Последовательно-параллельное преобразование | Рекомендуемый | 'none' |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.2.1 | Логические и арифметические операции сдвига разряда | Информативный | 'none' |
2.2.2 | Использование логического оператора, побитового оператора и бита уменьшает блоки | Информативный | 'none' |
2.2.3 | Используйте булев Выход для, выдерживают сравнение с блоками постоянного и оператора отношения | Строго рекомендуемый | Проверка модели: Проверяйте на использование блока Relational Operator |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.3.1 | Сгенерируйте блок FPGA RAM от интерполяционных таблиц | Строго рекомендуемый | 'none' |
2.3.2 | Рекомендуемые настройки параметров блоков многопортового блока switch для числовых и перечислимых типов | Рекомендуемый | 'none' |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.4.1 | Виртуальная подсистема: используйте в качестве DUT | Обязательный | Проверка модели: Проверяйте на недопустимую подсистему верхнего уровня |
2.4.2 | Атомарные и виртуальные подсистемы: сгенерируйте допускающие повторное использование файлы HDL | Рекомендуемый | 'none' |
2.4.3 | Различная подсистема: Используя различные подсистемы для генерации HDL-кода | Обязательный | 'none' |
2.4.4 | Модели - ссылки: создайте проект модели Используя меньшие разделы | Рекомендуемый | 'none' |
2.4.5 | Блокируйте настройки Enabled и Triggered подсистем | Обязательный | Проверка модели: Проверяйте начальные условия Enabled и Triggered подсистем |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.5.1 | Использование блоков преобразования уровня | Рекомендуемый | 'none' |
2.5.2 | Используйте дискретный и конечный шаг расчета для постоянного блока | Обязательный | Проверка модели: Проверяйте на источники времени бесконечной и непрерывной выборки |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.6.1 | Соответствующее использование блоков задержки как регистры | Рекомендуемый | Проверяйте на устаревший Unit Delay Enabled/Восстановленные Блоки |
2.6.2 | Поглотите задержки, чтобы не синхронизировать различие | Рекомендуемый | 'none' |
2.6.3 | Сопоставьте большие задержки, чтобы блокировать RAM | Рекомендуемый | 'none' |
2.6.4 | Необходимые настройки HDL для Goto и от блоков | Обязательный | 'none' |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.7.1 | Разработка множителей и сумматоров для эффективного отображения с блоками DSP на FPGA | Строго рекомендуемый | 'none' |
2.7.2 | Установите Свойство Блока ConstMultiplierOptimization HDL на автоматический для Блока Усиления | Рекомендуемый | 'none' |
2.7.3 | Используйте архитектуру ShiftAdd блока деления для фиксированных точек | Рекомендуемый | 'none' |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.8.1 | Обновите персистентные переменные в конце функции MATLAB | Строго рекомендуемый | 'none' |
2.8.2 | Избегайте Алгебраических Ошибок Цикла от Персистентных Переменных в блоках MATLAB function | Обязательный | 'none' |
2.8.3 | Используйте Установку hdlfimath и Задайте Объекты fi в блоке MATLAB function | Строго рекомендуемый | Проверяйте на настройки блока MATLAB function |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.9.1 | Выберите State Machine Type based on HDL Implementation Requirements | Строго рекомендуемый | 'none' |
2.9.2 | Задайте параметры конфигурации блока диаграммы Stateflow | Строго рекомендуемый | Проверяйте на настройки диаграммы Stateflow |
2.9.3 | Вставьте безусловное переходное состояние для еще оператора в HDL-коде | Рекомендуемый | 'none' |
2.9.4 | Настройки типа данных и бросающий в диаграмме Stateflow для генерации HDL-кода | Информативный | 'none' |
ID инструкции | Заголовок | Серьезность | Связанное Правило Стандарта Проверки/Кодирования Модели |
---|---|---|---|
2.10.1 | Используйте булевскую переменную для логических данных и Ufix1 для числовых данных | Обязательный | 'none' |
2.10.2 | Задайте тип данных блоков усиления | Рекомендуемый | 'none' |
2.10.3 | Перечислимые ограничения типа данных | Обязательный | 'none' |