При отображении 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 в диалоговом окне Параметров конфигурации или 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 до нуля. Чтобы избежать потенциальных численных несоответствий в симуляции, рекомендуется оставить Initialize IP Pipelines to Zero опцию равной true
.
Укажите настройки IP: В таблице строения IP вы можете опционально задать пользовательскую задержку и любые дополнительные настройки, специфичные для IP.
В Latency столбце таблицы значение задержки по умолчанию –1
означает, что IP наследует значение задержки от целевой частоты. Если вы задаете значение задержки, HDL Coder пытается сопоставить вашу модель Simulink с IP на целевой частоте, соответствующей этому значению задержки.
В ExtraArgs столбце таблицы можно задать дополнительные параметры настройки, характерные для IP.
Сгенерируйте код: Нажмите Apply. На панели инструментов Simulink Toolstrip нажмите 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
свойство false, введите:
fpconfig.LibrarySettings.InitializeIPPipelinesToZero = false;
fpconfig.LibrarySettings
.ans = FrequencyDrivenMode with properties: InitializeIPPipelinesToZero: 0
InitializeIPPipelinesToZero
установлено на true
.Задайте настройки IP: С IPConfig
метод, используйте Latency
и ExtraArgs
для настройки задержки IP и определения любых дополнительных настроек, характерных для IP.
Для примера при сопоставлении с ADDSUB IP с Xilinx® Библиотеки LogiCORE, чтобы задать пользовательскую задержку 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 в диалоговом окне Параметров конфигурации или из командной строки.
Чтобы настроить задержку IP с настройкой стратегии задержки:
Укажите библиотеку: В диалоговом окне «Параметры конфигурации» на панели 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, введите значение задержки.
Например, при сопоставлении ADDSUB IP с Xilinx LogiCORE, если вы задаете задержку 8, задержка IP изменяется на 8 вместо значения по умолчанию 12.
В ExtraArgs столбце таблицы задайте любые дополнительные настройки, относящиеся к IP.
Например, при сопоставлении с Xilinx LogiCORE IP, для ExtraArgs, можно задать c_mult_usage параметра, чтобы управлять ресурсами DSP, которые вы хотите использовать. Дополнительные сведения об использовании и синтаксисе параметров см. в документации библиотеки IP.
Сгенерируйте код: Нажмите Apply. На панели инструментов Simulink Toolstrip нажмите 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.
Например, при сопоставлении с ADDSUB IP с библиотеками 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
.