General > General Technical Chat

PCB Design tips

(1/2) > >>

RayJones:
Since there seems to be a lot of threads cropping up lately about PCB designs, it may be worth presenting this link, by some little known author  ;)

http://www.alternatezone.com/electronics/files/PCBDesignTutorialRevA.pdf

Zero999:
A good tutorial, some things are out of date though, who uses the old DOS AutoTrax now? I know it was written in 2004 but I doubt many people used it even back then.

EEVblog:

--- Quote from: Hero999 on July 27, 2010, 11:38:22 am ---A good tutorial, some things are out of date though, who uses the old DOS AutoTrax now? I know it was written in 2004 but I doubt many people used it even back then.

--- End quote ---

You'd be surprised!
The article was meant to be fairly independent of any design tool though, the concepts are the same regardless of the tool.
But yes, it's old and needs an update and a zillion additions, if only I had the time.
Probably better suited to my new video blog format.

Dave.

mikeselectricstuff:
Just skimmed through this and looks a very comprehensive guide with  much good advice, however I have to take issue with this :

--- Quote ---Before you even begin to lay out your PCB, you MUST have a complete and accurate schematic diagram.
Many people jump straight into the PCB design with nothing more than the circuit in their head, or the schematic
drawn on loose post-it notes with no pin numbers and no order. This just isn’t good enough, if you don’t have an
accurate schematic then your PCB will most likely end up a mess, and take you twice as long as it should.

--- End quote ---
at least the 'complete' part. These days most designs will have at least one microcontroller, on which many of the pins can be exchanged to improve PCB layout. Ditto FPGAs, and often connectors to other parts of the system, as well as series combinations of parts that can be swapped.

If the design is of a complexity level that you can hold it in your head or a few scraps of paper, then diving straight into the PCB placement and layout is likely to produce  the best layout from the point of view of minimum trace lengths, minimum vias, better EMC, better manufacturability, and maybe even fewer layers.
 
The best allocation of pins can only be done whilst placing and routing the PCB, and back-annotating all this to a ready-drawn schematic is a recipie for errors to creep in. Unfortunately I've yet to see a schematic package that deals well with a vague "This bunch of lines goes to some of these pins, in an order to be decided later" sort of specification. There are so many things that can potentially be swapped around that trying to specify it in a schematic would take way longer than just placing & routing it and documenting it in a schematic afterwards.

Obviously this approach doesn't scale well to more complex systems, and is only applicable where the same person is designing the circuit, doing the PCB and probably writing the firmware  as well, however even then, keeping maximum flexibility in allocating pinouts can make the PCB layout process quicker and finished result better. 
Most PCBs have mechanical costraints, and simply looking at  where parts _can_ go on a layout is far more productive than trying to "draw the schematic with the PCB in mind".

On a similar theme, I recently found this very comprehensive guide to PCB manufacturing issues (PDF) - although specific to one supplier, the general rules apply to any PCB that is going to be manufactured
 

jahonen:

--- Quote from: mikeselectricstuff on July 27, 2010, 04:25:29 pm ---If the design is of a complexity level that you can hold it in your head or a few scraps of paper, then diving straight into the PCB placement and layout is likely to produce  the best layout from the point of view of minimum trace lengths, minimum vias, better EMC, better manufacturability, and maybe even fewer layers.
 
The best allocation of pins can only be done whilst placing and routing the PCB, and back-annotating all this to a ready-drawn schematic is a recipie for errors to creep in. Unfortunately I've yet to see a schematic package that deals well with a vague "This bunch of lines goes to some of these pins, in an order to be decided later" sort of specification. There are so many things that can potentially be swapped around that trying to specify it in a schematic would take way longer than just placing & routing it and documenting it in a schematic afterwards.

--- End quote ---

I have actually done something like this at work. I can't even think working without schematics there, as it is the master document for many others, such as BOM, and it is peer-reviewed document as demanded by our QMS (as is the layout, of course). I can only say that it is quite time consuming process on large FPGAs. The one I have worked on was 780 pin one (Altera Cyclone III in fact). In such cases I wouldn't recommend that schematic is skipped (no way you could memorize all those connections, unless you are savant person or so :P), but instead build layout parts placement and schematic side by side. If you do this carefully, you already have the parts placement mostly done when you finish the schematic. I worked so that I looked up possible FPGA pin candidates from layout, then edited the schematic connecting the signals and then ECO'ed the changes back to layout, thus the schematic was kept updated at all times. At the end, it made the layout look very clean with minimum number of layer swaps for most signals.

There are also some software which can optimize the FPGA pinout based on the layout requirements while keeping the constraints of a FPGA in mind, MG's IO designer for example. Haven't tried it out though. If the design involves a FPGA with high-performance memory interfaces, such as DDR(2/3), then it definitely becomes a trinity between FPGA design software, schematic and layout. Then it is not usually possible to choose pins which much freedom, and there are few places where you can place for example the byte lane strobe or mask signals. It would be extremely foolish not to iterate the memory bus with FPGA design software, if FPGA design software fitter says that this pin configuration is not possible, then your game is over.

Regards,
Janne

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version