Skip to content

mfkiwl/ConvE

 
 

Repository files navigation

Hardware Convolution_2D Engine

This project was an initial effort to transform the behaivioral model in the original repository here

https://github.com/BarisATAK/2D-Convolution-Using-VHDL

into a synthesiable, and highly parametrizable hardware model capable of doing two different types of convolutions

  1. Full Single cycle hardware convolutions.

  2. Single pixel per cycle convolutions.

The matrix and filter sizes can be parametrized (however only odd filter sizes are allowed)

To run the project do the following:

  • tclsh run.tcl

If you wanted to simulate a synthesis or post-synthesis netlist then do the folowing:

  • Synthesize the RTL on Vivado
  • Extract the netlist with the command "write_verilog /<path_to_netlist>"
  • copy the wrapper "Convolution_netlist_wrap.vhd" from the Netlists folder to the main folder
  • Then run the bash script " ./run_netlist.sh "
  • A further " power.tcl " script is available in order to generate the .saif file used by Vivado to calculte th dynamic power consumption for the FPGAs.

About

2D Convolution Using VHDL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • VHDL 91.1%
  • Verilog 4.3%
  • Tcl 4.1%
  • Shell 0.5%