How are processors tested before going to production

chip-designproductiontesting

No matter how much experience an engineer has, or how many engineer works on the design of a processor or a microcontroller, we are human at the end, and it is possible to make mistakes. Before sending a processor design to production, how are they tested so the processor works correctly?

Are they designing the whole processor in FPGA? or is the whole design checked and debugged by software? (I am considering the complexity of x86 processors, ARM, PIC etc.). Thinking about 1970s with the design of 8086, they didn't have that much technology.

Best Answer

All of the above, and more.

First and foremost is the re-use of existing "blocks" that they know work (unless they're departing from existing designs radically). This may be blocks they have used before, or blocks imported from third parties, like ARM.

Then there's software emulation and evaluation - simulations and such.

Yes, they may well use FPGA - maybe not for the whole chip, but to prove certain blocks of the design are right, before then putting them all together into a finished package.

Finally are the engineering pre-releases. This is a small run of test chips sent out to willing third parties to try them out, find bugs, and feed back to the manufacturer, who will fix the bugs and do another short run. For instance, I have some PIC32MZ engineering pre-releases here. They're the 4th release, yet they still have big bugs in them. There have been (I think) 2 releases since then again.

No amount of simulations and testing of each part of a chip can fully account for how the chip as a whole will operate when etched into silicon.