skill
EDA Skillpack
Public Made by Adomby adom
All skills for all EDA capabilities across the Adom ecosystem.
main
exec(open('route_fresh.py').read().split('plans=json.loads(')[0])
# Only the Kelvin paths and plane stubs survive. All signal/power routes are recalculated.
old=json.load(open('fresh-routes.json'));plans=[p for p in old if p['stage']!='signals-power'];load(plans)
for c in m.copper[:protected_count]:c['net']='__kelvin_'+c['net']
by['GND_OUT']=[p for p in by['GND_OUT'] if p['name']!='U6.4']
failed=[p[0] for p in json.load(open('fresh-route-blocked.json'))]
rest=[p['net'] for p in old if p['stage']=='signals-power' and p['net'] not in failed]
blocked=[]
for net in failed+rest:
width=.5 if net in ['+VBAT','GND_OUT','/DRV_SHA','/DRV_SHB','/DRV_SHC'] else .25
p={'net':net,'width':width,'paths':[],'stage':'signals-power'};plans.append(p);gaps=route_components(p)
if gaps:blocked.append([net,gaps])
print(net,'paths',len(p['paths']),'gaps',gaps,flush=True)
Path('pass2-routes.json').write_text(json.dumps(plans,indent=2));Path('pass2-blocked.json').write_text(json.dumps(blocked,indent=2))