Сгенерируйте HDL-код для FPGA целевые библиотеки с плавающей точкой

Отображение с библиотекой с плавающей точкой позволяет вам синтезировать свой проект с плавающей точкой, не имея необходимость делать преобразование из плавающей запятой в фиксированную запятую. Устранение шага преобразования из плавающей запятой в фиксированную запятую уменьшает потерю точности данных и позволяет вам смоделировать более широкий динамический диапазон.

Библиотека FPGA с плавающей точкой является набором блоков IP с плавающей точкой, которые оптимизированы для синтеза на определенном целевом компьютере. Altera® Megafunctions и Xilinx® LogiCORE IP являются примерами таких библиотек.

В библиотеке блоков HDL Coder™ подмножество блоков Simulink® поддерживает отображение библиотеки с плавающей точкой. Смотрите Поддержку HDL Coder FPGA Отображение Библиотеки С плавающей точкой.

Setup для FPGA отображение библиотеки с плавающей точкой

Сопоставлять ваш проект с плавающей точкой с FPGA Altera или Xilinx библиотека с плавающей точкой:

  • Установите опции целевого устройства для своего инструмента синтеза FPGA Altera или Xilinx с помощью hdlset_param. Например, чтобы установить инструмент синтеза как Altera Quartus II и серию ИС как Arria10:

    hdlset_param(model,'SynthesisToolChipFamily','Arria10', ...
                       'SynthesisToolDeviceName','10AS066H2F34E1SG', ...
                       'SynthesisToolPackageName','', ...
                       'SynthesisToolSpeedValue','')
    

  • Чтобы создать путь к вашему исполняемому файлу инструмента синтеза, используйте hdlsetuptoolpath. Например, чтобы установить путь к инструменту синтеза Altera Quartus II:

    hdlsetuptoolpath('ToolName','Altera Quartus II','ToolPath',...
     'C:\altera\14.0\quartus\bin\quartus.exe');

    Смотрите Setup инструмента Path синтеза.

  • Настройте свой FPGA Altera или Xilinx библиотеки симуляции с плавающей точкой. Смотрите Setup Библиотеки Симуляции FPGA.

Сопоставьте с FPGA библиотеку с плавающей точкой

Можно сопоставить модель Simulink с целевыми библиотеками с плавающей точкой от диалогового окна Configuration Parameters или из командной строки.

От диалогового окна параметров конфигурации

Сопоставлять с FPGA библиотеку с плавающей точкой:

  1. Откройте диалоговое окно Configuration Parameters.

  2. Во вкладке HDL Code Generation> Global Settings> Floating Point Target выберите библиотеку IP с плавающей точкой.

  3. Для Xilinx LogiCORE® IP выберите XILINX LOGICORE как библиотеку. Для IP мегафункции Altera можно выбрать ALTERA MEGAFUNCTION (ALTFP) или ALTERA MEGAFUNCTION (ALTERA FP FUNCTIONS) как библиотека.

  4. Если вы выбираете ALTERA MEGAFUNCTION (ALTERA FP FUNCTIONS) в качестве библиотеки, опция Initialize IP Pipelines to Zero становится доступной. Выберите опцию Initialize IP Pipelines to Zero, чтобы инициализировать конвейерные регистры в IP, чтобы обнулить. В панели Target and Optimizations введите целевую частоту, с которой вы хотите, чтобы IP с плавающей точкой сопоставил.

    Примечание

    При отображении с FP ALTERA FUNCTIONS выходной язык должен быть установлен в VHDL.

    Когда вы выбираете библиотеку ALTERA FP FUNCTIONS, таблица IP Configuration появляется. При помощи таблицы типа данных можно настроить настройки IP целевой библиотеки с плавающей точкой. Для получения дополнительной информации смотрите, Настраивают Задержку IP с Целевой Частотой.

  5. Если вы выбираете XILINX LOGICORE или ALTERA MEGAFUNCTION (ALTFP) как библиотека, выберите Latency Strategy и Objective для IP.

    Когда вы выбираете эти библиотеки, таблица IP Configuration появляется. При помощи таблицы типа данных можно настроить задержку целевого IP с плавающей точкой. Для получения дополнительной информации смотрите, Настраивают Задержку IP со Стратегией Задержки.

  6. Чтобы совместно использовать ресурсы IP с плавающей точкой, на вкладке HDL Code Generation> Target and Optimizations> Resource Sharing, убеждаются, что Floating-point IPs включен. Количество блоков IP с плавающей точкой, которые совместно используются, зависит от SharingFactor, который вы задаете на подсистеме.

  7. Нажмите Apply. Можно теперь сгенерировать HDL-код из модели Simulink (см., Генерируют HDL-код из Модели Simulink).

От командной строки

Чтобы сгенерировать HDL-код из командной строки, можно использовать функцию hdlcoder.createFloatingPointTargetConfig, чтобы создать настройку IP с плавающей точкой.

  1. При помощи функции hdlcoder.createFloatingPointTargetConfig создайте объект hdlcoder.FloatingPointTargetConfig для библиотеки с плавающей точкой. Затем используйте hdlset_param, чтобы сохранить настройку на модели.

    Например, чтобы создать целевую настройку с плавающей точкой для библиотеки ALTERA FP FUNCTIONS с настройками по умолчанию:

    fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTERAFPFUNCTIONS');
    hdlset_param('sfir_single', 'FloatingPointTargetConfiguration', fpconfig);

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

  3. Используйте makehdl, чтобы сгенерировать HDL-код от подсистемы.

Просмотрите отчеты генерации кода отображения библиотеки с плавающей точкой

Чтобы просмотреть отчеты генерации кода отображения библиотеки с плавающей точкой, прежде чем вы начнете генерацию кода, включают генерацию Отчета Отчета и Оптимизации Использования Ресурса. Чтобы изучить, как сгенерировать эти отчеты, смотрите, Создают и Отчеты Генерации кода Использования.

Целевой отчет

Чтобы видеть целевой блок с плавающей точкой, ваш проект, сопоставленный с, задержка и количество целевых аппаратных ресурсов, в Отчете Генерации кода, выбирает Target-specific Report.

Целевой отчет генерации кода

В Отчете Генерации кода раздел Target Code Generation в Отчете Оптимизации показывает, что состояние настроек оптимизации применилось к модели. Отчет показывает, сгенерировал ли HDL Coder успешно целевой код с плавающей точкой.

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

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

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

  2. Дважды кликните ALT добавляют блок. Длина блока задержки является задержкой целевого IP с плавающей точкой.

Чтобы узнать больше о сгенерированной модели, см. Сгенерированную Модель Модели и Валидации.

Чтобы видеть ваш FPGA библиотека с плавающей точкой, сопоставляющая результаты, можно просмотреть файлы ядра IP, сгенерированные после генерации HDL-кода.

Проверки HDL Coder и повторные использования существующие сгенерированные файлы ядра IP, занимая меньше времени при последовательной генерации кода для того же целевого IP с плавающей точкой.

Связанные примеры

Больше о