Собственный компонент HDL Coder™ технология с плавающей точкой может сгенерировать HDL-код из вашего проекта с плавающей точкой. Это некоторые ключевые возможности:
Генерация независимого от цели HDL-кода, который можно развернуть на любом FPGA или ASIC.
Поддержка полного спектра функций IEEE 754 включая нестандартные числа, исключения и округление режимов.
Обширная поддержка математики и тригонометрических блоков.
Можно следовать этим инструкциям как лучшим практикам при моделировании проекта для нативной генерации кода с плавающей точкой.
Каждая инструкция имеет уровень серьезности, который указывает на уровень требований податливости. Чтобы узнать больше, смотрите Уровни серьезности Руководств по моделированию HDL.
1.5.1
Рекомендуемый
Нативная поддержка с плавающей точкой в HDL Coder генерирует код из вашего проекта с плавающей точкой. Если ваш проект имеет комплексную математику и тригонометрические операции или имеет данные с большим динамическим диапазоном, используйте собственный компонент, с плавающей точкой. Сгенерированный HDL-код независим от цели и выполняет стандарт IEEE 754 арифметики с плавающей точкой. Чтобы узнать больше, смотрите Начало работы с Собственным компонентом HDL Coder Поддержка С плавающей точкой.
Можно использовать эти руководства по моделированию при использовании нативной поддержки с плавающей точкой в HDL Coder.
Библиотека блоков HDL Floating Point Operations состоит из математических и тригонометрических функций и определенных блоков Simulink, которые сконфигурированы для генерации HDL-кода в нативном режиме с плавающей точкой. Например, Discrete FIR Filter с набором Architecture к Fully Parallel
.
Можно сгенерировать HDL-код для моделей, которые содержат с плавающей точкой и типы данных с фиксированной точкой в нативном режиме с плавающей точкой. Типы с плавающей точкой имеют более высокий динамический диапазон, но могут потенциально занять больше области на целевом компьютере. Спроектировать для этих компромиссов, в вашем Simulink® модель, рекомендуется использовать типы данных с плавающей точкой, чтобы смоделировать информационный канал алгоритма и фиксированные точки, чтобы смоделировать управляющую логику. Чтобы переключиться между с плавающей точкой и типами данных с фиксированной точкой, используйте блоки Data Type Conversion.
См. также Факторы Типа данных.
Путем включения оптимизации на модели можно улучшить область и синхронизацию проекта на целевом устройстве FPGA. Например, чтобы сохранить область на целевом устройстве FPGA, используйте оптимизацию разделения ресурсов. Совместно использовать:
Сумматоры с плавающей точкой, Сумматоры Доли набора к на.
Множители с плавающей точкой, убедитесь, что Множители Доли установлены в на.
Другие ресурсы с плавающей точкой, Доля набора дюйм/с С плавающей точкой к на.
См. также Разделение ресурсов.
Проекты с плавающей точкой имеют свойственную задержку по умолчанию. Эта задержка добавляется при генерации HDL-кода для модели. Рекомендуется, чтобы вы симулировали задержку в своей модели путем добавления этой информации о задержке в исходную модель Simulink. Генератор кода поглощает эту задержку во время генерации HDL-кода. Чтобы узнать больше, смотрите Значения Задержки Операторов С плавающей точкой.
Можно настроить задержку целой модели, или выборочно для определенных блоков в проекте. Используя пользовательские настройки, можно задать пользовательскую задержку и проект для компромиссов между задержкой и пропускной способностью.
Чтобы узнать больше, смотрите Факторы Задержки с Нативной Плавающей точкой.
Определенные шаблоны моделирования, которые вы используете, могут оптимизировать вашу модель, когда вы генерируете код с нативной технологией с плавающей точкой. Например, если вы вычисляете тригонометрический синус и косинус того же входа в HDL Floating Point Operations
библиотека блоков, используйте блок Sincos вместо отдельного Sin и блоки Cos. Блок Sincos совместно использует часть логики, которая используема в вычислениях синус и косинус входа. Эта реализация уменьшает место области на целевом устройстве FPGA.
См. также Trigonometric Function.
Чтобы получить более низкую реализацию задержки, используйте Tree
как HDL Architecture для блоков, таких как Sum of Elements и Product of Elements.
См. также Sum of Elements и Product of Elements.