CROSS-LAYER DESIGN TO ENHANCE THE FUNCTIONALITY AND ROBUSTNESS OF COMPUTING-IN-MEMORY FOR DEEP NEURAL NETWORK ACCELERATORS