CheckViolation
A single check violation.
Returned as part of a ChecksResult after running run_checks(). Each
violation describes a connectivity or bend radius issue found in the design,
including the hierarchy path to the affected port or component.
result = run_checks(cell, config=config)
for v in result.violations:
print(f"[{v.severity}] {v.violation_type}: {v.message}")
print(f" at {v.cell_path}/{v.name}")Attributes
attributeviolation_typestrType of violation. One of:
"unconnected_port"— a port has no matching partner"width_mismatch"— connected ports have different widths"angle_mismatch"— connected ports are not anti-parallel within tolerance"bend_radius_too_small"— a bend is below the minimum radius"bend_radius_auto_reduced"— a bend radius was automatically reduced by the router
attributenamestrName of the relevant port or component.
attributecell_pathstrHierarchy path to the cell containing the violation (e.g., "mmi_1/out_2").
attributepartner_namestr | NoneName of the partner port, for connectivity mismatch violations. None for
unconnected ports and bend radius violations.
attributepartner_pathstr | NoneHierarchy path to the partner port. None when there is no partner.
attributemessagestrHuman-readable description of the violation.
attributeseveritystrSeverity level: "error" or "warning".
attributebboxtuple[tuple[float, float], tuple[float, float]]Bounding box around the violation as ((min_x, min_y), (max_x, max_y)).