Собственный компонент HDL Coder™ поддержка с плавающей точкой может сгенерировать HDL-код из вашего проекта с плавающей точкой. HDL Coder поддерживает несколько блоков Simulink® и математических и тригонометрических функций в нативном режиме с плавающей точкой. Эти таблицы показывают значения задержки по умолчанию этих операций с плавающей точкой. Можно настроить эти значения задержки. Можно также настроить настройки задержки для большинства блоков и проект для компромиссов между задержкой и Fmax путем определения пользовательских значений задержки. Чтобы узнать больше, смотрите Факторы Задержки с Нативной Плавающей точкой.
Вы видите задержку этих операторов с плавающей точкой в MATLAB® путем ввода этих команд.
nfpconfig = hdlcoder.createFloatingPointTargetConfig('NativeFloatingPoint');
nfpconfig.IPConfig
Эта таблица показывает список основных математических операций, которые поддерживаются с собственным компонентом, с плавающей точкой в HDL Coder и их информации о задержке. Основные математические операции включают сложение, вычитание, умножение, и так далее. Можно использовать большинство этих блоков и с single
и с типами данных double
. Если вы не видите запись типа данных double
, соответствующего блоку, это означает, что блок не поддерживает типы double
.
Основные математические операторы
Блоки Simulink | Тип данных | Минимальная Выходная задержка | Максимальная Выходная задержка |
---|---|---|---|
Добавление | 'double' | 6 | 11 |
Единственный | 6 | 11 | |
Вычитание | 'double' | 6 | 11 |
Единственный | 6 | 11 | |
Продукт | 'double' | 6 | 9 |
Единственный | 6 | 8 | |
Разделиться | 'double' | 31 | 61 |
Единственный | 17 | 32 | |
Обратная величина | 'double' | 30 | 60 |
Единственный | 16 | 31 | |
Умножьтесь - Добавляют | Единственный | 8 | 14 |
Вокруг | Единственный | 5 | 5 |
Фиксация | Единственный | 3 | 3 |
Унарный минус | 'double' | – | – |
Единственный | – | – | |
Знак | Единственный | – | – |
Abs | 'double' | – | – |
Единственный | – | – |
Эта таблица показывает математические функции, которые поддерживаются с собственным компонентом, с плавающей точкой в HDL Coder и их информации о задержке. Можно выбрать функцию с помощью установки Function блока Math Function. Можно использовать эти блоки с типами данных single
. типы Double
не поддержаны для блоков.
Математические функции
Блоки Simulink | Минимальная Выходная задержка | Максимальная Выходная задержка |
---|---|---|
Обратная величина HDL | 14 | 21 |
Rem | 15 | 24 |
Mod | 16 | 26 |
Sqrt | 16 | 28 |
Взаимный Sqrt | 16 | 30 |
Hypot | 17 | 33 |
Эта таблица показывает тригонометрические операции, которые поддерживаются с собственным компонентом, с плавающей точкой в HDL Coder и их информации о задержке. Можно выбрать функцию с помощью установки Function блока Trigonometric Function. Можно использовать эти блоки с типами данных single
. типы Double
не поддержаны для блоков.
Тригонометрические функции
Эта таблица показывает экспоненциальные операции, которые поддерживаются с собственным компонентом, с плавающей точкой в HDL Coder и их информации о задержке. Можно выбрать функцию с помощью установки Function блока Math Function. Можно использовать эти блоки с типами данных single
. типы Double
не поддержаны для блоков.
Эта таблица показывает операции, связанные со сравнением чисел и преобразованиями типа данных, которые поддерживаются с собственным компонентом, с плавающей точкой в HDL Coder и их информации о задержке. Можно использовать эти блоки и с single
и с типами данных double
за исключением блока MinMax. Этот блок не поддерживает типы данных double
. Для блока Data Type Conversion можно преобразовать между double
и типами данных single
, и между single
и другими типами данных с фиксированной точкой.
Сравнения и преобразования
Блоки Simulink | Тип данных | Минимальная Выходная задержка | Максимальная Выходная задержка |
---|---|---|---|
Преобразование типа данных | 'double' | 3 | 6 |
Единственный | 6 | 6 | |
Оператор отношения | 'double' | 1 | 3 |
Единственный | 1 | 3 | |
MinMax | Единственный | 3 | 3 |