createFloatingPointTargetConfig

Класс: hdlcoder. FloatingPointTargetConfig
Пакет: hdlcoder

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

Синтаксис

fpconfig = hdlcoder.createFloatingPointConfig(library)
fpconfig = hdlcoder.createFloatingPointConfig(library,Name,Value)

Описание

Чтобы создать целевой объект настройки с плавающей точкой для библиотеки с плавающей точкой, используйте hdlcoder.createFloatingPointTargetConfig функция. Можно создать объект настройки с плавающей точкой для этих библиотек:

  • Нативная плавающая точка

  • Altera® Megafunctions (функции FP ALTERA)

  • Мегафункции Altera (ALTFP)

  • Xilinx® LogiCORE®

fpconfig = hdlcoder.createFloatingPointConfig(library) создает hdlcoder.FloatingPointTargetConfig объект для данной библиотеки с плавающей точкой.

fpconfig = hdlcoder.createFloatingPointConfig(library,Name,Value) создает hdlcoder.FloatingPointTargetConfig объект с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Name может также быть имя свойства и Value соответствующее значение. Name должен появиться в одинарных кавычках (''). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

Входные параметры

развернуть все

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

Пример: 'ALTERAFPFUNCTIONS'

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Аргументы пары "имя-значение", что можно задать, зависят от библиотеки, которую вы выбираете для создания настройки с плавающей точкой.

Нативная плавающая точка

развернуть все

Задайте, хотите ли вы, чтобы HDL Coder™ обработал нестандартные числа в вашем проекте. Задайте это свойство как вектор символов. Нестандартные числа являются ненулевыми числами, которые меньше, чем самый маленький нормальный номер. Задавать это свойство, для Library, выберите NATIVEFLOATINGPOINT.

Задайте, хотите ли вы, чтобы HDL Coder использовал максимальную или минимальную установку задержки в плавающих операторах, которые использует ваш проект. Задайте это свойство как вектор символов. Задавать это свойство, для Library, выберите NATIVEFLOATINGPOINT

Задайте, как вы хотите, чтобы HDL Coder реализовал процесс умножения мантиссы для множителей с плавающей точкой в вашем проекте. При использовании этой опции можно управлять использованием DSP на целевой платформе для проекта. Чтобы узнать больше, см. Стратегию Множителя Мантиссы.

Функции FP Altera

развернуть все

Задайте, хотите ли вы, чтобы HDL Coder инициализировал конвейерные регистры в IP Мегафункции Altera, чтобы обнулить. Задайте это свойство как logical. Чтобы избежать потенциальных числовых несоответствий в симуляции HDL, оставьте InitializeIPPipelinesToZero установите на true. Задавать это свойство, для Library, выберите ALTERAFPFUNCTIONS.

ALTFP и Xilinx LogiCORE

развернуть все

Задайте, хотите ли вы, чтобы проект сопоставил с минимальной или максимальной задержкой с Xilinx LogiCORE или IP Мегафункции Altera. Задайте это свойство как вектор символов.

Задайте, хотите ли вы, чтобы проект сопоставил с минимальной или максимальной задержкой с Xilinx LogiCORE или IP Мегафункции Altera. Задайте это свойство как вектор символов.

Примеры

развернуть все

В этом примере показано, как создать целевую настройку с плавающей точкой с нативной поддержкой с плавающей точкой в HDL Coder, и затем сгенерировать код.

Создайте целевую настройку с плавающей точкой

Чтобы создать настройку с плавающей точкой, используйте hdlcoder.createFloatingPointTargetConfig.

load_system('sfir_single');
fpconfig = hdlcoder.createFloatingPointTargetConfig('NATIVEFLOATINGPOINT')
fpconfig = 

  FloatingPointTargetConfig with properties:

            Library: 'NativeFloatingPoint'
    LibrarySettings: [1×1 fpconfig.NFPLatencyDrivenMode]
           IPConfig: [1×1 hdlcoder.FloatingPointTargetConfig.IPConfig]

Задайте пользовательские настройки библиотеки

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

fpconfig.LibrarySettings.HandleDenormals = 'off';
fpconfig.LibrarySettings.LatencyStrategy = 'MIN';
fpconfig.LibrarySettings.MantissaMultiplyStrategy = 'NoMultiplierFullAddShift';
fpconfig.LibrarySettings
ans = 

  NFPLatencyDrivenMode with properties:

             LatencyStrategy: 'MIN'
             HandleDenormals: 'off'
    MantissaMultiplyStrategy: 'NoMultiplierFullAddShift'
                     Version: '1.0.0'

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

Отображения объекта IPConfig максимальные значения задержки минимума AMD операторов с плавающей точкой.

fpconfig.IPConfig
ans = 

       Name              DataType            MaxLatency    MinLatency
    __________    _______________________    __________    __________

    'ABS'         'SINGLE'                    0             0        
    'ADDSUB'      'SINGLE'                   12             7        
    'ATAN'        'SINGLE'                   36            36        
    'ATAN2'       'SINGLE'                   42            42        
    'CONVERT'     'NUMERICTYPE_TO_SINGLE'     6             6        
    'CONVERT'     'SINGLE_TO_NUMERICTYPE'     6             6        
    'COS'         'SINGLE'                   27            27        
    'DIV'         'SINGLE'                   32            32        
    'EXP'         'SINGLE'                   23            23        
    'FIX'         'SINGLE'                    3             3        
    'LOG'         'SINGLE'                   20            20        
    'MINMAX'      'SINGLE'                    3             3        
    'MOD'         'SINGLE'                    0             0        
    'MUL'         'SINGLE'                    8             8        
    'POW2'        'SINGLE'                    2             2        
    'RECIP'       'SINGLE'                   19            19        
    'RELOP'       'SINGLE'                    3             3        
    'REM'         'SINGLE'                    0             0        
    'ROUNDING'    'SINGLE'                    5             5        
    'RSQRT'       'SINGLE'                   17            17        
    'SIGNUM'      'SINGLE'                    0             0        
    'SIN'         'SINGLE'                   27            27        
    'SINCOS'      'SINGLE'                   27            27        
    'SQRT'        'SINGLE'                   28            28        
    'UMINUS'      'SINGLE'                    0             0        

Сгенерируйте код

makehdl('sfir_single/symmetric_fir','FloatingPointTargetConfiguration',fpconfig, ...
                    'TargetDirectory','C:/NativeFloatingPoint/hdlsrc')
### Generating HDL for 'sfir_single/symmetric_fir'.
### Starting HDL check.
### The code generation and optimization options you have chosen have introduced additional pipeline delays.
### The delay balancing feature has automatically inserted matching delays for compensation.
### The DUT requires an initial pipeline setup latency. Each output port experiences these additional delays.
### Output port 0: 30 cycles.
### Output port 1: 30 cycles.
### Begin VHDL Code Generation for 'sfir_single'.
### Working on sfir_single/symmetric_fir/nfp_add_comp as C:\NativeFloatingPoint\hdlsrc\sfir_single\nfp_add_comp.vhd.
### Working on sfir_single/symmetric_fir/nfp_mul_comp as C:\NativeFloatingPoint\hdlsrc\sfir_single\nfp_mul_comp.vhd.
### Working on sfir_single/symmetric_fir as C:\NativeFloatingPoint\hdlsrc\sfir_single\symmetric_fir.vhd.
### Generating package file C:\NativeFloatingPoint\hdlsrc\sfir_single\symmetric_fir_pkg.vhd.
### Creating HDL Code Generation Check Report file://C:\NativeFloatingPoint\hdlsrc\sfir_single\symmetric_fir_report.html
### HDL check for 'sfir_single' complete with 0 errors, 0 warnings, and 0 messages.
### HDL code generation complete.

Сгенерированный код VHDL сохранен в hdlsrc папка.