EFL Cup holders Manchester City will play rivals Manchester United in the semi-finals, with Leicester City taking on Aston Villa.