diff --git a/src/finn/transformation/fpgadataflow/insert_dwc.py b/src/finn/transformation/fpgadataflow/insert_dwc.py index 33cc3e86d3..459260a5d0 100644 --- a/src/finn/transformation/fpgadataflow/insert_dwc.py +++ b/src/finn/transformation/fpgadataflow/insert_dwc.py @@ -95,16 +95,16 @@ def apply(self, model): in_idx = idx assert in_idx is not None, "Malformed model" n1_in_shape = n1.get_folded_input_shape(in_idx) + dwc_out_width = n1.get_instream_width(in_idx) else: # use default folded input shape n1_in_shape = n1.get_folded_input_shape() + dwc_out_width = n1.get_instream_width() if n0_out_shape[-1] != n1_in_shape[-1]: graph_modified = True # determine dwc inwidth dwc_in_width = n0.get_outstream_width() - # determine dwc outwidth - dwc_out_width = n1.get_instream_width() node_optype = "StreamingDataWidthConverter" # determine shape for dwc diff --git a/src/finn/transformation/fpgadataflow/set_folding.py b/src/finn/transformation/fpgadataflow/set_folding.py index eaee499e6a..eaefe76eb3 100644 --- a/src/finn/transformation/fpgadataflow/set_folding.py +++ b/src/finn/transformation/fpgadataflow/set_folding.py @@ -114,6 +114,7 @@ def apply(self, model): simd_ops = [ "DownSampler_hls", "FMPadding_hls", + "FMPadding_rtl", "FMPadding_Pixel_hls", "ConvolutionInputGenerator_hls", "ConvolutionInputGenerator_rtl", diff --git a/src/finn/transformation/streamline/reorder.py b/src/finn/transformation/streamline/reorder.py index 8ac2d7dad6..93faddf613 100644 --- a/src/finn/transformation/streamline/reorder.py +++ b/src/finn/transformation/streamline/reorder.py @@ -631,6 +631,9 @@ def apply(self, model): prod0 = model.find_producer(in0) if prod0 is None: continue + # Ignore if producer is fork + if model.is_fork_node(prod0): + continue if prod0.op_type in ["Mul", "Add", "Div"]: # check if second input of producer is an initializer