Настройте настройку IP с плавающей точкой

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

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

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

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

Можно настроить задержку IP при помощи установки Target Frequency в диалоговом окне Configuration Parameters или свойстве TargetFrequency из командной строки.

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

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

  1. Задайте библиотеку: В диалоговом окне Configuration Parameters, на вкладке HDL Code Generation> Global Settings> Floating Point Target, для Library, выбирают Altera Megafunctions (ALTERA FP Functions).

  2. Задайте целевую частоту: В панели Target and Optimizations, для Target Frequency (MHz), вводят целевую частоту, которой вы хотите, чтобы IP с плавающей точкой достиг. Если вы не задаете целевую частоту, HDL Coder устанавливает целевую частоту на значение по умолчанию 200 MHz.

  3. Задайте настройки библиотеки: При помощи опции Initialize IP Pipelines to Zero можно задать, инициализировать ли конвейерные регистры в IP, чтобы обнулить. Чтобы избежать потенциальных числовых несоответствий в симуляции HDL, рекомендуется оставить набор опции Initialize IP Pipelines to Zero true.

  4. Задайте настройки IP: В таблице настройки IP можно опционально задать пользовательскую задержку и любые дополнительные настройки, характерные для IP.

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

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

  5. Сгенерируйте код: Нажмите Apply. Можно теперь сгенерировать HDL-код для этой настройки с плавающей точкой из модели Simulink (см., Генерируют HDL-код из Модели Simulink).

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

Настроить задержку 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 на ложь, введите:

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

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

    Например, при отображении с IP ADDSUB с библиотеками LogiCORE Xilinx®, чтобы задать пользовательскую задержку 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 Coder выводит задержку IP от установки стратегии задержки.

Можно настроить задержку IP в диалоговом окне Configuration Parameters или из командной строки.

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

Настроить задержку IP с установкой стратегии задержки:

  1. Задайте библиотеку: В диалоговом окне Configuration Parameters, на вкладке HDL Code Generation> Global Settings> Floating Point Target, для Library, выбирают ALTERA MEGAFUNCTION (ALTFP) или XILINX LOGICORE.

  2. Задайте настройки библиотеки: Для Latency Strategy задайте, сопоставить ли вашу модель Simulink с минимальной или максимальной задержкой для IP. Для Objective задайте, оптимизировать ли для скорости или области.

  3. Задайте настройки IP: таблица настройки IP появляется, который содержит типы IP и их максимальные и минимальные задержки. В таблице можно опционально задать пользовательскую задержку и любые дополнительные настройки, характерные для IP.

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

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

    • В столбце ExtraArgs таблицы задайте любые дополнительные настройки, характерные для IP.

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

  4. Сгенерируйте код: Нажмите Apply. Можно теперь сгенерировать HDL-код для этой настройки с плавающей точкой из модели Simulink (см., Генерируют HDL-код из Модели Simulink).

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

Настроить задержку 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.

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

Больше о