diff --git a/cace/cace_cli.py b/cace/cace_cli.py index 06b8be2..8313f3d 100755 --- a/cace/cace_cli.py +++ b/cace/cace_cli.py @@ -437,16 +437,18 @@ def cace_run(datasheet, paramname=None): # routine to handle it. found = False - for eparam in datasheet['electrical_parameters']: - if eparam['name'] == paramname: - cace_run_eparam(datasheet, eparam) - found = True - break - for pparam in datasheet['physical_parameters']: - if pparam['name'] == paramname: - cace_run_pparam(datasheet, pparam) - found = True - break + if 'electrical_parameters' in datasheet: + for eparam in datasheet['electrical_parameters']: + if eparam['name'] == paramname: + cace_run_eparam(datasheet, eparam) + found = True + break + if 'physical_parameters' in datasheet: + for pparam in datasheet['physical_parameters']: + if pparam['name'] == paramname: + cace_run_pparam(datasheet, pparam) + found = True + break if not found: print('\nError: No parameter named ' + paramname + ' found!') diff --git a/cace/common/cace_regenerate.py b/cace/common/cace_regenerate.py index 11e8e87..06a7b8f 100755 --- a/cace/common/cace_regenerate.py +++ b/cace/common/cace_regenerate.py @@ -30,6 +30,7 @@ def printwarn(output): failrex = re.compile('.*failure', re.IGNORECASE) warnrex = re.compile('.*warning', re.IGNORECASE) errrex = re.compile('.*error', re.IGNORECASE) + missrex = re.compile('.*not found', re.IGNORECASE) errors = 0 outlines = output.splitlines() @@ -45,7 +46,10 @@ def printwarn(output): fmatch = failrex.match(line) if fmatch: errors += 1 - if ematch or wmatch or fmatch: + mmatch = missrex.match(line) + if mmatch: + errors += 1 + if ematch or wmatch or fmatch or mmatch: print(line) return errors @@ -1179,7 +1183,8 @@ def regenerate_testbench(dsheet, testbenchpath, testbench): if pdk and 'PDK' not in newenv: newenv['PDK'] = pdk - xschemargs = ['xschem', '-n', '-s', '-r', '-x', '-q'] + tclstr = set_xschem_paths(dsheet, '') + xschemargs = ['xschem', '-n', '-s', '-r', '-x', '-q', '--tcl', tclstr] # Use the PDK xschemrc file for xschem startup xschemrcfile = os.path.join(