Технология HDL Coder™ с плавающей запятой может генерировать код HDL из проекта с плавающей запятой. Вот некоторые из ключевых особенностей:
Создание целевого независимого HDL-кода, который можно развернуть на любом FPGA или ASIC.
Поддержка всего спектра функций IEEE-754, включая денормальные числа, исключения и режимы округления.
Широкая поддержка математических и тригонометрических блоков.
Эти рекомендации можно использовать при моделировании проекта для создания кода с плавающей запятой.
Каждое руководство имеет уровень серьезности, который указывает уровень соответствия требованиям. Дополнительные сведения см. в разделе Рекомендации по моделированию HDL Уровни серьезности.
1.5.1
Рекомендуется
Встроенная поддержка с плавающей запятой в кодере HDL генерирует код из проекта с плавающей запятой. Если в конструкции имеются сложные математические и тригонометрические операции или данные с большим динамическим диапазоном, используйте собственную плавающую точку. Сгенерированный HDL-код не зависит от цели и соответствует стандарту IEEE-754 арифметики с плавающей запятой. Дополнительные сведения см. в разделе Начало работы с поддержкой собственного кодера HDL с плавающей запятой.
Эти рекомендации по моделированию можно использовать при использовании собственной поддержки с плавающей запятой в кодере HDL.
Библиотека блоков операций с плавающей запятой HDL состоит из математических и тригонометрических функций и некоторых блоков Simulink, настроенных для генерации кода HDL в собственном режиме с плавающей запятой. Например, для параметра «Дискретный КИХ-фильтр с архитектурой» установлено значение Fully Parallel.
Можно создать код HDL для моделей, которые содержат типы данных с плавающей и фиксированной точками в собственном режиме с плавающей точкой. Типы с плавающей запятой имеют более высокий динамический диапазон, но потенциально могут занимать больше площади на целевом оборудовании. Для разработки этих компромиссов в модели Simulink ® рекомендуется использовать типы данных с плавающей запятой для моделирования пути данных алгоритма и типы с фиксированной запятой для моделирования логики управления. Для переключения между типами данных с плавающей и фиксированной точками используйте блоки преобразования типов данных.
См. также Рекомендации по типу данных.
Включив оптимизацию модели, можно улучшить область и время проектирования на целевом устройстве FPGA. Например, чтобы сохранить область на целевом устройстве FPGA, используйте оптимизацию совместного использования ресурсов. Для совместного использования:
Сумматоры с плавающей запятой, установите для параметра Общие сумматоры значение on.
Множители с плавающей запятой убедитесь, что параметр «Совместно использовать множители» включен.
Другие ресурсы с плавающей запятой, установите параметр Совместно использовать IP-адреса с плавающей запятой в положение on.
См. также раздел Совместное использование ресурсов.
Проекты с плавающей запятой по умолчанию имеют собственную задержку. Эта задержка добавляется при создании кода HDL для модели. Рекомендуется моделировать задержки в модели путем добавления этой информации о задержках в исходную модель Simulink. Генератор кода поглощает эту задержку во время генерации кода HDL. Дополнительные сведения см. в разделе Значения задержки операторов с плавающей запятой.
Можно настроить задержку всей модели или выборочно для определенных блоков в конструкции. С помощью пользовательских настроек можно задать пользовательскую задержку и дизайн для компромиссов между задержкой и пропускной способностью.
Дополнительные сведения см. в разделе Вопросы задержки с собственной плавающей точкой.
Определенные шаблоны моделирования, которые используются, могут оптимизировать модель при создании кода с использованием собственной технологии с плавающей запятой. Например, если вы вычисляете тригонометрический синус и косинус одного и того же входного сигнала, в HDL Floating Point Operations используйте блок Sincos вместо отдельных блоков Sin и Cos. Блок Синкоса разделяет некоторую логику, которая используется для вычисления синуса и косинуса входного сигнала. Эта реализация уменьшает площадь зоны на целевом устройстве FPGA.
См. также Тригонометрическая функция.
Чтобы получить реализацию с более низкой задержкой, используйте Tree в качестве архитектуры HDL для таких блоков, как сумма элементов и произведение элементов.
См. также «Сумма элементов и произведение элементов».