From 8d4a94d367ddc51d8eb54edb7bf0c88c5ab6c0e7 Mon Sep 17 00:00:00 2001 From: Karol Gugala Date: Tue, 14 May 2019 12:59:17 +0200 Subject: [PATCH] sdfmerge: emit only the selected instance of the merged cell Signed-off-by: Karol Gugala --- utils/sdfmerge.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/utils/sdfmerge.py b/utils/sdfmerge.py index 1ad6aa5f..b63cca27 100644 --- a/utils/sdfmerge.py +++ b/utils/sdfmerge.py @@ -19,13 +19,19 @@ def merge(timings_list, site): if site in cell_instance.split(divider): if 'cells' not in merged_timings: merged_timings['cells'] = dict() + if cell not in merged_timings['cells']: + merged_timings['cells'][cell] = dict() + if cell_instance not in merged_timings['cells'][cell]: + merged_timings['cells'][cell][cell_instance] = dict() - if cell in merged_timings['cells']: - assert merged_timings['cells'][cell] == \ - timings['cells'][cell], \ + if cell_instance in merged_timings['cells'][cell][ + cell_instance]: + assert merged_timings['cells'][cell][cell_instance] == \ + timings['cells'][cell][cell_instance], \ "Attempting to merge differing cells" - merged_timings['cells'][cell] = timings['cells'][cell] + merged_timings['cells'][cell][cell_instance] = timings[ + 'cells'][cell][cell_instance] return merged_timings