Быстрое прототипирование развертывание нейронных сетей для глубокого обучения к вашей пользовательской плате при помощи 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 +™ серия ИС, используйте estimateResource функция dlhdl.ProcessorConfig объект.
Добавьте dlhdl_device_registration.m файл к пути поиска файлов MATLAB®.
Создайте dlhdl.ProcessorConfig объект.
Обновите SynthesisToolChipFamily и SynthesisToolDevicename свойства dlhdl.ProcessorConfig объект.
Используйте 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.mfunction 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