Skip to content

RTL implementation of FPGA accelerator using TFlite delegate mechanism.

License

Notifications You must be signed in to change notification settings

shin-yamashita/4th-AI-Edge-Contest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

4th AI Edge Contest

TFlite delegate による実装

このリポジトリでは、4th AI Edge Contest に向けて実装したシステムのソースコードを公開する。

  • TFlite の delegate 機構を用いて FPGA にアクセラレータを実装した。
  • アクセラレータは主に SystemVerilog で記述した。
  • 推論アプリは PYNQ Linux (Ubuntu18.04) 上で実行する python で実装した。
  • この推論アプリとFPGAをつなぐ delegate-interface は、ハードウェア実装のためのリファレンスモデルと、FPGA 上での delegate 実行制御を兼ねる。

詳細は doc/レポート 参照

./app/tflite_delegate/ TFlite delegate interface

  • 推論アプリから delegate API を介して C++ reference model または FPGA アクセラレータに実行委譲するインターフェース関数のソース。
  • Conv2d, depthwiseConv2d の2種の演算を delegate する。
  • C++ reference model は tflite の Tensor ごとの uint8 量子化と チャネルごとの int8 量子化 で実装した。
  • FPGA アクセラレータは Tensor ごとの uint8 量子化のみに対応する。

./src/tfacc_u8/ FPGA sources

  • アクセラレータの RTL ソース。
  • 論理シミュレーション環境、論理合成環境。

files

├── app/
│ ├── infer_seg.py          Inference application
│ └── tflite_delegate/      Delegate interface sources (C++)
├── doc/                     Presentation materials
└── src/                     FPGA design sources
    └── tfacc_u8/
        ├── bd/              ZYNQ block design
        ├── firm/            Firmware for controller
        ├── hdl/             hdl sources
        │ ├─ acc/            Accelerator sources (SystemVerilog)
        │ ├─ sr_core/        Controller sources (VHDL)
        │ ├─ tfacc_cpu_v1_0.v Controller top design
        │ └─ tfacc_memif.sv   Data pass top design
        ├── sim/             Logic simulation environment
        └── syn/             Logic synthesis environment 

References

License

About

RTL implementation of FPGA accelerator using TFlite delegate mechanism.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published