Собственный компонент HDL Coder™, с плавающей точкой, может сгенерировать независимый от цели HDL-код из вашего проекта с плавающей точкой. Можно синтезировать проект с плавающей точкой на любом типичном FPGA или ASIC. Проекты с плавающей точкой имеют лучшую точность, более высокий динамический диапазон и более короткий цикл разработки, чем проекты фиксированной точки. Если ваш проект имеет комплексную математику и тригонометрические операции, используйте нативную технологию с плавающей точкой.
HDL Coder поддерживает несколько блоков Simulink® включая математику и тригонометрических блоков с нативной технологией с плавающей точкой.
В библиотеке HDL Floating Point Operations HDL Coder поддерживает все блоки, которые имеют single и типы данных double в режиме Native Floating Point.
Определенные блоки, такие как Интегратор Дискретного времени и Дискретный ПИД-регулятор поддерживаются в режиме Native Floating Point только, когда они используют нулевую стратегию задержки. Эти блоки содержат свойственную обратную связь, и использование незначения для стратегии задержки может привести к неспособности генератора кода выделить задержки. Для получения дополнительной информации смотрите, Выделяют Достаточные Задержки Операций С плавающей точкой.
В библиотеке Math Operations поддерживаются эти блоки:
| Имя блока | Поддерживаемый с одним типами данных | Поддерживаемый с двойными типами данных |
|---|---|---|
| Abs | Да | Да |
| Добавление | Да | Да |
| “()” Присвоение | Да | Да |
| Смещение | Да | Да |
| Комплекс к действительному-Imag | Да | Да |
| Разделиться | Да | Да |
| Скалярное произведение | Да | Да |
| Усиление | Да | Да |
| Математическая функция | Да | Нет |
| MinMax | Да | Да |
| Продукт | Да | Да |
| Продукт элементов | Да | Да |
| Действительный-Imag, чтобы объединить | Да | Да |
| Взаимный Sqrt | Да | Да |
| Изменение | Да | Да |
| Sqrt | Да | Да |
| Вычитание | Да | Да |
| Сумма | Да | Да |
| Сумма элементов | Да | Да |
| Тригонометрическая функция | Да | Нет |
| Унарный минус | Да | Да |
| Векторная конкатенация | Да | Да |
Таблица показывает список поддерживаемых блоков в других библиотеках блоков HDL Coder.
| Библиотека блоков | Поддерживаемые блоки с одним и двойными типами данных |
|---|---|
Дискретный | Поддерживаемые блоки включают Нулевой Порядок, Содержат и набор блоков задержки включая Целочисленную Задержку и Коснувшуюся Задержку. |
Операции HDL | Все блоки поддерживаются. |
RAM HDL | Все блоки поддерживаются. |
Подсистемы HDL | Все блоки поддерживаются. |
Логика и битовые операции | Все блоки поддерживаются. |
Интерполяционные таблицы | Прямая Интерполяционная таблица (n-D) и n-D блоки Интерполяционной таблицы поддерживаются. |
Model Verification | Все блоки поддерживаются. |
Утилиты всей модели | Все блоки поддерживаются. |
Ports & Subsystems | Включите, сбросьте, введите, и выходные порты, модели - ссылки, и блоки подсистемы поддерживаются. |
Атрибуты сигнала | Все блоки поддерживаются. |
Маршрутизация сигнала | Все блоки поддерживаются. |
Источники | Поддерживаемые блоки включают Inport, Постоянный, и Наземные блоки. |
Приемники | Все блоки поддерживаются. |
В нативном режиме с плавающей точкой генератор кода не поддерживает эти блоки или блокирует архитектуру:
Фильтр Biquad.
Блок switch с входом к порту управления как тип с плавающей точкой.
Сумма Элементов с комплексными входными типами.
Функция MATLAB и Системные блоки MATLAB.
Скалярное произведение в комплексном режиме с Architecture как Tree или Linear.
Дискретный КИХ-Фильтр с Architecture кроме Fully Parallel.
Мертвая зональная и мертвая динамическая зона.
Полярный к декартову.
Для блока Data Type Conversion:
Режим Stored Integer (SI) для установки Input and output to have equal не поддержан.
Флажок Saturate on integer overflow нужно оставить очищенным.