A Fully digitally programmable CNN chip