Modern applications require quite a bit of analog and digital capabilities. Most of the medium level systems now employ microcontrollers, ADCs and DACs. For a normal design engineer, the practical pitfalls that arise due to improper board layouts are not obvious.
When I started designing electronic products, I was dependent on the so-called PCB layout designer who is employed by the PCB company. This designer normally is an electronic engineer with knowledge on the components. This person will place the components in a way that is easier for laying the route. For several applications, this may suffice. I realised that as a designer, I should know proper pcb design, only after I had a bitter experience on a weighing system pcb.
Positional and convenience oriented layout can wreak havoc in systems which have Analog processing capabilities of over 12 bits. Proper grounding and return paths, if not provided, will give rise to oscillations and hence unstable system performance.
Most of these problems were due to mainly the grounding layout. For example, let us say a PCB has a power supply of +-5 V, an analog amplifier circuit and a Relay apart from other circuits. Let us say, the PCB layout is designed like
As we see, as the grounding line first goes to relay section and then further to amplifier section, everytime the relay energises and de-energises, the ground line between the relay and the amplifier can jump a few millivolts up or down. The amplifier, typically, may be measuring a thermocouple output in mV. This disturbance in the ground line can drastically affect the signal input and hence the amplified output.
The best path will be as shown below.

What is the big deal about doing this?
It is really difficult to manually differentiate the same ground signal at various points of the PCB. Auto-routers do not know the difference between the Analog ground and Digital ground.
Then how is this done practically?
Define your grounds
When you draw the schematic, define three ground nets.
1. Power Ground (PVSS)
2. Analog Ground (AVSS)
3. Digital Ground (DVSS)
You may define your own grounds as per requirements and connect them strategically, wherever required.
Isolate Connections
Now, determine and organise components connect to each of these grounds. If you have an ADC, the chip normally always has digital and analog ground pins.
Connect the components to their respective grounds.
Rejoin Them
Insert two zero ohm resistors in the circuit. Connect them to the ground as shown in the picture.

This way, one can ensure that grounding can be easily routed properly. We can apply ground filling through copper pour very easily for each of these grounds without any worry about mixing of the grounds.
Design Spark is a right candidate for doing this. We can define our ground nets easily in Design Spark.
The above information is provided on the basis of practical experiences and is not the only or the only best solution.
Added Later
For Knowing why we use these zero ohm resistors , please refer my reply to a comment below. Next time, I will think more from the blog reader's shoes.
The above tips are for use in two-layer boards. For multi-layer boards, these grounds can be drawn in different layers.
kbeist
I must give you many thanks!! The use of multiple zero ohm resistors solves several net/ground/connection issues that I have personally encountered. Separate ground return routes of the various sections of the pcb becomes problematic when routing using just one net.
Addidis
Awesome post. The bit in the comment should be added in incase some one doesnt read the comments its extreamly useful. Hmm no spell check odd.
jkvasan
Hi,
Thanks. Pls let me know if there are any spelling mistakes. Actually, I typed it in Word, Spell-checked and then did copy>>paste.
Regards
Jayaraman Kiruthi Vasan
Addidis
HEHE I was worried about my comment when I noticed it wasnt spell checking my own work. I put little value in punctuation and spelling since I saw that chain email with every single word mispelled that I understood perfectly :) original comment should have had 'extremely' :)
Andrew Back
Great post and I'm sure this information will prove very useful at some point. System grounding has often caught me out in the past and is something I need to better understand.
Curious though as to why you have zero ohm resistors instead of just joining all the ground nets?
jkvasan
It is just to cheat the software. The software normally takes the nets into one and routes them as it wishes, either during auto-routing or copper pour filling.
When you manually route, you normally route each of the grounding separately and will join them at the end to the Power Supply Ground. Now you wish to do copper pour filling to the grounding. At this point, the software can not distinguish between each of the grounds. For the software, once you have connected all ground nets, it is all one net.
When you introduce a dummy zero ohm resistor the software thinks that this component is connected to two nets and do not mix them. Once the PCB is done, you have got to just put a piece of single strand wire to connect this zero ohm resistor.
Ah, one information I forgot to tell. I wrote this blog keeping a two layer board in mind. In higher number of layers, you could route these ground nets in different layers and can avoid this common filling of ground.
Andrew Back
Ah, that makes perfect sense.
LStacey
Nice first blog post, Jayamaran! Thanks!