exponenta event banner

Настройка IP-конфигурации с плавающей запятой

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

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

Настройка задержки IP с целевой частотой

Чтобы указать целевую частоту, которую должен достичь IP, используйте Altera Megafunctions (ALTERA FP Functions) библиотека. HDL Coder™ определяет задержку IP на основе значения целевой частоты. Если целевая частота не указана, кодер HDL устанавливает для целевой частоты значение по умолчанию 200 MHz.

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

Из пользовательского интерфейса

Чтобы настроить задержку IP с помощью параметра целевой частоты:

  1. Укажите библиотеку:

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

    2. На панели «Создание кода HDL» > «Цель с плавающей запятой» в поле «Библиотека» выберите Altera Megafunctions (ALTERA FP Functions).

  2. Укажите целевую частоту: На панели «Цель» в поле «Целевая частота» (МГц) введите целевую частоту, которую должен достичь IP-адрес с плавающей запятой. Если целевая частота не указана, кодер HDL устанавливает для целевой частоты значение по умолчанию 200 MHz.

  3. Задайте параметры библиотеки. Используя параметр «Инициализировать IP-трубопроводы до нуля», можно указать, следует ли инициализировать регистры трубопроводов в IP до нуля. Во избежание возможных несоответствий числовых значений при моделировании ЛПВП рекомендуется оставить для параметра Initialize IP Pipelines to Zero значение true.

  4. Укажите IP-параметры: В таблице IP-конфигурации можно дополнительно указать пользовательскую задержку и любые дополнительные параметры, специфичные для IP-адреса.

    • В столбце Задержка таблицы значение задержки по умолчанию: –1 означает, что IP наследует значение задержки от целевой частоты. Если указано значение задержки, кодер HDL пытается сопоставить модель Simulink с IP на целевой частоте, соответствующей этому значению задержки.

    • В столбце ExtraArgs таблицы можно указать дополнительные параметры IP-адреса.

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

В командной строке

Чтобы настроить задержку IP из командной строки:

  1. Укажите библиотеку: Создать hdlcoder.FloatingPointTargetConfig для библиотеки с плавающей запятой с помощью hdlcoder.createFloatingPointTargetConfig функция. Затем используйте hdlset_param для сохранения конфигурации в модели.

    Например, для sfir_single для создания целевой конфигурации с плавающей запятой для Altera Megafunctions (ALTERA FP FUNCTIONS) с настройками по умолчанию, введите:

    fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTERAFPFUNCTIONS');
    hdlset_param('sfir_single', 'FloatingPointTargetConfiguration', fpconfig);
    
    Для просмотра настроек по умолчанию для IP-адреса с плавающей запятой введите fpconfig.
    
    fpconfig = 
    
      FloatingPointTargetConfig with properties:
    
                Library: 'ALTERAFPFUNCTIONS'
        LibrarySettings: [1×1 fpconfig.FrequencyDrivenMode]
               IPConfig: [1×1 hdlcoder.FloatingPointTargetConfig.IPConfig]
    
    
    

  2. Укажите целевую частоту: ALTERA MEGAFUNCTION (ALTERA FP FUNCTIONS) в качестве библиотеки можно создать конфигурацию с плавающей запятой с пользовательской целевой частотой. Чтобы указать целевую частоту для достижения IP, используйте TargetFrequency собственность. Например:

    hdlset_param('sfir_single', 'TargetFrequency', 300);
    

  3. Укажите параметры библиотеки: Укажите, требуется ли инициализировать регистры трубопроводов в IP до нуля. Используйте InitializeIPPipelinesToZero имущества fpconfig.LibrarySettings функция.

    Например, для установки InitializeIPPipelinesToZero свойство имеет значение false, введите:

    fpconfig.LibrarySettings.InitializeIPPipelinesToZero = false;
    
    Чтобы просмотреть примененные параметры библиотеки, введите fpconfig.LibrarySettings.
    
    ans = 
    
      FrequencyDrivenMode with properties:
    
        InitializeIPPipelinesToZero: 0
    
    
    
    Во избежание возможных несоответствий числовых значений при моделировании ЛПВП рекомендуется оставить InitializeIPPipelinesToZero установить в значение true.

  4. Укажите IP-параметры: IPConfig метод, используйте Latency и ExtraArgs для настройки задержки IP-адреса и указания любых дополнительных параметров, характерных для IP-адреса.

    Например, при сопоставлении с IP-адресом ADDSUB с библиотеками Xilinx ® LogiCORE укажите пользовательскую задержку 8:

    fpconfig.IPConfig.customize('ADDSUB', 'SINGLE', 'Latency', 8);
    
    Чтобы просмотреть примененные IP-параметры, введите fpconfig.IPConfig.
    ans = 
    
          Name              DataType            Latency    ExtraArgs
        _________    _______________________    _______    _________
    
        'ABS'        'DOUBLE'                   -1         ''       
        'ABS'        'SINGLE'                   -1         ''       
        'ADDSUB'     'DOUBLE'                   -1         ''       
        'ADDSUB'     'SINGLE'                    8         ''       
        'CONVERT'    'DOUBLE_TO_NUMERICTYPE'    -1         ''       
        'CONVERT'    'NUMERICTYPE_TO_DOUBLE'    -1         ''       
        'CONVERT'    'NUMERICTYPE_TO_SINGLE'    -1         ''       
        'CONVERT'    'SINGLE_TO_NUMERICTYPE'    -1         ''       
    
    
    

  5. Генерировать код HDL: Для генерации кода из подсистемы используйте makehdl.

Настройка стратегии задержки IP-адресов

Чтобы настроить IP-задержку со стратегией задержки, используйте ALTERA MEGAFUNCTION (ALTFP) или XILINX LOGICORE библиотеки. Укажите, следует ли сопоставлять модель Simulink с максимальной или минимальной задержкой. Кодер HDL определяет задержку IP из настройки стратегии задержки.

Можно настроить задержку IP-адресов в диалоговом окне Параметры конфигурации (Configuration Parameters) или в командной строке.

Из пользовательского интерфейса

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

  1. Укажите библиотеку: В диалоговом окне «Параметры конфигурации» на панели «Создание кода HDL» > «Цель с плавающей запятой» для параметра «Библиотека» выберите ALTERA MEGAFUNCTION (ALTFP) или XILINX LOGICORE.

  2. Укажите параметры библиотеки: Для параметра «Стратегия задержки» укажите, следует ли сопоставлять модель Simulink с минимальной или максимальной задержкой для IP-адреса. В поле «Цель» укажите, требуется ли оптимизировать скорость или площадь.

  3. Укажите параметры IP: Появится таблица IP-конфигурации, содержащая типы IP и их максимальные и минимальные задержки. В таблице можно дополнительно указать пользовательскую задержку и любые дополнительные параметры, специфичные для IP-адреса.

    • В столбце Задержка таблицы значение задержки по умолчанию: –1 означает, что IP наследует значение задержки из параметров библиотеки. Чтобы настроить задержку IP-адреса, с которым сопоставляются блоки Simulink, введите значение задержки.

      Например, при сопоставлении с IP-адресом ADDSUB с помощью Xilinx LogiCORE, если указать задержку 8, задержка IP-адреса изменится на 8 вместо значения по умолчанию 12.

    • В столбце ExtraArgs таблицы укажите любые дополнительные параметры IP-адреса.

      Например, при сопоставлении с Xilinx LogiCORE IP для ExtraArgs можно указать параметр, c_mult_usage для управления ресурсами DSP, которые требуется использовать. Дополнительные сведения об использовании параметров и синтаксисе см. в документации к библиотеке IP.

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

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

Чтобы настроить задержку IP из командной строки:

  1. Укажите библиотеку: Создать hdlcoder.FloatingPointTargetConfig для библиотеки с плавающей запятой с помощью hdlcoder.createFloatingPointTargetConfig функция. Затем используйте hdlset_param для сохранения конфигурации в модели.

    Например, для sfir_single для создания целевой конфигурации с плавающей запятой для ALTERA MEGAFUNCTION (ALTFP) с настройками по умолчанию, введите:

    fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTFP');
    hdlset_param('sfir_single', 'FloatingPointTargetConfiguration', fpconfig);
    
    По умолчанию библиотека использует цель минимальной задержки и скорости для IP-адреса с плавающей запятой.

  2. Задание параметров библиотеки: Настройка параметров библиотеки с помощью Objective и LatencyStrategy из fpconfig.LibrarySettings функция.

    Например, для настройки ALTERA MEGAFUNCTION (ALTFP) чтобы использовать максимальную задержку и цель в качестве области, введите:

    fpconfig.LibrarySettings.Objective = 'AREA';
    fpconfig.LibrarySettings.LatencyStrategy = 'MAX';
    
    Чтобы просмотреть примененные параметры библиотеки, введите fpconfig.LibrarySettings.
    
    ans = 
    
      LatencyDrivenMode with properties:
    
        LatencyStrategy: 'MAX'
              Objective: 'AREA'
    
    	fpconfig is a variable of type hdlcoder.FloatingPointTargetConfig.
    
    
    

  3. Укажите IP-параметры: IPConfig метод, используйте Latency и ExtraArgs для настройки задержки IP-адреса и указания любых дополнительных параметров, характерных для IP-адреса.

    Например, при сопоставлении с IP-адресом ADDSUB с библиотеками Xilinx LogiCORE используйте пользовательскую задержку 8 и укажите использование ресурсов DSP с помощью cmultusage параметр:

    fpconfig.IPConfig.customize('ADDSUB', 'SINGLE', 'Latency', 8, 'ExtraArgs', 'CSET c_mult_usage=Full_usage');
    
    Чтобы просмотреть примененные IP-параметры, введите fpconfig.IPConfig.
    
    ans = 
    
          Name              DataType            MinLatency    MaxLatency    Latency              ExtraArgs           
        _________    _______________________    __________    __________    _______    ______________________________
    
        'ADDSUB'     'DOUBLE'                    7            14            -1         ''                            
        'ADDSUB'     'SINGLE'                    7            14             8         'CSET c_mult_usage=Full_usage'
        'CONVERT'    'DOUBLE_TO_NUMERICTYPE'     6             6            -1         ''                            
        'CONVERT'    'NUMERICTYPE_TO_DOUBLE'     6             6            -1         ''                            
        'CONVERT'    'NUMERICTYPE_TO_SINGLE'     6             6            -1         ''                            
    
    
    

  4. Генерировать код HDL: Для генерации кода из подсистемы используйте makehdl.

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

Подробнее