Skip to content

Decouple pipeline style from strategy

Javier Duarte requested to merge github/fork/vloncar/top_pipeline into main

Created by: vloncar

Description

We control the top function pipeline style with the strategy, and while this works, sometimes the change to the top pipelining is forced by a layer (the conv layer) and as a consequence this causes all other layers to use resource strategy which is unintended. Decoupling the strategy from the pipeline style fixes this. The explicitly set resource strategy still forces the dataflow style to be used. The configuration can be explicitly set with PipelineStyle (values can be pipeline and dataflow), but normally the users would still continue using the Strategy config parameter. Fixes #699 (closed) and #759.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change which adds functionality)

Tests

I didn't add any extra tests. The best way to test this is to verify the generated HLS has the correct pragmas and parameters.h. I manually tested a whole lot of combinations of this. Checking the IR in python may also be possible, but I'm not sure if this will capture all combinations.

Checklist

  • I have read the guidelines for contributing.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • I have installed and run pre-commit on the files I edited or added.
  • I have added tests that prove my fix is effective or that my feature works.

Merge request reports

Loading