This is a summary of what we have decided upon with respect
to implementing differential pair signals and buses. The
discussion originated in the thread
"USB routing problems : D+/- length issues"
but since that thread has become rather nested I thought
it makes sense to do a fresh start with this.
EAGLE version 6 will be able to (manually) route differential
pair signals, which will work as follows:
- Two signals form a differential pair if they have the
same name, one ending in "_P" and the other ending in "_N",
and the same net class.
- The distance between the two signals' wires and their width
and via drill diameter is defined by the net class.
- When picking up an airwire of such a pair, both wires will
be routed simultaneously.
- If, for some reason, only the selected wire shall be routed,
the other one can be dropped by pressing ESCape.
To be able to define a differential pair bus, the bus naming
convention will be extended to allow the ']' to be followed by
"_P" or "_N". A complete 32 bit differential pair bus would
thus consist of two parts, namely
ABC[0..31]_P,ABC[0..31]_N
which results in the individual net/signal names
ABC0_P, ABC1_P, ..., ABC31_P
ABC0_N, ABC1_N, ..., ABC31_N
with, for instance, ABC1_P and ABC1_N forming an individual
differential pair.
A new command to automatically create "meanders" will be implemented
which works as follows:
- The user selects a (lengthy) wire of a differential pair signal,
say ABC0_P.
- If there is a matching signal with the other polarity (ABC0_N
in this case), all matching signals that form a bus are taken
into account (ABC[0..31]_P and ABC[0..31]_N) and the one that
contains the longest connection defines the common length all
bus members shall have.
- By dragging the mouse the user defines the length of the local
meander, which compensates for the length difference between the
two wires forming the local differential pair and the total
difference between this bus member and the longest bus member
at the same time, which could look like this (you should display
this graphic with a fixed font):
____ ____ _________________
__ | __ | __ __ __ |
_____|| || || || || | | | | | |_____ ABC0_P
______| || || || || | | | | |_______ ABC0_N
__ | __ |
|---|
____ | ____ | __ | __ |
In this example both ABC0_P and ABC0_N are shorter than the
maximum length any of the other bus members has (which is
compensated by the parallel wires on the left), and ABC0_P
is longer than ABC0_N (which is compensated by the wires to
the right.
- Depending on the available length of the selected
wire, this may result in a complete or a partial match. In the
latter case, further meanders will have to be inserted in other
places along this signal.
Klaus Schmidinger
--
_______________________________________________________________
Klaus Schmidinger Phone: +49-8635-6989-10
CadSoft Computer GmbH Fax: +49-8635-6989-40
Pleidolfweg 15 Email: kls@cadsoft.de
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
_______________________________________________________________