Hardware emulation is the use of special machines that imitate a whole chip, so that engineers can run real software on it months before the chip exists. The machine is called an emulator. It is a large, cabinet-sized system built from thousands of programmable chips. These are either custom processors or FPGAs, field-programmable gate arrays, which are chips whose circuits can be rewired after they are made.
Why is it needed? In chip design verification, engineers run the design in a simulator, a program on ordinary servers. A simulator shows every signal inside the chip, but it is slow. A full phone chip in simulation may advance only a few hundred clock cycles each second, where the real chip runs billions. At that speed, starting an operating system would take years. An emulator loads the chip's design into its own hardware, which then behaves like the chip's circuits. It runs thousands of times faster than a simulator, though still far slower than the real chip.
Say a team in Chennai is building the modem block of a phone chip. The modem is the part that connects the phone to the 4G and 5G network. The chip will not come back from the factory for another year, but the software team must be ready on the day it arrives. So the design is compiled onto an emulator, which takes several hours. The emulator then runs the chip at about 1.5 million clock cycles a second. The software team starts Android on it. Booting takes about 7 hours instead of 20 seconds. Then the team plays test radio signals into the modem from a test box connected to the emulator. On the third day, the modem's software stops responding when the signal moves from one tower to another. The emulator has recorded every signal inside the chip around that moment. From the recording, the engineers find that a counter in the hardware overflows. No test of the modem block on its own had caught it. The designers fix it before tape-out, the moment the final design goes to the factory.
Emulators cost crores of rupees each. So a company shares a few among many teams and books them by the hour. A related method, FPGA prototyping, loads the design onto a board of FPGAs. It runs faster than an emulator, but it takes longer to set up and shows less of what happens inside the chip. The page on FPGAs and precision timing explains these chips. Software makers can also test their code on a purely software copy of a device, through embedded system simulation. That is quicker to start, but it does not test the chip's real circuits.
Emulators are sold by the two leading electronic design automation (EDA) companies, along with their design software. A system-on-chip (SoC) for a smartphone is a typical design that needs one.