hdlcoder.FloatingPointTargetConfig.IPConfig class

Пакет: hdlcoder

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

Описание

Используйте hdlcoder.FloatingPointTargetConfig.IPConfig объект для просмотра списка поддерживаемых IP- блоков для библиотеки с плавающей точкой. IP- строения зависит от параметров библиотеки. Настройки библиотеки зависят от выбранной библиотеки с плавающей точкой.

  1. Создайте целевой объект строения с плавающей точкой для библиотеки.

    fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTFP');

  2. Чтобы увидеть настройки IP, используйте IPConfig объект.

    fpconfig.IPConfig

Для настройки строения IP используйте customize метод объекта строения с плавающей точкой.

Конструкция

fpconfig.IPConfig показывает настройки IP для fpconfig строение с плавающей точкой, которую вы создаете для библиотеки с плавающей точкой.

Методы

настроитьНастройка IP- строения для указанной библиотеки с плавающей точкой

Примеры

свернуть все

В этом примере показано, как создать целевое строение с плавающей точкой с помощью Altera ® Megafunctions (ALTFP) в HDL Coder, а затем сгенерировать код.

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

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

hdlsetuptoolpath('ToolName', 'Altera Quartus II', ...
    'ToolPath', 'C:/Altera/16.0/quartus/bin64/quartus.exe');
load_system('sfir_single')
fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTFP')
Prepending following Altera Quartus II path(s) to the system path:
C:\Altera\16.0\quartus\bin64

fpconfig = 

  FloatingPointTargetConfig with properties:

            Library: 'ALTFP'
    LibrarySettings: [1×1 fpconfig.LatencyDrivenMode]
           IPConfig: [1×1 hdlcoder.FloatingPointTargetConfig.IPConfig]

Настройка пользовательских параметров библиотеки

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

fpconfig.LibrarySettings.LatencyStrategy = 'MAX';
fpconfig.LibrarySettings.Objective = 'AREA';
fpconfig.LibrarySettings
ans = 

  LatencyDrivenMode with properties:

    LatencyStrategy: 'MAX'
          Objective: 'AREA'

Просмотр задержек IP-адресов с плавающей точкой

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

fpconfig.IPConfig
ans = 

      Name              DataType            MinLatency    MaxLatency    Latency    ExtraArgs
    _________    _______________________    __________    __________    _______    _________

    'ABS'        'DOUBLE'                    1             1            -1         ''       
    'ABS'        'SINGLE'                    1             1            -1         ''       
    'ADDSUB'     'DOUBLE'                    7            14            -1         ''       
    'ADDSUB'     'SINGLE'                    7            14            -1         ''       
    'CONVERT'    'DOUBLE_TO_NUMERICTYPE'     6             6            -1         ''       
    'CONVERT'    'NUMERICTYPE_TO_DOUBLE'     6             6            -1         ''       
    'CONVERT'    'NUMERICTYPE_TO_SINGLE'     6             6            -1         ''       
    'CONVERT'    'SINGLE_TO_NUMERICTYPE'     6             6            -1         ''       
    'COS'        'SINGLE'                   35            35            -1         ''       
    'DIV'        'DOUBLE'                   10            61            -1         ''       
    'DIV'        'SINGLE'                    6            33            -1         ''       
    'EXP'        'DOUBLE'                   25            25            -1         ''       
    'EXP'        'SINGLE'                   17            17            -1         ''       
    'LOG'        'DOUBLE'                   34            34            -1         ''       
    'LOG'        'SINGLE'                   21            21            -1         ''       
    'MUL'        'DOUBLE'                   11            11            -1         ''       
    'MUL'        'SINGLE'                   11            11            -1         ''       
    'RECIP'      'DOUBLE'                   27            27            -1         ''       
    'RECIP'      'SINGLE'                   20            20            -1         ''       
    'RELOP'      'DOUBLE'                    1             3            -1         ''       
    'RELOP'      'SINGLE'                    1             3            -1         ''       
    'RSQRT'      'DOUBLE'                   36            36            -1         ''       
    'RSQRT'      'SINGLE'                   26            26            -1         ''       
    'SIN'        'SINGLE'                   36            36            -1         ''       
    'SQRT'       'DOUBLE'                   30            57            -1         ''       
    'SQRT'       'SINGLE'                   16            28            -1         ''       

Настройка задержек ADDSUB IP

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

fpconfig.IPConfig.customize('ADDSUB','Single','Latency',6);
fpconfig.IPConfig
ans = 

      Name              DataType            MinLatency    MaxLatency    Latency    ExtraArgs
    _________    _______________________    __________    __________    _______    _________

    'ABS'        'DOUBLE'                    1             1            -1         ''       
    'ABS'        'SINGLE'                    1             1            -1         ''       
    'ADDSUB'     'DOUBLE'                    7            14            -1         ''       
    'ADDSUB'     'SINGLE'                    7            14             6         ''       
    'CONVERT'    'DOUBLE_TO_NUMERICTYPE'     6             6            -1         ''       
    'CONVERT'    'NUMERICTYPE_TO_DOUBLE'     6             6            -1         ''       
    'CONVERT'    'NUMERICTYPE_TO_SINGLE'     6             6            -1         ''       
    'CONVERT'    'SINGLE_TO_NUMERICTYPE'     6             6            -1         ''       
    'COS'        'SINGLE'                   35            35            -1         ''       
    'DIV'        'DOUBLE'                   10            61            -1         ''       
    'DIV'        'SINGLE'                    6            33            -1         ''       
    'EXP'        'DOUBLE'                   25            25            -1         ''       
    'EXP'        'SINGLE'                   17            17            -1         ''       
    'LOG'        'DOUBLE'                   34            34            -1         ''       
    'LOG'        'SINGLE'                   21            21            -1         ''       
    'MUL'        'DOUBLE'                   11            11            -1         ''       
    'MUL'        'SINGLE'                   11            11            -1         ''       
    'RECIP'      'DOUBLE'                   27            27            -1         ''       
    'RECIP'      'SINGLE'                   20            20            -1         ''       
    'RELOP'      'DOUBLE'                    1             3            -1         ''       
    'RELOP'      'SINGLE'                    1             3            -1         ''       
    'RSQRT'      'DOUBLE'                   36            36            -1         ''       
    'RSQRT'      'SINGLE'                   26            26            -1         ''       
    'SIN'        'SINGLE'                   36            36            -1         ''       
    'SQRT'       'DOUBLE'                   30            57            -1         ''       
    'SQRT'       'SINGLE'                   16            28            -1         ''       

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

makehdl('sfir_single/symmetric_fir','FloatingPointTargetConfiguration',fpconfig, ...
        'TargetDirectory','C:/FloatingPoint/hdlsrc','SynthesisToolChipFamily','Arria10')
### Generating HDL for 'sfir_single/symmetric_fir'.
### Starting HDL check.
### Using C:\Altera\16.0\quartus\bin64\qmegawiz for the selected floating point IP library.
### 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.
### Generating Altera(R) megafunction: altfp_add_single for latency of 6.
### Found an existing generated file in a previous session: (C:\FloatingPoint\hdlsrc\sfir_single\Altera\Arria10\unspecified\L6\altfp_add_single.vhd). Reusing the generated file.
### Done.
### Generating Altera(R) megafunction: altfp_mul_single for latency of 11.
### Found an existing generated file in a previous session: (C:\FloatingPoint\hdlsrc\sfir_single\Altera\Arria10\unspecified\L11\altfp_mul_single.vhd). Reusing the generated file.
### Done.
### Begin VHDL Code Generation for 'sfir_single'.
### Working on sfir_single/symmetric_fir as C:\FloatingPoint\hdlsrc\sfir_single\symmetric_fir.vhd.
### Generating package file C:\FloatingPoint\hdlsrc\sfir_single\symmetric_fir_pkg.vhd.
### Creating HDL Code Generation Check Report file://C:\FloatingPoint\hdlsrc\sfir_single\symmetric_fir_report.html
### HDL check for 'sfir_single' complete with 0 errors, 7 warnings, and 0 messages.
### HDL code generation complete.

Задержка IP ADDSUB составляет 6, а не максимальное значение задержки 14.

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

Введенный в R2016b
Для просмотра документации необходимо авторизоваться на сайте