⚠️ Note
Differential pair routing has the following initial limitations. We're already working to expand these constraints to enable the development of more sophisticated designs.
Quilter cannot currently route differential pairs with multiple receivers ("multi-drop" or "fly-by" pairs). These will be detected but automatically ignored.
Quilter cannot route differential pairs on 2-layer stack-ups to ensure they are always routed on top of a ground plane. We always route differential pairs as microstrip and can't yet do co-planar waveguide.
Quilter cannot currently route differential pairs that transition layers. We can route on top and bottom signal layers but can't route pairs that travel through vias. Also coming soon!
What is a differential pair?
A differential pair consists of two traces that carry equal and opposite signals. Differential pairs are typically used to ensure adequate signal performance when routing digital communication protocols like USB, HDMI, and CAN.
To optimize for signal integrity and prevent electromagnetic interference (EMI), differential pairs are routed with:
Equal lengths to ensure signals arrive simultaneously
Controlled impedance to minimize crosstalk, prevent signal degradation, and reduce EMI
Consistent spacing to maintain specified differential impedance
Quilter supports automatic detection and routing of differential pairs as a dedicated constraint type.
How do I create differential pair constraints?
Quilter automatically detects differential pairs in your design by looking at net names with paired suffixes, such as +/-, A/B, P/M, P/N, and T/C, with optional additional characters.
Here's a complete list of the conventions Quilter can use to detect differential pairs.
Prefix | Description | Example |
| Plus / Minus |
|
| A / B |
|
| Plus / Minus |
|
| Positive / Negative |
|
| True / Complement |
|
Note: Quilter will not interpret net names that start with V
as a differential pair to avoid confusion with power net names
If you'd like to add a differential pair constraint to your Quilter job, please label the corresponding net names using one of the above naming conventions.
Reviewing/approving differential pair constraints
When Quilter detects a potential differential pair, it presents it for validation as part of the "Impedance Control" section of the "Circuit Comprehension" step of job creation.
For each differential pair, you can specify:
Differential / single-ended impedance
Carrier frequency
Quilter uses this information to determine the appropriate trace with and spacing requirements for the specific stack-up that Quilter is using to generate your PCB layout.
If Quilter has incorrectly identified a differential pair, you can ignore it by toggling the "ignore" pill on the right of that differential pair.
How does Quilter calculate trace width/spacing rules for differential pairs?
Differential pair trace widths and spacings are calculated to meet the target impedance requirements using a 2D quasi-static field solver that considers each candidate's unique stack-up.
Note: Differential/single-ended impedances are currently limited to 100Ω differential (50Ω single-ended) and 85Ω differential (42.5Ω single-ended). We plan to add support for fully customized differential and single-ended impedance requirements shortly.
We utilize a standard 10% tolerance for differential impedance requirements and intend to expose user-definable tolerances for differential impedance calculations in the future.
How does Quilter validate differential pairs?
Quilter validates differential pairs using Physics Rule Checks. More information on PRCs for differential pairs can be found here.
FAQs
What is the highest frequency Quilter can handle?
Quilter's impedance control calculations are accurate and recommended for signals up to 6GHz.