7

Just finished a design of a 8-Layer PCB, the highest frequency is 125MHz.

I want this design to work right the first time, how should I revise the design and what should I take care of?

Something like a checklist will be much appreciated :)

Edit #1 : 6 Mar 2012 : Board Received & Tested

I Received the PCB and finished testing it. It's working very good, yes it "Electrically"worked right the first time :D .. But, found 2 Mechanical problems that will be solved in Rev 2.0. Thanks all :)

Abdella
  • 2,605
  • 4
  • 30
  • 38
  • 4
    Give it to a pro to design and there is a chance it will work the first time, but probably more like the second or third time. I think this question is far too broad to be helpful to anyone. I would love it if there was a simple checklist to make everything work the first time, but if there was engineers wouldnt get paid the big bucks. – Kellenjb Jan 17 '12 at 12:39
  • 2
    8 layers is not trivial. Nobody can guarantee it will work the first time, but the chances are better with someone that knows what they are doing and has some experience. Even then, *something* will be wrong on the first spin. The better the engineer, the smaller, more trivial, and easily fixable this will be. It's a good idea to assume the first spin won't be the final and add extra test points, bring out unused pins, leave a bit more room, etc, to allow for easier rework. – Olin Lathrop Jan 17 '12 at 13:29
  • 4
    Although this is not an exact duplicate, I think any answers to [this question](http://electronics.stackexchange.com/questions/710/what-are-some-gotchas-of-high-frequency-board-design) will be just as relevant to answer your question. However, if you really want a check list, go to the datasheets of every IC you use and read every word of it and make sure you fully understand everything and that you have done everything it says. – Kellenjb Jan 17 '12 at 13:54
  • @Kellenjb Thanks for pointing to the other discussion. It's helpful. @ Olin I am worried of this "something" that will be wrong, I need some examples of common mistakes at this frequency and this PCB complexity. – Abdella Jan 17 '12 at 15:29
  • 2
    @Mohammad the problem is there is no "common" mistakes. Rather every board has its differences that cause issues to arise that would have been almost impossible to predict all of them ahead of time. – Kellenjb Jan 17 '12 at 16:57
  • 1
    No matter how experienced you are, its always a good idea to get a design review from another engineer. If you're a one-person shop, until you're very experienced it would be worthwhile for a commercial project to pay a consulting fee to an outside engineer to review your design. If this is a hobby project, you could still try to find another hobbyist (the more experienced, the better) to review your design (and you could do the same for him some time). How to run a design review to get the most value from it is another question... – The Photon Jan 17 '12 at 17:20
  • 4
    Footprints appear to be my most common mistake. Check them three times, on three different days. My last 6 layer board appeared to come up 1st try... only later I noticed I'd mirrored the pins on a SMT DB9 connector. I also tend to screw up narrow vs. wide SOIC parts somehow. Don't get me started on through hole pin hole sizes... – darron Jan 18 '12 at 04:04
  • @ The Photon, I think the other engineer have a checklist or test procedures to check his design,that's what I need to know. . @darron Got it, i'll give another iteration for checking footprints, an error in it shall ruin the whole thing! – Abdella Jan 18 '12 at 09:09
  • Please check Edit #1 – Abdella Jan 18 '12 at 14:42
  • 1
    @Abdella - Your edit is not related to your original question. You should make it a separate question instead. – Justin Jan 18 '12 at 15:14
  • 1
    I disagree with Darron in that footprints are the most common mistakes. I find it rare that there is a footprint error. This is because that is usually clearly spelled out in the datasheet and there is a straight forward process for making footprints from the information. Real errors happen when you fail to think of something, which is why at least one other person looking over the schematic is such a good idea. There is a reason that design reviews of circuits is so common. – Olin Lathrop Jan 18 '12 at 16:31
  • @Abdella, when doing a design review, I expect the primary engineer (or the DRC tools in the design software) to have already covered any "checklist" requirements. I look for issues that can't be covered in a checklist. – The Photon Jan 18 '12 at 16:44
  • 1
    @Olin - I have worked in two different environments: Junior and senior projects at school, and at an embedded systems company. At school, students created their own footprints for most components. As Darron sugggested, these were a major source of errors. At work, we have a library of standard, tested components. Footprints are rarely the problem here. – Kevin Vermeer Jan 20 '12 at 19:35
  • 2
    @Olin: I've found I have an existing schematic/footprint component for something only about %25 of the time, if I don't count passives or 0.1" headers (which I'm not using much anymore anyway due to size). I'm a one-person company, so there's nobody else to check designs. The reversed DB9 was a perfect implementation of the datasheet... it was just the wrong datasheet! (male instead of female part, and there was no isometic view to make that obvious) – darron Jan 25 '12 at 23:50

3 Answers3

7

No, your proposed ground setup is not a good idea. The analog and digital grounds should be connected solidly, but in exactly one place. Splitting the supply with a small chip inductor can be a good idea, with of course solid decoupling and bypassing to the local ground on each side.

As for a board design checklist, there is no such thing except for the purely procedural matters that anyone can follow. There is not checklist for a good design. This is where the skill, knowledge, and experience of the engineer makes the difference.

I definitely agree with Photon and others in that you should get a design review. We do that routinely here. Anyone can miss something. Circuit design is in large part about thinking of all the contingencies and all the little things that will happen that the circuit has to be able to handle.

For example, I recently did a small 2 layer 3x3 inch test board for a customer I have worked for on other projects. Before sending the board out, I gave the schematic to the customer (who is a scientist but knows a good deal about electronics) for review. He remarked how I had "thought of everything" and pointed out a few things he hadn't considered. But then he also noticed one place I should have included a diode, and he was right. Even on a small board it's possible to overlook something. You really need a second pair of eyes looking it over.

By the way, this board is now working fine. So far one issue has been found due to the thing this board connects to not doing quite what we all expected it to do. Fortunately a firmware update and a simple bit of rework deals with the issue well enough. This is a 10-off test unit, so we're just going to manually rework the existing boards. If more are ever made, I'll make a new version of the board with a few minor things changed.

The point of all this is that you need to plan on the first version of the board not being perfect. Sometimes it's not a design oversight but a misunderstanding of the requirements. This stuff happens, so expect it. Something will be wrong with the first version. If the engineer did a good job, then it will be relatively painless to manually fix on the prototypes and the fix can be incorporated the right way in the next version.

A circuit complex enough to require a 8 layer board isn't going to be perfect the second time either. Something will need to change from the second version. More often than not this is not a issue with the circuit design but a change in external requirements. Marketing will insist on one more feature. The mechanical guys finally got some prototypes and realized a mounting hole needs to be moved and that there is no place for the cable coming off the connector without a expensive change to a mold, so you have to change the board and move the connector.

Stuff happens, even with competent design all around. You can't change that. Just like there is good and bad engineering, there is also good and bad project management. Good project management recognizes the above and plans and budgets accordingly. Bad project management thinks it will be perfect the first or second spin, then gets blindsided and goes into a panic when the inevitable happens. The budget gets blown, upper management gets upset because things are behind (the unrealistic) schedule, and people look for short term fixes a the expense of long term viability. Sometimes upper management understands what is going on and corrects things, like sidelining or outright replacine the immediate project manager. However, in my experience upper management just gets dissollusioned with the whole project, figures it's a mess and will never work, and cuts their losses by cancelling the whole thing. Sometimes the company really needs this project to succeed, but now upper management keeps it on such a tight leash that everything becomes less efficient and takes longer to do, and the immediately cheaper path is always chosen. Sometimes they get away with that, more often the whole thing fails and the small company goes with it. Yes, I've personally seen all the various scenarios I described above.

So the moral of the story is, plan properly from the start. Asking how to make sure the board is right the first time is missing the point and is heading for trouble.

Olin Lathrop
  • 310,974
  • 36
  • 428
  • 915
4

Short answer: Lots of work. And something will still bite you.

I designed this board (apologies for the PDF link) - circuits, schematics, layout, code. It's 8 layers, has 125MHz DDR RAM devices, a fairly big FPGA and a variety of communications interfaces.

This is some of the work involved:

  • simulate the decoupling system
  • simulate the power supplies
  • use the manufacturers' checklists
  • consult with colleagues - get their reviews at various stages of the design and layout process. I also get to use our internal "electronic design from start to finish" checklist (sorry, I can't share that publicly). That stops us forgetting to check certain things that are hard to check automatically (with DRCs for example).
  • check your footprint designs. Especially connector pinouts.
  • simulate the high-speed parts before laying out the PCB.
  • use the simulation results as constraints to the autorouter
  • checked the simulations of the board as-routed.

After all that up-front work, the hard bits of the board worked first time (with margin: DDR ran at 143MHz for example). But I still managed to get a signal from each of the cameras to the FPGA on the wrong camera pin... two mod-wires required :)

And even working as well as it did, we still did a rev2 to add some extra features!


Regarding your board specifically (on which we have very little to go)...

  • get some review from at least one other person.
  • don't split the ground plane!
Martin Thompson
  • 8,439
  • 1
  • 23
  • 44
  • Thanks for the important points you mentioned, I took them into consideration and revised my design again based on them. – Abdella Jan 23 '12 at 14:54
  • I Received the PCB and finished testing it. It's working very good, But, the things that bit me are all mechanical :) Thanks Martin. – Abdella Mar 06 '12 at 03:43
  • What did you use to include the sim results with the autorouter? – tyblu Mar 06 '12 at 06:12
  • @tyblu: From the simulation results, I developed some limits on how well matched my delays had to be. Then I used the autorouter constraint interface to enter these in the form it understands. – Martin Thompson Mar 06 '12 at 10:50
  • @Abdella: yes, we EEs often concentrate on the possibility of electrical problems, and forget (or place too little emphasis on) the mechanical :) I'm fortunate in that I have mech colleagues I can ask for review as well as EEs – Martin Thompson Mar 06 '12 at 10:52
  • What software do you use for simulating the decoupling system? – Connor Wolf Apr 15 '12 at 17:22
  • @FakeName: a SPICE-type simulator can get you some good insight - for example http://groups.google.com/group/comp.arch.fpga/msg/5cff6383c8f4b44b?hl=en . I also have an Excel spreadsheet (shudder) which shows the variation in frequency response of the decoupling instantly when I change types and qtys of capacitors – Martin Thompson Apr 16 '12 at 12:51
3

Hank Wallace has put together a pretty good general-purpose Electronics Design Checklist for PCB design.

You can add more tips to the current rough draft of the PCB Layout wikibook, which also links to other electronics design checklists.

davidcary
  • 17,426
  • 11
  • 66
  • 115