element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Support (English) USB routing problems : D+/- length issues
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 30 replies
  • Answers 2 answers
  • Subscribers 181 subscribers
  • Views 2614 views
  • Users 0 members are here
  • length
  • d-
  • autorouter
  • usb
  • parallelism
  • d+
Related

USB routing problems : D+/- length issues

Former Member
Former Member over 14 years ago

Hello everyone

 

I'm a user of Eagle for 2 years now, and i'm trying to make USB with an Overo and a dsPIC.

The thing is that I had read somewhere (http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdf) that the signals D+ and D- must have the same length (they talk about non parallelism page 10 figure 5)

 

But here is the point : how you do that on Eagle , to force 2 wire to have the same length (or being parallel all the way), in autorouter mode of course but even in manual mode.

 

Thanks for the help .

 

Best Regards

  • Sign in to reply
  • Cancel
Parents
  • Former Member
    0 Former Member over 14 years ago

    Vincent Vittori schrieb:

     

    I'm a user of Eagle for 2 years now, and i'm trying to make USB with

    an Overo and a dsPIC. The thing is that I had read somewhere

    (http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdf) that the

    signals D+ and D- must have the same length (they talk about non

    parallelism page 10 figure 5)

     

    But here is the point : how you do that on Eagle , to force 2 wire to

    have the same length (or being parallel all the way), in autorouter

    mode of course but even in manual mode.

     

    First of all, I would never use the autorouter for this. (I don't use it

    at all... but here it's essential.)

     

    Then, simply (manually) route your tracks as parallel as possible. You

    can check their length with an ULP and correct them if necessary.

     

    In EAGLE, there is no way to /force/ an equally long differential pair

    during routing, neither manually nor by autorouter. Maybe V6 will add

    something new here, but I don't know.

     

    Tilmann

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • kcadsoft
    0 kcadsoft over 14 years ago in reply to Former Member

    On 09/23/11 08:08, Tilmann Reh wrote:

    ...

    In EAGLE, there is no way to /force/ an equally long differential pair

    during routing, neither manually nor by autorouter. Maybe V6 will add

    something new here, but I don't know.

     

    In V6 the (manual) ROUTE command will treat signals that have the

    same net class and the same name (one ending with '+' and the other

    with '-') as "differential pairs". When picking up one airwire of such

    a pair, both signals will be routed in parallel, keeping the distance

    as defined in the net class.

     

    This can't guarantee the same length for both signals, so there

    will also be a new command that generates "meanders" to compensate

    for length differences, or to create a fixed total length of a

    differential pair.

     

    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

    _______________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Reply
  • kcadsoft
    0 kcadsoft over 14 years ago in reply to Former Member

    On 09/23/11 08:08, Tilmann Reh wrote:

    ...

    In EAGLE, there is no way to /force/ an equally long differential pair

    during routing, neither manually nor by autorouter. Maybe V6 will add

    something new here, but I don't know.

     

    In V6 the (manual) ROUTE command will treat signals that have the

    same net class and the same name (one ending with '+' and the other

    with '-') as "differential pairs". When picking up one airwire of such

    a pair, both signals will be routed in parallel, keeping the distance

    as defined in the net class.

     

    This can't guarantee the same length for both signals, so there

    will also be a new command that generates "meanders" to compensate

    for length differences, or to create a fixed total length of a

    differential pair.

     

    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

    _______________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Children
  • Former Member
    0 Former Member over 14 years ago in reply to kcadsoft

     

    "Klaus Schmidinger" <Klaus.Schmidinger@cadsoft.de> a écrit dans le message de news:

    j5hdh5$va6$1@cheetah.cadsoft.de...

    On 09/23/11 08:08, Tilmann Reh wrote:

    >> ...

    >> In EAGLE, there is no way to /force/ an equally long differential pair

    >> during routing, neither manually nor by autorouter. Maybe V6 will add

    >> something new here, but I don't know.

     

    In V6 the (manual) ROUTE command will treat signals that have the

    same net class and the same name (one ending with '+' and the other

    with '-') as "differential pairs". When picking up one airwire of such

    a pair, both signals will be routed in parallel, keeping the distance

    as defined in the net class.

     

    does that mean there will be more than 7 net classes?

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • kcadsoft
    0 kcadsoft over 14 years ago in reply to Former Member

    On 09/23/11 12:12, Christian Bohrer wrote:

    "Klaus Schmidinger"<Klaus.Schmidinger@cadsoft.de>  a écrit dans le message de news:

    j5hdh5$va6$1@cheetah.cadsoft.de...

    >> On 09/23/11 08:08, Tilmann Reh wrote:

    >>> ...

    >>> In EAGLE, there is no way to /force/ an equally long differential pair

    >>> during routing, neither manually nor by autorouter. Maybe V6 will add

    >>> something new here, but I don't know.

    >>

    >> In V6 the (manual) ROUTE command will treat signals that have the

    >> same net class and the same name (one ending with '+' and the other

    >> with '-') as "differential pairs". When picking up one airwire of such

    >> a pair, both signals will be routed in parallel, keeping the distance

    >> as defined in the net class.

     

    does that mean there will be more than 7 net classes?

     

    We were thinking about increasing this number to 16.

     

    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

    _______________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 14 years ago in reply to kcadsoft

    "Klaus Schmidinger" <Klaus.Schmidinger@cadsoft.de> wrote in message

    news:j5hdh5$va6$1@cheetah.cadsoft.de...

    In V6 the (manual) ROUTE command will treat signals that have the

    same net class and the same name (one ending with '+' and the other

    with '-') as "differential pairs". When picking up one airwire of such

    a pair, both signals will be routed in parallel, keeping the distance

    as defined in the net class.

     

    You should be a bit careful about using the + and - signs. It works as long

    as you dont export netfiles to other tools, but + and - in names are often a

    source of confusion and problems. As an example, we export netnames

    connected to FPGA's and feed them into the pin assignment files. That tool

    will not allow + and - and simply replacing it with something else is a

    potential source of conflict.

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 14 years ago in reply to kcadsoft

    Klaus Schmidinger wrote on Fri, 23 September 2011 03:46

    This can't guarantee the same length for both signals, so there

    will also be a new command that generates "meanders" to compensate

    for length differences, or to create a fixed total length of a

    differential pair.

     

     

    Klaus, will this new command that adds "meanders" be able to take a list of

    signals, not just a diff pair?  If so, it could be used to equalize trace

    lengths across a bus like DDR, DDR2,  etc.

     

    You may also want to make sure you add parameters for the tolerance allowed

    for difference in lengths, both longer and shorter.  Once it's good enough

    then the function can stop, where "good enough" is a parameter to the

    command.

     

    Cheers,

     

    James.

    --

    James Morrison  ~~~  Stratford Digital

     

    Specializing in CadSoft EAGLE

    • Online Sales to North America

    • Electronic Design Services

    • EAGLE Enterprise Toolkit

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 14 years ago in reply to kcadsoft

    Klaus Schmidinger wrote on Fri, 23 September 2011 03:46

    In V6 the (manual) ROUTE command will treat signals that have the

    same net class and the same name (one ending with '+' and the other

    with '-') as "differential pairs". When picking up one airwire of such

    a pair, both signals will be routed in parallel, keeping the distance

    as defined in the net class.

     

     

    It's good that you are adding the capbility to keep traces together, but

    this should not be driven from the net names.  Automatic features like that

    may seem like they are saving time, but in the long run always cause

    trouble.  If two signals are to be routed together, I want to tell Eagle

    that explicitly and never have it think it knows somehow on its own.  For

    example, I have some existing designs with signal names D+ and D-, but I

    don't necessarily want them routed together.

     

    Within the existing Eagle framework, it's probably best if this were a

    property of net classes.  When this property is set, then all signals in

    the class will be routed together.  It's up to me to explicitly put such

    signals in their own net class and then enable the property.  Please,

    nothing automatic.

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 14 years ago in reply to Former Member

    (for some reason my phone nntp reader doesnt quote some msgs)

    I think a simple external list of complementary(diff) or grouped(buses)

    netnames would handle this issue nicely. It does not have to be tied to any

    objects.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • kcadsoft
    0 kcadsoft over 14 years ago in reply to Former Member

    On 23.09.2011 16:31, Olin Lathrop wrote:

    Klaus Schmidinger wrote on Fri, 23 September 2011 03:46

    >> In V6 the (manual) ROUTE command will treat signals that have the

    >> same net class and the same name (one ending with '+' and the other

    >> with '-') as "differential pairs". When picking up one airwire of such

    >> a pair, both signals will be routed in parallel, keeping the distance

    >> as defined in the net class.

    >

    It's good that you are adding the capbility to keep traces together, but

    this should not be driven from the net names.  Automatic features like that

    may seem like they are saving time, but in the long run always cause

    trouble.  If two signals are to be routed together, I want to tell Eagle

    that explicitly and never have it think it knows somehow on its own.  For

    example, I have some existing designs with signal names D+ and D-, but I

    don't necessarily want them routed together.

     

    Within the existing Eagle framework, it's probably best if this were a

    property of net classes.  When this property is set, then all signals in

    the class will be routed together.  It's up to me to explicitly put such

    signals in their own net class and then enable the property.  Please,

    nothing automatic.

     

    That would mean you need one net class for each differential pair.

    Not very practical.

     

    There has to be some way of identifying which two signals form

    a differential pair, and that's going to be via the signal names.

    We can discuss which way this is done, so if '+' and '-' appear

    inappropriate, we could use "_P" and "_N".

     

    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

    _______________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • kcadsoft
    0 kcadsoft over 14 years ago in reply to Former Member

    On 23.09.2011 15:47, Morten Leikvoll wrote:

    "Klaus Schmidinger"<Klaus.Schmidinger@cadsoft.de>  wrote in message

    news:j5hdh5$va6$1@cheetah.cadsoft.de...

    >> In V6 the (manual) ROUTE command will treat signals that have the

    >> same net class and the same name (one ending with '+' and the other

    >> with '-') as "differential pairs". When picking up one airwire of such

    >> a pair, both signals will be routed in parallel, keeping the distance

    >> as defined in the net class.

     

    You should be a bit careful about using the + and - signs. It works as long

    as you dont export netfiles to other tools, but + and - in names are often a

    source of confusion and problems. As an example, we export netnames

    connected to FPGA's and feed them into the pin assignment files. That tool

    will not allow + and - and simply replacing it with something else is a

    potential source of conflict.

     

    We could just as well use something more exotic, like "_P" and "_N".

     

    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

    _______________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 14 years ago in reply to kcadsoft

    Klaus Schmidinger wrote:

     

     

    There has to be some way of identifying which two signals form

    a differential pair, and that's going to be via the signal names.

    We can discuss which way this is done, so if '+' and '-' appear

    inappropriate, we could use "_P" and "_N".

     

     

    As the feature is only for manual routing I would favour a 'gather' command

    in which you specify the pair/pairs

    This could work a number of ways but something like an alias list. You would

    store the signal name pairs in this list and whenever you start to route a

    signal the list is consulted to determine if another signal must be routed.

    Using this method, signal names are irrelevant and negate the need for + -

    _P _N

     

    This list of pairings would need to be stored in the board file

     

    Warren

     

    --

    Viewed / responded via the newsgroup at

    news.cadsoft.de

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 14 years ago in reply to kcadsoft

    Klaus Schmidinger wrote on Fri, 23 September 2011 12:24

    That would mean you need one net class for each differential pair.  Not

    very practical.

     

    Why?  Does the existance of a new class have a high cost?  Is there some

    reason not to make lots of them?  Besides, how many differential pairs do

    you envision needing?  Currently I use maybe 4 or 5 net classes at most.

    There seem to be a lot more than I need already.

     

    And what about whole busses that should be routed together?

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube