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

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

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

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

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

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

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

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

Имя блокаПоддерживаемый с половиной типов данныхПоддерживаемый с одним типами данныхПоддерживаемый с двойными типами данныхКомментарии
AbsНетДаДа
AddДаДаДа
AssignmentНетДаДа
BiasНетДаДа
Complex to Real-ImagНетДаДа
DivideДаДаДа
Dot ProductНетДаДа
GainДаДаДа
Math FunctionНетДаНет
MinMaxНетДаДа
ProductДаДаДаЕсли вы конфигурируете блок, чтобы выполнить умножение матриц путем установки параметров блоков Multiplication на Matrix(*), DotProductStrategy должен быть установлен в Fully Parallel.
Product of ElementsДаДаДа
Real-Imag to ComplexНетДаДа
Reciprocal SqrtНетДаДа
ReshapeДаДаДа
SqrtНетДаДа
SubtractДаДаДа
SumДаДаДа
Sum of ElementsДаДаДа
Trigonometric FunctionНетДаНет
Unary MinusДаДаДа
Vector ConcatenateДаДаДа

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

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

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

Дискретный

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

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

  • Zero Order Hold

  • Набор блоков задержки включая синхронные блоки, и Integer Delay и Tapped Delay.

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

  • Zero Order Hold

  • Набор блоков задержки включая синхронные блоки, и Integer Delay и Tapped Delay.

Операции HDL

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

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

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

RAM HDL

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

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

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

Подсистемы HDL

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

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

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

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

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

  • Compare to Constant

  • Relational Operator

  • Detect Change

  • Detect Increase

  • Detect Decrease

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

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

Интерполяционные таблицы

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

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

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

Model Verification

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

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

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

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

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

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

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

Ports & Subsystems

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

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

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

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

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

  • Data Type Conversion

  • Data Type Duplicate

  • Rate Transition

  • Signal Specification

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

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

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

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

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

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

Источники

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

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

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

Приемники

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

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

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

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

Блоки MATLAB Function поддерживаются.

Блоки MATLAB Function поддерживаются.

Блоки MATLAB Function поддерживаются.

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

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

  • 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 нужно оставить очищенным.

Смотрите также

Руководства по моделированию

Функции

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

Больше о