1. A method for reducing spikes in an artificial nervous system, the method comprising: generating, by an apparatus, a sequence of random numbers; performing, by the apparatus, bit-level operations on the generated sequence of random numbers to generate a first sequence of pseudo-random numbers with a programmable probability distribution function (PDF), wherein performing the bit-level operations on the generated sequence of random numbers comprises: performing AND operation on bits of the sequence of random numbers; passing the ANDed bits through a cascade of OR gates to obtain bit-mask values; and applying the bit-mask values to bits of the sequence of random numbers to generate the first sequence of pseudo-random numbers with the programmable PDF; generating, by the apparatus, another sequence of random numbers; performing, by the apparatus, bit-level operations between the first sequence and the other sequence to generate a second sequence of pseudo-random numbers with a programmable PDF; and dropping, by the apparatus, spikes associated with one or more artificial neurons of the artificial nervous system in accordance with the PDF of the second sequence of pseudo-random numbers.