Heterogeneous 3d fpga