Each layout_rules SI requirement (diff/SE Z, skew, max length, spacing, ref plane, vias, layer, return, series R) is one PASS/FAIL/MARGIN finding with FACT and REQUIREMENT. USB/HDMI/PCIe/ETH/LVDS/DDR only; I2C GPIO CC and analog REGN are skipped. No invented 90 Ω.
107 lines
3.4 KiB
JSON
107 lines
3.4 KiB
JSON
{
|
|
"type": "object",
|
|
"properties": {
|
|
"component_subtype": {
|
|
"type": "string",
|
|
"description": "Dotted taxonomy path, e.g. ic.mcu, ic.power.ldo"
|
|
},
|
|
"package_info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"base_family": {"type": "string"},
|
|
"package": {"type": "string"},
|
|
"pin_count": {"type": "integer"},
|
|
"description": {"type": "string"}
|
|
},
|
|
"required": ["base_family", "package", "pin_count"]
|
|
},
|
|
"pintable": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"number": {},
|
|
"name": {"type": "string"},
|
|
"description": {"type": "string"},
|
|
"functions": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
}
|
|
},
|
|
"required": ["number", "name"]
|
|
}
|
|
},
|
|
"absolute_maximum_ratings": {
|
|
"type": "array",
|
|
"description": "Abs-max rows, plus Vrwm and polarity/topology for ESD/TVS ICs.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"parameter": {"type": "string"},
|
|
"min": {"type": ["number", "null"]},
|
|
"max": {"type": ["number", "null"]},
|
|
"unit": {"type": "string"},
|
|
"source_page": {"type": "integer"}
|
|
},
|
|
"required": ["parameter", "unit", "source_page"]
|
|
}
|
|
},
|
|
"internal_features": {
|
|
"type": "object",
|
|
"properties": {
|
|
"esd_clamp_pins": {"type": "array", "items": {"type": "string"}},
|
|
"pullup_pins": {"type": "array", "items": {"type": "string"}},
|
|
"analog_switch": {"type": "array", "items": {"type": "string"}}
|
|
}
|
|
},
|
|
"layout_rules": {
|
|
"type": "array",
|
|
"description": "PCB layout constraints from typical-application / PCB layout pages. Empty if none stated.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"kind": {
|
|
"type": "string",
|
|
"enum": [
|
|
"decoupling_proximity",
|
|
"thermal_via",
|
|
"keepout",
|
|
"length_match",
|
|
"impedance",
|
|
"max_length",
|
|
"spacing",
|
|
"ref_plane",
|
|
"si_via",
|
|
"layer",
|
|
"series_resistor",
|
|
"return_path",
|
|
"si"
|
|
]
|
|
},
|
|
"pin": {"type": ["string", "null"]},
|
|
"cap_value_hint": {"type": ["string", "null"]},
|
|
"max_distance_mm": {"type": ["number", "null"]},
|
|
"same_layer": {"type": ["boolean", "null"]},
|
|
"min_via_count": {"type": ["integer", "null"]},
|
|
"max_via_count": {"type": ["integer", "null"]},
|
|
"net_class": {"type": ["string", "null"]},
|
|
"note": {"type": ["string", "null"]},
|
|
"source_page": {"type": ["integer", "null"]},
|
|
"z0_ohm": {"type": ["number", "null"]},
|
|
"zdiff_ohm": {"type": ["number", "null"]},
|
|
"tolerance_pct": {"type": ["number", "null"]},
|
|
"z_min_ohm": {"type": ["number", "null"]},
|
|
"z_max_ohm": {"type": ["number", "null"]},
|
|
"topology": {"type": ["string", "null"]},
|
|
"min_spacing_mm": {"type": ["number", "null"]},
|
|
"value_ohms": {"type": ["number", "null"]},
|
|
"ref_plane": {"type": ["string", "null"]},
|
|
"parameter": {"type": ["string", "null"]}
|
|
},
|
|
"required": ["kind"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["component_subtype", "package_info", "pintable"]
|
|
}
|