1. A method for programming a plurality of non-volatile memory cells in an integrated circuit, the method comprising: providing a circuit comprising a power pin, a data pin, a ground pin, wherein the plurality of non-volatile memory cells receive binary data provided through the data pin; applying and maintaining a nominal voltage at the power pin to power the circuit applying a ground voltage to the ground pin; and initiating a programming mode to enable the programming by applying a high voltage pulse at the power pin, and applying a high voltage pulse at the data pin while applying the high voltage pulse at the power pin, the high voltage pulses being greater than the nominal voltage.