Computer-aided design and analysis of circuits and semiconductor – Nanotechnology related integrated circuit design
Reexamination Certificate
2000-02-02
2002-09-17
Smith, Matthew (Department: 2825)
Computer-aided design and analysis of circuits and semiconductor
Nanotechnology related integrated circuit design
Reexamination Certificate
active
06453450
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to an improved method for constructing irritator programs from a graphical description useful to verify logic at the logic design level and also, more particularly, to facilitate the construction of stimulation and checker programs to exercise the logic to be tested.
Trademarks: S/390 and IBM are registered trademarks of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names may be registered trademarks or product names of International Business Machines Corporation or other companies.
BACKGROUND
The task of verification of a logic design is usually done by examining small pieces of logic (called units) first. Then these pieces are grouped together to form bigger blocks, up to the point where a simulation model contains the whole system. In this way, large systems are debugged and verified bottom-up in a hierarchical manner.
Below system level, state of the art verification methods replace missing hardware components by software, so-called irritator behaviorals (i.e. random simulation driver inputs). They are attached to the interfaces of the logic under test.
This approach to logic design verification are deficient in at least two respects. If the task of verification is the responsibility of the logic designer, the programming language which is used (usually C/C++) is often unfamiliar to him or her.
In any case, programming an irritator program is tedious and error-prone. Given ever increasing design complexity and therefore number of units, increasing numbers of irritators are required. In current designs, a substantial amount of time is necessary to write and debug the irritator programs.
A big improvement has been the introduction of the Timediag/Genrand tools (IBM's Bruce Wile's U.S. Pat. No. 5,745,386, entitled “Timing Diagram Method For Inputting Logic Design Parameters To Build A Testcase For The Logic Diagram”), which allowed the use of timing diagrams as irritator programs for S/390 designer level efforts for a few designs. Using Timediag, timing diagrams could be constructed easily using a graphical interface. While the improvement was great, the tools created in accordance with this patent were as described for support of designer level simulation, and this was achieved for the lowest level of verification using small designs only (e.g restriction in the number of timing diagrams).
SUMMARY OF THE INVENTION
This current invention provides a method for verifying logic designs which uses the concepts of irritator behaviorals but with a timing diagram input format, which can be used intuitively by logic designers without knowledge about the underlying programming language. The preferred embodiment enables the designer user to lay out and/or edit a timing diagram using a Timing Diagram Editor with a TD-compile (Timing Diagram compile which now generates in accordance with this invention an executable timing diagram for the graphical input provided by the user). Instead of manually programming a behavioral description of a logic circuit, the behavior of signals at any given time is specified in a spreadsheet like editor. These spreadsheets then are compiled into an executable irritator program for logic verification. Providing a graphical user interface to specify logic behavior makes testcase generation much easier and more intuitive. This results in significant savings of time.
In accordance with this invention a method is provided to translate a behavioral description of a logic design or an interface protocol, available in timing diagram format, into a C++ class. The C++ file generated then is compiled into a stand-alone executable file or a shared library, whatever the preferences of the user are. Shell scripts are used to control compilation of the C++ file, so the user can modify the way an executable is generated (e.g. with compile optimization, and with debug support and with other user desired modification of generation of compiles).
In accordance with the invention a random driver program is used to read a configuration file containing a list of timing diagrams and other parameters to generate therefrom a random simulation driver.
The invention provides support for multiple clock domains, where different parts of a design under test run at different clock speeds.
These and other improvements are set forth in the following detailed description. For a better understanding of the invention with advantages and features, refer to the detailed description and to the drawings.
REFERENCES:
patent: 4744084 (1988-05-01), Beck et al.
patent: 5111413 (1992-05-01), Lazansky et al.
patent: 5600567 (1997-02-01), Kucukcakar et al.
patent: 5633998 (1997-05-01), Schlafly
patent: 5726918 (1998-03-01), Giramma et al.
patent: 5745386 (1998-04-01), Wile et al.
patent: 5790435 (1998-08-01), Lewis et al.
patent: 5798938 (1998-08-01), Heikes et al.
patent: 5850348 (1998-12-01), Berman
patent: 5857093 (1999-01-01), Bradford
patent: 5867399 (1999-02-01), Rostoker et al.
patent: 5933356 (1999-08-01), Rostoker et al.
patent: 6268853 (2001-07-01), Hoskins et al.
patent: 10-074214 (1978-03-01), None
Augspurger Lynn L.
Do Thuan
Smith Matthew
LandOfFree
Timing diagram compiler and runtime environment for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Timing diagram compiler and runtime environment for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Timing diagram compiler and runtime environment for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2880829