Deep Learning HDL Toolbox

面向 FPGA 和 SoC 进行深度学习网络原型开发和部署

Deep Learning HDL Toolbox™ 提供一系列函数和工具,用于面向 FPGA 和 SoC 进行深度学习网络原型开发和实现。它提供预置的比特流,用于在支持的 Xilinx® 和 Intel® FPGA 与 SoC 设备上运行各种深度学习网络。借助性能分析和估计工具,您可以探索各种设计、性能和资源使用量权衡方案,以便自定义深度学习网络。

通过 Deep Learning HDL Toolbox,您可以自定义深度学习网络的硬件实现,并生成可移植、可合成的 Verilog® 和 VHDL® 代码,在各种 FPGA 上进行部署(需要 HDL Coder™ 和 Simulink®)。

开始:

在 FPGA 上进行深度学习推断

面向 FPGA 进行深度学习网络原型开发和实现以部署边缘设备。

可编程的深度学习处理器

此工具箱包含一个深度学习处理器,该处理器提供常规的卷积和全连接层,由调度逻辑控制。此深度学习处理器可以对使用 Deep Learning Toolbox™ 开发的网络执行基于 FPGA 的推断。高带宽内存接口可加速层和权重数据的内存传输。

深度学习处理器架构。

编译和部署

将您的深度学习网络编译为一组可由深度学习处理器运行的指令。部署到 FPGA 并运行预测,同时捕获实际设备性能指标。

编译和部署 YOLO v2 网络。

利用预置比特流快速起步

本工具箱预置适用于主流 FPGA 开发套件的比特流,您无需进行 FPGA 编程即可开发网络原型。

在 MATLAB 中进行基于 FPGA 的推断

使用 MATLAB 在 FPGA 上运行深度学习推断。

创建网络以进行部署

第一步是使用 Deep Learning Toolbox 设计、训练和分析您的深度学习网络,以执行目标检测或分类等任务。您也可以从其他框架导入经过训练的网络或层。

将您的网络部署到 FPGA

训练网络后,通过深度学习处理器和以太网或 JTAG 接口,使用 deploy 命令对 FPGA 进行编程。然后使用 compile 命令为经过训练的网络生成一组指令,而无需对 FPGA 进行重新编程。

使用 MATLAB 配置板卡和接口,编译网络并部署到 FPGA。

将基于 FPGA 的推断作为 MATLAB 应用程序的一部分运行

在 MATLAB® 中运行整个应用程序,包括测试平台、预处理和后处理算法,以及基于 FPGA 的深度学习推断。只需使用 MATLAB 中的 predict 命令,即可在 FPGA 上执行推断并将结果返回 MATLAB 工作区。

运行可在 FPGA 上执行深度学习推断的 MATLAB 应用程序。

网络自定义

调整您的深度学习网络,以满足目标 FPGA 或 SoC 设备上特定于应用的要求。

对 FPGA 推断进行性能分析

衡量在 FPGA 上运行预测时的层级延迟,以找出性能瓶颈。

对在 MATLAB 中进行的 FPGA 深度学习网络推断进行性能分析。

调整网络设计

使用 Deep Learning Toolbox,根据性能分析指标调整您的网络配置。例如,使用深度网络设计器添加层、删除层或创建新连接。

深度学习量化

将您的深度学习网络量化到定点表示,从而减少资源使用。使用 Model Quantization Library 支持包在准确度和资源使用量之间进行权衡分析。

部署自定义 RTL 实现

使用 HDL Coder 将深度学习处理器的自定义 RTL 实现部署到各种 FPGA、ASIC 或 SoC 设备。

自定义深度学习处理器配置

指定用于实现深度学习处理器的硬件架构选项,例如并行线程的数量或最大层大小。

生成可合成的 RTL

使用 HDL Coder 从深度学习处理器生成可合成的 RTL,以便在各种实现工作流和设备中使用。将同一深度学习处理器重用于原型开发和生产部署。

从深度学习处理器生成可合成的 RTL。

生成 IP 核用于集成

当 HDL Coder 从深度学习处理器生成 RTL 时,它还会生成一个带标准 AXI 接口的 IP 核,用于集成到 SoC 参考设计中。

显示 I/O 和 AXI 接口之间映射的目标平台接口表。