Настройка 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 в диалоговом окне Параметров конфигурации или 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 до нуля. Чтобы избежать потенциальных численных несоответствий в симуляции, рекомендуется оставить Initialize IP Pipelines to Zero опцию равной true.

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

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

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

  5. Сгенерируйте код: Нажмите Apply. На панели инструментов Simulink Toolstrip нажмите 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 свойство false, введите:

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

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

    Для примера при сопоставлении с ADDSUB IP с 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 Coder выводит задержку IP из настройки стратегии задержки.

Вы можете настроить задержку IP в диалоговом окне Параметров конфигурации или из командной строки.

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

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

  1. Укажите библиотеку: В диалоговом окне «Параметры конфигурации» на панели 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, введите значение задержки.

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

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

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

  4. Сгенерируйте код: Нажмите Apply. На панели инструментов Simulink Toolstrip нажмите 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.

    Например, при сопоставлении с ADDSUB IP с библиотеками 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.

Похожие примеры

Подробнее о