Sorry I lost you guys on the solder balls. But they are kind of "neat". The packages that we are using now for ICs have too many connections to the outside world to be made by the old style little legs that stick out of the side of the package. So somebody came up with the idea that they would open up a grid of very tiny openings on the bottom of the package and then heat it up just a little bit and dump a whole bunch of little tiny balls of solder onto the package. The little holes provide a spot for each ball to roll into (or rather a ball rolls into each hole and the excess roll off the edge and get used on the next package). The heat (just the right amount) makes the balls "sticky" when they find metal (they don't stick to the plastic of the rest of the package). Then when the package cools you can pick it up and the little balls provide an electrical path into the package. And when you line it up the right place on the printed circuit board and apply just a little more heat again they both stick down and make the electrical connection. Neat technology that is simple in concept but complex enough to do the job. The "old" leaded packages ran out of pins at about 160 pins (40 on each edge). The design I am working on now has an array of the little balls that is 22 by 22 (or 484 "pins"). And the last design I worked on has an array of 28x28 or 784 pins. Lots of those (on both packages) get used by power and ground because each little ball doesn't handle much current but the old package had the same problem.
In other EXCITING news, I actually got to touch a working oscilloscope this week! For the first time in about 4 or 5 years. It is still really neat to see one of these things that we work on for months and months (and in some cases years) actually get put on a board and DO something. I realize it is a yawn to all of you guys but we were measuring how much jitter there was in one of the clock signals that the chip produces. Needless to say we were impressed that it was only about 300 picoseconds of jitter (on a 5 nanosecond clock period). VBG!!!! I am SURE that you are all impressed too :-) That will have ALL of you saying 'What?????' A clock is a signal that SHOULD have a positive going transition once per clock period. In this case, every 5 nanoseconds (in other words 200 MILLION times per second). Due to noise and other "bad" things sometimes if happens in less time and sometimes it takes longer than it should. The jitter is the measurement of how much those "bad" things affect the clock period. Over time (hundreds or maybe thousands of those cycles) things average out but the "shortest" of those clock cycles is the time that is allotted to do any specific job so it is a pretty important number to know.
Even though I have moved on to a "new" project, I am keeping pretty close tabs on the "old" project. They just got our first samples a few days ago and it is coming up really, really fast and with no known issues yet. Of course, if will take weeks and weeks (actually months probably) to get all of the software written to run on it and to try out all of the wierd corner cases but it is still neat to see it come to life.