Repository navigation
Releases: DvidMakesThings/WINAPP_DiffPairCheck
Release list
DiffPairCheck
DiffPairCheck.exe - Differential Pair Length Checker
DiffPairCheck.exe is a standalone Windows application designed to verify the length matching of differential pairs in high‑speed designs. It processes signal reports exported from Eagle (using the Eagle ULP "length") and checks that the lengths of paired signals meet the required tolerances for a given interface. The application groups signals based on strict naming conventions and allows users to assign interfaces to each pair, run detailed checks, and export a Markdown report of the results.
Naming Conventions
DiffPairCheck.exe relies on a strict naming convention to accurately group differential pairs. The signal names must follow the format.
-
Format:
InterfaceName + _DiffPairName + ( _N or _P )For example:
ETH1_TX4_N/ETH1_TX4_P
→ These signals belong to the Ethernet interface labeled ETH1 and represent a differential pair (TX4).ETH0_TX4_N/ETH0_TX4_P
→ These signals belong to a different Ethernet interface ETH0 and are treated as a separate group.
Following this naming convention ensures that signals from different connectors or interfaces (such as HDMI0 vs. HDMI1, ETH0 vs. ETH1, etc.) are grouped correctly and checked only against others in the same group.
Preparing Your Signal Report
Before using DiffPairCheck.exe, you must export the signal length list from your Eagle design:
- Export with Eagle ULP "length":
Use the Eagle ULP namedlengthto generate a text file containing the signal names and their lengths in millimeters. - Save the File:
Save the exported text file to a location of your choice. - Import into DiffPairCheck.exe:
When you launch DiffPairCheck.exe, use the Load Signal File button to browse and select your exported text file.
How to Use DiffPairCheck.exe
-
Launch the Application:
Double-click onDiffPairCheck.exeto start the program. -
Load a Signal File:
- Click the Load Signal File button in the top-left section.
- Navigate to the location of your exported Eagle signal report (the text file) and select it.
- The filename will be displayed, confirming that the file has been loaded successfully.
-
Review and Assign Interfaces:
- The left pane lists the detected differential pairs. Each row shows the two channels (those ending with
_Nand_P) and includes a dropdown menu pre‑assigned with a recommended interface. - If necessary, adjust the interface assignment for any pair using the dropdown.
- The left pane lists the detected differential pairs. Each row shows the two channels (those ending with
-
Run the Check:
- Click the Run Check button (displayed as a dark green button that becomes even darker on hover) located in the center of the button frame.
- The application will:
- Pair Check: Verify that the length difference between the two channels of each pair is within the specified pair tolerance.
- Inter‑Pair Check: For groups with multiple pairs (e.g., all signals from a specific connector), it determines the longest and shortest average trace lengths and checks that their difference does not exceed the inter‑pair tolerance.
- HDMI 1.4 Extra Check: Ensure that the TMDSCK (clock) pair’s average length is shorter than those of the data lane pairs.
- The results are displayed in a table on the right pane, showing columns for Group, Pair, Diff (mm), Tolerance (mm), and Status (with PASS shown in green and FAIL in red).
-
Save the Report:
- Click the Save Report button (located to the right of the Run Check button).
- In the save dialog, choose a destination and filename for your Markdown report.
- The saved report will include a header with the input filename, timestamp, overall status (colored green for PASS or red for FAIL), and a neatly formatted table of results.
Example Report Format
Below is an example of the Markdown report generated by DiffPairCheck.exe:
| Group | Pair | Diff (mm) | Tolerance (mm) | Status |
|---|---|---|---|---|
| Ethernet 1000BASE-T (ETH1) | ----- | |||
| ETH1_TX4_N / ETH1_TX4_P | 0.471 | ±0.127 | FAIL | |
| ETH1_TX3_N / ETH1_TX3_P | 0.528 | ±0.127 | FAIL | |
| ETH1_TX2_N / ETH1_TX2_P | 0.581 | ±0.127 | FAIL | |
| ETH1_TX1_N / ETH1_TX1_P | 0.607 | ±0.127 | FAIL | |
| Inter‑Pair | 12.271 | ±0.254 | FAIL | |
| HDMI 1.4 (HDMI0) | ----- | |||
| HDMI0_TDMSCK_N / HDMI0_TDMSCK_P | 0.562 | ±0.127 | FAIL | |
| HDMI0_TDMS0_N / HDMI0_TDMS0_P | 0.485 | ±0.127 | FAIL | |
| HDMI0_TDMS1_N / HDMI0_TDMS1_P | 0.408 | ±0.127 | FAIL | |
| HDMI0_TDMS2_N / HDMI0_TDMS2_P | 0.508 | ±0.127 | FAIL | |
| Inter‑Pair | 9.342 | ±0.508 | FAIL | |
| HDMI0_TDMSCK_N / HDMI0_TDMSCK_P (TMDSCK) | 43.453 | PASS |
The report header also includes:
- Input File: Name of the loaded signal report
- Date/Time: When the report was generated
- Overall Status: Displayed in large, colored text (green for PASS, red for FAIL)
Troubleshooting
-
File Loading Issues:
Ensure your signal report is exported using the Eagle ULP "length" in the expected tab‑separated format with at least two columns (signal name and length in mm). -
Incomplete Pairs:
If you see “Incomplete pair” messages, verify that every differential pair has both an_Nand a_Psignal, and that the naming follows the correct convention. -
Interface Assignment:
Adjust the pre‑assigned interfaces using the dropdown menus if the default recommendations do not match your design.
License
This project is licensed under the GPL-3.0 License. See the LICENSE file for details.
Contact
For questions or feedback:
- Email: s.dvid@hotmail.com
- GitHub: DvidMakesThings
Enjoy using DiffPairCheck.exe to ensure your high‑speed designs meet the necessary differential pair matching requirements!