exponenta event banner

Создание кода HDL для целевых библиотек с плавающей запятой FPGA

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

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

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

Настройка отображения библиотеки с плавающей запятой FPGA

Чтобы сопоставить конструкцию с плавающей запятой с библиотекой Altera или Xilinx FPGA, выполните следующие действия.

  • Задайте параметры целевого устройства для инструмента синтеза Altera или Xilinx FPGA с помощью 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');

    См. раздел Настройка траектории инструмента синтеза.

  • Настройте библиотеки моделирования Altera или Xilinx FPGA с плавающей запятой. См. раздел Настройка библиотеки моделирования FPGA.

Сопоставление с библиотекой с плавающей запятой FPGA

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

В диалоговом окне «Параметры конфигурации»

Чтобы сопоставить с библиотекой с плавающей запятой FPGA, выполните следующие действия.

  1. На вкладке Приложения выберите Кодер HDL. Появится вкладка Код HDL (HDL Code). Щелкните Настройки (Settings).

  2. На панели «Создание кода HDL» > «Цель с плавающей запятой» выберите IP-библиотеку с плавающей запятой.

  3. Для Xilinx LogiCORE ® IP выберите в качестве библиотеки XILINX LOGICORE. Для Altera megafunction IP в качестве библиотеки можно выбрать 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 to Zero. На панели Target and Optimizations введите целевую частоту, с которой должен сопоставляться IP-адрес с плавающей запятой.

    Примечание

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

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

  5. При выборе библиотеки XILINX LOGICORE или ALTERA MEGAFUNCTION (ALTFP) выберите стратегию и цель задержки для IP.

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

  6. Чтобы совместно использовать IP-ресурсы с плавающей запятой, на вкладке Создание кода HDL > Цель и оптимизация > Совместное использование ресурсов убедитесь, что IP-адреса с плавающей запятой включены. Количество IP-блоков с плавающей запятой, которые становятся общими, зависит от SharingFactor, указанного в подсистеме.

  7. Нажмите кнопку «Применить». На панели инструментов Simulink щелкните «Создать код HDL».

Из командной строки

Для создания кода 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 из подсистемы.

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

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

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

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

Отчет о создании целевого кода

В разделе «Отчет о создании кода» отчета «Отчет об оптимизации» отображается состояние параметров оптимизации, применяемых к модели. Отчет показывает, успешно ли создан целевой код с плавающей запятой кодером HDL.

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

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

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

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

Дополнительные сведения о созданной модели см. в разделах Сгенерированная модель и модель проверки.

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

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

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

Подробнее