GB2377052A - A method of proposing a solution to errors in a circuit design specification - Google Patents

A method of proposing a solution to errors in a circuit design specification Download PDF

Info

Publication number
GB2377052A
GB2377052A GB0201814A GB0201814A GB2377052A GB 2377052 A GB2377052 A GB 2377052A GB 0201814 A GB0201814 A GB 0201814A GB 0201814 A GB0201814 A GB 0201814A GB 2377052 A GB2377052 A GB 2377052A
Authority
GB
United Kingdom
Prior art keywords
violations
circuit design
tool
cad tool
solutions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0201814A
Other versions
GB0201814D0 (en
GB2377052B (en
Inventor
S Brandon Keller
Gregory Dennis Rogers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of GB0201814D0 publication Critical patent/GB0201814D0/en
Publication of GB2377052A publication Critical patent/GB2377052A/en
Application granted granted Critical
Publication of GB2377052B publication Critical patent/GB2377052B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Abstract

A method for analysing a circuit design 450 comprises reading errors in a specification for a circuit design and identifying 150 the symptoms of the errors in a circuit design 450. Based on the symptoms, solutions are identified based on data in a database 480. A solution is then proposed. An E-CAD tool 460 may be run on the circuit design 450 to detect errors in the specification. The errors may then be stored in a violations file. Upon receiving a selected solution the E-CAD tool 460 may be re-configured based upon the solution and then re-run on the circuit design 450. The step of re-configuring may comprise editing a configuration file 490 of the E-CAD tool 460. The steps of reading violations, identifying symptoms, identifying solutions and proposing a solution may comprise using a software configuration tool 470.

Description

Title Method of suggesting configuration commands based on E-CAD tool
output Field of Invention
The present invention relates generally to computer software. More s particularly, it relates to a software method of running an E-CAD tool to simulate circuit performance.
Background
In the field of integrated circuit (IC) design and particularly very large scale
integration (VLSI) design, it is desirable to test the design before implementation and 0 to identify potential violations in the design. Before implementation on a chip, the design may be stored in a computer memory. The computer system may store information about specific signals and devices, such as transistors, that are part of the design. In a design, every connection between devices may be labeled as a signal, and every metal layout portion of each signal may be labeled as a segment. The design 5 information may include the connections between devices and the types of conducting segments that link devices and any other properties of these items.
A design may have certain rules or specifications. Software tools, such as
electronic computer-aided design (E-CAD) tools, may be used to determine whether a particular design complies with those specifications. Based on the connection and
20 device information, the designer may perform tests on the design to identify potential problems. For example, one portion of the design that might be tested is the conducting material on the chip. Representations of individual metal segments may be analyzed to determine whether they meet certain specifications, such as electro
migration and self-heating specifications. Other examples of testing include electrical
Is rules checking tests, such as tests for noise immunity and maximum driven capacitance, and power analysis tests that estimate power driven by a particular signal and identify those over a given current draw.
The E-CAD tool identifies violations of specifications and alerts the user of
particular problems. Violations may be identified and output on a signalby-signal or 30 segment-by-segment basis. The user then attempts to solve the problems through re design, or may override or change the specifications for particular violations. For
example, the E-CAD tool may perform its initial analysis assuming a worstcase scenario. In some types of analyses, the worst-case scenario may mean the maximum
load on a particular layout segment. If the analysis is of the current through a particular segment, then the E-CAD tool might assume that all connected devices are driving that segment simultaneously. In fact, this situation might be impossible if, for example, the design does not allow all of the devices to drive the segment at the same 5 time. In this case, the designer may clear the violation by using the E-CAD tool to adjust the design specifications on a segment-by-segment basis.
To analyze a particular circuit, the E-CAD tool uses information about how the circuit performs in various situations. The E-CAD tool more accurately analyzes the circuit if it has more information about how the circuit performs. This information lo may be input into a configuration file that is read by the E-CAD tool. The configuration file may store, for example, information about which drivers may operate simultaneously. A configuration file might not initially contain all of the information about a circuit. At the outset, it is impractical to identify every possible specification nuance to
5 input into the configuration file because the design may be very complex and before running the E-CAD tool, the designer may not yet know which problems will likely signal errors. As a result, the E-CAD tool may incorrectly report errors in the design.
The user must then consider these reported errors to determine whether they are true errors or whether they are incorrectly-reported errors, in which case the E-CAD tool 20 requires further information about the operation of the design. If they are true errors, the design may require changes. If they are incorrectly-reported errors, the configuration file should be edited to provide the E-CAD tool with further circuit information. One problem with existing methods of analyzing design errors is that the user 25 may not recognize potential circuit nuances that cause the incorrect reporting of errors.
Not every user of the E-CAD tool may understand common errors. For example, numerous individuals may perform E-CAD tool analyses on a circuit design, yet only a handful of designers may be familiar with the intricacies of the design. As a result, few individuals know the design well enough to respond to all or nearly all of the errors 30 reported by the E-CAD tool, while many users may have limited knowledge of some errors. To resolve errors detected by E-CAD tools, an individual not familiar with the nuances of the design must either spend time studying the design, or must discuss the
errors with the designers. Both options consume engineering resources that could be better allocated. What is needed is a method for more efficiently analyzing errors reported by an E-CAD tool to determine whether the errors are true design errors, or if the E-CAD tool requires further configuration.
s Summary of Invention
A configuration software tool is disclosed for analyzing circuit design violations detected by an E-CAD tool and proposing solutions. An E-CAD tool analyzes a circuit design stored in a computer memory to detect violations of a specification of the design. The E-CAD tool's configuration file is initially configured
0 to the design. The E-CAD tool outputs violations to a violations file. The configuration tool reads the violations file to identify symptoms of the violations. The configuration tool accesses a solutions database that stores solutions to common violations encountered with the design. As new symptoms and solutions are identified for the circuit, the database may be updated. Based on the symptoms, the IS configuration tool outputs possible solutions for each violation. The user then selects one of the proposed solutions or another solution. Based on the selected solution, the configuration tool edits the configuration file of the E-CAD tool causing the E-CAD tool to better understand the design performance characteristics. Once all solutions are resolved, the E-CAD tool is rerun on the design.
20 In one implementation, the configuration tool may be a software program stored in a computer system that operates the E-CAD tool. Each user may store the configuration tool on the computer system. In another implementation, the configuration tool, or the solutions database portion of the tool, may be stored in a network location, such as a server. In still another implementation, the configuration 2s tool may incorporated into an E-CAD tool.
Summary of Drawings
Figure 1 shows a block diagram of a computer system that uses the method.
Figure 2 shows a flow chart of the method.
Figure 3 shows a block diagram of a network-based system that uses the 30 method.
Detailed Description
Figure 1 shows a block diagram of a computer system 400 having a processor 410 connected to an input device 420 and a display device 430. The processor 410 accesses memory 440 in the computer system 400 that stores a VLSI circuit design 450. The design 450 stored in memory 440 includes nodal connection information and 5 information about the physical layout of the design segments. An E-CAD tool 460 and a configuration tool 470 are also stored in the memory 440 for analyzing the circuit model 450. As used herein, "E-CAD tool"refers to any software application for analyzing a circuit design. The E-CAD tool 460 has a configuration file 490 that stores information about the design under test. The configuration tool 470 has a 0 solutions database 480 that stores information about common violations found in the design and their solutions.
The system 400 may be used to analyze errors, also referred to as violations, in the circuit design 450 and to suggest solutions to those violations. In use, the input device 420 receives commands instructing the processor 410 to call the E-CAD tool I s software 460 to perform a circuit analysis on the model 450. The E-CAD tool 460 is configured to understand certain operations of the design 450. The results of the analysis may be displayed on the display device 430. Lists of violations may be output to the display device 430 and/or may be stored to a violations file in the memory 440.
The violations are read by the configuration tool 470 using the processor 410. The 20 configuration tool 470 suggests possible solutions to a user. The configuration tool 470 stores knowledge about the design 450, which can be used to resolve various common violations. The configuration tool 470 outputs potential solutions to the display device 430 in, for example, a dialog box or other visual prompt. The user may select one of the proposed solutions using the input device 420. If no possible 25 solutions are identified or if the user does not wish to implement one of the proposed solutions, then the user may select an alternative solution for resolving the violation using existing methods. The selected solution edits the configuration file 490 of the E CAD tool 460 so that it better understands the performance of the design 450.
Figure 2 show a flow chart of the method for resolving circuit design 30 specification violations detected by the E-CAD tool 460. The method may be
implemented in, for example, the computer system 400 shown in Figure 1. The E CAD tool 460 is configured to a particular circuit design 450 that is analyzed using a
configuration file 490. The E-CAD tool 460 reads 100 the configuration file 490 and then runs 110 on the design 450 to detect violations of design specifications. If no
violations are detected 120, then the method is complete. If violations are detected 120, the violations are output 130 to a violations file that may be stored in memory 5 440 and may be displayed on a display device 430. Errors may be detected and reported on a signal-by-signal or segmentby-segment basis. For example, a design 450 may define signals for each connection between circuit elements or devices and may store these signals in the circuit model 450. A design 450 might also store information for each segment of the circuit layout. The E-CAD tool 460 may analyze lo the design 450 segment-by-segment or signal-by-signal and report violations based on the signals or segments on which the violations are found.
The output of the E-CAD tool 460 is read 140 by the configuration tool 470.
The configuration tool 470 accesses a solutions database 480 or data file having a list of common violations and possible solutions to those violations. As used herein, a 5 ' solutions database" refers to any data structure containing information about the design that can be used to identify a potential solution to a violation. The solutions database 480 may be created and updated by designers or other users familiar with the details of the design performance. The configuration tool 470 analyzes 150 the violations, cross-references its solutions database 480, and outputs 160 proposed
20 solutions.
For example, the solutions database 480 may contain hundreds or thousands or more circuit characteristics that apply in different situations and may have solutions for these characteristics. The solutions correspond to symptoms common to the design.
For example, a particular type of node may regularly trigger a particular type of 25 violation and require a particular solution. A node may regularly report a violation caused by the E-CAD tool's erroneous assumption that all drivers are driving the node simultaneously. In this example, the solution might be to inform the user that nodes of the type reporting the violation often incorrectly assume that all drivers are driving the node, and it may ask the user whether to edit the E-CAD tool configuration file 490 to 30 allow no more than one driver to be active at a given moment. That symptom and solution may be entered into the solutions database 480.
Based on symptoms of the violation, the configuration tool 470 eliminates solutions that do not fit the nodal or other characteristics of the symptoms, leaving a list of possible solutions. In one example, the configuration tool 470 might propose three or four of these possible solutions to the user based upon the circuit 5 characteristics. Along with the possible solutions, the configuration tool 470 also provides a description of the configuration tools analysis, which can help the user
determine whether the proposed solutions make sense in a given situation.
In one embodiment, the proposed solutions may be displayed to a user on the display device 430 using, for example, a dialog box or prompt, and may allow the user lo to interact with the configuration tool 470 through an input device 420 and a processor 410. The configuration tool 470 then receives l 70 the user selection from the input device 420 and edits 180 the configuration file 490 of the 12-CAD tool 460 based on that selected solution. This violation resolution process 150, 160, 170, 180 continues until all violations are resolved 190. When all violations are resolved 190, the E-CAD 5 tool reads 100 the edited configuration file 490 and analyzes 110 the circuit 450 again.
Figure 3 shows a network-based embodiment of a system for implementing the method. Multiple computer systems or terminals 400 are connected to a local or global network 200, such as the Internet or an intranet. A server 300 having a memory 340 is also connected to the network 200. Computer systems 400 access applications 20 and data stored in the memory 340 of the server 300. In this embodiment, the configuration tool 470 andlor the solutions database 480 reside in a netvvork-based computer- readable medium 340, such as the hard disk 340 of a network server 300.
Users operating the E-CAD tool 460 may use computer systems 400 also connected to the network 200, such that multiple users may access the configuration tool 470 and/or 2s the solutions database 480 simultaneously. This also allows an individual, such as a network administrator, to more easily update the solutions database 480 as new solutions and symptoms become known.
In one embodiment, both the configuration tool 470 and the solutions database 480 may be stored on the server 300. In another embodiment, the solutions database 30 480 may be stored separately from the configuration tool 470. Part or all of the configuration tool application 470 may be stored locally to one or more computer systems 400 or may be stored in another network or remote location. In still another
embodiment, the configuration tool 470 may be part of the same application as the E CAD tool 460, such as an improved E-CAD tool 460. The solutions database 490 may be part of the tool or it may be located in a remote location, such as a network location on a server 300 accessed by multiple users.
s Although the present invention has been described with respect to particular embodiments thereof, variations are possible. The present invention may be embodied in specific forms without departing from the essential spirit or attributes thereof. In addition, although aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that o these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other network; or other forms of RAM or read-only memory (ROM). It is desired that the embodiments described herein be considered in all respects illustrative and not I S restrictive and that reference be made to the appended claims and their equivalents for determining the scope of the invention.

Claims (9)

  1. Claims
    We claim: 1. A method for analyzing a circuit design (450) comprising: reading (140) violations of a specification for a circuit design (450);
    5 identif king (150) symptoms of the violations based on the circuit design (450); identifying (150) solutions to the violations based on the symptoms, using data in a solutions database (480); and proposing (160) a proposed solution based on data stored in the solutions database (480).
    lo
  2. 2. The method of claim 1, further comprising: running (110) an E-CAD tool (460) on the circuit design (450); and detecting (120) violations of the specification using the E-CAD tool (460).
  3. 3. The method of clann 2, farther comprising storing (130) Me violations to a violations file, and wherein the step of reading violations (140) comprises reading (140) the s violations file, and further comprising configuring the E-CAD tool (460) to the circuit design (450) using a configuration file.
  4. 4. The method of claims 1, 2, or 3, further comprising: receiving (170) a selected solution; re-configuring (180) an E-CAD tool (460) based on the selected solution; and 20 re-running (110) the E-CAD tool (460) on the circuit design (450).
  5. 5. The method of claim 4, wherein the step of proposing (160) the proposed solution comprises displaying at least one proposed solution on a display device (430), and wherein the step of receiving (170) the selected solution comprises receiving an input signal Tom an input device (420), and wherein the step of re-configuring (180) comprises editing 25 (180) a configuration file (490) of the E-CAD tool (460).
  6. 6. The method of clanns 1, 2, 3, 4, or 5, wherein the steps of reading violations (140), identifying symptoms (150), identifying solutions (150), and proposing (160) the proposed solution comprise using a software configuration tool (470) stored in a computer memory (440).
  7. 7. A computer-readable medium having computer-executable instructions for performing a method for analyzing a computer representation of a circuit design (450), the method comprising: reading (140) violations of a specification for a circuit design;
    s identifying (150) symptoms ofthe violations based on the circuit design; identifying (150) solutions to the violations based on the symptoms, using data in a solutions database (480); and proposing (160) a proposed solution based on data stored in the solutions database (480).
    lo
  8. 8. The medium of claim 7, the method further comprising: configuring (100) an E-CAD tool (460) to Me circuit design (450) using a configuration file (490); rimming (110) the E-CAD tool (460) on the circuit design (450); detecting (120) violations of the specification using the E-CAD tool (460); and
    storing (130) the violations to a violations file; and wherein the step of reading (140) violations comprises reading (140) the violations file.
  9. 9. The medium of claums 7 or 8, the method further comprising: receiving (170) a selected solution; re-configunug (180) the SCAM tool (460) based on the selected solution; and 20 re-running (110) the E-CAD tool (460) on the circuit design (450).
    10 The medium of claims 7 or 8, the method further comprising: receiving (170) a selected solution; and editing (180) a configuration file of an ECAD tool (460) based on the selected solution.
GB0201814A 2001-02-12 2002-01-25 Method of suggesting configuration commands based on e-cad tool output Expired - Fee Related GB2377052B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/782,406 US20020111784A1 (en) 2001-02-12 2001-02-12 Method of suggesting configuration commands based on E-CAD tool output

Publications (3)

Publication Number Publication Date
GB0201814D0 GB0201814D0 (en) 2002-03-13
GB2377052A true GB2377052A (en) 2002-12-31
GB2377052B GB2377052B (en) 2005-01-05

Family

ID=25125950

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0201814A Expired - Fee Related GB2377052B (en) 2001-02-12 2002-01-25 Method of suggesting configuration commands based on e-cad tool output

Country Status (2)

Country Link
US (1) US20020111784A1 (en)
GB (1) GB2377052B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799776B2 (en) * 2001-07-31 2014-08-05 Invention Machine Corporation Semantic processor for recognition of whole-part relations in natural language documents
US6560751B1 (en) * 2001-11-06 2003-05-06 Sony Corporation Total overlay feed forward method for determination of specification satisfaction
US20040024624A1 (en) * 2002-07-31 2004-02-05 Ciscon Lawrence A. Method and system for leveraging functional knowledge using a requirement and space planning tool in an engineering project
US9031947B2 (en) * 2007-03-27 2015-05-12 Invention Machine Corporation System and method for model element identification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499366A (en) * 1991-08-15 1996-03-12 Borland International, Inc. System and methods for generation of design images based on user design inputs
JPH09128424A (en) * 1995-10-30 1997-05-16 Toshiba Corp Circuit diagram input device for cad system
JPH10247207A (en) * 1997-03-05 1998-09-14 Toshiba Corp System for estimating inconvenient part
JP2000348074A (en) * 1999-06-02 2000-12-15 Sony Corp Pattern layout instruction system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5855009A (en) * 1992-07-31 1998-12-29 Texas Instruments Incorporated Concurrent design tradeoff analysis system and method
US5787006A (en) * 1996-04-30 1998-07-28 Micron Technology, Inc. Apparatus and method for management of integrated circuit layout verification processes
US6292582B1 (en) * 1996-05-31 2001-09-18 Lin Youling Method and system for identifying defects in a semiconductor
US5812416A (en) * 1996-07-18 1998-09-22 Lsi Logic Corporation Integrated circuit design decomposition
JP4076644B2 (en) * 1997-12-05 2008-04-16 株式会社ルネサステクノロジ Pattern distortion detection apparatus and detection method
US6513024B1 (en) * 1999-03-16 2003-01-28 Chou H. Li Self-optimization with interactions
AU3754100A (en) * 1999-03-19 2000-10-09 Moscape, Inc. System and method for performing assertion-based analysis of circuit designs
DE19914593C1 (en) * 1999-03-31 2000-09-07 Daimler Chrysler Ag Operating actuators for electromagnetic valve controller involves applying heating current to electromagnet stimulation coils before actuator starts to warm stimulation coils, sleeve lubricant
US6446243B1 (en) * 1999-04-23 2002-09-03 Novas Software, Inc. Method for functional verification of VLSI circuit designs utilizing reusable functional blocks or intellectual property cores
US6662323B1 (en) * 1999-07-07 2003-12-09 Nec Corporation Fast error diagnosis for combinational verification
US6397373B1 (en) * 1999-07-12 2002-05-28 Taiwan Semiconductor Manufacturing Company Efficient design rule check (DRC) review system
US6728590B1 (en) * 1999-07-14 2004-04-27 Nec Electronics, Inc. Identifying wafer fabrication system impacts resulting from specified actions
US6581191B1 (en) * 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
US6463594B2 (en) * 2000-02-02 2002-10-15 Anthony G. Phillips Protective garment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499366A (en) * 1991-08-15 1996-03-12 Borland International, Inc. System and methods for generation of design images based on user design inputs
JPH09128424A (en) * 1995-10-30 1997-05-16 Toshiba Corp Circuit diagram input device for cad system
JPH10247207A (en) * 1997-03-05 1998-09-14 Toshiba Corp System for estimating inconvenient part
JP2000348074A (en) * 1999-06-02 2000-12-15 Sony Corp Pattern layout instruction system

Also Published As

Publication number Publication date
GB0201814D0 (en) 2002-03-13
US20020111784A1 (en) 2002-08-15
GB2377052B (en) 2005-01-05

Similar Documents

Publication Publication Date Title
US6523149B1 (en) Method and system to improve noise analysis performance of electrical circuits
US6971076B2 (en) Method for estimating peak crosstalk noise based on separate crosstalk model
US9535821B1 (en) Displaying violated coding rules in source code
US7643979B2 (en) Method to analyze an analog circuit design with a verification program
US8234617B2 (en) Method and system for re-using digital assertions in a mixed signal design
US8555234B2 (en) Verification of soft error resilience
US6564365B1 (en) Method of simultaneously displaying schematic and timing data
US20140059507A1 (en) Defect Injection For Transistor-Level Fault Simulation
US20140372083A1 (en) Derived restrictions in a combinatorial model
WO2014066593A2 (en) Self-testing graphical component algorithm specification
US5907698A (en) Method and apparatus for characterizing static and dynamic operation of an architectural system
US20200379886A1 (en) Refining coverage analyses using context information
EP0700008A2 (en) Electronic circuit modeling method and apparatus
US20040015338A1 (en) Method and apparatus for automated signal integrity checking
US20030221173A1 (en) Method and apparatus for detecting connectivity conditions in a netlist database
US6876207B2 (en) System and method for testing devices
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
US20050114805A1 (en) Device, system and method for VLSI design analysis
US20020111784A1 (en) Method of suggesting configuration commands based on E-CAD tool output
US6618840B2 (en) Method and system for analyzing a VLSI circuit design
US8904328B2 (en) Support apparatus and design support method
US7506279B2 (en) Design supporting apparatus capable of checking functional description of large-scale integrated circuit to detect fault in said circuit
US20020007261A1 (en) Circuit simulating apparatus performing simulation with unnecessary ciruit disconnected
US11354477B1 (en) System and method for performance estimation for electronic designs using subcircuit matching and data-reuse
US20070073529A1 (en) Apparatus and method for composite behavioral modeling for multiple-sourced integrated circuits

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20060125