Skip to content
forked from DreamIP/haddoc2

A VHDL library for dataflow CNN operations.

License

Notifications You must be signed in to change notification settings

cloudFPGA/VHDL4CNN

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VHDL4CNN

A VHDL library for dataflow CNN operations.

Introduction

VHDL4CNN is a VHDL library that implements convolution, pooling, and activation operations on FPGAs using a dataflow architecture. Therefore, the weights of a convolution are "baked in" into the FPGA logic to achieve a high throughput. Consequently, VHDL4CNN does not require access to DRAM, HBM, or other off-chip memory but consumes more FPGA logic, since all operations are fully unrolled.

To use the library, the provided VHDL entities need to be instantiated and parameterized in a top-level HDL.

VHDL4CNN is used within the IBM cloudFPGA Distributed Operator Set Architectures (DOSA) compiler, which also generates all necessary HDL files automatically. Please refer to DOSA for further usage examples.

VHDL4CNN is forked from the Haddoc2 library published in 2017, but it is largely refactored and without legacy code.

Further reading about this type of architecture can be found here or here.

License

VHDL4CNN is released under the Apache 2.0 License. For the original haddoc2 license and copyright, please refer to NOTICES.

About

A VHDL library for dataflow CNN operations.

Resources

License

Stars

Watchers

Forks

Languages

  • VHDL 100.0%