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.”
   365   366   367   368   369   370   371   372   373   374   375