Deep Learning HDL Toolbox


Deep Learning HDL Toolbox

Prototype and deploy deep learning networks on FPGAs and SoCs

Get Started:

Deep Learning Inference on FPGAs

Prototype and implement deep learning networks on FPGAs for edge deployment.

Programmable Deep Learning Processor

The toolbox includes a deep learning processor that features generic convolution and fully-connected layers controlled by scheduling logic. This deep learning processor performs FPGA-based inferencing of networks developed using Deep Learning Toolbox™. High-bandwidth memory interfaces speed memory transfers of layer and weight data.

The deep learning processor contains generic convolution and fully-connected processing modules that are programmed to execute the specified network.

Deep learning processor architecture.

Compilation and Deployment

Compile your deep learning network into a set of instructions to be run by the deep learning processor. Deploy to the FPGA and run prediction while capturing actual on-device performance metrics.

Compile your deep learning network into a set of instructions to be deployed to the deep learning processor.

Compiling and deploying a YOLO v2 network.

FPGA-Based Inferencing in MATLAB

Run deep learning inferencing on FPGAs from MATLAB.

Creating a Network for Deployment

Begin by using Deep Learning Toolbox to design, train, and analyze your deep learning network for tasks such as object detection or classification. You can also start by importing a trained network or layers from other frameworks.

Deploying Your Network to the FPGA

Once you have a trained network, use the deploy command to program the FPGA with the deep learning processor along with the Ethernet or JTAG interface. Then use the compile command to generate a set of instructions for your trained network without reprogramming the FPGA.

Using MATLAB to configure the board and interface, compile the network, and deploy to the FPGA.

Use MATLAB to configure the board and interface, compile the network, and deploy to the FPGA.

Running FPGA-Based Inferencing as Part of Your MATLAB Application

Run your entire application in MATLAB®, including your test bench, preprocessing and post-processing algorithms, and the FPGA-based deep learning inferencing. A single MATLAB command, predict, performs the inferencing on the FPGA and returns results to the MATLAB workspace.

MATLAB loop that captures an image, preprocesses it by resizing for AlexNet, runs deep learning inferencing on the FPGA, and then post-processes and displays the results.

Run MATLAB applications that perform deep learning inferencing on the FPGA.

Network Customization

Tune your deep learning network to meet application-specific requirements on your target FPGA or SoC device.

Profile FPGA Inferencing

Measure layer-level latency as you run predictions on the FPGA to find performance bottlenecks.

Deep learning inference profiling metrics.

Profile deep learning network inference on an FPGA from MATLAB.

Tune the Network Design

Using the profile metrics, tune your network configuration with Deep Learning Toolbox. For example, use Deep Network Designer to add layers, remove layers, or create new connections.

Deploying Custom RTL Implementations

Deploy custom RTL implementations of the deep learning processor to any FPGA, ASIC, or SoC device with HDL Coder.

Custom Deep Learning Processor Configuration

Specify hardware architecture options for implementing the deep learning processor, such as the number of parallel threads or maximum layer size.

Generate Synthesizable RTL

Use HDL Coder to generate synthesizable RTL from the deep learning processor for use in a variety of implementation workflows and devices. Reuse the same deep learning processor for prototype and production deployment.

The dlhdl.BuildProcessor class generates synthesizable RTL from the custom deep learning processor.

Generate synthesizable RTL from the deep learning processor.

Generate IP Cores for Integration

When HDL Coder generates RTL from the deep learning processor, it also generates an IP core with standard AXI interfaces for integration into your SoC reference design.

HDL Coder generates an IP core that maps deep learning processor inputs and outputs to AXI interfaces.

Target platform interface table showing the mapping between I/O and AXI interfaces.