ONNC x NVDLA Release 1.1.0
- Version: r1.1.0
- Release Date: 2019/5/16
ONNC on NVDLA AI starter kits provides software development kit (SDK) and board support package (BSP) for IC design houses who plan to develop its own deep learning accelerator (DLA) based on NVDLA.
It’s a comprehensive set of FPGA-based prototyping tools including AI-related hardware and software components:
- compiler (ONNC)
- drivers (KMD/UMD)
- Linux kernel
- virtual platform(GreenSocs)
- FPGA netlist
- NVDLA verilog RTL code
AI Starter Kits optimize your design process and ensures that your software runs and exploits the full power of the underlying AI chips. Skymizer aims at providing a unique solution tailored to your needs to help you build a strong hardware/software co-design team and efficiently save your time ahead of AI chip fabrication.
To comply with the FHS (Filesystem Hierarchy Standard) rules, AI starter kits provides a directory
r1.1.0 as the root directory of the entire file system hierarchy.
|r1.1.0/||Primary hierarchy root and the root directory of the entire file system hierarchy|
|r1.1.0/bin||Essential command binaries for all users, e.g., onnc.nv_small, vp_nv_small and the cross compiler|
|r1.1.0/include||Standard include files|
|r1.1.0/lib||Libraries essential for the binaries in
|r1.1.0/share||Architecture independent data|
Administrators can use
/usr folder as a new primary hierarchy root and copy files keeping the directory structure.
Source code of SDK and BSP are grouped into organized form:
platformvirtual, zcu102 or zcu102-x
componentkmd, kernel and so on
architecturenv_full, nv_small, and so on
onnc-create- for you to build up a workspace.
onnc-createis an intuitive tool. You can find it in the
Here is a tutorial to
ONNC Software Developments Kits (SDK) is more than a compiler. It contains lots of useful tools for you to create, build, and verify NVDLA runtime environment. One famous tool in the SDK is ONNC. It supports both nv_full and nv_small architecture.
onnc.nv_fullis the compiler for nv_full, and
onnc.nv_small is for nv_small.
Another famous tools is the virtual platform. It is used to verify the BSP and generate real-world patterns for hardware designer. We leverage GreenSocs and extend it to support both nv_full and nv_small hardware configurations.
vp_nv_small is the virtual platform supporting nv_small, and
vp_nv_full is the one supporting nv_full.
For creation and customization of board support packages (BSP), a useful suite -
Lander - is introduced. Lander contains several tools.
bsp-create is used to create a new BSP. You can specify hardware configuration and target platform of the BSP.
bsp-build program build the BSP and generate corresponding configuration files for virtual platforms and FPGAs
We've examined six ONNX models. Although there are still a few models that ONNC cannot compile, we will keep examining all available models from ONNX model zoo and compile them in the future version.