Быстрое прототипирование развертывание нейронных сетей для глубокого обучения к вашей пользовательской плате при помощи estimateResources
функция. Оцените использование ресурса настройки процессора глубокого обучения для вашей пользовательской платы. Оптимизируйте интегрирование пользовательских ядер IP и исходного проекта в вашу систему при помощи estimateResources
функционируйте, чтобы оценить использование ресурса вашего исходного проекта. Инструмент синтеза, который вы используете, должен быть в списке инструментов, поддержанных SynthesisTool
свойство dlhdl.ProcessorConfig
объект. Для списка поддерживаемых инструментов и семейств устройств, смотрите SynthesisTool и SynthesisToolChipFamily.
В этом примере оцените использование ресурса для своей пользовательской платы, которая имеет Kintex® Ultrascale +™ серия ИС. Также оцените использование ресурса исходного проекта для Xilinx® Zynq® Ultrascale +™ плата MPSoC ZCU102.
Необходимые условия
Оцените использование ресурса для Kintex® Ultrascale +™ Совет
Чтобы оценить использование ресурса для вашей пользовательской платы, которая имеет Kintex® Ultrascale +™ серия ИС, используйте estimateResource
функция dlhdl.ProcessorConfig
объект.
Добавьте dlhdl_device_registration.m
файл к пути поиска файлов MATLAB®.
Создайте dlhdl.ProcessorConfig
объект.
Обновите SynthesisToolChipFamily
и SynthesisToolDevicename
свойства dlhdl.ProcessorConfig
объект.
Используйте estimateResources
функция, чтобы получить использование ресурса для вашей пользовательской платы.
Deep Learning HDL Toolbox™ не поддерживает интерполяционную таблицу (LUT) оценка для пользовательских плат.
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
.
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
функция.
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