{
 "commit": {
  "sha": "d352952f9691d14d4dac49773127a45f9aaaa5f3",
  "date": "2022-10-28T17:43:57-04:00",
  "subject": "HackRF One: adjust clock phase with RC delay",
  "url": "https://github.com/greatscottgadgets/hackrf/commit/d352952f9691d14d4dac49773127a45f9aaaa5f3",
  "board": "hardware/hackrf-one/hackrf-one.kicad_pcb"
 },
 "project": {
  "title": "HackRF One",
  "repo": "https://github.com/greatscottgadgets/hackrf",
  "licence": "CERN-OHL-P-2.0"
 },
 "impactDiff": {
  "schema": "nativecad.impactDiff/1",
  "inputs": {
   "before": {
    "format": "kicad_pcb",
    "source": {
     "repo": "https://github.com/greatscottgadgets/hackrf",
     "sha": "f927c5c25b7bcb051894f76d255faa87462cae54",
     "path": "hardware/hackrf-one/hackrf-one.kicad_pcb"
    }
   },
   "after": {
    "format": "kicad_pcb",
    "source": {
     "repo": "https://github.com/greatscottgadgets/hackrf",
     "sha": "d352952f9691d14d4dac49773127a45f9aaaa5f3",
     "path": "hardware/hackrf-one/hackrf-one.kicad_pcb"
    }
   },
   "optionsSha256": null,
   "engine": null
  },
  "layoutDiff": {
   "schema": "pcbDiff/1",
   "identical": false,
   "tolerances": {
    "posTol": 0.001,
    "rotTol": 0.01,
    "widthTol": 0.0001,
    "drillTol": 0.0001,
    "lengthTol": 0.0001,
    "areaTol": 0.000001,
    "thickTol": 0.000001,
    "routeTol": 0.01,
    "sampleStep": 0.1,
    "minPadOverlap": 0.6
   },
   "summary": {
    "components": {
     "added": 0,
     "removed": 0,
     "renamed": 1,
     "moved": 0,
     "rotated": 0,
     "flipped": 0,
     "footprintChanged": 0,
     "valueChanged": 3
    },
    "nets": {
     "added": 0,
     "removed": 0,
     "renamed": 5,
     "changed": 5,
     "rerouted": 0
    },
    "outlineChanged": false,
    "stackupChanged": false
   },
   "components": {
    "source": "explicit",
    "counts": {
     "a": 441,
     "b": 441
    },
    "added": [],
    "removed": [],
    "renamed": [
     {
      "from": "R82",
      "to": "C172",
      "at": [
       114.4,
       127.9
      ]
     }
    ],
    "moved": [],
    "rotated": [],
    "flipped": [],
    "footprintChanged": [],
    "valueChanged": [
     {
      "refdes": "R45",
      "from": "39",
      "to": "0"
     },
     {
      "refdes": "R70",
      "from": "0",
      "to": "39"
     },
     {
      "refdes": "C172",
      "from": "DNP",
      "to": "22pF"
     }
    ]
   },
   "nets": {
    "added": [],
    "removed": [],
    "renamed": [
     {
      "from": "Net-(R94-Pad2)",
      "to": "Net-(R84-Pad2)",
      "padOverlap": 1
     },
     {
      "from": "Net-(U27-Pad1)",
      "to": "Net-(R101-Pad1)",
      "padOverlap": 1
     },
     {
      "from": "Net-(U27-Pad2)",
      "to": "Net-(R83-Pad1)",
      "padOverlap": 1
     },
     {
      "from": "Net-(U27-Pad5)",
      "to": "Net-(R102-Pad1)",
      "padOverlap": 1
     },
     {
      "from": "Net-(U27-Pad7)",
      "to": "Net-(R70-Pad1)",
      "padOverlap": 1
     }
    ],
    "changed": [
     {
      "name": "Net-(R101-Pad1)",
      "renamedFrom": "Net-(U27-Pad1)",
      "length": {
       "a": 10.271909089,
       "b": 10.271909089,
       "delta": 0,
       "perLayer": {}
      },
      "width": {
       "min": {
        "a": 0.2032,
        "b": 0.2032
       },
       "max": {
        "a": 0.2032,
        "b": 0.2032
       },
       "perLayer": {}
      },
      "copperArea": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "perLayer": {},
       "note": "pour (region) area only"
      },
      "vias": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "drills": {
        "a": {},
        "b": {}
       },
       "drillDelta": {}
      },
      "pads": {
       "a": 6,
       "b": 6,
       "added": [],
       "removed": []
      },
      "reroutedLengthMm": {
       "removed": 0,
       "added": 0
      },
      "viasMoved": {
       "removed": 0,
       "added": 0
      },
      "rerouted": false
     },
     {
      "name": "Net-(R102-Pad1)",
      "renamedFrom": "Net-(U27-Pad5)",
      "length": {
       "a": 10.853501121,
       "b": 10.853501121,
       "delta": 0,
       "perLayer": {}
      },
      "width": {
       "min": {
        "a": 0.2032,
        "b": 0.2032
       },
       "max": {
        "a": 0.2032,
        "b": 0.2032
       },
       "perLayer": {}
      },
      "copperArea": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "perLayer": {},
       "note": "pour (region) area only"
      },
      "vias": {
       "a": 2,
       "b": 2,
       "delta": 0,
       "drills": {
        "a": {
         "0.254": 2
        },
        "b": {
         "0.254": 2
        }
       },
       "drillDelta": {}
      },
      "pads": {
       "a": 6,
       "b": 6,
       "added": [],
       "removed": []
      },
      "reroutedLengthMm": {
       "removed": 0,
       "added": 0
      },
      "viasMoved": {
       "removed": 0,
       "added": 0
      },
      "rerouted": false
     },
     {
      "name": "Net-(R70-Pad1)",
      "renamedFrom": "Net-(U27-Pad7)",
      "length": {
       "a": 5.758578829,
       "b": 5.758578829,
       "delta": 0,
       "perLayer": {}
      },
      "width": {
       "min": {
        "a": 0.2032,
        "b": 0.2032
       },
       "max": {
        "a": 0.2032,
        "b": 0.2032
       },
       "perLayer": {}
      },
      "copperArea": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "perLayer": {},
       "note": "pour (region) area only"
      },
      "vias": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "drills": {
        "a": {},
        "b": {}
       },
       "drillDelta": {}
      },
      "pads": {
       "a": 5,
       "b": 5,
       "added": [],
       "removed": []
      },
      "reroutedLengthMm": {
       "removed": 0,
       "added": 0
      },
      "viasMoved": {
       "removed": 0,
       "added": 0
      },
      "rerouted": false
     },
     {
      "name": "Net-(R83-Pad1)",
      "renamedFrom": "Net-(U27-Pad2)",
      "length": {
       "a": 3.27481453,
       "b": 3.27481453,
       "delta": 0,
       "perLayer": {}
      },
      "width": {
       "min": {
        "a": 0.2032,
        "b": 0.2032
       },
       "max": {
        "a": 0.2032,
        "b": 0.2032
       },
       "perLayer": {}
      },
      "copperArea": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "perLayer": {},
       "note": "pour (region) area only"
      },
      "vias": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "drills": {
        "a": {},
        "b": {}
       },
       "drillDelta": {}
      },
      "pads": {
       "a": 3,
       "b": 3,
       "added": [],
       "removed": []
      },
      "reroutedLengthMm": {
       "removed": 0,
       "added": 0
      },
      "viasMoved": {
       "removed": 0,
       "added": 0
      },
      "rerouted": false
     },
     {
      "name": "Net-(R84-Pad2)",
      "renamedFrom": "Net-(R94-Pad2)",
      "length": {
       "a": 7.917222696,
       "b": 7.917222696,
       "delta": 0,
       "perLayer": {}
      },
      "width": {
       "min": {
        "a": 0.2032,
        "b": 0.2032
       },
       "max": {
        "a": 0.2032,
        "b": 0.2032
       },
       "perLayer": {}
      },
      "copperArea": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "perLayer": {},
       "note": "pour (region) area only"
      },
      "vias": {
       "a": 0,
       "b": 0,
       "delta": 0,
       "drills": {
        "a": {},
        "b": {}
       },
       "drillDelta": {}
      },
      "pads": {
       "a": 4,
       "b": 4,
       "added": [],
       "removed": []
      },
      "reroutedLengthMm": {
       "removed": 0,
       "added": 0
      },
      "viasMoved": {
       "removed": 0,
       "added": 0
      },
      "rerouted": false
     }
    ]
   },
   "outline": {
    "changed": false,
    "loops": {
     "a": 12,
     "b": 12
    },
    "bbox": {
     "a": [
      60,
      100,
      180,
      175
     ],
     "b": [
      60,
      100,
      180,
      175
     ]
    },
    "size": {
     "a": [
      120,
      75
     ],
     "b": [
      120,
      75
     ]
    },
    "perimeterMm": {
     "a": 389.936909795,
     "b": 389.936909795,
     "delta": 0
    },
    "areaMm2": {
     "a": 1462.593742325,
     "b": 1462.593742325,
     "delta": 0
    },
    "changedLengthMm": {
     "removed": 0,
     "added": 0
    }
   },
   "stackup": {
    "changed": false,
    "added": [],
    "removed": [],
    "modified": [],
    "reordered": false,
    "thickness": null
   },
   "warnings": []
  },
  "bomDiff": {
   "summary": {
    "added": 0,
    "removed": 0,
    "qtyChanged": 2,
    "valueChanged": 2,
    "footprintChanged": 0,
    "mpnChanged": 2,
    "dnpToggled": 0,
    "categoryChanged": 0,
    "total": 6,
    "unchanged": 438
   },
   "added": [],
   "removed": [],
   "qtyChanged": [
    {
     "kind": "qty-changed",
     "category": "SCH",
     "key": "mpn:cl05c220jb5nnnc",
     "part": {
      "value": "22pF",
      "footprint": "hackrf:GSG-0402",
      "mpn": "CL05C220JB5NNNC",
      "manufacturer": "Samsung"
     },
     "qtyFrom": 19,
     "qtyTo": 20,
     "refsAdded": [
      "C172"
     ],
     "refsRemoved": [],
     "refs": [
      "C8",
      "C21",
      "C32",
      "C43",
      "C48",
      "C51",
      "C84",
      "C85",
      "C86",
      "C93",
      "C94",
      "C95",
      "C96",
      "C101",
      "C103",
      "C107",
      "C108",
      "C109",
      "C110",
      "C172"
     ]
    },
    {
     "kind": "qty-changed",
     "category": "SCH",
     "key": "vf:dnp|gsg-0402",
     "part": {
      "value": "DNP",
      "footprint": "hackrf:GSG-0402"
     },
     "qtyFrom": 6,
     "qtyTo": 5,
     "refsAdded": [],
     "refsRemoved": [
      "R82"
     ],
     "refs": [
      "L1",
      "L4",
      "L8",
      "R40",
      "R71"
     ]
    }
   ],
   "valueChanged": [
    {
     "kind": "value-changed",
     "category": "SCH",
     "key": "mpn:rmcf0402zt0r00",
     "part": {
      "value": "0",
      "footprint": "hackrf:GSG-0402",
      "mpn": "RMCF0402ZT0R00",
      "manufacturer": "Stackpole"
     },
     "from": "39",
     "to": "0",
     "refs": [
      "R45"
     ]
    },
    {
     "kind": "value-changed",
     "category": "SCH",
     "key": "mpn:rmcf0402jt39r0",
     "part": {
      "value": "39",
      "footprint": "hackrf:GSG-0402",
      "mpn": "RMCF0402JT39R0",
      "manufacturer": "Stackpole"
     },
     "from": "0",
     "to": "39",
     "refs": [
      "R70"
     ]
    }
   ],
   "footprintChanged": [],
   "mpnChanged": [
    {
     "kind": "mpn-changed",
     "category": "SCH",
     "key": "mpn:rmcf0402zt0r00",
     "part": {
      "value": "0",
      "footprint": "hackrf:GSG-0402",
      "mpn": "RMCF0402ZT0R00",
      "manufacturer": "Stackpole"
     },
     "from": "RMCF0402JT39R0",
     "to": "RMCF0402ZT0R00",
     "refs": [
      "R45"
     ]
    },
    {
     "kind": "mpn-changed",
     "category": "SCH",
     "key": "mpn:rmcf0402jt39r0",
     "part": {
      "value": "39",
      "footprint": "hackrf:GSG-0402",
      "mpn": "RMCF0402JT39R0",
      "manufacturer": "Stackpole"
     },
     "from": "RMCF0402ZT0R00",
     "to": "RMCF0402JT39R0",
     "refs": [
      "R70"
     ]
    }
   ],
   "dnpToggled": [],
   "categoryChanged": [],
   "byCategory": {
    "SCH": {
     "qtyChanged": 2,
     "valueChanged": 2,
     "mpnChanged": 2
    },
    "PCB": {},
    "BOARD_FEATURE": {}
   }
  },
  "impacts": [
   {
    "id": "e91f4cf642534fa8",
    "kind": "bom",
    "ref": "C172",
    "category": "SCH",
    "metric": "qty",
    "before": 19,
    "after": 20,
    "delta": 1,
    "severity": "info",
    "why": "SCH line CL05C220JB5NNNC: C172 qty changed (qty 19 -> 20).",
    "causes": [
     "bomDiff.qtyChanged[C172]"
    ],
    "assumptionDependent": false
   },
   {
    "id": "9c82cb9f4f3cefcd",
    "kind": "bom",
    "ref": "R45",
    "category": "SCH",
    "metric": "mpn",
    "before": "RMCF0402JT39R0",
    "after": "RMCF0402ZT0R00",
    "delta": null,
    "severity": "info",
    "why": "SCH line RMCF0402ZT0R00: R45 mpn changed (RMCF0402JT39R0 -> RMCF0402ZT0R00).",
    "causes": [
     "bomDiff.mpnChanged[R45]"
    ],
    "assumptionDependent": false
   },
   {
    "id": "6a6a91af0889190e",
    "kind": "bom",
    "ref": "R45",
    "category": "SCH",
    "metric": "value",
    "before": "39",
    "after": "0",
    "delta": null,
    "severity": "info",
    "why": "SCH line RMCF0402ZT0R00: R45 value changed (39 -> 0).",
    "causes": [
     "bomDiff.valueChanged[R45]"
    ],
    "assumptionDependent": false
   },
   {
    "id": "006f3823349a4119",
    "kind": "bom",
    "ref": "R70",
    "category": "SCH",
    "metric": "mpn",
    "before": "RMCF0402ZT0R00",
    "after": "RMCF0402JT39R0",
    "delta": null,
    "severity": "info",
    "why": "SCH line RMCF0402JT39R0: R70 mpn changed (RMCF0402ZT0R00 -> RMCF0402JT39R0).",
    "causes": [
     "bomDiff.mpnChanged[R70]"
    ],
    "assumptionDependent": false
   },
   {
    "id": "2a8470c391c2a55a",
    "kind": "bom",
    "ref": "R70",
    "category": "SCH",
    "metric": "value",
    "before": "0",
    "after": "39",
    "delta": null,
    "severity": "info",
    "why": "SCH line RMCF0402JT39R0: R70 value changed (0 -> 39).",
    "causes": [
     "bomDiff.valueChanged[R70]"
    ],
    "assumptionDependent": false
   },
   {
    "id": "10b260a38c02b23d",
    "kind": "bom",
    "ref": "R82",
    "category": "SCH",
    "metric": "qty",
    "before": 6,
    "after": 5,
    "delta": -1,
    "severity": "info",
    "why": "SCH line DNP GSG-0402: R82 qty changed (qty 6 -> 5).",
    "causes": [
     "bomDiff.qtyChanged[R82]"
    ],
    "assumptionDependent": false
   }
  ],
  "summary": {
   "counts": {
    "high": 0,
    "medium": 0,
    "low": 0,
    "info": 6
   },
   "headline": "6 informational change(s), none against a limit; first: SCH line CL05C220JB5NNNC: C172 qty changed (qty 19 -> 20).",
   "markdown": "**6 informational change(s), none against a limit; first: SCH line CL05C220JB5NNNC: C172 qty changed (qty 19 -> 20).** Layout: components: 1 renumbered, 3 with a new value; nets: 5 renamed, 5 changed. BOM: 2 changed quantity, 2 changed value, 2 changed MPN. Re-analysed on both revisions, for the changed nets and parts only: impedance, cert, returnPath. Not run for missing inputs: cert.creepage (see refused)."
  },
  "analysed": {
   "ran": [
    "impedance",
    "cert",
    "returnPath"
   ],
   "nets": [
    "/Clock/CLK1",
    "FSX2_CLK",
    "GND",
    "Net-(R101-Pad1)",
    "Net-(R102-Pad1)",
    "Net-(R70-Pad1)",
    "Net-(R83-Pad1)",
    "Net-(R84-Pad2)"
   ],
   "rails": []
  },
  "assumptions": {
   "before": [
    {
     "source": "default",
     "analysis": "impedance",
     "key": "mask.er",
     "value": 3.8,
     "citation": "LPI solder mask epsilon_r 3.8 (NativeCAD default)",
     "verified": false,
     "affects": [
      "outer-layer traces"
     ]
    },
    {
     "source": "derived",
     "analysis": "impedance",
     "key": "no_target",
     "value": "no impedance targets (netClasses / .kicad_pro)",
     "affects": [
      "every row: status no_target"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "fab",
     "value": "jlcpcb",
     "citation": "fab profile jlcpcb (NativeCAD default)",
     "verified": true,
     "affects": []
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipc6012.drillPositionTolMm",
     "value": 0.075,
     "unit": "mm",
     "citation": "NativeCAD default (typical standard-technology rigid fab; no fab publishes it)",
     "verified": false,
     "affects": [
      "ipc6012"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipc6012.innerRegistrationTolMm",
     "value": 0.075,
     "unit": "mm",
     "citation": "NativeCAD default (typical standard-technology rigid fab; no fab publishes it)",
     "verified": false,
     "affects": [
      "ipc6012"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipc6012.outerRegistrationTolMm",
     "value": 0.05,
     "unit": "mm",
     "citation": "NativeCAD default (typical standard-technology rigid fab; no fab publishes it)",
     "verified": false,
     "affects": [
      "ipc6012"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipcClass",
     "value": "2",
     "citation": "IPC-6012 Class 2 (dedicated service) - the general commercial default",
     "verified": true,
     "affects": []
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "motC",
     "value": 105,
     "citation": "requested MOT 105 C (FR-4 laminates' common UL RTI)",
     "verified": false,
     "affects": [],
     "unit": "C"
    },
    {
     "source": "default",
     "analysis": "returnPath",
     "key": "erEff",
     "value": 4,
     "citation": "effective epsilon_r 4 for the stitching distance (NativeCAD default)",
     "verified": false,
     "affects": []
    },
    {
     "source": "derived",
     "analysis": "returnPath",
     "key": "planes",
     "value": [
      "In1.Cu:GND",
      "In2.Cu:VCC"
     ],
     "citation": "inner layer with >= 30 % pour cover of one net (outer: >= 80 % and no other net's traces); voids = holes >= 2 mm^2 in that net's pours, as bounding rectangles",
     "affects": [
      "every finding"
     ]
    },
    {
     "source": "default",
     "analysis": "returnPath",
     "key": "riseTimeNs",
     "value": 1,
     "citation": "edge rise time 1 ns, f_knee = 0.35 / t_r (Johnson & Graham)",
     "verified": true,
     "affects": [],
     "unit": "ns"
    }
   ],
   "after": [
    {
     "source": "default",
     "analysis": "impedance",
     "key": "mask.er",
     "value": 3.8,
     "citation": "LPI solder mask epsilon_r 3.8 (NativeCAD default)",
     "verified": false,
     "affects": [
      "outer-layer traces"
     ]
    },
    {
     "source": "derived",
     "analysis": "impedance",
     "key": "no_target",
     "value": "no impedance targets (netClasses / .kicad_pro)",
     "affects": [
      "every row: status no_target"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "fab",
     "value": "jlcpcb",
     "citation": "fab profile jlcpcb (NativeCAD default)",
     "verified": true,
     "affects": []
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipc6012.drillPositionTolMm",
     "value": 0.075,
     "unit": "mm",
     "citation": "NativeCAD default (typical standard-technology rigid fab; no fab publishes it)",
     "verified": false,
     "affects": [
      "ipc6012"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipc6012.innerRegistrationTolMm",
     "value": 0.075,
     "unit": "mm",
     "citation": "NativeCAD default (typical standard-technology rigid fab; no fab publishes it)",
     "verified": false,
     "affects": [
      "ipc6012"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipc6012.outerRegistrationTolMm",
     "value": 0.05,
     "unit": "mm",
     "citation": "NativeCAD default (typical standard-technology rigid fab; no fab publishes it)",
     "verified": false,
     "affects": [
      "ipc6012"
     ]
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "ipcClass",
     "value": "2",
     "citation": "IPC-6012 Class 2 (dedicated service) - the general commercial default",
     "verified": true,
     "affects": []
    },
    {
     "source": "default",
     "analysis": "cert",
     "key": "motC",
     "value": 105,
     "citation": "requested MOT 105 C (FR-4 laminates' common UL RTI)",
     "verified": false,
     "affects": [],
     "unit": "C"
    },
    {
     "source": "default",
     "analysis": "returnPath",
     "key": "erEff",
     "value": 4,
     "citation": "effective epsilon_r 4 for the stitching distance (NativeCAD default)",
     "verified": false,
     "affects": []
    },
    {
     "source": "derived",
     "analysis": "returnPath",
     "key": "planes",
     "value": [
      "In1.Cu:GND",
      "In2.Cu:VCC"
     ],
     "citation": "inner layer with >= 30 % pour cover of one net (outer: >= 80 % and no other net's traces); voids = holes >= 2 mm^2 in that net's pours, as bounding rectangles",
     "affects": [
      "every finding"
     ]
    },
    {
     "source": "default",
     "analysis": "returnPath",
     "key": "riseTimeNs",
     "value": 1,
     "citation": "edge rise time 1 ns, f_knee = 0.35 / t_r (Johnson & Graham)",
     "verified": true,
     "affects": [],
     "unit": "ns"
    }
   ]
  },
  "refused": {
   "before": [
    {
     "analysis": "cert.creepage",
     "reasonCode": "pcb_analysis_needs_input",
     "needs": [
      "cert.pairs[].a",
      "cert.pairs[].b",
      "cert.pairs[].workingVrms"
     ],
     "remedy": "creepage needs the net pairs and the working voltage between them; UL 796 and IPC-6012 ran without them",
     "requested": false
    }
   ],
   "after": [
    {
     "analysis": "cert.creepage",
     "reasonCode": "pcb_analysis_needs_input",
     "needs": [
      "cert.pairs[].a",
      "cert.pairs[].b",
      "cert.pairs[].workingVrms"
     ],
     "remedy": "creepage needs the net pairs and the working voltage between them; UL 796 and IPC-6012 ran without them",
     "requested": false
    }
   ]
  }
 }
}