Design Of A Device-Aware Memristive Neuromorphic System With Spike Timing Dependent Learning