При отображении модели Simulink® с целевыми библиотеками с плавающей точкой можно создать целевую настройку с плавающей точкой с собственными настройками IP. Чтобы настроить настройки IP, можно использовать таблицу настройки IP, чтобы выбрать из различных комбинаций имен IP и типов данных. Таблица содержит список типов IP и дополнительные столбцы, которые можно использовать, чтобы задать собственное значение задержки и другие настройки IP.
Настройка IP зависит от настроек библиотеки. Настройки библиотеки характерны для библиотеки с плавающей точкой, которую вы выбираете. Можно настроить задержку IP при помощи целевой частоты или установки стратегии задержки.
Чтобы задать целевую частоту, которой вы хотите, чтобы IP достиг, пользуйтесь библиотекой Altera Megafunctions (ALTERA FP Functions)
. HDL Coder™ выводит задержку IP на основе целевого значения частоты. Если вы не задаете целевую частоту, HDL Coder устанавливает целевую частоту на значение по умолчанию 200 MHz
.
Можно настроить задержку IP при помощи установки Target Frequency в диалоговом окне Configuration Parameters или свойстве TargetFrequency
из командной строки.
Настроить задержку IP при помощи целевой установки частоты:
Задайте библиотеку: В диалоговом окне Configuration Parameters, на вкладке HDL Code Generation> Global Settings> Floating Point Target, для Library, выбирают Altera Megafunctions (ALTERA FP Functions)
.
Задайте целевую частоту: В панели Target and Optimizations, для Target Frequency (MHz), вводят целевую частоту, которой вы хотите, чтобы IP с плавающей точкой достиг. Если вы не задаете целевую частоту, HDL Coder устанавливает целевую частоту на значение по умолчанию 200 MHz
.
Задайте настройки библиотеки: При помощи опции Initialize IP Pipelines to Zero можно задать, инициализировать ли конвейерные регистры в IP, чтобы обнулить. Чтобы избежать потенциальных числовых несоответствий в симуляции HDL, рекомендуется оставить набор опции Initialize IP Pipelines to Zero true
.
Задайте настройки IP: В таблице настройки IP можно опционально задать пользовательскую задержку и любые дополнительные настройки, характерные для IP.
В столбце Latency таблицы значение задержки по умолчанию –1
означает, что IP наследовал значение задержки от целевой частоты. Если вы задаете значение задержки, HDL Coder пытается сопоставить вашу модель Simulink с IP на целевой частоте, соответствующей тому значению задержки.
В столбце ExtraArgs таблицы можно задать дополнительные настройки, характерные для IP.
Сгенерируйте код: Нажмите Apply. Можно теперь сгенерировать HDL-код для этой настройки с плавающей точкой из модели Simulink (см., Генерируют HDL-код из Модели Simulink).
Настроить задержку IP из командной строки:
Задайте библиотеку: Создайте объект hdlcoder.FloatingPointTargetConfig
для библиотеки с плавающей точкой при помощи функции hdlcoder.createFloatingPointTargetConfig
. Затем используйте hdlset_param
, чтобы сохранить настройку на модели.
Например, для модели sfir_single
, чтобы создать целевую настройку с плавающей точкой для библиотеки Altera Megafunctions (ALTERA FP FUNCTIONS)
с настройками по умолчанию, введите:
fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTERAFPFUNCTIONS'); hdlset_param('sfir_single', 'FloatingPointTargetConfiguration', fpconfig);
fpconfig
.fpconfig = FloatingPointTargetConfig with properties: Library: 'ALTERAFPFUNCTIONS' LibrarySettings: [1×1 fpconfig.FrequencyDrivenMode] IPConfig: [1×1 hdlcoder.FloatingPointTargetConfig.IPConfig]
Задайте целевую частоту: Если вы выбираете ALTERA MEGAFUNCTION (ALTERA FP FUNCTIONS)
в качестве библиотеки, можно создать настройку с плавающей точкой с пользовательской целевой частотой. Чтобы задать целевую частоту для IP, чтобы достигнуть, используйте свойство TargetFrequency
. Например:
hdlset_param('sfir_single', 'TargetFrequency', 300);
Задайте настройки библиотеки: Задайте, хотите ли вы инициализировать конвейерные регистры в IP, чтобы обнулить. Используйте свойство InitializeIPPipelinesToZero
функции fpconfig.LibrarySettings
.
Например, чтобы установить свойство InitializeIPPipelinesToZero
на ложь, введите:
fpconfig.LibrarySettings.InitializeIPPipelinesToZero = false;
fpconfig.LibrarySettings
.ans = FrequencyDrivenMode with properties: InitializeIPPipelinesToZero: 0
InitializeIPPipelinesToZero
true
.Задайте настройки IP: С методом IPConfig
используйте Latency
и ExtraArgs
, чтобы настроить задержку IP и задать любые дополнительные настройки, характерные для IP.
Например, при отображении с IP ADDSUB с библиотеками LogiCORE Xilinx®, чтобы задать пользовательскую задержку 8:
fpconfig.IPConfig.customize('ADDSUB', 'SINGLE', 'Latency', 8);
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 ''
Сгенерируйте HDL-код: Чтобы сгенерировать код от подсистемы, используйте makehdl
.
Чтобы настроить задержку IP с установкой стратегии задержки, пользуйтесь библиотеками ALTERA MEGAFUNCTION (ALTFP)
или XILINX LOGICORE
. Задайте, сопоставить ли вашу модель Simulink с максимальной или минимальной задержкой. HDL Coder выводит задержку IP от установки стратегии задержки.
Можно настроить задержку IP в диалоговом окне Configuration Parameters или из командной строки.
Настроить задержку IP с установкой стратегии задержки:
Задайте библиотеку: В диалоговом окне Configuration Parameters, на вкладке HDL Code Generation> Global Settings> Floating Point Target, для Library, выбирают ALTERA MEGAFUNCTION (ALTFP)
или XILINX LOGICORE
.
Задайте настройки библиотеки: Для Latency Strategy задайте, сопоставить ли вашу модель Simulink с минимальной или максимальной задержкой для IP. Для Objective задайте, оптимизировать ли для скорости или области.
Задайте настройки IP: таблица настройки IP появляется, который содержит типы IP и их максимальные и минимальные задержки. В таблице можно опционально задать пользовательскую задержку и любые дополнительные настройки, характерные для IP.
В столбце Latency таблицы значение задержки по умолчанию –1
означает, что IP наследовал значение задержки от настроек библиотеки. Чтобы настроить задержку IP, с которым сопоставляют ваши блоки Simulink, введите значение для задержки.
Например, при отображении с IP ADDSUB с Xilinx LogiCORE, если вы задаете задержку 8, задержку изменений IP в 8 вместо значения по умолчанию 12.
В столбце ExtraArgs таблицы задайте любые дополнительные настройки, характерные для IP.
Например, при отображении с Xilinx LogiCORE IP, для ExtraArgs, можно задать параметр c_mult_usage, чтобы управлять ресурсами DSP, которые вы хотите использовать. Чтобы узнать больше об использовании параметра и синтаксисе, см. документацию библиотеки IP.
Сгенерируйте код: Нажмите Apply. Можно теперь сгенерировать HDL-код для этой настройки с плавающей точкой из модели Simulink (см., Генерируют HDL-код из Модели Simulink).
Настроить задержку IP из командной строки:
Задайте библиотеку: Создайте объект hdlcoder.FloatingPointTargetConfig
для библиотеки с плавающей точкой при помощи функции hdlcoder.createFloatingPointTargetConfig
. Затем используйте hdlset_param
, чтобы сохранить настройку на модели.
Например, для модели sfir_single
, чтобы создать целевую настройку с плавающей точкой для библиотеки ALTERA MEGAFUNCTION (ALTFP)
с настройками по умолчанию, введите:
fpconfig = hdlcoder.createFloatingPointTargetConfig('ALTFP'); hdlset_param('sfir_single', 'FloatingPointTargetConfiguration', fpconfig);
Задайте настройки библиотеки: Настройте настройки библиотеки с 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.
Задайте настройки IP: С методом IPConfig
используйте Latency
и ExtraArgs
, чтобы настроить задержку IP и задать любые дополнительные настройки, характерные для IP.
Например, при отображении с IP ADDSUB с библиотеками Xilinx LogiCORE, чтобы использовать пользовательскую задержку 8 и задать использование ресурсов DSP с параметром cmultusage
:
fpconfig.IPConfig.customize('ADDSUB', 'SINGLE', 'Latency', 8, 'ExtraArgs', 'CSET c_mult_usage=Full_usage');
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 ''
Сгенерируйте HDL-код: Чтобы сгенерировать код от подсистемы, используйте makehdl
.