hdlcoder.FloatingPointTargetConfig class

Пакет: hdlcoder

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

Описание

hdlcoder.FloatingPointTargetConfig возразите устанавливает опции для HDL Coder™ генерировать синтезируемый код с плавающей точкой. Создать hdlcoder.FloatingPointTargetConfig объект для библиотеки с плавающей точкой, используйте 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'

Свойства

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

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

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

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

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

Функции FP Altera

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

ALTFP и Xilinx LogiCORE

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

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

Методы

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

Примеры

свернуть все

В этом примере показано, как создать целевую настройку с плавающей точкой с нативной поддержкой с плавающей точкой в 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 папка.

Введенный в R2017b