2

I have been assigned the task of laying out an A4-sized 10-layer PCB board using Allegro. Someone else is doing the schematics, which I will receive soon (all I know now is that the board contains an FPGA and an ARM, and that there are less than 1000 components). I have never laid out a PCB before.

My boss has given me a couple days to learn the basics of Allegro and PCB layout. Internally, we have a "PCB Design Guidelines and Checklist" I'm going to read, and a book by Kraig Mitzner

Complete PCB Design Using OrCAD Caputre and PCB Editor

What recommendations do you have for PCB layout beginners? What are major time savers you wished you knew when you started PCB layout? Are there must-read PCB layout resources online or elsewhere?

Randomblue
  • 10,953
  • 29
  • 105
  • 178
  • 10
    My best recommendation would be to start by laying-out something simple and working your way up - apparently not an option in your case. You have my deepest sympathy and your boss needs a reality-check! – MikeJ-UK Feb 20 '13 at 10:56
  • 1
    Really there's no way to quickly learn how to do an efficient (or even working) layout for a PCB as complex as you described. Also how do you know that the PCB is going to be 10 layer? Wouldn't that decision be mostly up to PCB designer? – AndrejaKo Feb 20 '13 at 11:01
  • 5
    Tell your boss to find someone else who knows something about the design of complex PCBs! – Leon Heller Feb 20 '13 at 11:03
  • @AndrejaKo: That the board has many layers is meant to help me by giving me more space to work with. Same goes with the large size. The board will not be very dense. – Randomblue Feb 20 '13 at 11:17
  • 2
    If this is a low-speed circuit without any tight noise requirements, if it is a circuit you could just throw together on a breadboard and expect it to work, then you can probably just throw it together on a PCB and expect it to work, also. For every other board, there are as many considerations as there are electrical phenomena, and as such I think this question as asked does not have an answer. – Phil Frost Feb 20 '13 at 12:13
  • 6
    Does your boss look anything like this: http://upload.wikimedia.org/wikipedia/en/f/fb/Pointy-Haired_Boss.jpg ;o) – jippie Feb 20 '13 at 12:37
  • 2
    Estimate is under 1000 components. A more useful estimate is the number of device pins : can you add that to the question? –  Feb 20 '13 at 13:17

2 Answers2

9

Normally I love a challenge, and I hate naysayers, but I'm going to recommend surrender. Consider some analogies:

"I've never driven a car before, but my boss wants to enter me into a Formula 1 race tomorrow. What tips do you have for driving?"

"I've never played chess before, but I have played snakes and ladders. My boss wants me to play against Deep Blue tomorrow. What tips do you have?"

The design of this PCB sounds pretty complex. I have been designing PCBs for more than 15 years. A moderately complex 4-layer board about 50mm x 50mm with no high speed components still takes me about a week to lay out to my satisfaction. This is partly because of the tight packing requirements, but mostly because it really does take time to get things right.

If someone asked me to lay out the board you describe, I would have to have a stiff drink and sit down. I might well turn down the job.

If this board contains no high speed digital or sensitive analogue components, then you might just get away with it. It will simply be a matter of throwing a lot of time at the problem. If the board contains high speed transmission lines between the FPGA and other components, then you will need to learn how to lay these out properly. You will also need to pay careful attention to the power distribution, especially around the FPGA.

Remember that at high speeds, the PCB is actually a component. What you are designing is not a bunch of wires, but a complex nest of inductors and capacitors.

Rocketmagnet
  • 26,933
  • 17
  • 92
  • 177
  • I guess I didn't describe things properly. Firstly this is not a high speed or dense layout. The board is a one-off bring-up board for a chip we're designing. The reason it is so large, and has so many layers, is so that I have lots of space to work with. The large size is meant to help me (by reducing density), not make things difficult. – Randomblue Feb 20 '13 at 11:38
  • 3
    @Randomblue - an you tell us more things about the board in that case. What is the package of the FPGA? What is the maximum edge rate you expect, or at least maximum frequency signal entering or exiting the FPGA? Any analogue components? What's the clock rate of the FPGA? – Rocketmagnet Feb 20 '13 at 12:03
8

A couple of hints :

(1) Get a feel by stealing a simple schematic - maybe an Arduino - and spending a few days laying that out. You'll get a feel for the tools, what is easy and what is harder.

(2) Location, location, location ... What are the important design considerations when laying out a PCB?

You'll see this if you try to lay out an Arduino in an Arduino-sized space! Especially with the full board, try several placements and save them all.

(3) I suggest trying it as an 8-layer board with 2 planes (power, ground) leaving 4 inner layers for routing. Use these in pairs : 1 layer for vertical tracks (with small deviations) and 1 for horizontal tracks. You have plenty of room for vias so use them freely for changing layers, and don't bother with blind or buried vias.

Clump vias together in clumps of 4 to 8 rather than cutting the ground plane into pieces with them...

The advantage of disciplining yourself to 8 layers is that if you do get utterly stuck you have 2 clean layers to rescue yourself with. And if you don't, you save a little on the board cost.

4) Make sure the boss understand that this is probably 2 months solid work, and very likely both more cost effective and faster to use a specialist.

EDIT : I forgot one... 5) To get a feel for the placement problem, play this game If you can get to level 20 quickly enough, you'll do OK...

  • 1
    Additional notes: I think Brian is optimistic with a 2-month estimate. As a first-timer, you have no intuition for dealing with issues that experienced designers just take in stride. There will be a lot of ripup and retry. Be patient and do it right; don't attempt to cut corners. Once you have a trial placement for the components, print it out 1:1 and try placing the components on it to check for clearance issues. Do this again once you've completed the routing, during which you will have adjusted the placement. Think about the person who will eventually need to assemble this board. – Dave Tweed Feb 20 '13 at 16:33
  • 1
    And finally, you *will* have errors in the final board, despite proper use of the DRC and ERC tools and double-checking your parts library. Plan for this, and make sure that reworking the board will be at least possible, if not easy. Make sure that every net is accessible on one surface or the other for cutting and jumpering. Add extra test points if necessary. I have even gone so far as to put some holes in a prototype board that will allow rework wires to pass easily from one side to the other. – Dave Tweed Feb 20 '13 at 16:36
  • Good points Dave, it can be useful to have access to cut tracks and wire to test points. I should have been clearer that 2 months solid work does NOT include learning time. –  Feb 20 '13 at 16:47
  • @DaveTweed - Something I used to do on my early PCBs was to design in some vero strips, so that I could easily solder on some additional components. – Rocketmagnet Feb 20 '13 at 22:27
  • @BrianDrummond - Damn that's a hard game. Got to level 5 before I wondered what I was doing with my life. – Rocketmagnet Feb 20 '13 at 22:37
  • ... but it HAS got something in common with component placement for layout. Of course it lives in an artificial world where you can eliminate all crossings, so it's simpler than finding a real optimal placement... –  Feb 20 '13 at 22:41
  • @Rocketmagnet: Back in the days when we used lots of PALs, we would usually put a few "spare" PALs here and there, with all their I/O brought out to test points. A 22V10 can solve a lot of last-minute problems! – Dave Tweed Feb 21 '13 at 00:37
  • @BrianDrummond - Totally. It's basically the same game as component placement on a PCB. The only difference is that when you've finished, you don't have a PCB to show for it. – Rocketmagnet Feb 21 '13 at 08:26