@@ -350,7 +350,7 @@ def override_tech_libraries(self) -> None:
350350 if len (self .get_setting ("vlsi.technology.override_libraries" )) > 0 :
351351 self .logger .warning ("You've attempted to specify override libraries without enabling vlsi.technology.manually_override_pdk_collateral! collateral paths will not be overwritten" )
352352
353- used_overrides = []
353+ used_overrides = {}
354354 for lib in self .config .libraries + self .config .drc_decks + self .config .lvs_decks :
355355 for field_name in lib .model_fields :
356356 if "file" in field_name or "path" in field_name or field_name == "verilog_sim" :
@@ -369,11 +369,8 @@ def override_tech_libraries(self) -> None:
369369 if len (cached_paths ) > 1 :
370370 self .logger .error (f"ambiguous cache override: { cached_paths } " )
371371 if cached_paths :
372- used_overrides .append ((field_name , fname ))
373372 new_path = cached_paths [0 ]
374- self .logger .info (
375- f"overriding { default_path } with cache entry { new_path } "
376- )
373+ used_overrides [(field_name , fname )] = (new_path , False ) # non-manual override
377374
378375 manual_override_paths = set ([f for f in fnames if (field_name , f ) in manual_overrides ])
379376 manual_override_paths = [manual_overrides [(field_name , f )] for f in manual_override_paths ]
@@ -383,13 +380,16 @@ def override_tech_libraries(self) -> None:
383380 self .logger .error (f"ambiguous cache override: { manual_override_paths } " )
384381 # prioritize manual overrides over cache
385382 if manual_override_paths :
386- used_overrides .append ((field_name , fname ))
387383 new_path = manual_override_paths [0 ]
388- self .logger .info (
389- f"overriding { default_path } with manual override { new_path } "
390- )
384+ used_overrides [(field_name , fname )] = (new_path , True ) # manual override
391385
392386 setattr (lib , field_name , new_path )
387+ # do logging at the end to prevent spamming stdout with the same overrides
388+ for field , new_path in used_overrides .items ():
389+ override_type = "manual" if new_path [1 ] else "cache"
390+ self .logger .info (
391+ f"Overriding { field [0 ]} { field [1 ]} with { override_type } path { new_path [0 ]} "
392+ )
393393 unused_overrides = [k for k in manual_overrides .keys () if k not in used_overrides ]
394394 if unused_overrides :
395395 self .logger .warning (f"Unused tech collateral overrides: { unused_overrides } " )
0 commit comments