by Gerhard Angst, Concept Engineering
SPICE text files, generated by many EDA tools, are the standard way of describing the lowest level of behaviour of digital and analog circuits both during circuit design and during verification after place and route. The description is of the very detailed analogue behaviour of the transistors and other components that make up digital circuits and gate functions. SPICE is also being used for multi-layer circuit boards, especially if high frequencies are used on the bus. A new application area is MEMS, where the SPICE values describe a mixture of electrical and mechanical components. But SPICE files are not easy to read and understand.
Debugging and optimising complex electronic circuits is becoming ever more difficult and time-to-market is playing a more important role. Every tool in the design chain that can shorten the design phase by days, weeks or even months, might be paid for by the time saved with just the first design.
During an SOC design SPICE text files are generated by various tools to describe, for example, the inner working of a gate (Figure 1 and 2). The designer can use transistor geometries and capacitive loads as a basis to judge maximum clock frequency behaviour or power consumption. But a text file of SPICE values is very difficult to read and to interpret, as all the relationships and connections have to be put in context from a long list. Figure 1 shows a partial SPICE list at the bottom of the screen.
Figure 1: SpiceVision PRO GUI showing both views - the gate and its SPICE list
Figure 2: View showing top level and sub group cone
SpiceVision PRO (SVP) has been designed as interactive tool to visualize SPICE descriptions, to analyse SPICE models, to speed up debugging and help to speed up the optimisation process. SpiceVision loads the SPICE file, automatically generates a circuit diagram including all connections described, using predefined images of the various SPICE elements like R, L, C or transistors. Now the designer can see a familiar view of a circuit diagram, or a cut out view of selected elements.
Visualisation helps dramatically in understanding an existing SPICE text list and the parts of the design that have to be modified. Perhaps more importantly, it allows all members to the design team - wherever located - to look at the same circuit representation and to discuss the details normally hidden somewhere in the SPICE text.Application and Compatibility
SpiceVision interprets SPICE text files generated by any design tool in all the important SPICE dialects, including SPICE2, SPICE3, HSPICE, PSPICE and CDL (Figure 3). Even more specialized versions are supported indirectly, since most tools generating these dialects provide an option to export data in one of the standard forms. SpiceVision flawlessly integrates with existing design and characterization flows, independent of manufacturer.
Figure 3: Nearly all SPICE types are supported - directly or indirectly
Before loading a new file, the user can select the appropriate dialect or let the tool decide which to use.
The conversion from text to circuit diagram normally uses predefined symbols for the different components, like resistors, capacitors, transistors, current and voltage sources. In addition links are possible to external symbol libraries and definitions.
SpiceVision’s hierarchy browser can start from the top level of the selected SPICE file and move down the circuit hierarchy, displaying different levels in different windows, until the basic components like capacitors and transistors become visible.
Figure 4: SOC Design Tool Flow and steps where SpiceVision PRO integratesSpiceVision GUI - the Visualisation Engine
An important capability of the tool is its search function, finding the areas of interest and displaying them on the screen (Figure 5). After initialisation, SVP will show the search results and store them in a separate result list: this list is the basis for display. The user can select which parts of the results list he wants to see, independent of the hierarchy levels involved (Figure 2).
Figure 5: Visualizing a component and its SPICE list
Object attributes, for example input or output port definitions or types of power supplies, can be modified via pop-up menus to further increase readability. These definitions are then used by SVP to generate circuit diagrams that are even easier to read and understand.
The tool will show all of the components in the part list, but simplification is possible, Components in parallel, such as capacitors, can be replaced by a single component representing the sum. If there are too many capacitors in a part of the file, the screen becomes cluttered. SVP provides a feature that selects all of them and can make them invisible.
Special areas or component groups of a design, for example nets or instantiations, can be selected and saved as bookmarks for later use. Context sensitive menus allow for fast access to the relevant data.Cone Display of Circuit Fragments
One problem still needs to be solved: how can we work with file that generates a display of, for example, 200,000 transistors? How can we have a high magnification display but still see modules of the design that are scattered over the circuit? The solution is the Cone Window, an “intelligent magnifying glass” that displays the selected fragments in a new view, either as a flat or as a hierarchical design (Figure 2). The same feature can be used to display critical paths that have been calculated by other tools; again only the interesting parts of the design are seen and can be followed easily.
The Cone Window in SpiceVision PRO provides new applications including selected simulation” and communication. As soon as the designer has selected all of the components that are important for him this can be stored as separate file. This new file can be printed or electronically shared between all designers with access to SpiceVision PRO and discussed on the phone with all of the data restricted to the main theme.
It is also possible to simulate only the selected area. Simulation speed-up
Having defined and saved the SPICE data of a fragment the designer can execute a quick partial simulation, either locally or remotely. Normally even small modifications in the design require the full design to be simulated. SpiceVision PRO stores any selected SPICE data or circuit fragment for use in an external simulator.
One practical example: in a design of 200,000 elements but a fragment of only 200 is altered by a change are relevant. By simulating just the design fragment, simulation time is reduced by a factor of 10 to 100. Translated into hours this is the difference between spending the 10 hours of a working day waiting for a result, or just an hour (even the lunch break). Partial simulation allows more simulations to take place yet still completes the design faster.SPICE Display after Place & Route
As soon as a design has been finished, it has to be implemented in the semiconductor technology chosen: the components have to be placed and connected. The design tools used for Place and Route can create new SPICE files from the actual implementation and taking into account effects caused by wire length on the chip, coupling between neighbour wires etc.
As these new SPICE text files are normally generated automatically, the original SPICE list of the design and the same list after place & route are extremely difficult to compare. The new list after place and route is a lot longer and hardly any Place & Route tools can generate a circuit diagram of the enlarged SPICE list.
Place and route tools generate new critical paths, for example those that influence and limit maximum clock frequency or impact device yield in production, but do not also generate an easily readable circuit diagram. Critical paths are extremely difficult to follow in a text list but SpiceVision can be used to create schematics, with the “intelligent magnifying glass” feature. Many new components are generated by place and route tools, but again the ability to hide or sum capacitors or other components achieves a better view of the final circuit function. In many cases SVP is the only option to get a view of the final circuit in silicon.
At this state of the design a selection and display of circuit fragments connected via multiple hierarchies is even more important. The same applies to “selective simulation” as the increased files lead to even longer simulation cycles.Printout and Documentation
No engineer likes to do documentation. In many cases the stress levels are high until tape-out and, additionally, the next design is waiting. As a result the documentation is minimized. SpiceVision PRO supports this phase of the design cycle. SPICE lists that define actual design stages can be used to document designs as circuit diagrams or circuit books where the data is automatically cut into the pages required.
This print and document feature is not just important at the end of a design. As the actual SPICE data are always available, any complete or any partial view can be frozen or printed at any time. This is even more attractive when combined with a Revision Control software package such as that available from ClioSoft. At any time, such as before and after place & route, the designer can take a snapshot to freeze the design status. This can be shared automatically within the whole design team.
The snapshots provide the capability of returning to a working circuit diagram with all of its full and partial views, and use this as a new starting point. As all of the print files of all versions are available on the network, communication is very much simplified.Intellectual Property
The re-use of proven parts of a design either internally or from third parties is increasing as IP is seen as the only solution to achieve more throughput with an existing design team and a limited development time budget. With SpiceVision PRO designers are able to select certain parts of the design and save these as new files, cookie-cutting the new IP out of the complete design. A full definition of the IP as a SPICE text file, together with the circuit diagram, is available immediately for filing and transfer.User Interface
SpiceVision is designed to visualize 2,000 elements. In SpiceVision PRO a more flexible database imposes no limitations and additionally an application program interface (API) allows access to the internal database. Using the TCL programming language the user can read and write to and from the database, for example to take data and generate user specific reports as additional tool functions.
One known simulation problem is “floating gates” which lead to error messages. In large designs this will cost time, as the file has to be corrected by the relevant designer before a new simulation run can start. Using the SpiceVision PRO API the user can find all of the “floating gates” and correct the design before the simulation group takes over.
Another example: nowadays many designs use multiple supply voltages. These level shift circuits are crucial to the design and a bad design can lead to the destruction of the device. Using SVP and TCL, Electrical Rule Checks (ERC) can be written and will show the relevant problem areas in a cone window.A Clear View to Faster Designs
SpiceVision PRO is the first product on the market to convert SPICE text files to circuit diagrams and to use Cone Windows to get a better view of selected components. Additional user programming via TCL allows for customer specific extensions like consistency checks or locating heavy loads. Selecting parts of the design leads to reduced complexity and results in faster simulation of sub-circuits.
For further information: Tel: +49 761 - 47094-0, [info AT concept DOT de]
Table 1: Main SpiceVision PRO Features
|Features || Benefits |
|Circuit diagrams from SPICE text files ||Fast and familiar view of a circuit function instead of interpreting text list |
|Search and display capability ||Finds specific components and displays them in context |
|Design hierarchy browser ||Simplified view of different levels (connection, modules, and components) |
|Cross-Probing ||Selects and displays chosen elements, works across all hierarchy levels to reduce debug effort and time |
|Capacitor compaction and hiding: compaction of other parallel elements ||Reduces circuit complexity by combining or hiding capacitors or other elements Provides better understanding of circuit functionality |
|Custom specific display of sub-circuits ||Flexible visualisation within a hierarchic design |
|Supports multiple SPICE dialects ||Integration into nearly any EDA design tool that generates SPICE files |
|UserWare API ||Enables customer specific programming of circuit check (ERC) |
|Printing under Windows or Postscript ||Opportunities for print, communication or easy design documentation |