Hi splin,
Thank you very much for the assistance.
1. maximum voltage drop at 1A is 1V(my application needs 1V to -1V voltage range)
Ok, so a 1 ohm shunt.
2. 0.1uA is the minimum range ,i need 10nA resolution if possible
Well it's possible but very challenging. 10nV is .01ppm of 1V; an 8 1/2 digit DVMs such as the HP/Agilent 3458A has a resolution of 10nV on the 1V scale and has a noise specification of .01ppm rms if it is set to measure for at least 2 seconds per reading. .01ppm rms is 10nV rms or approx 60nV peak to peak. You would need to average plenty of readings to get down to 10nV peak to peak noise - if in fact you can, as averaging suffers diminishing returns because of 1/f noise..
Noise wise, you have the advantage over a DVM as the source resistance is very low (1 ohm) so you can use a very low noise bipolar amplifier. One of the lowest noise opamps is the LT1028 with 35nV pp noise (0.1 to 10Hz bandwidth). Put 4 in parallel and in theory you should halve that 17nVpp. Reduce the bandwidth to say 1Hz will reduce the noise further but 1/f noise will limit the improvement.
Problem is that these bipolar opamps have offsets of around 10uV which drifts at .8uV/C. You can trim out the offset but the offset also drifts with time. To keep the drift due to temperature to less than 10nV you would need to maintain the opamp temperature within 0.0125C - not impossible but not trivial. You can get zero drift and chopper opamps which significantly reduce the offset errors but are rather noisier - 100nV pp or more. You could make your own chopper amp with low noise bipolar transistors to achieve very low noise, but again not a trivial exercise.
Thermal EMFs, generated at all the connections from the shunt to the amplifier will be an even bigger problem and could be several uV per degree C. The best way to eliminate these is to reverse the current through the shunt and subtract the new reading from the previous thus cancelling out the thermal EMFs and the opamp offset. If you are in control of the current that you are measuring, that may be possible.
Alternatively, assuming you are measuring the currents with a ADC, it may be easier to stop, or divert the current away from the current shunt so that you can measure the shunt voltage with zero current which will give you the thermal EMF and offset voltages which you can subtract from subsequent readings. You would need to repeat this periodically because of temperature changes and other drifts.
I can tolerate up to 10nA error current
I wonder if you are confusing resolution and accuracy? Measuring 0.1uA to an accuracy of 10nV is only 10% but measuring 1A to 10nA accuracy is .01ppm which is nigh on impossible. The 3458A can resolve 10n on the 1V scale but the accuracy is around 2ppm at best with a newly calibrated meter - 200 times worse than your requirement.
Realistically, getting a 1 ohm shunt resistor with a tolerance better than 100ppm is going to be expensive and it will likely drift by 100pm or more each year. Also with 1A, the shunt will be dissipating 1W which could raise the temperature of the shunt by several 10s of degrees, that's another 50 to 100ppm of error assuming the shunt has a TC of 5ppm/C. So the error from the shunt alone could be 300ppm or more.
4 I am measuring a DC voltage ,output range of -1V to 1V.
How quickly do you need to be able to measure the current? Can you tell us something about the application as it would help us understand your requirements better?