Skip to content

Fix dense layer instantiation for io_serial mode

Javier Duarte requested to merge ejk/serial-fix-dense into master

Created by: ejk43

A few things needed to make serial mode work well for dense layers:

  1. Partition the "flattened" weight vector correctly
  2. Edit the softmax operation in serial mode so it accesses the input in sequential order
  3. Add a RESOURCE directive to instantiate weights into BRAMs if requested

As best as I can tell, the 1layer and 3layer example projects are working well with these updates. Item 2 should be compatible with parallel mode -- but I have not gotten a chance to test this yet so I'll take an action to exercise softmax with io_parallel before the PR gets merged.

The end result appears to be working as expected and completes both the synthesis and RTL simulation successfully... Honestly, the performance vs resource tradeoffs we can evaluate using the reuse_factor is WAY better than anything I had in the old RFNOC repo :)

Merge request reports

Loading