Собственный компонент HDL Coder™, с плавающей точкой, может сгенерировать независимый от цели HDL-код из вашего проекта с плавающей точкой. Можно синтезировать проект с плавающей точкой на любом типовом FPGA или ASIC. Проекты с плавающей точкой имеют лучшую точность, более высокий динамический диапазон и более короткий цикл разработки, чем проекты фиксированной точки. Если ваш проект имеет комплексную математику и тригонометрические операции, используйте нативную технологию с плавающей точкой.
HDL Coder поддерживает несколько блоков Simulink® включая математику и тригонометрических блоков с нативной технологией с плавающей точкой.
В библиотеке HDL Floating Point Operations HDL Coder поддерживает все блоки, которые имеют single и double типы данных в Native Floating Point режим.
Определенные блоки, такие как Discrete-Time Integrator и Discrete PID Controller поддерживаются в Native Floating Point режим только, когда они используют нулевую стратегию задержки. Эти блоки содержат свойственную обратную связь, и использование незначения для стратегии задержки может привести к неспособности генератора кода выделить задержки. Для получения дополнительной информации смотрите, Выделяют Достаточные Задержки Операций С плавающей точкой.
В Math Operations библиотека, эти блоки поддерживаются:
| Имя блока | Поддерживаемый с одним типами данных | Поддерживаемый с двойными типами данных |
|---|---|---|
| Abs | Да | Да |
| Add | Да | Да |
| Assignment | Да | Да |
| Bias | Да | Да |
| Complex to Real-Imag | Да | Да |
| Divide | Да | Да |
| Dot Product | Да | Да |
| Gain | Да | Да |
| Math Function | Да | Нет |
| MinMax | Да | Да |
| Product | Да | Да |
| Product of Elements | Да | Да |
| Real-Imag to Complex | Да | Да |
| Reciprocal Sqrt | Да | Да |
| Reshape | Да | Да |
| Sqrt | Да | Да |
| Subtract | Да | Да |
| Sum | Да | Да |
| Sum of Elements | Да | Да |
| Trigonometric Function | Да | Нет |
| Unary Minus | Да | Да |
| Vector Concatenate | Да | Да |
Таблица показывает список поддерживаемых блоков в других библиотеках блоков HDL Coder.
| Библиотека блоков | Поддерживаемые блоки с одним и двойными типами данных |
|---|---|
Дискретный | Поддерживаемые блоки включают Zero Order Hold и набор блоков задержки включая Integer Delay и Tapped Delay. |
Операции HDL | Все блоки поддерживаются. |
RAM HDL | Все блоки поддерживаются. |
Подсистемы HDL | Все блоки поддерживаются. |
Логика и битовые операции | Все блоки поддерживаются. |
Интерполяционные таблицы | Table data Direct Lookup Table (n-D) и блоков n-D Lookup Table поддерживается с типами данных с плавающей точкой. Входные параметры не должны использовать типы с плавающей точкой. |
Model Verification | Все блоки поддерживаются. |
Утилиты всей модели | Все блоки поддерживаются. |
Ports & Subsystems | Включите, сбросьте, введите, и выходные порты, модели - ссылки, и блоки подсистемы поддерживаются. |
Атрибуты сигнала | Все блоки поддерживаются. |
Маршрутизация сигнала | Все блоки поддерживаются. |
Источники | Поддерживаемые блоки включают Inport, Constant и блоки Ground. |
Приемники | Все блоки поддерживаются. |
Пользовательские функции | Блоки MATLAB Function поддерживаются. |
В нативном режиме с плавающей точкой генератор кода не поддерживает эти блоки или блокирует архитектуры:
Biquad Filter.
Блок Switch с входом к порту управления как тип с плавающей точкой.
Sum of Elements с комплексными входными типами.
Блоки MATLAB System.
Dot Product в комплексном режиме с Architecture как Tree или Linear.
Discrete FIR Filter с Architecture кроме Fully Parallel.
Dead Zone и Dead Zone Dynamic.
Polar to Cartesian.
Для блока Data Type Conversion:
Stored Integer (SI) режим для установки Input and output to have equal не поддержан.
Флажок Saturate on integer overflow нужно оставить очищенным.