Page 370 - A Practical Guide from Design Planning to Manufacturing
P. 370
340 Chapter Eleven
also be designed to give access to DFT circuits on the die. Special volt-
age supplies and cooling equipment are used to control the voltage and
temperature of the processor independently of the other system compo-
nents. The motherboard will include socket for the processor so that
parts are swapped easily without soldering. Sockets may also be included
for peripheral chips such as the chipset if the processor must be validated
with more than one type.
Tests are run by executing a series of instructions on the processor and
comparing the final processor and memory state with the expected result.
Directed tests are handwritten by the design team to create unusual con-
ditions and to try out the operation of specific processor functions. Random
tests, which are random series of valid processor instructions, are gener-
ated by CAD tools. These tests force all the different functional areas of
the processor to work together and can find bugs caused by unusual inter-
actions between areas. New processors with the same architecture as a pre-
vious generation may inherit ancestral tests that were created to test an
older design. If the new processor is compatible, it should produce the
same result.
The quality of tests created for post-silicon validation is critical since
even in hardware it is only possible to test a tiny fraction of all the pos-
sible processor operations and operands. For example, a simple integer
add might take two 32-bit inputs. This means there are 2 64 possible
combinations of inputs, which on a 1-GHz processor would require more
5
than 500 years to execute. Exhaustive testing is simply impossible, so
skills must be applied in creating tests that are likely to find design flaws
but still have a reasonable run time. Luckily this effort is done in par-
allel with the design of the processor itself. The post-silicon validation
team should have a complete set of tests written and a plan for what
order they will be attempted before the first chips ever arrive.
Any test requires not only an instruction sequence but also the final
processor and memory state that indicates the test has run correctly. If
an already validated architecturally compatible processor is available,
then by definition the logically correct behavior for the new processor
is to match the results of the previous generation. The older design is
used to determine the correct result of each test. For new architectures
or architectural extensions, the test results must be simulated. RTL sim-
ulations show the expected behavior cycle by cycle, but these simulations
run so slowly that they can generate results only for very short tests.
Faster architectural simulators may be used to generate the correct
final processor state, at the expense of not being cycle accurate. FPGA
emulators use programmable hardware to vastly increase simulation
speed and allow the creation of much longer tests.
5
Josephson and Bob, “The Crazy World of Silicon Debug.”

