estimateResources

Класс: dlhdl.ProcessorConfig
Пакет: dlhdl

Возвратите оцененные ресурсы, используемые пользовательской настройкой потока битов

Описание

пример

estimateResources возвращает предполагаемые ресурсы, используемые пользовательской настройкой потока битов.

resources = estimateResources возвращает таблицу, содержащую предполагаемые ресурсы, используемые пользовательской настройкой потока битов.

estimateResources('Name','Value') возвращает предполагаемые ресурсы, используемые пользовательской настройкой потока битов, с дополнительными опциями, заданными одними или несколькими аргументами name-value.

resources = estimateResources('Name','Value') возвращает предполагаемые ресурсы, используемые пользовательской настройкой потока битов, с дополнительными опциями, заданными одними или несколькими аргументами name-value.

Входные параметры

Аргументы name-value

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

Отметьте, чтобы включить отображение использования ресурса исходного проекта, заданного как alogical тип данных.

Пример: 'IncludeReferenceDesign',true

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

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

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

Примеры

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

  1. Создайте пользовательский объект настройки процессора по умолчанию. Используйте dlhdl.ProcessorConfig класс.

    hPC = dlhdl.ProcessorConfig;
  2. Чтобы получить ресурсы, используемые пользовательской настройкой процессора, вызовите estimateResources метод.

    hPC.estimateResources;
  3. Вызов estimateResources возвращает эти результаты:

                  Deep Learning Processor Estimator Resource Results
    
                                 DSPs          Block RAM*     LUTs(CLB/ALUT)  
                            -------------    -------------    ------------- 
    Available                    2520              912           274080
                            -------------    -------------    ------------- 
    DL_Processor                377( 15%)        508( 56%)     234175( 86%)
    * Block RAM represents Block RAM tiles in Xilinx devices and Block RAM bits in Intel devices
                 

Быстрое прототипирование развертывание нейронных сетей для глубокого обучения к вашей пользовательской плате при помощи estimateResources функция. Оцените использование ресурса настройки процессора глубокого обучения для вашей пользовательской платы. Оптимизируйте интегрирование пользовательских ядер IP и исходного проекта в вашу систему при помощи estimateResources функционируйте, чтобы оценить использование ресурса вашего исходного проекта. Инструмент синтеза, который вы используете, должен быть в списке инструментов, поддержанных SynthesisTool свойство dlhdl.ProcessorConfig объект. Для списка поддерживаемых инструментов и семейств устройств, смотрите SynthesisTool и SynthesisToolChipFamily.

В этом примере оцените использование ресурса для своей пользовательской платы, которая имеет Kintex® Ultrascale +™ серия ИС. Также оцените использование ресурса исходного проекта для Xilinx® Zynq® Ultrascale +™ плата MPSoC ZCU102.

Необходимые условия

  • Deep Learning HDL Toolbox™

  • Пакет поддержки Deep Learning HDL Toolbox™ для FPGA Xilinx и SoC

  • HDL Coder™

Оцените использование ресурса для Kintex® Ultrascale +™ Совет

Чтобы оценить использование ресурса для вашей пользовательской платы, которая имеет Kintex® Ultrascale +™ серия ИС, используйте estimateResource функция dlhdl.ProcessorConfig объект.

  1. Добавьте dlhdl_device_registration.m файл к пути поиска файлов MATLAB®.

  2. Создайте dlhdl.ProcessorConfig объект.

  3. Обновите SynthesisToolChipFamily и SynthesisToolDevicename свойства dlhdl.ProcessorConfig объект.

  4. Используйте estimateResources функция, чтобы получить использование ресурса для вашей пользовательской платы.

Deep Learning HDL Toolbox™ не поддерживает интерполяционную таблицу (LUT) оценка для пользовательских плат.

hPC = dlhdl.ProcessorConfig;
hPC.SynthesisToolChipFamily = 'Kintex Ultrascale+';
hPC.SynthesisToolDeviceName = 'xcku11p-ffva1156-1-e';
hPC.estimateResources
Warning: Device family "Kintex Ultrascale+" is not currently supported for LUT Estimation. Supported families are Zynq, Zynq UltraScale+ and Arria 10.
              Deep Learning Processor Estimator Resource Results

                             DSPs          Block RAM*     LUTs(CLB/ALUT)  
                        -------------    -------------    ------------- 
Available                    2928              600           298560
                        -------------    -------------    ------------- 
DL_Processor                377( 13%)        508( 85%)          0(  0%)
* Block RAM represents Block RAM tiles in Xilinx devices and Block RAM bits in Intel devices

Оцените использование ресурса для пользовательского исходного проекта

Оцените использование ресурса для исходного проекта, который вы хотите интегрировать в свою систему, которая имеет Xilinx® Zynq® Ultrascale +™ плата MPSoC ZCU102. Используйте estimateResource функция с IncludeReferenceDesign аргумент значения имени. estimateResources функционируйте использует ResourcesUsed.LogicElements, ResourcesUsed.DSP, и ResourcesUsed.RAM информация в файле плагина исходного проекта, чтобы выполнить оценку ресурса. Чтобы оценить использование ресурса для вашего пользовательского исходного проекта, необходимо заполнить файл исходного проекта со значениями для ResourcesUsed.LogicElements, ResourcesUsed.DSP, и ResourcesUsed.RAM. Смотрите ResourcesUsed. Исходный проект, используемый в этом коде, расположен в $supportpackageinstallationfolder/Xilinx/boards/+DLZCU102/+matlab_libiio_3axi4_master_2019_1/plugin_rd.m.

hPC_referencedesign = dlhdl.ProcessorConfig;
hPC_referencedesign.estimateResources('IncludeReferenceDesign',true)
              Deep Learning Processor Estimator Resource Results

                             DSPs          Block RAM*     LUTs(CLB/ALUT)  
                        -------------    -------------    ------------- 
Available                    2520              912           274080
                        -------------    -------------    ------------- 
Total                       380( 16%)        586( 65%)     269176( 99%)
ReferenceDesign               3(  1%)         78(  9%)      35000( 13%)
DL_Processor                377( 15%)        508( 56%)     234175( 86%)
* Block RAM represents Block RAM tiles in Xilinx devices and Block RAM bits in Intel devices

estimateResources функция возвращает использование ресурса для исходного проекта и для настройки процессора глубокого обучения.

Вспомогательные файлы

Регистрационный файл устройства

Используйте dlhdl_device_registration.m файл, чтобы указать семейство отдельных устройств. Оцените использование ресурса отдельного устройства при помощи estimateResources функция.

type dlhdl_device_registration.m
function hFPGADeviceFamily = dlhdl_device_registration
% Register a new device family by providing the following details:
% 1. Device Family Name 
% 2. Vendor(Intel/Xilinx) 
% 3. DSP Width 
% 4. RAM Width 
% 5. RAM Depth 
% 6. SplitDSP Width(Optional) - alternative DSP Width supported by the DSP macro
% 7. SplitRAM Width(Optional) - alternative RAM Width supported by the RAM macro 

hFPGADeviceFamily = { ...
    kintex_ultrascale();...
    };
end

function hFPGADeviceFamily = kintex_ultrascale()
    % Datasheets :
    % https://www.xilinx.com/support/documentation/user_guides/ug579-ultrascale-dsp.pdf
    % https://www.xilinx.com/support/documentation/user_guides/ug573-ultrascale-memory-resources.pdf
    hFPGADeviceFamily = hdlcoder.FPGADeviceInfo('Name', 'Kintex Ultrascale+');
    hFPGADeviceFamily.Vendor = 'Xilinx';
    hFPGADeviceFamily.DSPWidth = [27, 18];
    hFPGADeviceFamily.RAMWidth = 36;
    hFPGADeviceFamily.SplitRAMWidth = 18;
    hFPGADeviceFamily.RAMDepth = 1024;
end
Введенный в R2021a