Adaptive Low-Energy Techniques In Memory And Digital Signal Processing Design