A Programmable CNN Architecture and Its Hardware-Software Co-design Approach for Image Processing and Stimulating Visual Illusions | IEEE Conference Publication | IEEE Xplore