5
\$\begingroup\$

It is the first time for me to design a PCB with a PCIe bus. My first design failed, the bus is not working!

Tom helped me in this question and instructed me how to correctly route a high speed bus - thanks! Ethernet controller not recognized on PCIe bus

I now improved my design, but before spending some more hundred bucks I would like to make sure this should work. Does my routing now look ok? Ground planes and ground vias are not shown.

enter image description here

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Have you confirmed the trace width/spacing requirements to make the differential pairs 100 Ohm? The spacing seems to keep changing along the length of the traces. \$\endgroup\$ Commented Oct 6, 2018 at 19:31
  • 1
    \$\begingroup\$ You can use this tool to work out approximate characteristic impedance. \$\endgroup\$ Commented Oct 6, 2018 at 19:32
  • \$\begingroup\$ To confirm, you are planning a 4 layer board, right? \$\endgroup\$ Commented Oct 7, 2018 at 0:56
  • \$\begingroup\$ Yes, 4 layers... \$\endgroup\$
    – Reto
    Commented Oct 7, 2018 at 6:37

1 Answer 1

9
\$\begingroup\$

You'll need to confirm the trace width/spacing requirements to make the differential pairs 100 Ohm. You can use this tool to work out approximate characteristic impedance of various trace width/spacing combinations. I'd suggest 8th width, 8th spacing is a good place to start, though you may need to tune those to match your PCB stackup.

Also, in your routing, the spacing seems to keep changing along the length of the traces which will not maintain constant impedance, you must route the traces with the spacing maintained constant along the length.


Having a look at your layout, I have the following comments.

It's worth noting that for starters PCIe doesn't require any specific phase on the reference clock, nor specific biasing on the P and N side for the clock. That means that you are free to swap the P and N lines of the clock without consequence. If you make that swap, your clock routing becomes much simpler as you no longer need to cross over.

Next a little rearranging of your PCIe Tx/Rx lanes allows for a much cleaner routing. The length of the two pairs doesn't need to be the same, so it doesn't matter if the RX pair is much longer or shorter than the TX pair. That means that if you place your AC caps on the bottom for both TX and RX, you can actually route the TX pair all the way around the RX pair, meaning your vias can be placed directly at the connector.

Finally, liberal use of ground vias (shown in the image as green filled vias) is essential, especially placed symmetrically either side or around wherever the differential traces change layer - the ground vias are needed to allow return currents on the reference planes to swap layers.

Based on that, I'd suggest something like the following - though you will need to route it and check design rules as this was hand drawn in paint.

Routing Suggestion

\$\endgroup\$
13
  • 2
    \$\begingroup\$ you drew this in paint? \$\endgroup\$ Commented Oct 6, 2018 at 23:08
  • 2
    \$\begingroup\$ I sure hope you're putting your talent to good use :) \$\endgroup\$ Commented Oct 6, 2018 at 23:08
  • 4
    \$\begingroup\$ @MarcusMüller aye, got to love paint at times. I'm currently busily routing a PCIe Gen 3 switch board at the moment (though not in paint I might add). \$\endgroup\$ Commented Oct 6, 2018 at 23:30
  • 1
    \$\begingroup\$ So I guess that talent comes paired with practice & experience. Good for you! \$\endgroup\$ Commented Oct 7, 2018 at 0:17
  • 2
    \$\begingroup\$ @Reto seems reasonable on quick glance. \$\endgroup\$ Commented Oct 10, 2018 at 21:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.