Моделирование с нативной плавающей точкой

Собственный компонент HDL Coder™ технология с плавающей точкой может сгенерировать HDL-код из вашего проекта с плавающей точкой. Это некоторые ключевые возможности:

  • Генерация независимого от цели HDL-кода, который можно развернуть на любом FPGA или ASIC.

  • Поддержка полного спектра функций IEEE 754 включая нестандартные числа, исключения и округление режимов.

  • Обширная поддержка математики и тригонометрических блоков.

Можно следовать этим инструкциям как лучшым практикам при моделировании проекта для нативной генерации кода с плавающей точкой.

Каждая инструкция имеет уровень серьезности, который указывает на уровень требований соответствия. Чтобы узнать больше, смотрите Уровни серьезности Руководств по моделированию HDL.

ID инструкции

1.5.1

Серьезность

Рекомендуемый

Описание

Нативная поддержка с плавающей точкой в HDL Coder генерирует код из вашего проекта с плавающей точкой. Если ваш проект имеет комплексную математику и тригонометрические операции или имеет данные с большим динамическим диапазоном, используйте собственный компонент, с плавающей точкой. Сгенерированный HDL-код независим от цели и выполняет стандарт IEEE 754 арифметики с плавающей точкой. Чтобы узнать больше, смотрите Начало работы с Собственным компонентом HDL Coder Поддержка С плавающей точкой.

Можно использовать эти руководства по моделированию при использовании нативной поддержки с плавающей точкой в HDL Coder.

Используйте блоки от библиотеки операций плавающей точки HDL

Библиотека блоков HDL Floating Point Operations состоит из математических и тригонометрических функций и определенных блоков Simulink, которые сконфигурированы для генерации HDL-кода в нативном режиме с плавающей точкой. Например, Дискретный КИХ-Фильтр с набором Architecture к Fully Parallel.

Смотрите операции HDL и операции плавающей точки HDL.

Используйте типы с плавающей точкой на основе требований использования точности и аппаратного ресурса

Можно сгенерировать HDL-код для моделей, которые содержат с плавающей точкой и типы данных с фиксированной точкой в нативном режиме с плавающей точкой. Типы с плавающей точкой имеют более высокий динамический диапазон, но могут потенциально занять больше области на целевом компьютере. Чтобы разработать для этих компромиссов, в вашей модели Simulink®, рекомендуется использовать типы данных с плавающей точкой, чтобы смоделировать информационный канал алгоритма и фиксированные точки, чтобы смоделировать управляющую логику. Чтобы переключиться между с плавающей точкой и типами данных с фиксированной точкой, используйте блоки Преобразования типа данных.

См. также Факторы Типа данных.

Включите Оптимизацию, такую как Разделение ресурсов на Модели

Путем включения оптимизации на модели можно улучшить область и синхронизацию проекта на целевом устройстве FPGA. Например, чтобы сохранить область на целевом устройстве FPGA, используйте оптимизацию разделения ресурсов. Совместно использовать:

См. также Разделение ресурсов.

Моделируйте задержку блоков в модели

Проекты с плавающей точкой имеют свойственную задержку по умолчанию. Эта задержка добавляется при генерации HDL-кода для модели. Рекомендуется, чтобы вы моделировали задержку в своей модели путем добавления этой информации о задержке в исходную модель Simulink. Генератор кода поглощает эту задержку во время генерации HDL-кода. Чтобы узнать больше, смотрите Значения Задержки Операторов С плавающей точкой.

Настройте задержку модели или блоков

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

Чтобы узнать больше, смотрите Факторы Задержки с Нативной Плавающей точкой.

Используйте Блок sincos Вместо Отдельного sin и потому что Блоки

Определенные шаблоны моделирования, которые вы используете, могут оптимизировать вашу модель, когда вы генерируете код с нативной технологией с плавающей точкой. Например, если вы вычисляете тригонометрический синус и косинус того же входа в библиотеке блоков HDL Floating Point Operations, используйте блок Sincos вместо отдельных блоков Sin и Cos. Блок Sincos совместно использует часть логики, которая используется для вычисления синуса и косинуса входа. Эта реализация уменьшает место области на целевом устройстве FPGA.

См. также Тригонометрическую функцию.

Используйте дерево в качестве архитектуры HDL

Чтобы получить более низкую реализацию задержки, используйте Tree в качестве HDL Architecture для блоков, таких как Сумма Элементов и продукт Элементов.

См. также Сумму Элементов и продукт Элементов.

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

Функции

Параметры конфигурации Simulink

Похожие темы