Design Methodology And Electronic Design Automation Techniques For Heterogeneous 3D Machine Learning Accelerators