[0001] This application is a continuation of and claims priority of copending U.S. patent application Ser. No. 09/683, 677 filed on Feb. 1,2002.
CROSS REFERENCE TO RELATED
APPLICATIONS
[0002] This application is related by common inventorship and subject matter to co-pending applications titled "Method of Controlling External Models in System-On-Chip Verification" Ser. No. 09/494,230, "Simulator-Independent SystemOn-Chip Verification Methodology" Ser. No. 09/494,565, "A Method of Developing Re-Usable Software for Efficient Verification of System-On-Chip Integrated Circuit Designs" Ser. No. 09/494,907, "Method for Efficient Verification of System-On-Chip Integrated Circuit Designs Including an Embedded Processor" Ser. No. 09/494,564, "Processor-Independent System-On-Chip Verification for Embedded Processor Systems" Ser. No. 09/494, 386, "Method for Re-Using System-On-Chip Verification Software in an Operating System" Ser. No. 09/495,236 and "Automated System-On-Chip Integrated Circuit Design Verification System" Ser. No. 09/969,675. The listed applications are assigned to International Business Machines Corporation and are entirely incorporated herein by this reference.
FIELD OF THE INVENTION
[0003] The present invention relates to the field of testing computer system designs by software simulation; more specifically, it relates to method and an automated system for system-on-chip (SOC) design verification.
BACKGROUND OF THE INVENTION
[0004] The complexity and sophistication of present-day integrated circuit (IC) chips have advanced significantly over those of early chip designs. Where formerly a chip might embody relatively simple electronic logic blocks affected by interconnections between logic gates, currently chips can include combinations of complex, modularized IC designs often called "cores" which together constitute an entire SOC. [0005] In general, IC chip development includes a design phase and a verification phase for determining whether a design works as expected. The verification phase has moved increasingly toward a software simulation approach to avoid the costs of first implementing designs in hardware to verify them
[0006] A key factor for developers and marketers of IC chips in being competitive in business is time-to-market of new products, the shorter the time-to-market, the better the prospects for sales. Time-to-market in turn depends to a significant extent on the duration of the verification phase for new products to be released. As chip designs have become more complex, shortcomings in existing chip verification methodologies, which extend time-to-market have become evident.
[0007] Typically, in verifying a design, a simulator is used. Here, "simulator" refers to specialized software whose functions include accepting software written in a hardware
description language (HDL) such as Verilog or VHDL which models a circuit design (for example, a core as described above), and using the model to simulate the response of the design to stimuli which are applied by a test case to determine whether the design functions as expected. The results are observed and used to de-bug the design. [0008] In order to achieve acceptably bug-free designs, verification software must be developed for applying a number of test cases sufficient to fully exercise the design in simulation. In the case of SOC designs, the functioning of both the individual cores as they are developed, and of the cores functioning concurrently when interconnected, as a system must be verified. Moreover, a complete SOC design usually includes an embedded processor core and an I/O controller. Simulation, which includes a processor core, tends to require an inordinate amount of time and computing resources, largely because the processor is usually the most complex piece of circuitry on the chip and interacts with many other cores. Simulation, which includes an I/O controller, tends to require an inordinate amount of new software or software modification because the specific I/O cores, pin connections, number of pins, etc. vary from design to design. [0009] It can be appreciated from the foregoing that verification of an SOC can severely impact time-to-market, due to the necessity of developing and executing software for performing the numerous test cases required to fully exercise the design.
[0010] However, inefficiencies in current verification methodologies exacerbate time pressures. For example, design specific verification software must be written or the existing software modified for each specific chip design to be verified. With today=s exceedingly complex SOC designs, even modification of existing software is expensive and time consuming. One particularly time-consuming need is to write or modify the software needed for verifying I/O pin muxing of SOC cores to I/O pin driver models. Simulation of pin muxing presents unique challenges because some I/O pin driver models cannot be turned off and there is no standard established for turning on/off those models that can be turned on/off.
[0011] A design verification system is needed which will reduce the amount of chip specific design verification software required, especially for verification of pin-muxing, as well as reduce the time to collect and integrate that software.
SUMMARY OF THE INVENTION
[0012] A first aspect of the present invention is a system for verifying an integrated circuit design comprising: an I/O controller connected to one or more I/O cores, the I/O cores part of the integrated circuit design; an external memory mapped test device having a switch for selectively connecting one or more of the I/O cores to corresponding I/O driver models; a bus for transferring signals between the I/O controller and the switch; and a test operating system for controlling the switch. [0013] A second aspect of the present invention is a method for verifying an integrated circuit design comprising: providing an I/O controller connected to one or more I/O cores, the I/O cores part of the integrated circuit design; providing an external memory mapped test device having a switch for selectively connecting one or more of the I/O cores corresponding I/O driver models; providing a bus for transferring signals between the 1/O controller and the switch; providing a