How do you do it? We've told you not to space things too close. We've told you not to put vias in pads - like a million times. We've told you to watch out for spurious vacuum tubes. Okay, the last one doesn't really count. Vacuum tubes put off a lot of heat and you won't find many with .5mm or less lead spacing so compactness isn't so much of an issue as it can be with mobile devices. Although, I have seen some pretty tightly packed tube designs from the '60s.
Anyway, say you're trying to put a little intelligence into a tiny little package and you just don't have space to route around here and there. Your parts are too close for anything more then maybe a single trace or two between parts.
Here is where the infamous via-in-pad, like Under-dog, can arrive to save the day. We ran across a project a while back with no visible traces on either surface of the board. That technique's actually showing up more and more often with dense-pack designs. All of the traces are on inner layers. It looks pretty weird, but it works very well - if done right.
Before assembly, there also weren't any visible vias. Not a one. All of the components, including passives did have vias - every connection was though a via (via a via???). However, all of the vias were properly filled and plated over at the board house.
So, if you need a 0.52" x 0.42" microcontroller / motor driver like this one, go ahead and give it a shot. Just make sure you fill and plate your vias, and you can use them liberally.
Also make sure you don't interfere with thermal requirements, though. I still have to move the parts out from under the thermal pad of the A3901 motor driver and the little 0201 out from under the thermal area under the MCP1726 regulator here. The PIC doesn't generate enough heat to worry about, so that underside area is fair game.
Tiptoe through the 0201's with me