Ship Fase B slices: hierarchy, derating bands, timing, PI, ESD/return.
ERROR stays only for RULE+MANDATORY. Hierarchy walks component→pin→net→block. Derating is PASS/MARGIN/RISK from Vop/Vrated. Timing and PI skip without numbers. ESD and HS return path are REVIEW, not RULE ERROR.
This commit is contained in:
@@ -137,9 +137,16 @@ async def run_pcb_pipeline(
|
||||
fg_path = ws.local_path("functional_groups.json")
|
||||
fg_path.write_text(plan.model_dump_json(indent=2) + "\n")
|
||||
ws._upload_file("functional_groups.json")
|
||||
from backend.periscopex.hierarchy import build_hierarchy
|
||||
|
||||
hier = build_hierarchy(graph, plan)
|
||||
hier_path = ws.local_path("hierarchy.json")
|
||||
hier_path.write_text(hier.model_dump_json(indent=2) + "\n")
|
||||
ws._upload_file("hierarchy.json")
|
||||
_step(
|
||||
project_id, "classify", "complete",
|
||||
f"{len(plan.domains)} domains, {len(plan.groups)} groups",
|
||||
f"{len(plan.domains)} domains, {len(plan.groups)} groups, "
|
||||
f"{len(hier.blocks)} blocks",
|
||||
)
|
||||
|
||||
if _cancelled(storage, user_id, project_id):
|
||||
@@ -180,7 +187,7 @@ async def run_pcb_pipeline(
|
||||
return
|
||||
|
||||
_step(project_id, "checks", "running")
|
||||
findings = run_pcb_checks(graph, cmap, layout)
|
||||
findings = run_pcb_checks(graph, cmap, layout, plan)
|
||||
_step(
|
||||
project_id, "checks", "complete",
|
||||
f"{len(findings)} deterministic findings",
|
||||
|
||||
Reference in New Issue
Block a user