brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
kicad-highspeedHardware engineering rules for high-speed digital buses, Ethernet (RMII/RGMII), magnetics, USB 2.0/3.0 differential pairs (90Ω/100Ω), return path continuity, via antipad keepouts, and EMI suppression.
Independent GitHub snapshot · Automated classification · Original documentation governs
This pack governs high-speed digital buses, fast microcontrollers, Ethernet interfaces (RMII/RGMII), USB differential pairs, SPI display links, and electromagnetic compatibility (EMC).
All high-speed traces reference an unbroken ground plane on the immediately adjacent layer (e.g. L1 signal over L2 solid ground):
| Interface | Signal Type | Target Differential $Z_{\text{diff}}$ | Single-Ended $Z_0$ | Length Matching Tolerance | Typical Geometry (JLC04161H Stackup) |
|---|---|---|---|---|---|
| USB 2.0 (High Speed) | Diff Pair (D+ / D-) | $90,\Omega \pm 10%$ | $45,\Omega$ | Intra-pair $\le 1.25,\text{mm}$ (50 mils) | $W = 0.20,\text{mm}, S = 0.15,\text{mm}, H = 0.10,\text{mm}$ |
| Ethernet 100Base-TX | Diff Pair (TX± / RX±) | $100,\Omega \pm 10%$ | $50,\Omega$ | Intra-pair $\le 0.50,\text{mm}$ (20 mils) | $W = 0.18,\text{mm}, S = 0.20,\text{mm}, H = 0.10,\text{mm}$ |
| Single-Ended Clocks | Clock / RF Microstrip | N/A | $50,\Omega \pm 10%$ | N/A | $W = 0.36,\text{mm}, H = 0.20,\text{mm}$ |
| RMII (50 MHz Clock) | Synchronous Bus | N/A | $50,\Omega \pm 10%$ | Match to $\text{REF_CLK} \le 5,\text{mm}$ | $W = 0.36,\text{mm}$, direct point-to-point |
At frequencies above $100,\text{kHz}$, return currents flow through the reference plane directly underneath the signal trace to minimize loop inductance ($L \propto \text{Area}$).
When routing Ethernet controllers (e.g. LAN8720A, RTL8211, IP101G):
REF_CLK must have a series termination resistor ($22\text{--}33,\Omega$) placed lt; 5,\text{mm}$ from the driver pin to suppress ringing.When running automated routing (scripts/route_pcb.py or TraceMaker) on multi-layer high-speed boards:
--no-tracks-on In1.Cu. This mathematically prevents the router from cutting slots or tracks through the primary high-speed return path plane.--layer-cost In2.Cu:10.0 to bias signals to the outer layers and keep the internal power distribution plane solid and low-impedance.