Origin of the magnetic field of neutron stars
The strong magnetic fields in neutron stars are supposed to come from magnetic flux conservation. If we have:

$$\Phi_B = \int B\ \mathrm{d}S = \text{const}$$

where $\Phi_B$ is the magnetic field flux, $B$ is the magnetic field strength, and $\mathrm{d}S$ is the elemental closed surface; then, this integral is constant through the surface.

If we consider the star surface over which take the integral, than 

$$S = 4\pi R^2$$

where $R$ is the star radius. This can be translated, altogether with the magnetic flux conservation law,  as:

$$B_f = B_i \left(\frac{R_i}{R_f} \right)^2$$

where $i$ and $f$ are the indices for initial and final stages.
We know that the star implodes from a whatever star size to $\sim10 \; \mathrm{km}$. So the radii ratio is huge. You just need a starting magnetic field of $10-100 \ \mathrm{G}$, to get a final magnetic field of the order of $10^{12}  \ \mathrm{G}$, that is typical in neutron stars.