exponenta event banner

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

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

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

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

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

Эти рекомендации можно использовать при моделировании проекта для создания кода с плавающей запятой.

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

Идентификатор руководства

1.5.1

Серьезность

Рекомендуется

Описание

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

Эти рекомендации по моделированию можно использовать при использовании собственной поддержки с плавающей запятой в кодере HDL.

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

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

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

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

См. также Рекомендации по типу данных.

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

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

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

Моделирование задержки блоков в модели

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

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

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

Дополнительные сведения см. в разделе Вопросы задержки с собственной плавающей точкой.

Используйте sincos Block вместо отдельных sin и cos Blocks

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

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

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

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

См. также «Сумма элементов и произведение элементов».

См. также

Функции

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

Связанные темы