diff --git a/src/finn/transformation/fpgadataflow/make_zynq_proj.py b/src/finn/transformation/fpgadataflow/make_zynq_proj.py index 82dba36f242b0d08d8e5c6c8ed44a05e44a267c1..95d6b0c37c1f081527e1bac8d975aa990fcd9ec4 100644 --- a/src/finn/transformation/fpgadataflow/make_zynq_proj.py +++ b/src/finn/transformation/fpgadataflow/make_zynq_proj.py @@ -295,11 +295,12 @@ class ZynqBuild(Transformation): # Build each kernel individually sdp_nodes = model.get_nodes_by_op_type("StreamingDataflowPartition") for sdp_node in sdp_nodes: + prefix = sdp_node.name + "_" sdp_node = getCustomOp(sdp_node) dataflow_model_filename = sdp_node.get_nodeattr("model") kernel_model = ModelWrapper(dataflow_model_filename) kernel_model = kernel_model.transform(InsertFIFO()) - kernel_model = kernel_model.transform(GiveUniqueNodeNames()) + kernel_model = kernel_model.transform(GiveUniqueNodeNames(prefix)) kernel_model.save(dataflow_model_filename) kernel_model = kernel_model.transform( PrepareIP(self.fpga_part, self.period_ns) diff --git a/src/finn/transformation/general.py b/src/finn/transformation/general.py index 690364a7d827086217ffdf9d246c2f4c5f395772..8ad59d2baf3015cfebffeff88a059f48d9428371 100644 --- a/src/finn/transformation/general.py +++ b/src/finn/transformation/general.py @@ -81,14 +81,19 @@ class RemoveStaticGraphInputs(Transformation): class GiveUniqueNodeNames(Transformation): - """Give unique names to each node in the graph using enumeration.""" + """Give unique names to each node in the graph using enumeration, starting + with given prefix (if specified in the constructor).""" + + def __init__(self, prefix=""): + super().__init__() + self.prefix = prefix def apply(self, model): optype_count = {} for n in model.graph.node: if n.op_type not in optype_count.keys(): optype_count[n.op_type] = 0 - n.name = "%s_%d" % (n.op_type, optype_count[n.op_type]) + n.name = "%s%s_%d" % (self.prefix, n.op_type, optype_count[n.op_type]) optype_count[n.op_type] += 1 # return model_was_changed = False as single iteration is always enough return (model, False)