Настройте настройку 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. Задайте библиотеку:

    1. Во вкладке Apps выберите HDL Coder. Вкладка HDL Code появляется. Нажмите Settings.

    2. На HDL Code Generation> панель Floating Point Target, для Library, выбирают Altera Megafunctions (ALTERA FP Functions).

  2. Задайте целевую частоту: В панели Target, для 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. На Панели инструментов Simulink нажмите Generate HDL Code.

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

Настроить задержку 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> панель 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. На Панели инструментов Simulink нажмите Generate HDL Code.

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

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

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

Больше о