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

Собственный компонент 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-кода в нативном режиме с плавающей точкой. Например, Discrete FIR Filter с набором Architecture к Fully Parallel.

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

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

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

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

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

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

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

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

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

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

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

Используйте блок sincos вместо отдельного sin и блоки cos

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

См. также Trigonometric Function.

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

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

См. также Sum of Elements и Product of Elements.

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

Функции

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

Похожие темы