diff --git a/chipcompiler/thirdparty/ecc-tools b/chipcompiler/thirdparty/ecc-tools index 45b4f883..26e86bc9 160000 --- a/chipcompiler/thirdparty/ecc-tools +++ b/chipcompiler/thirdparty/ecc-tools @@ -1 +1 @@ -Subproject commit 45b4f88338d631f6b0b34ce2d8dd4a991a9bdefe +Subproject commit 26e86bc9d7a4968f4d503274158a78ad3fa78109 diff --git a/chipcompiler/tools/ecc/runner.py b/chipcompiler/tools/ecc/runner.py index 5fde8d79..1c6e7ed9 100644 --- a/chipcompiler/tools/ecc/runner.py +++ b/chipcompiler/tools/ecc/runner.py @@ -40,7 +40,20 @@ def load_data(): db_path = step.input.get("db", "") if ecc_module.is_db_data_exists(db_path): - ecc_module.load_data(path=db_path) + try: + loaded = ecc_module.load_data(path=db_path) + except Exception as e: + workspace.logger.warning( + f"Failed to load ECC data from {db_path}; falling back to design input: {e}" + ) + return None + + if not loaded: + workspace.logger.warning( + f"Failed to load ECC data from {db_path}; falling back to design input." + ) + return None + workspace.logger.info(f"Successfully loaded data from {db_path}") return ecc_module else: