This short, clearly written paper describes how NCR Corporation developed a series of programs to test the Motorola 68882 floating-point coprocessor for Motorola’s 68020 and 68030 microprocessors. Integrated circuits are tested for two reasons: to ensure that a properly working unit meets its specifications, and to ensure that a particular unit works properly. As Marshall points out, manufacturers cannot always be relied upon to perform either of these tests perfectly. The programs described in this paper have been used both to monitor the quality of incoming parts and to verify that device mask or specification changes do not effect the part’s usability for NCR’s purposes.
This paper describes the methods by which NCR’s 2700-instruction, 550,000–clock cycle test program was developed and how it works. Since the internal workings of the 68882 are not visible to the user, NCR adopted the functional testing approach. Of particular interest is NCR’s sequential approach to the testing proper, which assumes that “no element is functional unless previously tested.” While the specifics of each step vary from one microprocessor to another, the principles still apply.
This is not a research paper. It does not disclose startling new results or advance the frontiers of human knowledge. It does show how state-of-the-art engineering practice can achieve desirable results quickly, reliably, and consistently. That is not an insignificant contribution. Anyone, user or vendor, who tests microprocessors for either purpose mentioned above should at least find a few minutes to scan it. He or she might find it worth deeper study.