exponenta event banner

Блоки Simulink, поддерживаемые с собственной плавающей точкой

HDL Coder™ native floating-point может генерировать целевой независимый HDL-код из проекта с плавающей запятой. Можно синтезировать конструкцию с плавающей запятой на любой базовой FPGA или ASIC. Конструкции с плавающей запятой имеют более высокую точность, более высокий динамический диапазон и более короткий цикл разработки, чем конструкции с фиксированной запятой. Если в конструкции имеются сложные математические и тригонометрические операции, используйте собственную технологию с плавающей запятой.

HDL Coder поддерживает несколько блоков Simulink ®, включая математические и тригонометрические блоки с собственной технологией с плавающей запятой.

Библиотека операций с плавающей точкой HDL

В библиотеке операций с плавающей точкой HDL Coder поддерживает все блоки, имеющие single и double типы данных в Native Floating Point режим. Для определенных блоков, таких как интегратор дискретного времени и контроллер дискретного PID, используется стратегия нулевой задержки. Эти блоки содержат внутренние циклы обратной связи и использование ненулевого значения для стратегии задержки может привести к тому, что генератор кода не сможет распределять задержки. Дополнительные сведения см. в разделе Выделение достаточных задержек для операций с плавающей запятой.

При использовании half типы, эти блоки поддерживаются в Native Floating Point режим.

Поддерживаемые блоки Simulink в библиотеке математических операций

В Math Operations , эти блоки поддерживаются для генерации кода HDL:

Имя блокаПоддерживается с половинными типами данныхПоддерживается с одиночными типами данныхПоддерживается с двойными типами данныхЗамечания
Брюшной прессНетДаДа
ДобавитьДаДаДа
НазначениеНетДаДа
УклонНетДаДа
Комплекс для реального ImagНетДаДа
РазделитьсяДаДаДа
Точечное произведениеНетДаДа
ВыгодаДаДаДа
Математическая функцияНетДаНет
MinMaxНетДаДа
ПродуктДаДаДаЕсли блок настроен на выполнение умножения матриц путем установки параметра блока умножения в значение Matrix(*), для DotProductStrategy должно быть установлено значение Fully Parallel.
Произведение элементовДаДаДа
От Real-Imag до ComplexНетДаДа
Ответный SqrtНетДаДа
ИзменитьсяДаДаДа
SqrtНетДаДа
ВычестьДаДаДа
СуммаДаДаДа
Сумма элементовДаДаДа
Тригонометрическая функцияНетДаНет
Унарный минусДаДаДа
Конкатенат вектораДаДаДа

Поддерживаемые блоки Simulink в других библиотеках

В таблице представлен список поддерживаемых блоков для генерации кода HDL в других библиотеках блоков кодера HDL.

Библиотека блоковПоддерживается с половинными типами данныхПоддерживается с одиночными типами данныхПоддерживается с двойными типами данных

Дискретный

Поддерживаемые блоки включают в себя набор блоков задержки, включая синхронные блоки, целочисленную задержку и задержку с отводом.

Поддерживаемые блоки включают в себя:

  • Удержание нулевого заказа

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

Поддерживаемые блоки включают в себя:

  • Удержание нулевого заказа

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

Операции ЛПВП

Блоки в этой библиотеке не поддерживаются.

Поддерживаются все блоки.

Поддерживаются все блоки.

RAM HDL

Блоки в этой библиотеке не поддерживаются.

Поддерживаются все блоки.

Поддерживаются все блоки.

Подсистемы ЛПВП

Поддерживаются все блоки.

Поддерживаются все блоки.

Поддерживаются все блоки.

Логические и битовые операции

Поддерживаемые блоки включают в себя:

  • Сравнить с константой

  • Реляционный оператор

  • Обнаружить изменения

  • Обнаружить увеличение

  • Обнаружить уменьшение

Поддерживаются все блоки.

Поддерживаются все блоки.

Таблицы подстановки

Блоки в этой библиотеке не поддерживаются.

Поддерживаются все блоки.

Поддерживаются все блоки.

Проверка модели

Блоки в этой библиотеке не поддерживаются.

Поддерживаются все блоки.

Поддерживаются все блоки.

Утилиты для всей модели

Блоки в этой библиотеке не поддерживаются.

Поддерживаются все блоки.

Поддерживаются все блоки.

Порты и подсистемы

Поддерживаются порты включения, сброса, ввода и вывода, ссылки на модель и блоки подсистем.

Поддерживаются порты включения, сброса, ввода и вывода, ссылки на модель и блоки подсистем.

Поддерживаются порты включения, сброса, ввода и вывода, ссылки на модель и блоки подсистем.

Атрибуты сигнала

Поддерживаемые блоки включают в себя:

  • Преобразование типа данных

  • Дублирование типа данных

  • Переход ставки

  • Спецификация сигнала

Поддерживаются все блоки.

Поддерживаются все блоки.

Маршрутизация сигналов

Поддерживаются все блоки.

Поддерживаются все блоки.

Поддерживаются все блоки.

Источники

Поддерживаемые блоки включают блоки Inport, Constant и Ground.

Поддерживаемые блоки включают блоки Inport, Constant и Ground.

Поддерживаемые блоки включают блоки Inport, Constant и Ground.

Сливы

Поддерживаются все блоки.

Поддерживаются все блоки.

Поддерживаются все блоки.

Пользовательские функции

Поддерживаются функциональные блоки MATLAB.

Поддерживаются функциональные блоки MATLAB.

Поддерживаются функциональные блоки MATLAB.

Ограничения блоков Simulink

В собственном режиме с плавающей запятой генератор кода не поддерживает эти блоки или блочные архитектуры:

  • Биквадский фильтр.

  • Блок переключения с входом в порт управления в виде типа с плавающей запятой.

  • Сумма элементов со сложными типами ввода.

  • Системные блоки MATLAB.

  • Скалярное изделие в сложном режиме с архитектурой как Tree или Linear.

  • Дискретный фильтр FIR с архитектурой, отличной от архитектуры Fully Parallel.

  • Динамические мертвые зоны и мертвые зоны.

  • От полярного до декартова.

  • Для блока преобразования типа данных:

    • Stored Integer (SI) режим ввода и вывода с одинаковой настройкой не поддерживается.

    • Флажок Saturate on integer overflow должен быть снят.

См. также

Рекомендации по моделированию

Функции

Связанные примеры

Подробнее