При отображении модели 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 при помощи целевой установки частоты:
Задайте библиотеку:
Во вкладке Apps выберите HDL Coder. Вкладка HDL Code появляется. Нажмите Settings.
На HDL Code Generation> панель Floating Point Target, для Library, выбирают Altera Megafunctions (ALTERA FP Functions)
.
Задайте целевую частоту: В панели Target, для 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. На Панели инструментов Simulink нажмите Generate HDL Code.
Настроить задержку 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> панель 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. На Панели инструментов Simulink нажмите Generate HDL Code.
Настроить задержку 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
.