Heterogeneous 3d fpgas