Add protocol-certification M3 L1 geometric certifier (2.67.0).

Length, topology, vias, stubs, layer, grouping. Skew only vs NUMERIC mm or DESIGN LIMIT. No invented ohms/mm/ps. Not electrical. No L2/L3.
This commit is contained in:
2026-09-22 12:22:18 +02:00
parent 3cc2e5469b
commit 10d21cdc80
10 changed files with 799 additions and 11 deletions
+3 -3
View File
@@ -13,7 +13,6 @@ from backend.periscopex.models import (
PinConnection,
)
from backend.periscopex.protocol_l0 import (
PACK_MACROPHASE,
_pack,
certify_l0,
protocol_exam,
@@ -130,8 +129,9 @@ def test_axi_internal_l0_not_applicable_not_fail():
assert all(r.result == "NOT_APPLICABLE" for r in rows)
assert all(r.result != "FAIL" for r in rows)
sec, findings = protocol_exam(_axi_graph())
assert sec.max_level_reached == "L0"
assert sec.macrophase == PACK_MACROPHASE
assert sec.max_level_reached == "L1"
from backend.periscopex.protocol_l1 import PACK_MACROPHASE as L1_MACRO
assert sec.macrophase == L1_MACRO
assert all(f.status != "ERROR" for f in findings)
assert all("AXI_AWVALID" not in (f.net or "") for f in findings if f.rule_id == "PE-PRT-L0-001")