CA2315456C - Schematic organization tool - Google Patents

Schematic organization tool Download PDF

Info

Publication number
CA2315456C
CA2315456C CA002315456A CA2315456A CA2315456C CA 2315456 C CA2315456 C CA 2315456C CA 002315456 A CA002315456 A CA 002315456A CA 2315456 A CA2315456 A CA 2315456A CA 2315456 C CA2315456 C CA 2315456C
Authority
CA
Canada
Prior art keywords
schematic
cell
components
project
high level
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.)
Expired - Lifetime
Application number
CA002315456A
Other languages
French (fr)
Other versions
CA2315456A1 (en
Inventor
Val Gont
Larry Lam
Alexei Ioudovski
Jason Abt
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.)
TechInsights Inc
Original Assignee
Semiconductor Insights Inc
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 Semiconductor Insights Inc filed Critical Semiconductor Insights Inc
Priority to CA002315456A priority Critical patent/CA2315456C/en
Priority to US09/920,734 priority patent/US6738957B2/en
Publication of CA2315456A1 publication Critical patent/CA2315456A1/en
Application granted granted Critical
Publication of CA2315456C publication Critical patent/CA2315456C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/12Symbolic schematics

Abstract

A process in a computer system for generating a high level schematic from a project schematic of basic components which comprises scanning the project schematic for a predetermined cell, wherein the cell is made up of a select group of components and their interconnections, and replacing the select group of components on every occurrence that it is found in the project schematic by a cell symbol having input and outputs to generate the high level schematic. The process may also be repeated for other predetermined cells which may be selected from a library or created by the user.

Description

Schematic Organization Tool Field of the Invention The invention relates generally to automated design analysis and more particularly to a tool for generating organized high level schematics from the transistor images of a die.

Background of the Invention In the intensely competitive field of microelectronics, detailed analysis of a semiconductor integrated circuit product can provide valuable information as to how a particular technical problem was addressed, overall strengths and weaknesses of a design approach, and such matters. This information can be used to make decisions regarding market positioning, future designs, and new product development. The information produced from analysis of the product is typically provided through circuit extraction (reverse engineering), functional analysis, and other technical means. At the core of this activity is the process of design analysis which, in this context, refers to the techniques and methodology used to derive a complete or partial set of schematics from any type of integrated circuit manufactured using any process technology. For such technical information to be of strategic value it must be accurate and cost effective, and it is very important that the information should generated in a timely manner.

A design analysis process typically involves skilled engineers manually extracting circuit information from a set of large "photomosaics" of an integrated circuit (IC). Skilled technicians and engineers perform the following sequential tasks:
(1) A high magnification image of a small portion of an IC is captured using a camera or electron microscope such as a SEM. The IC has been processed to expose a layer of interest.
(2) Step (1) is repeated for all of the various regions of interest of the layer of the IC, ensuring that sufficient overlap exists between adjacent images that will be used to create the photomosaics.
(3) Create Photomosaics: all adjacent photographs associated with the given IC
layer are aligned and taped together.
(4) Steps (1)-(3) are repeated for every layer necessary to construct a layout database of the IC. All layers include interconnect layers. For example, four sets of photomosaics are required for a device with three layers of metal and one layer of polysilicon.
(5) Circuit Extraction: transistors, logic gates, and other elements employed in the IC are identified by manually, visually examining the polysilicon and lower metal interconnects photomosaics. Interconnections between circuit elements are traced and this information is captured in the form of schematic drawings.
The drawings are manually checked against the photomosaics and any obvious errors are corrected.
(6) Organize Schematics: the schematic drawings are organized into hierarchical functional/logical blocks.
(7) Capture Schematics: the schematic drawings are entered into a computer using computer aided engineering (CAE) software tools for subsequent simulation and functional analysis of the IC.

The results of these substantially manual techniques for circuit extraction are often difficult to analyze. Difficulties arise in tracing signals that travel between several schematics. Locating the schematics associated with a particular signal can be very time consuming. During the circuit extraction process, signals are commonly given a generic name or label as a reference. Further analysis will reveal the purpose or function of these signals. The signals should then be renamed so that their name indicates their function. The signal renaming process creates two problems.
Firstly, it takes some time to locate each schematic associated with a particular signal such that the signal can be relabeled on each schematic where it appears. Secondly, guaranteeing that the signal has been renamed on each schematic is difficult.
This can result in inconsistencies with signal names that can confuse the engineer attempting to analyze the circuitry.

Another time consuming task associated with this manual circuit extraction process is the creation of signal and schematic lists. It is often useful to have a cross-reference between signal names and the name or number of the schematic in which these signals appear. However, such a cross-reference is very labor intensive to produce.

Once the schematics have been entered into a computer for simulation and/or subsequent analysis, it becomes difficult to edit the schematics. For example, as the circuit analysis progresses, it frequently becomes necessary to redraw certain schematics or to transfer portions of one schematic to another. Editing a set of schematics in such a way can often cause errors in the net list which require manual correction. Signal names and other labels on the revised schematics will also have to be manually changed.

Other than the manual method described above, the design analysis process can alternatively employ an automated circuit extraction process such as the one described in US Patent 5,694,481 which issued on December 2, 1997 to Lam et al.

Lam discloses an automated system for extracting design information from a semiconductor integrated circuit by imaging layers of an IC, creating a mosaic of the images, identifying the circuit elements, developing a basic net list of the circuit element connections, organizing the net list into functional blocks, and generating schematic diagrams.

Unfortunately, the circuit extraction method disclosed by Lam has the same restrictions as the manual method when in comes to locating signals and schematics, creating signal and schematic lists, and editing existing schematics. In fact, the automated method adds the burden of identifying logic gates and standard cells from a randomly organized net list. An engineer is required to sort through the schematics to convert the connected transistors into the relevant logic gates and standards cells.

Obviously, this can take a very long period of time.

The results of these substantially manual techniques for circuit extraction are difficult to analyze since the resulting schematics are difficult to follow.

Therefore, there is a need for a tool to generate organized schematics at such a level that they may be properly and efficiently analysed as to their functionality.
Summary of the Invention The invention is directed to a process in a computer system for generating a high level schematic from a project schematic of basic components which comprises scanning the project schematic for a predetermined cell, wherein the cell is made up of a select group of components and their interconnections, and replacing the select group of components on every occurrence that is found in the project schematic by a cell symbol having input and outputs to generate the high level schematic. The process is then repeated for other predetermined cells.

In a first broad aspect of the invention, there is disclosed a process in a computer system for generating a high level schematic from a project schematic of basic components, comprising: a. scanning the project schematic for all instances of a predetermined cell, wherein the predetermined cell comprises a select group of components and their interconnections; b. replacing each instance of the select group of components and their interconnections found in the project schematic by a cell symbol having inputs and outputs to generate the high level schematic, wherein steps (a) and (b) are performed automatically by the computer system; c. repeating steps (a) and (b) for other predetermined cells.

In a second broad aspect of the invention, there is disclosed a process in a computer system for generating a high level schematic from a project schematic of basic components, comprising: a. scanning the project schematic for a predetermined cell, wherein the project schematic comprises a project netlist of components and their interconnections and wherein the predetermined cell comprises a select group of components and their interconnections; b. replacing the group of select components found in the project schematic by a tell symbol having inputs and outputs to generate the high level schematic c. repeating steps (a) and (b) for other predetermined cells; d.

generating a high level netlist of the high level schematic; and e. creating a database from the high level schematic netlist of the signal between the cells wherein the signals are identified by a defined label, a schematic page number where they are found, and the signal's function as an input/output signal, wherein steps (a)-(e) are 5 performed automatically by the computer system.

In a third broad aspect of the invention, there is disclosed a process in a computer system for generating a high level schematic from a project schematic of basic components, comprising: a. dividing the project schematic into two or more subprojects; b. generating an individual project netlist for each subprojects;
c.
scanning the subproject schematics for a predetermined cell, wherein the predetermined cell comprises a select group of components and their interconnections; d. replacing the group of select components found in the subproject schematics by a cell symbol having inputs and outputs to generate the high level schematic for each subproject, wherein steps (a)-(d) are performed automatically by the computer system; and e. repeating steps (c) and (d) for other predetermined cells.
In a fourth broad aspect of the invention, there is disclosed a method in a computer system for manipulating data from a high level schematic comprising cell names, signal labels for input and output signals between the cells, and cell schematic page numbers on which each signal is found, the method comprising: a. sorting the data by signal labels; b. sorting the data by inputs and outputs; c. sorting the data by schematic page number; d. renaming the signal labels; and e. describing the cell functions.

In a fifth broad aspect of the invention, there is disclosed a method in a computer system for manipulating data from a high level schematic, comprising cell names, signal labels for input and output signals between the cells, and cell schematic page numbers on which each signal is found, the method comprising: a. sorting the data by signal labels; b. sorting the data by inputs and outputs; c. sorting the data by schematic page number; d. renaming the signal labels; e. describing the cell functions;
f. checking the signals for errors; g. modifying the gate length data; h.
editing local pin segments; and i. converting signal labels with identical labels to signal labels with unique labels.

5a Other aspects and advantages of the invention, as well as the structure and operation of various embodiments of the invention, will become apparent to those ordinarily skilled in the art upon review of the following description of the invention in conjunction with the accompanying drawings.

Brief Description of the Drawings The invention will be described with reference to the accompanying drawings, wherein:

Figure 1 a illustrates a transistor layout obtained from IC images;
Figure lb illustrates a transistor layout which is divided into three main subprojects;

Figure 2 illustrates a cell/component schematic in accordance with the present invention;

Figure 3 illustrates a high level schematic in accordance with the present invention.

Figure 4 is a GUI illustration of the Schematic Organization Tool highlighting cell extraction;

Figure 5 is a GUI illustration of a library of cells;

Figure 6 is a GUI illustration of the Schematic Organization Tool highlighting the extract command;

Figure 7 is a GUI illustration of the cell flattener;

Figure 8 is a GUI illustration of the Schematic Organization Tool highlighting the signal list;

Figure 9 is a GUI illustration of the Schematic Organization Tool highlighting the I/O list; and Figure 10 illustrates a computer system for implementing the invention.
Detailed Description of the Invention The present invention comprises a novel process of generating an organized high level schematic of the IC. The process can be initiated at the IC
schematic layout level which represents the transistors identified in the IC by pattern recognition of the polysilicon crossing diffusion points with the basic netlist of the connections between the transistors, generated from the layout. Figure 1 illustrates the transistor layout obtained of IC images through pattern recognition of polysilicon crossing diffusion points. Recognition routines find the interconnection information of the transistors to form a netlist which is generally highly disorganized since it simply lists the interconnections between transistors. A graphical representation of the transistors and their interconnections can be formed from the netlist into a schematic, however it too will not be organized. In this specification, the terms netlist and wire list are generally considered to be synonymous, whereas signal list is a data extraction from the netlist or wire list.

Most analysis projects involving integrated circuits involve a huge set of transistors in the layout. It is often desirable to simplify the schematic that is being analysed by dividing it into functional subsections for individual analysis.
Such a division is illustrated in figure lb where the project is shown as being divided into subprojects A, B and C as well as any remaining gates/transistors.

In addition, the schematic is simplified by extracting certain functional cells made up of transistor groups from the transistor netlist and replacing the transistor groups with a functional cell symbol. The novel process for generating a high level organized schematic of the IC is normally initiated at the project schematic level from which meaningful groups of transistors forming functional cells are identified on the layout and are replaced on the schematic by representative cell symbols. An example of a tool that may be used to extract groups of transistors that represent functional components by defined graphical representations is described in a co-pending patent application entitled Gate Extractor filed by Ioudovski on even date with this application. The project schematic may include a combination of defined cells, such as gates extracted by the above Gate Extractor, as well as transistors, together with a net list of their interconnections and is ideal for continuing the present process for generating a high level organized schematic. An example of such a project schematic is illustrated in figure 2 which shows a schematic made up of various interconnected simple cells including individual transistors. Though this schematic is more readable than the basic transistor schematic, it is still somewhat disorganized since complex functional cells cannot be easily recognized.

The process in accordance with the present invention comprises the following steps where the term components includes gates and transistors which are found in the project schematic.

- Individual cell schematics of groups of interconnected components which
8 form particular meaningful functional cells may be computer created after studying the project schematic and/or similar types of individual cell schematics may be obtained from a library of common cell schematics created prior to the project. A pattern template is created to represent the cell. The pattern template for each cell identifies the components within the cell with their interconnections.

- Graphical representations or symbols of the cells are created by the user showing their inputs and outputs.

- The project schematic is searched for each of the cells in question. To speed up the search, the project is converted into an array of gate objects that potentially can be grouped into cells. Each gate object defines an instance of a cell component with the following properties: gate label, location, pin order, wire connections, and pin type. Further increases in cell extraction speed can be achieved by mapping wire connection labels with integers so that comparison and analysis is performed on integers rather than strings.

- When a component group corresponding to a cell patteln template is found, it is replaced in the schematic by its graphical representation with its inputs and outputs appropriately connected.

- The netlist for the project schematic is updated by replacing the group of components and their interconnection data by the cell name and its inputs and outputs.

- The resulting schematic generated is a high level schematic which is hierarchally highly organized and facilitates analysis due to the easily recognizable functionality of the circuits.

Though the size of the final schematic for an IC has been reduced substantially
9 since it now includes symbols of functional cells, it can still require several hundreds of pages. Conventionally, input and output signals are labelled on the schematic and this is particularly important between pages, ie where a signal originates on one page and is used as an input to one or more cells on one or more pages. In order to facilitate the interpretation of the schematics, a database of the signals between the cells is compiled. The signal database includes the signal net name or label, the page number on which it is found and whether the signal is an input or an output signal in each particular instance, and a meaningful description of the signal function.
This permits the tracking of signals through the high level schematic effortlessly.
The database is further designed to sort the data by any of the fields such as by label, by schematic page number, or by input/output, and to reformat the data page by page. In addition, it includes the facility to rename the initial signal labels which are usually somewhat arbitrary to a user defined descriptor label which is more representative of what they actually are. For instance the clocking signals could be labelled clkl, clk2, .... On renaming the label in the database, the labels on the associated schematic would be updated. In addition, a brief description of each label could be maintained in the database and a trace of all renaming activities could be maintained. An advanced schematic editor and navigator of the type described in a co-pending application entitled Advanced Schematic Editor filed by Ioudovski on even date may be used for performing advanced editing functions on the project schematic netlist data.

In order to implement the process in accordance with the present invention, the schematic organization tool comprises seven functional modules. The modules will be described with reference to ViewGen software from ViewLogic/Innoveda, though it can equally well be implemented with any other image manipulation and display software. The modules include a cell extractor module, a cell flattener module, a layout interface module, a signal list applications module which includes a figure list, signal extractors, signal error check, signal data I/O format, signal rename, gate length modifier and an editor of "local" signal pin segments module which cleans up local pin segments that are mistakenly created, and a wire list converter module which modifies floating signals.

Cell Extractor Module - Most analysis project schematics or project data sets contain a large number of components such as transistors/gates that represent the lowest level 5 of circuit hierarchy. The transistors/gates are not organized in any way and are placed on numerous schematic pages arbitrarily by ViewGen of ViewLogic/Innoveda or some other software which is capable of viewing and editing schematics. There is a constant need to group the components into meaningful cells to build a circuit hierarchy.

In the cell extractor module, a user creates the following three files that represent a cell as a functional schematic block:

1. A cell schematic file by placing components such as transistors/gates on a new schematic page, connecting them in an appropriate way, and defining IN /
OUT pin components.

2. A cell symbol file by either drawing a symbol on a new symbol page or generating the symbol using ViewGen software. Pintype and Pinorder properties are required for every symbol.

3. A wire file of all of the interconnecting wires or signals between the components in each cell.

The cell extractor module creates a cell template that contains of an array of components such as transistors/gates. Each of the components has following properties:
1. Name of the component, for example NAND2, S14142@00001.

2. Labels of all wires, also known as signals or nets, connected to the component pins.

3. Scope of the wires connected to the component pins, local indicates that the wire belongs to the cell only, and global indicates that the wire is connected to another component outside the cell.

4. Component pin order, for example A,B,C,QN.

5. Digital mapped nodes which are unique integers that represent unique string labels.

Cells to be extracted by the SOT cell extractor may be created in two ways, by schematic and from layout. In the first case, as noted above, the components of a cell may be drawn on a schematic page with their interconnections from which a cell wire file is created. In addition, an appropriate symbol with its inputs and outputs may be drawn to represent the cell. These cell schematics, wire files and symbols may be placed in a library for future use or they may be used immediately for cell extraction.
Alternately, as will be described below in Layout Interface, it may be desirable to create a cell directly from the layout of the integrated circuit. This is particularly desirable when common patterns are seen on the circuit layout but due to reasons such as component density, it may not be possible to identify a cell structure. In such a case, a polygon is drawn around the area of interest and the Create Cell 41 function shown on figure 4 is clicked. A cell wire file of all of the components within the polygon will be generated. In the same way as noted above, a symbol is drawn to represent the cell in question.

The template data is extracted from the user created symbol file (SYM) and wire file (WIR) created by the array of components for a particular cell. The SOT
software rearranges the array data in such way that subsequent components have at least one common wire with any of the preceding components in the rearranged array.
Next, the software combines all wire files into one entitled a virtual net list. The virtual netlist is used to perform search and replace of similar cell component arrays spread throughout the different pages by the cell symbol. The virtual net list is separated into the original file configuration after the extraction is complete. After the virtual net list is created, the software extracts all components from the project virtual net list based on the same names as cell component names to produce candidate arrays. The candidate array components have their properties similar to the cell components. The node labels which are the pins of the components in the cell array, are digitally mapped giving them a unique integer value to represent each unique string label. In order to find the same template pattern in the candidate array, the software compares each of the candidate's nodes to see if they are interconnected or not i.e. to be equal or not equal to the nodes of the preceding candidate's nodes in the same way that the nodes are equal or not equal in the template components. The software removes all lines belong to extracted candidates from the virtual net list.
Then at the end of all extractions of a cell, the software will write new cell symbol descriptions and cell definition overhead into the header of each net list.

The final result of the cell extractor is a wire file with all cell components removed and substituted with the cell symbol descriptions. The user can run a schematic generator to create the new schematic pages.

The graphical user interface (GUI) of the cell extractor includes following components as illustrated in figure 4: convert and check wirelist 42, cell extractor options 43, hide labels of local signals44and flatten a cel145. There are four sub menu items in cell to seek to extract all cell symbols in the symbol files from all wire files 46, to seek to extract all cell symbols from selected wire files 47, to seek to extract selected cell symbols from all wire files 48, or to seek to extract selected cell symbols from selected wire files 49 to give a user maximum flexibility to perform extractions.
It may be desirable to only extract a few cells from all of the wire files or from selected wire files to see what is happening, on the other hand, if it is evident that certain cells do not exist in some wire files, these wire files could be skipped during processing by using all cell symbols from selected wire files.

When it is desired to extract selected symbols, the symbol selection dialog interface illustrated in Figure 5 will open up. In this way the symbols to be extracted may be selected in what ever order the user wishes. Once the selection is made, the extraction toolbar button Extract 61 shown in figure 6 will initiate the extraction, while the button Do Not Extract 62 removes all selections. As extractions take place, a status bar reflects the status of the extraction process by showing the cell name of the current cell being extracted and the running total of extracted cells. At the end of the extraction the "Extraction status" 63 field of the list control will output the results of each cell extraction.

Cell Flattener Module - This process reverses the cell extractor results whereby a cell can be replaced by the components that made it up. The process will replace all cell occurrences with its components. The GUI is illustrated in figure 7.

Layout Interface Module - This module is used to cluster layout components such as transistors/gates into a logical functional block or cell. The layout data is stored in a GDS file as objects in a vector type format. The transistor/gate data is written into SPICE files of Automated Design Analysis projects. The user is able to:

1. Group layout components that are near to one another into meaningful blocks, as noted above for cell creation; or 2. Split a project based on the layout topography as illustrated in figure lb into more manageable and smaller subprojects; and 3. Generate wire files and then schematic files of any particular layout blocks or areas of interest.

The layout interface of SOT provides analysts with a bridge from GDSII type layout to gate/transistor schematics. Prerequisites of the layout interface functionality are a project GDSII file and ViewLogic/Innoveda library directory structure (ex:

ULIB). Prior to the use of the SOT layout interface the user is required to modify the layout data in any editors, for instance L-EDIT. The modifications include creation polygon boundaries around areas of interest. The polygon data is stored in the GDSII
file on the layer 55 which is reserved for the cell extraction (item 1 above) and on the layer 58 for splitting the project in parts (item 2 above). The layout is a three dimensional picture of the integrated circuit, layers 55 and 58 are layers well above the layers required for actual integrated circuit layers.

The software prompts a user to select a project GDSII file and the output library directory. The rest is transparent to the user and the results of the process will be shown in a summary.

The software opens the user specified GDSII file to extract data about polygons such as names of boundaries and their coordinates. The data is stored in a dynamic array of polygon property structures. Next, the software opens an appropriate project spice file that contains database on all gates of the project in their correspondence to the GDSII data. Then, the layout interface collects all gate coordinates of which fall into the boundaries extracted from the GDSII file.
Finally the software creates wire file for all boundaries and names them by the boundary names. The wire files are the gate databases that describe all components within the polygon boundary and the way they are interconnected to each other.

In order to have schematic pages of the extracted polygons and project parts (if the project is split), the user applies ViewLogic/Innoveda ViewGen application. The ViewGen takes wire files created by the SOT layout interface as the project input and generates schematic and/or symbol files.

Signal List Module - This module provides analysts with a tool for fast and reliable schematic data processing, the automation of time consuming routines. These custom created tools perform engineering specific tasks. There are no other third party tools presently available. Data collection, modification and storing are very time consuming, it often takes days to do just one loop of these operations.

The application is a single document Windows software. It utilizes MFC
CListCtrl to output extracted and organized data. There are alphanumeric ascending and descending sort options available. The software saves all user data into a set of 5 predefined meaningful file names ("Save") as well as into user created names ("Save As"). All saved files are in the text format with an extension "*.DOC" to utilize MS
Office Word software for customer reports.

The options available are to:
10 1. List all signals, therefore extracting all wire labels from the data files, or 2. List PIN signals only, therefore to extract only input/output labels from the data files and are therefore schematic page related.

Both options contain two sub options, namely to extract from:

15 l. All schematics and therefore to process all schematic files of a project; or 2. To exclude SYM file signals and to process only those schematic files that do not have a SYM file - this sub option extracts top level signals.

An example of an extract all signals is illustrated in figure 8 while an example of an extract PIN signals only is illustrated in figure 9.

There are a number of subsets under the Signal List Applications. For instance, the user can obtain a list of all of the data files by figure number. The Figure List includes the figure numbers, a title for the figure and the data file where it can be found.

Signal Error Check will verify the signal list to check for anomalies in the list.
For instance it will verify that matching signals exist and if they don't the anomaly will be highlighted.

Under Signal Data I/O Format, all input and output signals are listed indicating the schematic page where it originates and the page or pages where it goes.
Signal Rename allows the user to change the label of a signal, the name change will take place on all of its occurrences.

All gates/transistors have physical dimensions such as width, length and height, the parameter length may be modified if it is found that the size of a particular gate/transistor has been inserted in error. Gate Length Modifier can be used to search through the file and modify the data to correct the length of a particular type of gate/transistor.

ViewLogic/Innoveda was not designed to carry out reverse engineering tasks, ViewLogic/Innoveda can therefore create a number of wires that either do not originate anywhere or do not go anywhere. The Editor of Local Signal Pin Segments will move through the entire data base and remove such wires.

The Wire List Converter module is able to search the entire signal list to find the floating signals which are missing wires. These signals are not shown in the schematics but they are written into wire file all with the same label "???".
Thus it would appear that all floating signals are identical. In order to keep uniqueness of nets and to show "floating signals" to analysts, the software will find them and label as "FLOAT_#". First, the software opens all wire files searching for labels masked as "FLOAT_*". The asterisk represents an integer value starting from zero.
Second, the software analyses the integer value of found float signals and uses the max value as a starting point for the subsequent conversion. Third, the converter runs through wire files again to search for floating signal labels in component records.
Next, it replaces all "???" labels with the masked labels as following: FLOAT_D, where D is the subsequent integer value of the max index increased by one at each substitution.

The user interface includes a file open dialog to point to a project files and the status bar that indicates the progress of the conversion. The SOT main interface includes menu and tool bar items that are responsible for invoking of process automation supporting applications, such as: ViewDraw, ViewGen, Equivalence, Netlist organizer, Shorts, and so on.

The above invention is implemented using a computer system 100 of the type illustrated in figure 10. The system 100 includes a processor 101 connected to a software storage device 102 which controls the processor 101, a user input device 103, a user output device 104 and a memory 105 for storing the data generated and organized by the system.

While the invention has been described according to what is presently considered to be the most practical and preferred embodiments, it must be understood that the invention is not limited to the disclosed embodiments. Those ordinarily skilled in the art will understand that various modifications and equivalent structures and functions may be made without departing from the spirit and scope of the invention as defined in the claims. Therefore, the invention as defined in the claims must be accorded the broadest possible interpretation so as to encompass all such modifications and equivalent structures and functions.

Claims (11)

What is claimed is:
1. A process in a computer system for generating a high level schematic from a project schematic of basic components, comprising:

a. scanning the project schematic for all instances of a predetermined cell, wherein the predetermined cell comprises a select group of components and their interconnections;

b. replacing each instance of the select group of components and their interconnections found in the project schematic by a cell symbol having inputs and outputs to generate the high level schematic, wherein steps (a) and (b) are performed automatically by the computer system;

c. repeating steps (a) and (b) for other predetermined cells.
2. The process in claim 1 wherein the project schematic comprises a project netlist of components and their interconnections.
3. The process as claimed in claim 2 wherein step (a) includes generating a cell netlist of the select group of components and their interconnections.
4. The process as claimed in claim 2 wherein step (a) includes selecting a cell netlist of the select group of components and their interconnections from a library of cell netlists.
5. The process as claimed in claim 2 wherein step (a) includes creating a cell schematic of a group of components and their interconnections, and generating a cell netlist of the cell schematic.
6. The process as claimed in claim 2 which further includes the step of generating a netlist of the high level schematic.
7. A process in a computer system for generating a high level schematic from a project schematic of basic components, comprising:

a. scanning the project schematic for a predetermined cell, wherein the project schematic comprises a project netlist of components and their interconnections and wherein the predetermined cell comprises a select group of components and their interconnections;

b. replacing the group of select components found in the project schematic by a tell symbol having inputs and outputs to generate the high level schematic c. repeating steps (a) and (b) for other predetermined cells;

d. generating a high level netlist of the high level schematic; and e. creating a database from the high level schematic netlist of the signal between the cells wherein the signals are identified by a defined label, a schematic page number where they are found, and the signal's function as an input/output signal, wherein steps (a)-(e) are performed automatically by the computer system.
8. A process in a computer system for generating a high level schematic from a project schematic of basic components, comprising:

a. dividing the project schematic into two or more subprojects;

b. generating an individual project netlist for each subprojects;

c. scanning the subproject schematics for a predetermined cell, wherein the predetermined cell comprises a select group of components and their interconnections;

d. replacing the group of select components found in the subproject schematics by a cell symbol having inputs and outputs to generate the high level schematic for each subproject, wherein steps (a)-(d) are performed automatically by the computer system; and e. repeating steps (c) and (d) for other predetermined cells.
9. The process as claimed in claim 8 which further includes the step of generating a netlist of the high level schematic.
10. A method in a computer system for manipulating data from a high level schematic comprising cell names, signal labels for input and output signals between the cells, and cell schematic page numbers on which each signal is found, the method comprising:

a. sorting the data by signal labels;

b. sorting the data by inputs and outputs;

c. sorting the data by schematic page number;

d. renaming the signal labels; and e. describing the cell functions.
11. A method in a computer system for manipulating data from a high level schematic, comprising cell names, signal labels for input and output signals between the cells, and cell schematic page numbers on which each signal is found, the method comprising:

a. sorting the data by signal labels;

b. sorting the data by inputs and outputs;

c. sorting the data by schematic page number;

d. renaming the signal labels;

e. describing the cell functions;

f. checking the signals for errors;

g. modifying the gate length data;

h. editing local pin segments; and i. converting signal labels with identical labels to signal labels with unique labels.
CA002315456A 2000-08-09 2000-08-09 Schematic organization tool Expired - Lifetime CA2315456C (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002315456A CA2315456C (en) 2000-08-09 2000-08-09 Schematic organization tool
US09/920,734 US6738957B2 (en) 2000-08-09 2001-08-03 Schematic organization tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002315456A CA2315456C (en) 2000-08-09 2000-08-09 Schematic organization tool

Publications (2)

Publication Number Publication Date
CA2315456A1 CA2315456A1 (en) 2002-02-09
CA2315456C true CA2315456C (en) 2009-10-13

Family

ID=4166860

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002315456A Expired - Lifetime CA2315456C (en) 2000-08-09 2000-08-09 Schematic organization tool

Country Status (2)

Country Link
US (1) US6738957B2 (en)
CA (1) CA2315456C (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10151379C1 (en) * 2001-10-18 2003-04-24 Infineon Technologies Ag Manufacturing integrated semiconducting circuit involves implementing short, wide range wiring in same metallization plane, showing each different form on different layer type drawing
US7062427B2 (en) * 2001-12-27 2006-06-13 John Stephen Walther Batch editor for netlists described in a hardware description language
JP2004030308A (en) * 2002-06-26 2004-01-29 Nec Micro Systems Ltd Method for preparing layout of semiconductor integrated circuit
KR100459731B1 (en) * 2002-12-04 2004-12-03 삼성전자주식회사 Device and method for generating selective netlist having interconnection influence for the simulation of semiconductor integrated circuit
US7503021B2 (en) * 2002-12-17 2009-03-10 International Business Machines Corporation Integrated circuit diagnosing method, system, and program product
US6968518B2 (en) * 2003-01-21 2005-11-22 Infineon Technologies Ag Method of resolving missing graphical symbols in computer-aided integrated circuit design
US7096439B2 (en) * 2003-05-21 2006-08-22 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for performing intellectual property merge
US20050050485A1 (en) * 2003-08-25 2005-03-03 Keller S. Brandon Systems and methods for identifying data sources associated with a circuit design
US7146594B1 (en) * 2003-12-15 2006-12-05 Ugs Corp. System, method, and computer program product for schematic generation
US7188329B2 (en) * 2004-02-13 2007-03-06 Inventec Corporation Computer-assisted electronic component schematic linking method
US20060055704A1 (en) * 2004-09-10 2006-03-16 Kruk James L Empty space reduction for auto-generated drawings
US7131092B2 (en) * 2004-12-21 2006-10-31 Via Technologies, Inc. Clock gating circuit
US20070198588A1 (en) * 2005-10-17 2007-08-23 Siemens Corporate Research Inc Automatic Qualification of Plant Equipment
US7543262B2 (en) * 2005-12-06 2009-06-02 Cadence Design Systems, Inc. Analog layout module generator and method
US7831948B2 (en) * 2006-02-02 2010-11-09 The Boeing Company Method and system for automatically generating schematics
US7990375B2 (en) * 2006-04-03 2011-08-02 Cadence Design Systems, Inc. Virtual view schematic editor
US20070256037A1 (en) * 2006-04-26 2007-11-01 Zavadsky Vyacheslav L Net-list organization tools
US8214789B2 (en) * 2006-10-02 2012-07-03 The Boeing Company Method and system for keyboard managing and navigating among drawing objects
US20080172604A1 (en) * 2006-12-28 2008-07-17 International Business Machines Corporation Time reduction mechanism in schematic design entry page setup
US7937678B2 (en) * 2008-06-11 2011-05-03 Infineon Technologies Ag System and method for integrated circuit planar netlist interpretation
US8205183B1 (en) * 2009-09-18 2012-06-19 Altera Corporation Interactive configuration of connectivity in schematic diagram of integrated circuit design
CN102446230B (en) * 2010-10-11 2013-03-13 上海华虹Nec电子有限公司 Method for merging GDSII layout data
US8464191B2 (en) * 2011-07-21 2013-06-11 R3 Logic, Inc. System and method for identifying circuit components of an integrated circuit
US10354037B1 (en) * 2016-06-30 2019-07-16 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing an electronic design by manipulating a hierarchical structure of the electronic design
US10192020B1 (en) 2016-09-30 2019-01-29 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing dynamic maneuvers within virtual hierarchies of an electronic design
US10282505B1 (en) 2016-09-30 2019-05-07 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing legal routing tracks across virtual hierarchies and legal placement patterns
US10210299B1 (en) 2016-09-30 2019-02-19 Cadence Design Systems, Inc. Methods, systems, and computer program product for dynamically abstracting virtual hierarchies for an electronic design
IT201900000625A1 (en) * 2019-01-15 2020-07-15 Texa Spa METHOD OF DRAWING UP ELECTRICAL DIAGRAMS
CN113591426B (en) * 2021-08-04 2022-05-24 北京华大九天科技股份有限公司 Method for creating net mark in integrated circuit layout design

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3587846T2 (en) 1984-12-26 1994-10-06 Hitachi Ltd Method and device for checking the geometry of multilayer patterns for integrated circuit structures.
US4835704A (en) 1986-12-29 1989-05-30 General Electric Company Adaptive lithography system to provide high density interconnect
US5210699A (en) 1989-12-18 1993-05-11 Siemens Components, Inc. Process for extracting logic from transistor and resistor data representations of circuits
US5384710A (en) 1990-03-13 1995-01-24 National Semiconductor Corporation Circuit level netlist generation
US5572437A (en) 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
GB2282480B (en) * 1990-07-05 1995-07-26 Olivetti Systems & Networks S Integrated circuit structure analysis
US5086477A (en) * 1990-08-07 1992-02-04 Northwest Technology Corp. Automated system for extracting design and layout information from an integrated circuit
JPH05198593A (en) 1992-01-22 1993-08-06 Hitachi Ltd Method of extracting parameter
US5629858A (en) 1994-10-31 1997-05-13 International Business Machines Corporation CMOS transistor network to gate level model extractor for simulation, verification and test generation
US5694481A (en) 1995-04-12 1997-12-02 Semiconductor Insights Inc. Automated design analysis system for generating circuit schematics from high magnification images of an integrated circuit
CA2216900C (en) 1996-10-01 2001-12-04 Semiconductor Insights Inc. Method to extract circuit information
US6499129B1 (en) 1998-07-22 2002-12-24 Circuit Semantics, Inc. Method of estimating performance of integrated circuit designs
JP2002157295A (en) * 2000-11-21 2002-05-31 Nec Microsystems Ltd Device and method for designing semiconductor circuit

Also Published As

Publication number Publication date
US6738957B2 (en) 2004-05-18
US20020023107A1 (en) 2002-02-21
CA2315456A1 (en) 2002-02-09

Similar Documents

Publication Publication Date Title
CA2315456C (en) Schematic organization tool
US7013028B2 (en) Advanced schematic editor
US6516456B1 (en) Method and apparatus for selectively viewing nets within a database editor tool
US4831543A (en) Hierarchical net list derivation system
US7480878B2 (en) Method and system for layout versus schematic validation of integrated circuit designs
US6889370B1 (en) Method and apparatus for selecting and aligning cells using a placement tool
Williams STICKS-A graphical compiler for high level LSl design
JP3022315B2 (en) Circuit extraction method
US20070256037A1 (en) Net-list organization tools
JPH07168878A (en) Method for reconstitution of image into data model
US6907583B2 (en) Computer aided method of circuit extraction
US7243314B2 (en) Window operation interface for graphically revising electrical constraint set and method of using the same
Maguire et al. Visual compression of workflow visualizations with automated detection of macro motifs
EP2827240A1 (en) Method for generating control-code by a control-code-diagram
US5625565A (en) System and method for generating a template for functional logic symbols
CA2216589C (en) Computer-assisted design analysis method for extracting device and interconnect information
US6775796B2 (en) Creation of memory array bitmaps using logical to physical server
US20050188336A1 (en) System and method for waiving a verification check
US20090070724A1 (en) Information processing device, method of creating power supply system tree and program of the same
US20020038446A1 (en) Gate extractor
US6637011B1 (en) Method and apparatus for quick search for identities applicable to specified formula
CN111142013B (en) MAX7000 series CPLD (Complex programmable logic device) based logic reduction method
CN114090611A (en) Method and device for generating cable inventory by terminal wiring table and electronic equipment
US20060248490A1 (en) System and method for text based placement engine for custom circuit design
JP4951407B2 (en) Content parts retrieval method and apparatus

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20200810

MKEX Expiry

Effective date: 20200810