Xilinx / finn

Dataflow compiler for QNN inference on FPGAs
https://xilinx.github.io/finn
BSD 3-Clause "New" or "Revised" License
681 stars 218 forks source link

Refactoring of RTL MVAU/VVAU ops #977

Closed mmrahorovic closed 4 months ago

mmrahorovic commented 5 months ago

This PR is a clean-up of PR #963 where the Thresholding related changes have been excluded. This PR introduces the RTL-based MVAU/VVAU custom-op. The test cases related to these custom-ops can be found here:

  1. X
  2. X

Depends on:

  1. [MVU/VVU] Support for double-pumped DSPs PR #976, which in turn depends on:
    • Support for multi-packed DSP58s for VVUs PR #975, which in turn depends on:
      • Support for packed MV(A)Us PR #794.

Note that this implies the RTL code is up-to-date with the double-pumping feature, but we will not support this in the FINN compiler flow and thus leave this flag unset. Main advantage is that we only need to maintain one RTL code-base instead of two different variants, since relatively significant changes/rework have been introduces as part of the double-pumped support.