Came across an interesting post the other day, from a Russian site which looks “under the hood” of some sophisticated chips – some well-known in the West, some less so.
First, the technique of using sulfuric and nitric acid is described and illustrated:
But the really bit interesting bit is what comes out. Here’s the ATmega8:
(both pictures were copied from that site, i.e. zeptobars.ru – I hope that’s ok)
The size of this chip is 2855 x 2795 µm, i.e less than 3 x 3 mm.
Fascinating! I wonder what all the different bits and pieces are…
Well, you could convert that image (or a higher resolution version) into an emulator written in JavaScript and have all the lines light up different colours depending on whether they’re zero or one. Seriously:
http://www.visual6502.org/welcome.html
Wonderful madness.
One aspect stands out well – the I/O pads are as you expect around the periphery and very bulky compared with the rest of the logic. This is due to the pad size needed for landing the bonding wire on – linking the chip to the lead frame. There are several ‘large’ components required per pin (driving MOSFET complementary pair, ESD diodes etc.) implemented around the pad.
Despite their relatively generous size, these tend to be the most vulnerable areas on the die for the experimenter – it’s not unusual to have a fully working processor with a couple of fried I/O pins!
If I remember rightly, I first read about this back in the 80’s when the Nintendo/Atari/Sega wars were in full swing. The technique was used to reverse engineer various aspects of the game cartridges. I even think that when various cases went to court it was declared reasonable to use this technique – but it’s a 20 year old memory, so probably some parity errors ;}
I always find looking at chips really neat. FWIW you’d probably like the [now inactive] http://www.flylogic.net/blog/ it’s got some nice picture and explanations.