exponenta event banner

createFloatingPointTargetConfig

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

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

Синтаксис

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

Описание

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

  • Собственная плавающая точка

  • Мегафункции Altera ® (функции ALTERA FP)

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

  • Xilinx ® LogiCORE ®

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

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

Входные аргументы

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

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

Пример: 'ALTERAFPFUNCTIONS'

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

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

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

Собственная плавающая точка

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

Укажите, следует ли Coder™ HDL обрабатывать денормальные числа в конструкции. Укажите это свойство в качестве символьного вектора. Денормальные числа - ненулевые числа, которые меньше наименьшего нормального числа. Чтобы указать это свойство, для Library, выберите NATIVEFLOATINGPOINT.

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

Укажите способ реализации процесса умножения мантиссы в кодере HDL для множителей с плавающей запятой в конструкции. С помощью этой опции можно управлять использованием DSP на целевой платформе для вашего проекта. Дополнительные сведения см. в разделе Стратегия мультипликатора Мантиссы.

Функции Altera FP

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

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

ALTFP и Xilinx LogiCORE

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

Укажите, следует ли сопоставлять минимальную или максимальную задержку с помощью Xilinx LogiCORE или Altera Megafunction IP. Укажите это свойство в качестве символьного вектора.

Укажите, следует ли сопоставлять минимальную или максимальную задержку с помощью Xilinx LogiCORE или Altera Megafunction IP. Укажите это свойство в качестве символьного вектора.

Примеры

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

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

Создание конфигурации цели с плавающей запятой

Чтобы создать конфигурацию с плавающей запятой, используйте 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 папка.