7
mirror of https://github.com/EEVengers/ThunderScope.git synced 2025-04-11 23:19:16 +00:00

Finished custom routing rules

Also cleared up a bunch of DRC errors
This commit is contained in:
Aleksa Bjelogrlic 2025-03-24 00:49:05 -04:00
parent b9fc26308a
commit bac0f98dd9
5 changed files with 17537 additions and 17573 deletions

View File

@ -1,75 +1,97 @@
(version 1)
(rule FE_100Z_Diff_Inner
(layer inner)
(condition "A.NetClass == 'FE_100Z_Diff'")
(constraint diff_pair_gap (opt 0.23035mm))
(constraint track_width (opt 0.127mm)))
(condition "A.hasNetclass('FE_100Z_Diff')")
(constraint disallow track))
(rule FE_100Z_Diff_Outer
(layer outer)
(condition "A.NetClass == 'FE_100Z_Diff'")
(constraint diff_pair_gap (opt 0.13022mm))
(constraint track_width (opt 0.127mm)))
(condition "A.hasNetclass('FE_100Z_Diff')")
(constraint diff_pair_gap (min 0.13022mm)(opt 0.13022mm)(max 0.13022mm))
(constraint track_width (min 0.127mm)(opt 0.127mm)(max 0.127mm)))
(rule FE_100Z_Diff_Vias
(condition "A.NetClass == 'FE_100Z_Diff'")
(condition "A.hasNetclass('FE_100Z_Diff')")
(constraint via_count (min 0) (opt 0) (max 0)))
(rule "FE_100Z_Diff_Skew"
(condition "A.hasNetclass('FE_100Z_Diff')")
(constraint skew (min -0.1mm)(opt 0mm)(max 0.1mm)))
(rule LVDS_SYNC_Inner
(layer inner)
(condition "A.NetClass == 'LVDS_SYNC'")
(constraint diff_pair_gap (opt 0.23035mm))
(constraint track_width (opt 0.127mm)))
(condition "A.hasNetclass('LVDS_SYNC')")
(constraint diff_pair_gap (min 0.23035mm)(opt 0.23035mm)(max 0.23035mm))
(constraint track_width (min 0.127mm)(opt 0.127mm)(max 0.127mm)))
(rule LVDS_SYNC_Outer
(layer outer)
(condition "A.NetClass == 'LVDS_SYNC'")
(constraint diff_pair_gap (opt 0.13022mm))
(constraint track_width (opt 0.127mm)))
(condition "A.hasNetclass('LVDS_SYNC')")
(constraint diff_pair_gap (min 0.13022mm)(opt 0.13022mm)(max 0.13022mm))
(constraint track_width (min 0.127mm)(opt 0.127mm)(max 0.127mm)))
(rule "LVDS_SYNC_Skew"
(condition "A.hasNetclass('LVDS_SYNC')")
(constraint skew (min -0.1mm)(opt 0mm)(max 0.1mm)))
(rule LVDS_USRIO_Inner
(layer inner)
(condition "A.NetClass == 'LVDS_USRIO'")
(constraint diff_pair_gap (opt 0.23035mm))
(constraint track_width (opt 0.127mm)))
(condition "A.hasNetclass('LVDS_USRIO')")
(constraint diff_pair_gap (min 0.23035mm)(opt 0.23035mm)(max 0.23035mm))
(constraint track_width (min 0.127mm)(opt 0.127mm)(max 0.127mm)))
(rule LVDS_USRIO_Outer
(layer outer)
(condition "A.NetClass == 'LVDS_USRIO'")
(constraint diff_pair_gap (opt 0.13022mm))
(constraint track_width (opt 0.127mm)))
(condition "A.hasNetclass('LVDS_USRIO')")
(constraint diff_pair_gap (min 0.13022mm)(opt 0.13022mm)(max 0.13022mm))
(constraint track_width (min 0.127mm)(opt 0.127mm)(max 0.127mm)))
(rule "LVDS_USRIO_Skew"
(condition "A.hasNetclass('LVDS_USRIO')")
(constraint skew (min -0.1mm)(opt 0mm)(max 0.1mm)))
(rule LVDS_ADC_Inner
(layer inner)
(condition "A.hasNetclass('LVDS_ADC')")
(constraint diff_pair_gap (opt 0.23035mm))
(constraint track_width (opt 0.127mm)))
(constraint diff_pair_gap (min 0.23035mm)(opt 0.23035mm)(max 0.23035mm))
(constraint track_width (min 0.127mm)(opt 0.127mm)(max 0.127mm)))
(rule LVDS_ADC_Outer
(layer outer)
(condition "A.hasNetclass('LVDS_ADC')")
(constraint diff_pair_gap (opt 0.13022mm))
(constraint track_width (opt 0.127mm)))
(constraint diff_pair_gap (min 0.13022mm)(opt 0.13022mm)(max 0.13022mm))
(constraint track_width (min 0.127mm)(opt 0.127mm)(max 0.127mm)))
(rule "LVDS_ADC_Skew"
(condition "A.hasNetclass('LVDS_ADC')")
(constraint skew (min -0.1mm)(opt 0mm)(max 0.1mm)))
(rule PCIe_Inner
(layer inner)
(condition "A.NetClass == 'PCIe'")
(constraint diff_pair_gap (opt 0.127mm))
(constraint track_width (opt 0.14789mm)))
(condition "A.hasNetclass('PCIe')")
(constraint diff_pair_gap (min 0.127mm)(opt 0.127mm)(max 0.127mm))
(constraint track_width (min 0.14789mm)(opt 0.14789mm)(max 0.14789mm)))
(rule PCIe_Outer
(layer outer)
(condition "A.NetClass == 'PCIe'")
(constraint diff_pair_gap (opt 0.127mm))
(constraint track_width (opt 0.19079mm)))
(condition "A.hasNetclass('PCIe')")
(constraint diff_pair_gap (min 0.127mm)(opt 0.127mm)(max 0.127mm))
(constraint track_width (min 0.19079mm)(opt 0.19079mm)(max 0.19079mm)))
(rule "PCIe_Skew"
(condition "A.hasNetclass('PCIe')")
(constraint skew (min -0.1mm)(opt 0mm)(max 0.1mm)))
(rule FE_50Z_Inner
(layer inner)
(condition "A.NetClass == 'FE_50Z'")
(condition "A.hasNetclass('FE_50Z')")
(constraint disallow track))
(rule FE_50Z_Outer
(layer outer)
(condition "A.NetClass == 'FE_50Z'")
(constraint track_width (opt 0.213mm)))
(condition "A.hasNetclass('FE_50Z')")
(constraint track_width (min 0.213mm)(opt 0.213mm)(max 0.213mm)))
(rule FE_50Z_Vias
(condition "A.NetClass == 'FE_50Z'")
(condition "A.hasNetclass('FE_50Z')")
(constraint via_count (min 0) (opt 0) (max 0)))
(rule GND_Planes
(condition "A.Layer == 'In1.Cu' || A.Layer == 'In4.Cu'")
(constraint disallow track))
(rule "Allow connector silk to intersect board edge"
(constraint silk_clearance)
(severity ignore)
(condition "A.memberOfFootprint('J*') && B.Layer=='Edge.Cuts'"))
(rule "Distance between test points"
(constraint courtyard_clearance (min 0.5mm))
(condition "A.Reference =='TP*' && B.Reference == 'TP*"))

View File

LOADING design file

View File

@ -1,6 +1,6 @@
{
"board": {
"active_layer": 4,
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [
@ -315,7 +315,7 @@
"conflict_shadows",
"shapes"
],
"visible_layers": "00000000_00000000_00000008_82002277",
"visible_layers": "00000000_00000000_00000008_82002227",
"zone_display_mode": 0
},
"git": {

View File

@ -58,7 +58,280 @@
"width": 0.0
}
],
"drc_exclusions": [],
"drc_exclusions": [
[
"copper_edge_clearance|132301095|152403600|9ad64d92-58cc-4f00-bbd5-3054ac26ab3b|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
"PCIe Edge Connector"
],
[
"copper_edge_clearance|132301095|153403600|9ad64d92-58cc-4f00-bbd5-3054ac26ab3b|2ffec885-2238-4a6f-a55d-026323383ed8",
"PCIe Edge Connector"
],
[
"copper_edge_clearance|143001095|153403600|8078e05e-01c2-49e1-b2d8-abbeebfcda18|5f51daae-7289-4599-9d78-a13a19ed2676",
"PCIe Edge Connector"
],
[
"copper_edge_clearance|143001095|153403600|8078e05e-01c2-49e1-b2d8-abbeebfcda18|7634b583-5371-41b7-a524-f9e67a113785",
"PCIe Edge Connector"
],
[
"copper_edge_clearance|145301095|153403600|e4cc6f3a-352a-4e91-9bfe-a4b5b4fe8684|5e68d350-74b0-461a-afd3-351614883e81",
"PCIe Edge Connector"
],
[
"copper_edge_clearance|145301095|153403600|e4cc6f3a-352a-4e91-9bfe-a4b5b4fe8684|ea99a628-7d6e-4019-a088-e249cacb79d7",
"PCIe Edge Connector"
],
[
"copper_edge_clearance|166001095|153403600|6848bbb7-c218-419d-b363-2f4822a47dd4|e637e05c-219a-4046-a70e-1b950ad17851",
"PCIe Edge Connector"
],
[
"copper_edge_clearance|166001095|153403600|6848bbb7-c218-419d-b363-2f4822a47dd4|f3e7bccb-8e6a-4cfd-b672-e5150864a5f0",
"PCIe Edge Connector"
],
[
"solder_mask_bridge|133651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|134651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|135651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|135651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|136651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|136651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|137651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|137651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|138651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|138651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|139651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|139651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|140651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|140651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|141651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|141651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|142651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|142651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|145651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|145651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|146651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|146651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|147651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|147651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|148651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|148651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|149651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|149651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|150651095|150803600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|150651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|151651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|151651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|152651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|152651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|153651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|153651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|154651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|154651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|155651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|155651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|156651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|156651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|157651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|157651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|158651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|158651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|159651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|159651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|160651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|160651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|161651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|161651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|162651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|162651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|163651105|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|163651105|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|164651105|150803600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|164651105|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
],
[
"solder_mask_bridge|165651095|151303600|6ff48ef3-4bd8-47c6-9b61-2254e89d0825|2ffec885-2238-4a6f-a55d-026323383ed8",
""
],
[
"solder_mask_bridge|165651095|151303600|e3d661b0-2550-4a62-99f8-c8204f300c93|744389cf-6ab9-4cc8-8227-1aa11e78cc41",
""
]
],
"meta": {
"version": 2
},
@ -102,7 +375,7 @@
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"silk_overlap": "ignore",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
@ -499,7 +772,7 @@
"classes": [
{
"bus_width": 10,
"clearance": 0.1524,
"clearance": 0.127,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
@ -522,7 +795,7 @@
"schematic_color": "rgba(0, 0, 0, 0.000)"
},
{
"clearance": 0.1524,
"clearance": 0.15,
"name": "FE_50Z",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 6,
@ -556,7 +829,7 @@
"schematic_color": "rgba(0, 0, 0, 0.000)"
},
{
"clearance": 0.1524,
"clearance": 0.15,
"name": "PWR",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 5,

View File

@ -1,4 +1,4 @@
25205729739705324
25205739970083261
Audio_Module
Reverb_BTDR-1H
Digital Reverberation Unit, http://www.belton.co.kr/inc/downfile.php?seq=17&file=pdf (footprint from http://www.uk-electronic.de/PDF/BTDR-1.pdf)