[go: up one dir, main page]

DE102006006782B4 - A method of handling design errors of an integrated circuit layout - Google Patents

A method of handling design errors of an integrated circuit layout Download PDF

Info

Publication number
DE102006006782B4
DE102006006782B4 DE102006006782A DE102006006782A DE102006006782B4 DE 102006006782 B4 DE102006006782 B4 DE 102006006782B4 DE 102006006782 A DE102006006782 A DE 102006006782A DE 102006006782 A DE102006006782 A DE 102006006782A DE 102006006782 B4 DE102006006782 B4 DE 102006006782B4
Authority
DE
Germany
Prior art keywords
error
errors
file
cell
allowed
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 - Fee Related
Application number
DE102006006782A
Other languages
German (de)
Other versions
DE102006006782A1 (en
Inventor
Markus Hofsäß
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.)
Qimonda AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006006782A priority Critical patent/DE102006006782B4/en
Publication of DE102006006782A1 publication Critical patent/DE102006006782A1/en
Application granted granted Critical
Publication of DE102006006782B4 publication Critical patent/DE102006006782B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Verfahren zum Behandeln von Fehlern bei der Überprüfung eines Entwurfes einer integrierten Schaltung,
a. wobei der Entwurf der integrierten Schaltung anhand von vorgegebenen Regeln auf Fehler überprüft wird,
b. wobei der Entwurf mehrere Zellen aufweist,
c. wobei bei einer Abweichung des Entwurfes von den vorgegebenen Regeln ein Fehler erkannt wird,
d. wobei der erkannte Fehler in eine Fehlerdatei eingeschrieben wird,
e. wobei wenigstens ein erkannter Fehler in eine Maskierungsdatei eingeschrieben wird, wenn der Fehler trotz der Abweichung von den Regeln als erlaubter Fehler zugelassen wird, wobei wenigstens
ein erlaubter Fehler mit Angabe der Zelle in der Maskierungsdatei abgespeichert wird, in der der Fehler auftritt, wobei für jede Zelle eine Maskierungsdatei mit erlaubten Fehlern der Zelle erstellt wird, wobei die Maskierungsdatei Daten über die Art des Fehlers, die Position des Fehlers in der Zelle und Daten über die Position der Zelle in Bezug auf das...
Method for handling errors in the review of a design of an integrated circuit,
a. wherein the design of the integrated circuit is checked for errors according to given rules,
b. the design having multiple cells,
c. in the case of a deviation of the design from the given rules an error is detected,
d. where the detected error is written to an error file,
e. wherein at least one detected error is written into a mask file if the error is allowed as a permitted error despite the deviation from the rules, wherein at least
a legal error indicating the cell is stored in the masking file in which the error occurs, creating for each cell a masking file with allowed cell errors, the masking file having data about the nature of the error, the position of the error in the cell and data about the position of the cell in relation to the ...

Figure 00000001
Figure 00000001

Description

Die Erfindung betrifft Verfahren gemäß Patentanspruch 1 und 13.The Invention relates to method according to claim 1 and 13.

Die Dimensionen von integrierten Schaltungen nehmen weiterhin ab, so dass parasitäre Effekte eine immer größere Rolle bei der Funktionsfähigkeit der integrierten Schaltungen spielen. Zum Vermeiden von ungewünschten parasitären Effekten ist es erforderlich, dass bei der Entwicklung von integrierten Schaltungen das Layout der Masken zur Herstellung der integrierten Schaltungen präzise auf Fehler überprüft wird. Bei der Überprüfung des Layouts wird ein Designregelvergleich (Design-Rulecheck) durchgeführt, um zu überprüfen, ob die im Layout bestimmten Strukturen den vorgegebenen Regeln entsprechen. Für eine individuelle Erstellung des Layouts ist es jedoch manchmal erforderlich, dass Fehler, die mithilfe eines automatischen Programms im Vergleich zu den Designregeln erkannt werden, trotzdem zugelassen werden. Dadurch kann eine individuelle Anpassung des Layouts an die gewünschte Funktionsweise und an die festgelegten Rahmenbedingungen ermöglicht werden.The Dimensions of integrated circuits continue to decrease, so that parasitic Effects play an increasingly important role in the functioning of the play integrated circuits. To avoid unwanted parasitic It is necessary that effects in the development of integrated effects Circuits the layout of the masks to make the integrated Circuits accurate checked for errors. In reviewing the Layouts a design rule comparison (design rule check) is performed to to check if the structures determined in the layout correspond to the given rules. For one However, custom layout design sometimes requires that error compared using an automatic program be recognized to the design rules, still be allowed. This allows an individual adaptation of the layout to the desired functionality and to the defined framework conditions.

Das Layout wird mithilfe von automatischen Programmen unter Nutzung einer Recheneinheit in Bezug auf die Einhaltung der Designregeln überprüft und Fehler, die erkannt werden, werden in einer Fehlerdatei abgespeichert. Wird nun ein erkannter Fehler trotzdem zugelassen, so wird für den erkannten Fehler eine Maskierungsdatei abgelegt. Durch den Vergleich eines erkannten Fehlers mit den in der Maskierungsdatei abgelegten Fehlern werden zugelassene Fehler bei der Erstellung eines Fehlerreports oder bei der grafischen Darstellung auf einem Bildschirm ausgelassen bzw. nicht dargestellt. Auf diese Weise ist es möglich, dass effizient nur die Fehler bei der Überprüfung des Layouts dargestellt oder ausgegeben werden, die nicht zugelassene Fehler darstellen.The Layout is being used by using automatic programs a computing unit checks for compliance with design rules and errors, which are detected are stored in an error file. Becomes now a detected error nevertheless admitted, so is recognized for the Error filed a mask file. By comparing a detected errors with the errors stored in the mask file become allowed errors when creating a bug report or skipped on a screen when graphing or not shown. In this way it is possible that efficiently only the Error checking the Layouts are displayed or output that are not allowed Represent error.

Ein entsprechendes Verfahren ist beispielsweise aus dem U.S.-Patent US 6 418 551 B1 bekannt.A corresponding method is for example from the US patent US 6 418 551 B1 known.

Aus JP 63119244 A ist ein Designsystem für ein Layout einer integrierten Schaltung bekannt. Dabei wird ein Verfahren zum Überprüfen eines Layouts für eine integrierte Schaltung beschrieben, dessen Aufgabe darin besteht, reale Fehler durch eine Entwurfsregelüberprüfung (DRC) einfach zu erfassen und das Updaten einer Datenbank mit einem konventionellen DRC-Tool zu erleichtern. Dabei wird die Entwurfsregelüberwachung vorab für jede Basiszelle mit Hilfe eines CAD-Tools ausgeführt und Ausgabedaten des CAD-Tools werden in die Datenbank entsprechend den Basiszellen abgelegt.Out JP 63119244 A For example, a design system for an integrated circuit layout is known. A description is given of a method for checking an integrated circuit layout whose task is to easily detect real errors by means of a design rule check (DRC) and to facilitate the updating of a database with a conventional DRC tool. The design rule monitoring is carried out in advance for each basic cell with the aid of a CAD tool and output data of the CAD tool are stored in the database corresponding to the basic cells.

Layoutdaten, die mit Hilfe des Layoutdesigns unter Verwendung von Basiszellen erhalten werden, werden einer Entwurfsregelüberprüfung (DRC) unterworfen. Fehlerdaten werden als graphische Daten ausgegeben. Die Entwurfsregelprüfung wird auf jede Basiszelle vorab in der gleichen Weise wie für die Layoutdaten angewendet und die als Fehlerdaten ausgegebenen Ausgangsdaten werden in eine Datenbank entsprechend den Basiszellen zugeordnet. Die Basiszelle, die in den Layoutdaten angeordnet ist, wird durch Unterzellen durch eine Berechnungsroute ersetzt. Durch das Abziehen der Layoutdaten mit ersetzten Unterzellen von den üblichen DRC Fehlerdaten können quasi Fehlerdaten, die sich auf die Basiszellen beziehen, eliminiert werden.Layout data, using layout design using basic cells are subjected to a design rule check (DRC). error data are output as graphic data. The design rule check becomes to each basic cell in advance in the same way as for the layout data applied and the output data output as error data assigned to a database corresponding to the basic cells. The basic cell, which is arranged in the layout data is passed through subcells replaced a calculation route. By subtracting the layout data with replaced subcells from the usual ones DRC error data can virtually eliminates error data relating to the basic cells become.

Aus JP 03234039 A ist ein Verfahren zur Überprüfung einer Layoutstruktur bekannt, wobei Informationen über eine Bezugsquelle und Koordinatenwerte in der Bezugsquelle für Fehlerdaten eines DRC-Verfahrens gespeichert werden. Die Aufgabe des beschriebenen Verfahrens besteht darin, die Zeit für eine ma nuelle Überprüfung von Fehlern zu verkürzen und die Möglichkeit eines Fehlers dadurch zu reduzieren, dass der Name einer Zelle, zu dem ein Fehlersegment gehört und Informationen über Koordinatenwerte in einer Zelle zu extrahieren. Weiterhin wird die gleiche Gruppennummer Fehlersegmenten zugeordnet, deren Informationen übereinstimmen. Dabei werden Layoutdaten verarbeitet und der Name einer Zelle, in der ein Fehlersegment auftritt, einer Fehlersegmentinformation zugewiesen. Weiterhin werden Koordinatenwerte von Fehlersegmenten einer Zelle erfasst. Wenn die Koordinatenwerte der Fehler übereinstimmen, werden die Fehlersegmente einer gemeinsamen Gruppe zugeordnet. Auf diese Weise muss nicht für jedes einzelne Fehlersegment ein Koordinatenwert ausgegeben werden.Out JP 03234039 A For example, a method for checking a layout structure is known, wherein information about a reference source and coordinate values are stored in the reference source for error data of a DRC method. The object of the method described is to reduce the time for a manual check of errors and to reduce the possibility of an error by extracting the name of a cell to which an error segment belongs and information about coordinate values in a cell. Furthermore, the same group number is assigned to error segments whose information matches. In the process, layout data is processed and the name of a cell in which an error segment occurs is assigned to an error segment information. Furthermore, coordinate values of error segments of a cell are detected. If the coordinate values of the errors match, the error segments are assigned to a common group. In this way, a coordinate value does not have to be output for each individual error segment.

Die Aufgabe der Erfindung besteht darin, ein verbessertes Verfahren zum Behandeln von Entwurfsfehlern bereitzustellen.The The object of the invention is an improved method to provide for handling design errors.

Die Erfindung betrifft ein Verfahren zum Behandeln von Entwurfsfehlern, insbesondere von Designfehlern, wobei ein Entwurf einer integrierten Schaltung anhand von vorgegebenen Regeln überprüft wird, wobei der Entwurf mehrere Zellen aufweist, wobei bei einer Abweichung des Entwurfs von den vorgegebenen Regeln ein Fehler erkannt wird, wobei der Fehler in eine Fehlerdatei eingeschrieben wird, wobei wenigstens ein erkannter Fehler in eine Maskierungsdatei eingeschrieben wird, wenn der Fehler trotz der Abweichung von den Regeln als erlaubter Fehler behandelt wird, wobei ein erlaubter Fehler mit Angabe der Zelle in der Maskierungsdatei abgespeichert wird, in der der Fehler auftritt. In der erfindungsgemäßen Ausführungsform des Verfahrens wird ein Fehler der Zelle zugeordnet, in der der Fehler bei der Überprüfung des Entwurfes aufgetreten ist. Damit ist eine eindeutige Zuordnung der Fehler möglich. Dabei wird der Fehler in Form einer Datei abgelegt, in der eine Beschreibung des Fehlers, eine Angabe der Zelle, in der der Fehler liegt, und eine Angabe von Koordina ten abgelegt sind, die die Position des Fehlers innerhalb der Zelle beschreiben.The invention relates to a method for handling design errors, in particular design errors, wherein an integrated circuit design is checked according to predetermined rules, wherein the design comprises a plurality of cells, wherein a deviation of the design from the predetermined rules, an error is detected the error is written into an error file, whereby at least one detected error is written into a masking file if, despite the deviation from the rules, the error is treated as a permitted error, a permitted error indicating the cell being stored in the masking file, in the the error occurs. In the embodiment of the method according to the invention, an error is assigned to the cell in which the error has occurred during the check of the design. This is a clear assignment of the error possible. The error is stored in the form of a file containing a description of the error, an indication of the cell in which the error lies, and an indication of coordinates describing the position of the error within the cell.

Auf diese Weise ist es möglich, erlaubte Fehler einer Zelle zuzuordnen. Dadurch ist eine erhöhte Flexibilität bei der Behandlung von erlaubten Fehlern möglich.On this way it is possible allowed errors to be assigned to a cell. This is an increased flexibility in the Treatment of allowed errors possible.

In einer weiteren Ausführungsform behandelt das Verfahren Layoutfehler, wobei ein Layout einer integrierten Schaltung anhand von vorgegebenen Regeln überprüft wird, wobei das Layout mehrere Zellen aufweist, wobei bei einer Abweichung des Layouts von den vorgegebenen Regeln ein Fehler erkannt wird, wobei der Fehler in eine Fehlerdatei eingeschrieben wird, wobei ein erkannter Fehler in eine Maskierungsdatei eingeschrieben wird, wenn der Fehler trotz der Abweichung von den Regeln als erlaubter Fehler behandelt wird, wobei ein erlaubter Fehler mit Angabe der Zelle in der Maskierungsdatei abgespeichert wird, in der der Fehler auftritt.In a further embodiment The procedure handles layout errors, with a built-in layout Circuit is checked by given rules, the layout being multiple Cells, wherein in a deviation of the layout of the given rules an error is detected, the error in an error file is written, with a detected error is written to a masking file if the error persists the deviation from the rules is treated as a permitted error, whereby a permitted error with specification of the cell is stored in the masking file is where the error occurs.

In einer weiteren Ausführungsform wird bei der Überprüfung des Entwurfs oder des Layouts mit vorgegebenen Regeln und bei Erkennen eines Fehlers der Fehler einer Fehlerklasse zugeordnet. Somit sind alle Fehler in der Fehlerdatei klassifiziert.In a further embodiment will be in the review of the Design or layout with given rules and recognition of an error the error is assigned to an error class. Thus are all errors are classified in the error file.

In einer weiteren Ausführungsform des Verfahrens wird auch ein erlaubter Fehler nach vorgegebenen Regeln in eine von mehreren Klassen eingeteilt, wobei erlaubte Fehler der verschiedenen Klassen bei der Überprüfung von Fehlern unterschiedlich behandelt werden. Beispielsweise werden Fehler unterschiedlicher Klassen abhängig von einer Festlegung beispielsweise bei einem Fehlerreport oder bei der Darstellung von erlaubten Fehlern unterschiedlich behandelt. So kann ein erlaubter Fehler einer ersten Klasse beim Fehlerreport oder bei der Darstellung der erlaubten Fehler nicht berücksichtigt werden. Fehler einer zweiten Klasse dagegen werden entweder beim Fehlerreport und/oder bei der Darstellung berücksichtigt.In a further embodiment The procedure is also a permitted error according to predetermined Rules divided into one of several classes, with allowed errors The different classes are treated differently when checking for errors become. For example, errors of different classes are dependent on a determination, for example, in an error report or in the Presentation of permitted errors handled differently. So can a permitted error of a first class during the error report or not taken into account in the presentation of the allowed errors become. Mistakes of a second class, on the other hand, will be either at Error report and / or taken into account in the presentation.

In einer weiteren Ausführungsform des Verfahrens werden Fehler, die identisch sind, d.h. die beispielsweise bei einem Layoutfehler eine identische Geometrie aufweisen, in die gleiche Klasse eingeteilt. Dadurch ist eine vereinfachte Behandlung der Fehler in Form von Klassen von Fehlern möglich. Somit kann beispielsweise durch die Festlegung erreicht werden, dass Fehler bestimmter Klassen in einer festgelegten Art und Weise behandelt werden. Somit ist es nicht erforderlich, jeden Fehler gegebenenfalls individuell zu behandeln, sondern es reicht aus, eine Klasse einer entsprechenden Behandlungsweise zuzuordnen.In a further embodiment In the method, errors that are identical, i. for example have a layout geometry with an identical geometry in the same class divided. This is a simplified treatment the error in the form of classes of errors possible. Thus, for example By establishing that mistakes are made of certain classes be treated in a defined way. Thus is It may not be necessary to customize each error individually treat, but it is sufficient, a class of a corresponding Attributable to treatment.

Die Erfindung wird im Folgenden anhand der Figuren näher erläutert. Es zeigen:The The invention will be explained in more detail below with reference to FIGS. Show it:

1 eine schematische Darstellung eines Computersystems zur Durchführung des Verfahrens, 1 a schematic representation of a computer system for carrying out the method,

2 einen schematischen Programmablauf zum Entwerfen und Herstellen einer integrierten Schaltung, 2 a schematic program flow for designing and manufacturing an integrated circuit,

3 eine schematische Darstellung einer Fehlerdatei für einen zugelassenen Fehler, 3 a schematic representation of an error file for an admitted error,

4 eine schematische Darstellung eines Programms zur Überprüfung eines Layouts auf Designfehler, 4 a schematic representation of a program for checking a layout for design errors,

5 eine schematische Darstellung eines geometrischen Fehlers, 5 a schematic representation of a geometric error,

6 eine schematische Darstellung von Klassen von Fehlern, 6 a schematic representation of classes of errors,

7 ein Verfahren zur Erstellung einer Maskierungsdatei, und 7 a method for creating a mask file, and

8 eine schematische Darstellung eines Layouts. 8th a schematic representation of a layout.

Beschreibung eines bevorzugten AusführungsbeispielsDescription of a preferred embodiment

Die vorliegende Erfindung wird nun genauer anhand der beiliegenden Figuren erläutert, in denen bevorzugte Ausführungsbeispiele der Erfindung dargestellt sind. Die Erfindung kann jedoch in verschiedenen Ausführungsformen realisiert werden und ist nicht auf die erläuterten Ausführungsformen beschränkt. Die Funktion der vorliegenden Erfindung, wie sie im Nachfolgenden erläutert wird, kann in Form einer Hardware, in Form einer Software oder in einer Kombination aus Hardware und Software realisiert werden. Weiterhin kann die vorliegende Erfindung in Form eines Computerprogrammproduktes auf einem computerlesbaren Speichermedium mit computerlesbaren Programmcodes auf dem Speichermedium realisiert sein. Als computerlesbares Speichermedium kann jede Art von Diskette, CD-ROM terlesbares Speichermedium kann jede Art von Diskette, CD-ROM oder optische oder magnetische Speichereinrichtung verwendet werden.The The present invention will now be described more in detail with reference to the accompanying drawings explains in which preferred embodiments the invention are shown. However, the invention can be embodied in various ways embodiments be realized and is not limited to the illustrated embodiments limited. The function of the present invention as follows explained can be in the form of a hardware, in the form of a software or in a Combination of hardware and software can be realized. Farther For example, the present invention may be in the form of a computer program product a computer readable storage medium having computer readable program codes be realized on the storage medium. As a computer-readable storage medium can any type of disk, CD-ROM readable storage medium can any type of floppy disk, CD-ROM or optical or magnetic storage device be used.

1 zeigt in einer schematischen Darstellung eine Hardwareanordnung eines Computersystems 10, das ein Überprüfungssystem für integrierte Schaltungen aufweist. Das Computersystem 10 weist vorzugsweise einen Computer 11 auf, der über ein Überprüfungsprogramm 12 verfügt, das vom Computer 11 abgearbeitet werden kann. Das Überprüfungsprogramm 12 ist ausgebildet, um einen elektrischen Aufbau der integrierten Schaltung und/oder ein Layout der integrierten Schaltung zu überprüfen. Das Computersystem 10 verfügt über einen Speicher 13, ein Datenlaufwerk 14 oder einen Datenbus 15. Über den Speicher 13, das Datenlaufwerk 14 oder den Datenbus 15 können die Daten, die den elektrischen Aufbau und/oder den Aufbau des Layouts der integrierten Schaltung darstellen, dem Computer 11 zugeführt werden. Weiterhin weist das Computersystem 10 eine Anzeige 16, einen Drucker 17 und eine Eingabeeinheit 18 auf. Als Beispiel kann das Überprüfungsprogramm 12 auf einem Computersystem 10, wie z.B. einer UltrasparkTM 5 Work Station von Microsystems Computer Corporation installiert sein. 1 shows a schematic representation of a hardware arrangement of a computer system 10 which has an integrated circuit verification system. The computer system 10 preferably has a computer 11 on having a review program 12 has that from the computer 11 can be processed. The review program 12 is trained to be an elek trical structure of the integrated circuit and / or to check a layout of the integrated circuit. The computer system 10 has a memory 13 , a data drive 14 or a data bus 15 , About the store 13 , the data drive 14 or the data bus 15 For example, the data representing the electrical structure and / or layout of the integrated circuit layout may be supplied to the computer 11 be supplied. Furthermore, the computer system 10 an ad 16 , a printer 17 and an input unit 18 on. As an example, the verification program 12 on a computer system 10 , such as an Ultraspark 5 Work Station from Microsystems Computer Corporation.

2 zeigt einen schematischen Aufbau eines Programms zur Entwicklung, Prüfung und Fertigung einer integrierten Schaltung. 2 shows a schematic structure of a program for developing, testing and manufacturing an integrated circuit.

Bei einem ersten Programmschritt 20 wird eine Spezifikation für die elektrischen Eigenschaften der integrierten Schaltung erstellt. Anschließend wird bei einem folgenden Programmschritt 21 anhand der Spezifikation unter Berücksichtigung von vorgegebenen Entwurfsregeln ein physikalischer Entwurf der integrierten Schaltung durchgeführt. Dabei wird ein funktioneller Entwurf der integrierten Schaltung als strukturelle Beschreibung auf einer Gatter-Ebene oder einer elektrischen Ebene erstellt.At a first program step 20 A specification for the electrical characteristics of the integrated circuit is created. Subsequently, at a following program step 21 a physical design of the integrated circuit is performed based on the specification taking into account given design rules. In this case, a functional design of the integrated circuit is created as a structural description on a gate level or an electrical level.

Abhängig von der gewählten Ausführungsform wird wahlweise in einem dritten Programmschritt 22 der funktionelle Entwurf auf vorgegebene Regeln, insbesondere eine elektrische korrekte Funktionsfähigkeit überprüft. Wird beim dritten Programmschritt 22 erkannt, dass der funktionelle Entwurf Fehler aufweist, so werden diese in einer Fehlerdatei 80 abgelegt. Anschließend wird überprüft, ob der erkannte Fehler in einer Maskierungsdatei 81 abgelegt ist. Ist der erkannte Fehler nicht in der Maskierungsdatei 81 abgelegt, so wird zum zweiten Programmschritt 21 zurückgekehrt und der Fehler in dem funktionellen Entwurf korrigiert.Depending on the chosen embodiment is optionally in a third program step 22 the functional design checks for predetermined rules, in particular an electrical correct functioning. Will at the third program step 22 If it detects that the functional design has errors, they will be in an error file 80 stored. It then checks to see if the detected error is in a mask file 81 is stored. Is the detected error not in the mask file 81 filed, so becomes the second program step 21 returned and corrected the error in the functional design.

Ergibt der Vergleich jedoch, dass der erkannte Fehler in der Maskierungsdatei 81 als erlaubter Fehler abgelegt ist, so wird der erkannte Fehler beibehalten und nicht im funktionellen Entwurf korrigiert.However, if the comparison proves that the detected error is in the mask file 81 is stored as a permitted error, the detected error is retained and not corrected in the functional design.

Abhängig von der gewählten Ausführungsform kann bereits die Maskierungsdatei 81 im Datenspeicher 13 abgelegt sein oder während der Ausführung des ersten Überprüfungsverfahrens wird beim dritten Programmschritt 22 einer Bedienperson zur Auswahl gestellt, einen erkannten Fehler als erlaubten Fehler zu kennzeichnen. Kennzeichnet die Bedienperson einen erkannten Fehler als erlaubten Fehler, so wird der erlaubte Fehler in der Maskierungsdatei 81 abgespeichert. Die Fehlerdatei 80 bleibt unverändert. Das Maskieren vermeintlich richtiger Fehler, d.h. das Zulassen erlaubter Fehler wird durch Abgleichen von Daten der Fehlerdatei und der Maskierungsdatei erreicht.Depending on the chosen embodiment, the mask file may already be 81 in the data store 13 be filed or during the execution of the first review process will be at the third program step 22 an operator selected to mark a detected error as a permitted error. If the operator identifies a recognized error as a permitted error, the permitted error in the masking file becomes 81 stored. The error file 80 stays unchanged. The masking of supposedly correct errors, ie allowing allowed errors, is accomplished by matching data of the error file and the masking file.

Abhängig von der gewählten Ausführungsform kann auch auf den dritten Programmschritt 22 verzichtet werden und nach dem zweiten Programmschritt 21 der vierten Programmschritt 23 abgearbeitet werden.Depending on the chosen embodiment may also on the third program step 22 be dispensed with and after the second program step 21 the fourth program step 23 be processed.

Nach der Überprüfung des funktionellen Entwurfes mit dem ersten Prüfungsverfahren beim dritten Programmschritt 22 wird zum vierten Programmschritt 23 verzweigt. Beim vierten Programmschritt 23 wird aus dem funktionellen Entwurf ein Layoutentwurf für die Masken erstellt, die für die Herstellung der integrierten Schaltung erforderlich sind. Dabei wird aus dem funktionellen Entwurf ein physikalischer Entwurf erarbeitet, der die Layouts der Masken der integrierten Schaltung beinhaltet.After checking the functional design with the first examination procedure in the third program step 22 becomes the fourth program step 23 branched. At the fourth program step 23 From the functional design, a layout design is created for the masks required for the manufacture of the integrated circuit. In the process, a physical design is created from the functional design, which includes the layouts of the masks of the integrated circuit.

Der physikalische Entwurf ist ein sehr komplexer Prozess, der in der Regel in eine Abfolge handhabbarer kleiner Entwurfsschritte unterteilt wird. In der Regel wird das Layout mithilfe von mehreren Zellen erstellt, die eine Abstraktion der integrierten Schaltung und damit eine Beherrschung des Layoutentwurfes z.B. auf Gatter-Ebene ermöglichen. Durch den Entwurf des Layouts der einzelnen Gatter entsteht eine Zellbibliothek, die die Objekte für die Algorithmen zum Erzeugen des geometrischen Layouts der Gesamtschaltung bereitstellt. Nach der Festlegung der Zellen wird der zur Verfügung stehende Platz der integrierten Schaltung in größere Blöcke unterteilt. Dabei werden die größeren Blöcke auf der Fläche in der Weise verteilt, dass möglichst wenig Fläche verbraucht wird. Die Blöcke wiederum beinhalten Teile der integrierten Schaltung, wie z.B. ein Array eines Speicherchips, oder Anschlussflächen. Nach der Platzierung der Zellen werden die Verbindungen zwischen den Zellen festgelegt. Die Zellen können beispielsweise einzelne Gatter, einzelne Register, einzelne Zähler aufweisen. Abhängig von der Ausführungsform können Zellen auch größere Schaltungsblöcke, wie z.B. DRAM-Speicherzellen, ein Array aus Speicherzellen, Ein-/Ausgabeeinheiten usw. darstellen.Of the physical design is a very complex process in the Usually divided into a sequence of manageable small design steps becomes. In general, the layout is done using multiple cells created an abstraction of the integrated circuit and thus mastering the layout design e.g. enable at gate level. The design of the layout of the individual gates creates one Cell library that creates the objects for the algorithms of the geometric layout of the overall circuit. To The definition of cells becomes the available place of integrated Circuit divided into larger blocks. At the same time, the larger blocks will open the area distributed in the way that possible little area is consumed. The blocks again, parts of the integrated circuit, e.g. an array a memory chip, or pads. After the placement The cells are used to determine the connections between the cells. The cells can For example, individual gates, individual registers, individual counters have. Dependent from the embodiment can Cells also larger circuit blocks, such as e.g. DRAM memory cells, an array of memory cells, input / output units etc. represent.

Nach Erstellen des Layouts der integrierten Schaltung beim vierten Programmschritt 23 wird im folgenden fünften Programmschritt 24 überprüft, ob das festgelegte Layout vorgegebenen Entwurfsregeln entspricht. Dazu verfügt der Computer 11 über eine entsprechende Datenbank, die im Speicher 13 abgelegt ist, und in der die zulässigen Entwurfsregeln, d.h. die zulässigen geometrischen Strukturen für das Layout abgelegt sind. Die Entwurfsregeln hängen sehr stark von der jeweiligen Technologie ab, die zur Herstellung der integrierten Schaltung eingesetzt wird. Zudem sind die Entwurfsregeln unter Umständen von den einzelnen Chipherstellern unterschiedlich. Beispielsweise betreffen Entwurfsregeln Mindestabstände zwischen elektrischen Bahnen, Mindestbreiten von elektrischen Bahnen, Überlappungen von leitenden Schichten und Innenlagen von einzelnen Schichten und Schichtkombinationen.After creating the layout of the integrated circuit in the fourth program step 23 will be in the following fifth program step 24 Checks if the specified layout corresponds to given design rules. The computer has it 11 via an appropriate database stored in memory 13 is stored, and in which the permissible design rules, ie the permissible geometric structures for the layout are stored. The design rules are very much dependent on the particular technology used to make the integrated circuit. In addition, the design rules are under Um would be different from the individual chip manufacturers. For example, design rules apply to minimum distances between electrical traces, minimum widths of electrical traces, overlaps of conductive layers, and inner layers of individual layers and layer combinations.

Erkennt der Computer 11 bei der Überprüfung des Layouts, dass Bereiche des Layouts den vorgegebenen Entwurfsregeln nicht entsprechen, so werden diese in einer zweiten Fehlerdatei 82 abgespeichert. Zudem wird überprüft, ob der erkannte Fehler in einer zweiten Maskierungsdatei 83 abgelegt ist. Ergibt die Überprüfung, dass der erkannte Fehler in der zweiten Maskierungsdatei 83 abgelegt ist, so wird der Fehler als erlaubter Fehler behandelt. In der zweiten Maskierungsdatei 83 sind Fehler abgelegt, die zwar den Entwurfsregeln nicht entsprechen, die jedoch aus anderen Gründen trotzdem zugelassen werden. Die zweite Maskierungsdatei 83 kann bereits bestehen oder während der Überprüfung des Layouts von einer Bedienperson erstellt werden. Dazu wird ein erkannter Fehler der Bedienperson angezeigt und die Bedienperson kann den erkannten Fehler als erlaubten Fehler in der zweiten Maskierungsdatei 83 abspeichern. Dies ist dann möglich, wenn zwar der erkannte Fehler den Entwurfsregeln nicht entspricht, jedoch von der Bedienperson trotzdem zugelassen wird.Detects the computer 11 When checking the layout that areas of the layout do not comply with the given design rules, they will appear in a second error file 82 stored. It also checks if the detected error is in a second mask file 83 is stored. Returns the check that the detected error in the second mask file 83 is stored, the error is treated as a permitted error. In the second mask file 83 Errors are filed that do not comply with the design rules but are still allowed for other reasons. The second mask file 83 can already exist or be created by an operator while checking the layout. For this purpose, a detected error of the operator is displayed and the operator can recognize the detected error as an allowed error in the second masking file 83 save. This is possible if the detected error does not comply with the design rules, but is still allowed by the operator.

Bei der Überprüfung des Layouts wird das Layout in einer weiteren Ausführungsform in einer hierarchischen Struktur überprüft. Die Prüfung des Layouts erfolgt dabei in einer Ausführungsform nach einem Hierarchiebaum der Zellen, vorzugsweise nach dem Bottom-Up-Prinzip.at the review of the Layouts, the layout in a further embodiment in a hierarchical Structure checked. The exam The layout is done in one embodiment according to a hierarchy tree the cells, preferably bottom-up.

Für einen erlaubten Fehler wird sowohl in der Fehlerdatei als auch in der Maskierungsdatei jeweils ein Datum abgelegt. Das Schreiben eines Datums in die Fehlerdatei oder die Maskierungsdatei erfolgt entweder automatisch oder auf Anweisung des Bedienpersonals des Computersystems. Das Datum des Fehlers weist eine Bezeichnung des Fehlers, die Koordinaten des Fehlers in der Zelle, in der der Fehler erkannt wurde, und die Form des Fehlers, beispielsweise die Art des Polygons, die Anzahl der Ecken und die Koordinaten des Polygons auf Zudem weist das Datum die Koordinaten der Zelle, mit denen die Zelle auf der integrierten Schaltung platziert ist, auf. Abhängig von der Ausführungsform kann das Datum auch nur einzelne Elemente davon enthalten.For one allowed error is in both the error file and in the Mask file each stored a date. The writing of a Date in the error file or mask file is either automatically or as instructed by the operating personnel of the computer system. The date of the error indicates a name of the error, the coordinates the error in the cell where the error was detected, and the Form of the error, for example, the type of polygon, the number the corners and the coordinates of the polygon also indicate the date the coordinates of the cell with which the cell is integrated Circuit is placed on. Depending on the embodiment the date may contain only individual elements of it.

Ergibt die Überprüfung des Layouts beim fünften Programmschritt 24, dass ein Fehler erkannt wurde und der Fehler nicht in der zweiten Maskierungsdatei 83 abgelegt ist, so stellt der Fehler nicht einen erlaubten Fehler dar und wird an den vierten Programmschritt 23 zurückgemeldet. Beim vierten Programmschritt 23 wird das Layout entsprechend geändert, um den Fehler zu vermeiden.Returns the check of the layout at the fifth program step 24 that an error was detected and the error was not detected in the second mask file 83 is stored, so the error is not a permitted error and is the fourth program step 23 returned. At the fourth program step 23 the layout changes accordingly to avoid the error.

Ergibt der Vergleich beim fünften Programmschritt 24, dass der erkannte Fehler bereits in der zweiten Maskierungsdatei 83 abgelegt ist, so wird der Fehler als erlaubter Fehler zugelassen und es wird keine Änderung des Layouts in bezug auf diesen Fehler beim vierten Programmschritt 23 durchgeführt.Returns the comparison at the fifth program step 24 that the detected error is already in the second mask file 83 is stored, the error is allowed as a permitted error and there will be no change in the layout with respect to this error at the fourth program step 23 carried out.

Nach der Überprüfung des Layouts und der Beseitigung aller erkannten und nicht erlaubten Fehler wird nach Abschluss des fünften Programmschrittes 24 der sechste Programmschritt 25 durchgeführt, bei dem mithilfe des Layouts eine integrierte Schaltung mit einer entsprechenden Halbleitertechnologie hergestellt wird.After the layout has been checked and all detected and unauthorized errors have been eliminated, the fifth program step is completed 24 the sixth program step 25 in which the layout is used to produce an integrated circuit with corresponding semiconductor technology.

Abhängig von der gewählten Ausführungsform kann zusätzlich zu der Überprüfung der Entwurfsregeln ein LVS-Vergleich durchgeführt werden, bei dem das hierarchische Layout gegenüber dem schematischen Entwurf überprüft wird. Dazu wird aus dem Lay out eine hierarchische Netzliste der Bauelemente und Netze erstellt und die hierarchische Netzliste mit der elektrischen Netzliste des funktionellen Entwurfs verglichen. Auch bei diesem Vergleich können Fehler erkannt werden, die in der gleichen Weise wie bei dem Layoutvergleich behandelt werden.Depending on the chosen one embodiment can additionally to the review of Draft rules to perform an LVS comparison in which the hierarchical Layout opposite the schematic design is checked. For this purpose, the layout becomes a hierarchical netlist of components and networks created and the hierarchical netlist with the electrical Netlist of functional design compared. Also with this Can compare Errors are detected in the same way as in the layout comparison be treated.

3 zeigt in der schematischen Darstellung eine Datei für einen Fehler, die entsprechend in einer Fehlerdatei und evtl. in einer Maskierungsdatei abgelegt wird. Die Datei weist einen Namen für den Fehler, einen Namen für die Zelle auf, in der der Fehler erkannt wurde, Koordinaten des Fehlers, die Beschreibung des Polygons mit der Anzahl der Ecken. 3 shows in the schematic representation of a file for an error, which is stored accordingly in an error file and possibly in a mask file. The file has a name for the error, a name for the cell in which the error was detected, coordinates of the error, the description of the polygon with the number of vertices.

4 zeigt eine genauere Darstellung einer Ausführungsform des fünften Programmschrittes 24, bei dem das Layout in Bezug auf Designfehler überprüft wird. 4 shows a more detailed representation of an embodiment of the fifth program step 24 in which the layout is checked for design flaws.

Bei einem ersten Programmpunkt 30 erkennt das Programm einen Fehler. In einem folgenden zweiten Programmpunkt 31 überprüft der Computer 11, ob der Fehler einer von mehreren Fehlerklassen zugeordnet werden kann. Dabei überprüft der Computer 11 die Fehlerklassen, die im Speicher 13 abgelegt sind. Für jede Klasse ist im Speicher 13 eine Information über die Art der Fehlerklasse abgelegt. Zur Kennzeichnung der Art eines Fehlers werden beispielsweise geometrische Daten verwendet, die geometrische Strukturen darstellen. Erkennt der Computer 11 bei der Überprüfung, dass der Fehler einer Fehlerklasse zugeordnet werden kann, so ordnet der Computer 11 beim folgenden dritten Programmpunkt 32 dem Fehler einer Fehlerklasse zu und kennzeichnet den Fehler mit einer Bezeichnung für die Fehlerklasse.At a first program point 30 the program detects an error. In a following second program point 31 the computer checks 11 whether the error can be assigned to one of several error classes. The computer checks 11 the error classes that are in memory 13 are stored. For every class is in memory 13 an information about the type of error class filed. To identify the nature of a fault, for example, geometric data representing geometric structures is used. Detects the computer 11 When verifying that the error can be assigned to an error class, the computer rearranges 11 at the following third program point 32 the error of an error class and identifies the error with a label for the error class.

In einer weiteren Ausführungsform wird bei dem zweiten Programmpunkt 31 überprüft, ob der gleiche Fehler schon erkannt wurde und dafür eine Fehlerklasse erstellt wurde. Ist dies der Fall, so wird der neu erkannte Fehler der gleichen Fehlerklasse zugeordnet. Ist der beim ersten Programmpunkt 30 erkannte Fehler neu, so wird beim zweiten Programmpunkt 31 eine neue Fehlerklasse erstellt und der Fehler der neuen Fehlerklasse zugeordnet.In a further embodiment, at the second program item 31 checks if the same error has already been detected and an error class has been created for it. If this is the case, the newly detected error is assigned to the same error class. Is that at the first program point 30 Recognized errors, so is the second program item 31 created a new error class and assigned the error to the new error class.

Beim folgenden dritten Programmpunkt 32 wird überprüft, ob der neu erkannte Fehler einen erlaubten Fehler darstellt. Dazu kann beispielsweise eine Fehlerklasse als erlaubte Fehlerklasse im Speicher 13 abgelegt sein. Zudem kann der neu erkannte Fehler einer Bedienperson zur Beurteilung angezeigt werden. Kennzeichnet die Bedienperson den neu erkannten Fehler als erlaubten Fehler, so wird der Fehler in der zweiten Maskierungsdatei abgelegt. Zudem kann die Bedienperson festlegen, dass alle Fehler, die einer Fehlerklasse zugeordnet werden, erlaubte Fehler darstellen und nach dem Erkennen zusätzlich zur Fehlerdatei auch in die Maskierungsdatei eingetragen werden.At the following third program point 32 it is checked whether the newly detected error represents a permitted error. For example, an error class may be used as an allowed error class in memory 13 be filed. In addition, the newly detected error of an operator can be displayed for evaluation. If the operator identifies the newly detected error as a permitted error, the error is stored in the second mask file. In addition, the operator can specify that all errors that are assigned to an error class represent allowed errors and, after recognition, are also entered in the mask file in addition to the error file.

5 zeigt ein Beispiel für eine geometrische Struktur, die einem Fehler entspricht. Das Layout weist in diesem Fall den Fehler auf, dass eine erste Leiterbahn L1 einen zu geringen Abstand D von einer zweiten Leiterbahn L2 aufweist. 5 shows an example of a geometric structure corresponding to an error. In this case, the layout has the fault that a first interconnect L1 has too small a distance D from a second interconnect L2.

Abhängig von der gewählten Ausführungsform wird ein erlaubter Fehler auch dann einer Fehlerklasse zugeordnet, wenn der erlaubte Fehler nicht mit der Art des Fehlers der Fehlerklasse übereinstimmt, aber sich noch in einem gewissen Ähnlichkeitsbereich befindet. Bei geometrischen Figuren werden dabei Abweichungen von beispielsweise 3% in einer Richtung zugelassen.Depending on the chosen one embodiment If a permitted error is then assigned to an error class, if the allowed error does not match the type of error of the error class, but is still in a certain similarity range. For geometric figures are deviations from, for example 3% in one direction.

Durch eine entsprechende Eingabe kann die Bedienperson den Computer 11 dazu anregen, für einzelne oder sämtliche Fehler eine neue Fehlerklasse für diese Art von Fehler im Speicher 13 anzulegen und bei weiteren Überprüfungen zu berücksichtigen.By an appropriate input, the operator can use the computer 11 to suggest for each or all errors a new error class for this type of error in memory 13 create and take into account in further reviews.

Nach Abarbeitung des dritten Programmpunktes 32 erfolgt die Abfrage bei einem folgenden vierten Programmpunkt 33, welche Fehlerklassen der erlaubten Fehler oder welche erlaubten Fehler in einem Fehlerreport ausgegeben oder bei der Darstellung der gefundenen Fehler auf der Anzeige 16 dargestellt werden sollen. Eine Bedienperson kann die entsprechenden Klassen oder individuellen Fehler vorgeben. Abhängig von der gewählten Ausführungsform können die Klassen, die angezeigt oder beim Fehlerreport berücksichtigt werden sollen, bereits voreingestellt sein. Auf diese Weise können die Fehlerklassen verwendet werden, um die Fehler einfacher zu strukturieren und zu behandeln.After completion of the third program point 32 the query takes place at a following fourth program point 33 which error classes of the allowed errors or which allowed errors are output in an error report or in the display of the errors found on the display 16 should be displayed. An operator may specify the appropriate classes or individual errors. Depending on the selected embodiment, the classes that are to be displayed or taken into account in the error report may already be preset. In this way, the error classes can be used to simplify the structuring and handling of errors.

6 zeigt in einer schematischen Darstellung eine Maskierungsdatei 81, in der Klassen 41, 42, 43 für drei verschiedene Fehlerarten angeordnet sind. In einer ersten Klasse 41 sind ein erster Fehler F1 und ein zweiter Fehler F2 abgelegt. In einer zweiten Fehlerklasse 42 ist ein vierter Fehler F4 abgelegt. In einer dritten Fehlerklasse 43 ist ein fünfter Fehler F5 abgelegt. Der erste und der zweite Fehler F1, F2 gehören zur gleichen Fehlerklasse, da die zwei Fehler identisch sind oder wenigstens eine festgelegte Ähnlichkeit, beispielsweise festgelegte geometrische Abmessungen einer vorgegebenen geometrischen Struktur aufweisen. 6 shows a schematic representation of a masking file 81 in the classes 41 . 42 . 43 are arranged for three different types of errors. In a first class 41 a first error F1 and a second error F2 are stored. In a second error class 42 is a fourth error F4 filed. In a third error class 43 is a fifth error F5 filed. The first and second errors F1, F2 belong to the same error class, since the two errors are identical or at least have a fixed similarity, for example fixed geometrical dimensions of a given geometric structure.

7 zeigt in einer schematischen Übersicht eine weitere Ausführungsform des Verfahrens, das vom Computersystem 10 abgearbeitet wird. Bei einem ersten Programmblock 50 wird dem Computer 11 das Datenfile zur Beschreibung des geometrischen Layouts in Form eines GDSII-Formates zugeführt. Aus dem Datenfile des ersten Programmblockes 50 erstellt der Computer bei einem folgenden zweiten Programmblock 51 eine Zellenliste, d.h. den Aufbau und die Struktur, mit der das Layout der integrierten Schaltung erstellt wurde. 8 zeigt eine entsprechende Zellenstruktur des Layouts. Die Zellenstruktur des Layouts mit den Positionen der einzelnen Zellen in den hierarchisch darüber liegenden Zellen wird mit der Information über die verwendeten Zellen und den Aufbau und den Hierarchiebaum der Zellen an einen Zerlegungsblock 52 weitergeleitet. Zudem wird die Information über den Zellenaufbau, insbesondere die Position der Zellen in den hierarchisch höher angeordneten Zellen, vom zweiten Programmblock 51 an einen Verbindungsblock 53 weitergeleitet. 7 shows a schematic overview of another embodiment of the method, the computer system 10 is processed. At a first program block 50 will the computer 11 the data file for the description of the geometric layout supplied in the form of a GDSII format. From the data file of the first program block 50 the computer creates at a following second program block 51 a cell list, that is, the structure and structure used to create the integrated circuit layout. 8th shows a corresponding cell structure of the layout. The cell structure of the layout with the positions of the individual cells in the hierarchically overlying cells is combined with the information about the cells used and the structure and hierarchy tree of the cells to a decomposition block 52 forwarded. In addition, the information about the cell structure, in particular the position of the cells in the hierarchically higher cells, from the second program block 51 to a connection block 53 forwarded.

Der Computer 11 führt an dem Datenfile des Layouts des Programmblockes 51 bei einem Verarbeitungsblock 54 die Überprüfung durch, ob das Layout den vorgegebenen Entwurfsregeln entspricht. Aufgrund der von dem Computer gefundenen Fehler im Layout wird vom Computer 11 eine Fehlerdatei und eine Maskierungsdatei erstellt. In der Fehlerdatei sind alle Fehler abgelegt, die vom Computer 11 gefunden wurden. In der Maskierungsdatei sind die Fehler abgelegt, die zulässige Fehler darstellen, d.h. die gegen die vorgegebenen Regeln verstoßen, aber trotzdem unverändert im Layout beibehalten werden. Zudem werden die Fehler in einer Weiterbildung in Fehlerklassen eingeteilt und mit einer Kennzeichnung für die zugeordnete Fehlerklasse versehen. Vorzugsweise wird ein Fehler einer Zelle zugeordnet, in der der Fehler bei der hierarchischen Überprüfung zuerst auftrat. Sowohl die Fehlerdatei als auch die Maskierungsdatei wird bei einem folgenden dritten Programmblock 55 im RVE-Format erstellt. Zudem wird vom Computer 11 ausgehend vom Verarbeitungsblock 54 eine Musterdatei bei einem Musterblock 56 erstellt, der die festgestellten Fehler in Form einer grafisch darstellbaren Datei, vorzugsweise im GDSII-Format ablegt. Abhängig von der gewählten Ausführungsform können die festgestellten Fehler grafisch auf der Anzeige 16 dargestellt werden.The computer 11 leads to the data file of the layout of the program block 51 at a processing block 54 checking if the layout complies with the given design rules. Due to the error found in the layout of the computer is from the computer 11 created an error file and a mask file. In the error file all errors are stored, that by the computer 11 were found. The mask file stores the errors that represent permissible errors, that is, that violate the rules specified, but are still kept unchanged in the layout. In addition, the errors are classified in a training in error classes and provided with a label for the associated error class. Preferably, an error is assigned to a cell in which the error first occurred in the hierarchical check. Both the error file and the mask file will be at a following third program block 55 created in RVE format. In addition, the computer 11 starting from the processing block 54 a pattern file at a sample block 56 creates the errors found in the form a graphically displayable file, preferably in GDSII format stores. Depending on the chosen embodiment, the detected errors can be graphically displayed 16 being represented.

Ausgehend vom Programmblock 55 erstellt die Recheneinheit bei einem weiteren Verarbeitungsblock 57 eine erweiterte Datei erstellt. Dabei wird ein erkannter Fehler von einer Bedienperson oder automatisch unter vorgegebenen Regeln als erlaubter Fehler bewertet. Dazu wird der erlaubte Fehler in eine Maskierungsdatei eingeschrieben. Die erweiterte Datei umfasst sowohl die Fehlerdatei als auch die Maskierungsdatei und ist zudem grafisch darstellbar. Ausgehend vom weiteren Verarbeitungsblock 57 kann abhängig von dem gewählten Programm bei einem Darstellungsblock 58 sowohl die erkannten Fehler und/oder die erlaubten Fehler grafisch mit der Anzeige 16 dargestellt werden.Starting from the program block 55 Creates the arithmetic unit at another processing block 57 created an extended file. In this case, a detected error is evaluated by an operator or automatically under predetermined rules as a permitted error. For this, the allowed error is written into a masking file. The extended file contains both the error file and the mask file and can also be displayed graphically. Starting from the further processing block 57 may depend on the program selected in a presentation block 58 both the detected errors and / or the allowed errors graphically with the display 16 being represented.

Ausgehend vom weiteren Verarbeitungsblock 57 wird die Maskierungsdatei in einem folgenden Zerlegungsblock 52 unter Berücksichtigung des Zellenaufbaus des Layouts in jeweils eine Maskierungsdatei für jede Zelle umgewandelt und in einer Waiverdatei abgelegt. Dabei werden die zulässig erkannten Fehler jeweils der Zelle zugeordnet, in der der Fehler zuerst bei der hierarchischen Überprüfung festgestellt wurde. Somit wird für jede Zelle, in der Fehler und/oder zulässige Fehler auftreten, eine Maskierungsdatei erstellt.Starting from the further processing block 57 the mask file will be in a subsequent decomposition block 52 taking into account the cell structure of the layout in each case a masking file for each cell converted and stored in a Waiverdatei. In this case, the permissible detected errors are respectively assigned to the cell in which the error was first detected during the hierarchical check. Thus, a mask file is created for each cell in which errors and / or allowed errors occur.

Ausgehend von dem Zerlegungsblock 52 wird bei einem folgenden Herstellungsblock 59 eine Datenbank mit allen Maskierungsdateien aller Zellen des Layouts erstellt. Aus der Datenbank mit den Maskierungsdateien wird bei dem folgenden Verbindungsblock 53 ein Datenfile mit den Maskierungsdateien für die Zellen erstellt, die in der Zellliste eingetragen sind, und für die die Überprüfung des Layouts durchgeführt wurde. Dabei wird der Aufbau des Layouts und insbesondere der hierarchische Aufbau des Layouts berücksichtigt. Vorzugsweise wird ein Fehler nur der Zelle zugeordnet, in der der Fehler zuerst bei der hierarchischen Überprüfung auftrat. Bei einem folgenden fünften Programmblock 61 wird überprüft, ob für jeden Fehler einer Maskierungsdatei ein zugeordneter Fehler in der Fehlerdatei existiert. Dazu werden die Daten der aktuellen Fehlerdatei vom dritten Programmblock 55 berücksichtigt. Die Fehlerdatei wird bei jeder Überprüfung neu erstellt. Die Maskierungsdateien können auch von vorhergehenden Durchgängen, bei denen das Layout überprüft wurde, stammen. Damit können die Maskierungsdateien öfter verwendet werden. Ergibt die Überprüfung, dass für einen zulässigen Fehler der Maskie rungsdatei kein entsprechender Fehler in der Fehlerdatei abgelegt ist, so wird der Fehler ggf. nach Abfrage aus der Maskierungsdatei gelöscht und eine überprüfte Datenbank für die Maskierungsdateien der einzelnen Zellen erstellt. Die überprüfte Datenbank wird dem Verarbeitungsblock 57 zugeführt. Die Dateien der Fehler sind wie in 3 beschrieben aufgebaut. Aufgrund des beschriebenen Verfahrens ist es möglich, einmal erstellte Maskierungsdateien bei späteren Überprüfungen des Layouts, die auch andere Zellen des Layouts beinhalten können, wieder zu verwenden. Da für jede Zelle eine Maskierungsdatei besteht, die Position jedes erlaubten Fehlers in der Zelle mit dem erlaubten Fehler abgelegt ist, und da zudem die Position jeder Zelle in bezug auf das Layout abgelegt ist, können die Maskierungsdateien der Zellen bei der Prüfung anderer Zellen wieder verwendet werden, da die Position eines erlaubten Fehlers einer Zelle für jede andere Zelle und für das Layout berechnet werden kann.Starting from the decomposition block 52 becomes at a following production block 59 created a database with all masking files of all cells of the layout. From the database with the masking files is at the following connection block 53 creates a data file containing the mask files for the cells that are listed in the cell list and for which the layout was checked. The layout of the layout and especially the hierarchical structure of the layout are taken into account. Preferably, an error is only assigned to the cell in which the error first occurred during the hierarchical check. At a following fifth program block 61 a check is made as to whether there is an associated error in the error file for each error of a mask file. For this, the data of the current error file from the third program block 55 considered. The error file is recreated each time it is checked. The mask files may also be from previous passes where the layout was checked. This allows the masking files to be used more often. If the check reveals that for a permissible error of the masking file no corresponding error is stored in the error file, the error is possibly deleted from the masking file after a query and a checked database for the masking files of the individual cells is created. The checked database becomes the processing block 57 fed. The files of the errors are like in 3 described constructed. Due to the described method, it is possible to reuse once created masking files in later reviews of the layout, which may also include other cells of the layout. Since there is a masking file for each cell, the location of each allowed error is stored in the allowed error cell, and moreover, the position of each cell relative to the layout is stored, the masking files of the cells can be reused in testing other cells since the position of a permitted error of one cell can be calculated for each other cell and for the layout.

Damit können die Daten der Maskierungsdateien auf verschiedene Hierarchiestufen übertragen werden und bei entsprechenden Überprüfungen wieder verwendet werden. Somit ist es nicht erforderlich, bei jeder Überprüfung neue Maskierungsdateien zu erstellen.In order to can the data of the masking files are transferred to different hierarchical levels and on appropriate reviews again be used. Thus, it is not necessary for each review new Create masking files.

8 zeigt schematisch ein Layout einer integrierten Schaltung 70. Die integrierte Schaltung 70 weist eine erste Zelle 70 auf, die eine zweite Zelle 71, eine dritte Zelle 72, eine vierte Zelle 73 und fünfte Zellen 74 aufweist. Die erste Zelle stellt einen Speicher mit wahlfreiem Zugriff (RAM) dar, der wiederum eine Vielzahl von Subzellen beinhaltet, die nicht im Einzelnen dargestellt sind. Die Subzellen können wiederum weitere Subzellen beinhalten. Abhängig von dem verwendeten Layout können die Zellen bis zur Transistorebene als Subzellen ausgebildet sein. Somit ergibt sich ein hierarchischer Aufbau der Zellen. Wird nun das Layout der integrierten Schaltung 70 geprüft, so werden zuerst die kleinsten Subzellen geprüft. Anschließend werden hierarchisch nach oben ge hend die Zellen geprüft, die wiederum die Subzellen beinhalten. Auf diese Weise wird eine hierarchische Reihenfolge der Zellenprüfung durchgeführt. Für jede Zelle, die Subzellen beinhaltet, sind zum einen die Koordinaten abgelegt, mit denen die Zelle auf dem Baustein positioniert ist. Zudem sind für die Subzellen jeweils die Koordinaten in Bezug auf die Zelle abgelegt, mit denen die Subzellen in Bezug auf die Zelle positioniert sind. 8th schematically shows a layout of an integrated circuit 70 , The integrated circuit 70 has a first cell 70 on, which is a second cell 71 , a third cell 72 , a fourth cell 73 and fifth cells 74 having. The first cell represents a random access memory (RAM), which in turn contains a plurality of subcells which are not shown in detail. The subcells may in turn contain further subcells. Depending on the layout used, the cells can be formed as sub-cells up to the transistor level. This results in a hierarchical structure of the cells. Will now be the layout of the integrated circuit 70 checked, the smallest subcells are checked first. Subsequently, the cells, which in turn contain the subcells, are checked hierarchically upward. In this way, a hierarchical order of the cell check is performed. For each cell that contains subcells, on the one hand, the coordinates are stored, with which the cell is positioned on the block. In addition, for each of the subcells, the coordinates are stored with respect to the cell with which the subcells are positioned with respect to the cell.

Claims (13)

Verfahren zum Behandeln von Fehlern bei der Überprüfung eines Entwurfes einer integrierten Schaltung, a. wobei der Entwurf der integrierten Schaltung anhand von vorgegebenen Regeln auf Fehler überprüft wird, b. wobei der Entwurf mehrere Zellen aufweist, c. wobei bei einer Abweichung des Entwurfes von den vorgegebenen Regeln ein Fehler erkannt wird, d. wobei der erkannte Fehler in eine Fehlerdatei eingeschrieben wird, e. wobei wenigstens ein erkannter Fehler in eine Maskierungsdatei eingeschrieben wird, wenn der Fehler trotz der Abweichung von den Regeln als erlaubter Fehler zugelassen wird, wobei wenigstens ein erlaubter Fehler mit Angabe der Zelle in der Maskierungsdatei abgespeichert wird, in der der Fehler auftritt, wobei für jede Zelle eine Maskierungsdatei mit erlaubten Fehlern der Zelle erstellt wird, wobei die Maskierungsdatei Daten über die Art des Fehlers, die Position des Fehlers in der Zelle und Daten über die Position der Zelle in Bezug auf das Layout aufweist.A method of handling errors in the review of an integrated circuit design, a. wherein the design of the integrated circuit is checked for errors according to given rules, b. the design having multiple cells, c. in the case of a deviation of the design from the given rules an error is detected, d. wherein the detected error is written to an error file, e. wherein at least one detected error is written to a masking file if the error is permitted as a permitted error despite the deviation from the rules, wherein at least one allowed error indicating the cell is stored in the mask file in which the error occurs, for each Cell, a mask file is created with allowed cell errors, the mask file having data about the nature of the error, the location of the error in the cell, and data about the position of the cell relative to the layout. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein Layout der integrierten Schaltung anhand von vorgegebenen Regeln überprüft wird, dass das Layout mehrere Zellen aufweist, dass bei einer Abweichung des Layouts von den vorgegebenen Regeln ein Fehler erkannt wird.Method according to claim 1, characterized in that that a layout of the integrated circuit based on given Rules is checked that the layout has multiple cells that in case of a deviation of the Layouts from the given rules an error is detected. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass ein erlaubter Fehler nach vorgegebenen Regeln in eine Klasse eingeteilt wird, und dass bei Vorliegen zugelassener Fehler verschiedener Klassen diese bei der Überprüfung unterschiedlich behandelt werden. Method according to claim 1 or 2, characterized that a permitted error according to given rules in a class is divided, and that in case of admitted errors different Classes these different when checking be treated. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass identische Fehler in eine Klasse eingeteilt werden.Method according to one of claims 1 to 3, characterized that identical errors are divided into a class. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass erlaubte Fehler des Layouts, die eine ähnliche oder gleiche Geometrie aufweisen, in eine Klasse eingeteilt werden.Method according to claim 2, characterized in that that allowed mistakes of the layout, which have a similar or same geometry have to be divided into a class. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass Fehler bei der Überprüfung des Entwurfes angezeigt werden und dass erlaubte Fehler bei einer Überprüfung nicht angezeigt werden.Method according to one of claims 1 to 5, characterized that error in checking the Design and that allowed errors in a review not are displayed. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass eine Klasse bestimmt wird, und dass erlaubte Fehler der bestimmten Klasse angezeigt werden und die erlaubten Fehler der anderen Klassen nicht angezeigt werden.Method according to Claim 6, characterized that a class is determined, and that allowed errors of the particular Class are displayed and the allowed errors of the other classes not be displayed. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Entwurf in einer vorgegebenen Hierarchie von Zellen auf Fehler überprüft wird, und dass ein erlaubter Fehler mit einem Hinweis auf die Zelle abgespeichert wird, in der der erlaubte Fehler bei einer hierarchischen Überprüfung der Zellen zuerst erkannt wurde.Method according to one of claims 1 to 7, characterized that the draft is in a given hierarchy of cells Error is checked and that a permitted error is stored with an indication of the cell in which the allowed error in a hierarchical check of the Cells was first detected. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass eine Fehlerdatei für einen erlaubten Fehler abgespeichert wird, der eine Beschreibung des Fehlers, eine Angabe der Zelle, in der Fehler liegt, und eine Angabe von Koordinaten aufweist, die die Position des Fehlers innerhalb der Zelle und die Position der Zelle im Layout beschreiben.Method according to one of claims 1 to 8, characterized that an error file for a allowed error is stored, a description of the error, an indication of the cell that contains errors and an indication of Coordinates that indicate the position of the error within the cell and describe the position of the cell in the layout. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die erlaubten Fehler bei einem Feh lerreport nicht ausgegeben und/oder nicht angezeigt werden.Method according to one of claims 1 to 9, characterized that the permitted errors in a misreport report not issued and / or not displayed. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass für erlaubte Fehler Dateien in einem Speicher abgelegt werden, und dass für jede Zelle eine Maskierungsdatei erstellt wird, die die Dateien der erlaubten Fehler aufweisen, die in der Zelle enthalten sind.Method according to one of claims 1 to 10, characterized that for allowed error files are stored in a memory, and that for every Cell creates a mask file that allowed the files of the Have errors contained in the cell. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass bei der Überprüfung der integrierten Schaltung eine Datenbank mit bereits ermittelten Maskierungsdateien für die Zellen verwendet wird, dass die Datenbank daraufhin überprüft wird, ob für jeden Fehler der Maskierungsdateien ein Fehler in einer Fehlerdatei enthalten ist, dass die Fehler in den Maskierungsdateien gelöscht wird, wenn nicht der gleiche Fehler in der Fehlerdatei abgelegt ist, und dass die überarbeiteten Maskierungsdateien für die Anzeige oder einen Bericht über die erlaubten Fehler verwendet wird.Method according to one of claims 1 to 11, characterized that when reviewing the integrated circuit a database with already determined masking files for the Cells is used, the database is then checked, whether for any error of the masking files an error in an error file included is that the errors in the masking files are deleted when not the same error is stored in the error file, and that the revised ones Masking files for the ad or a report about the allowed error is used. Verfahren zum Behandeln von erlaubten Fehlern bei der Überprüfung eines Entwurfs einer integrierten Schaltung, a. wobei der Entwurf der integrierten Schaltung anhand von vorgegebenen Regeln auf Fehler überprüft wird, b. wobei der Entwurf mehrere Zellen aufweist, c. wobei bei einer Abweichung des Entwurfes von den vorgegebenen Regeln ein Fehler erkannt wird, d. wobei der erkannte Fehler in eine Fehlerdatei eingeschrieben wird, e. wobei wenigstens ein erkannter Fehler in eine Maskierungsdatei eingeschrieben wird, wenn der Fehler trotz der Abweichung von den Regeln als erlaubter Fehler zugelassen wird, wobei bei der Überprüfung der integrierten Schaltung eine Datenbank mit bereits ermittelten Maskierungsda teien für die Zellen verwendet wird, wobei die Datenbank daraufhin überprüft wird, ob für jeden Fehler der Maskierungsdateien ein Fehler in einer Fehlerdatei enthalten ist, wobei der Fehler in den Maskierungsdateien gelöscht wird, wenn nicht der gleiche Fehler in der Fehlerdatei abgelegt ist, und wobei die überarbeiteten Maskierungsdateien für die Anzeige oder einen Bericht über die erlaubten Fehler verwendet wird.Method for handling allowed errors the review of a Design of an integrated circuit, a. being the design the integrated circuit is checked for errors according to given rules, b. the design having multiple cells, c. being at a Deviation of the design from the given rules an error is recognized, d. where the detected error is in an error file is enrolled, e. where at least one detected error is written to a masking file if the error persists the deviation from the rules is allowed as a permitted error, in which in the review of integrated circuit a database with already determined Maskierungsda shares for the Cells is used, the database is then checked, whether for any error of the masking files an error in an error file containing the error in the mask files is deleted, if not the same error is stored in the error file, and the revised ones Masking files for the ad or a report about the allowed error is used.
DE102006006782A 2006-02-14 2006-02-14 A method of handling design errors of an integrated circuit layout Expired - Fee Related DE102006006782B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102006006782A DE102006006782B4 (en) 2006-02-14 2006-02-14 A method of handling design errors of an integrated circuit layout

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006006782A DE102006006782B4 (en) 2006-02-14 2006-02-14 A method of handling design errors of an integrated circuit layout

Publications (2)

Publication Number Publication Date
DE102006006782A1 DE102006006782A1 (en) 2007-08-23
DE102006006782B4 true DE102006006782B4 (en) 2008-04-03

Family

ID=38288691

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006006782A Expired - Fee Related DE102006006782B4 (en) 2006-02-14 2006-02-14 A method of handling design errors of an integrated circuit layout

Country Status (1)

Country Link
DE (1) DE102006006782B4 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63119244A (en) * 1986-11-06 1988-05-23 Nec Corp Ic layout design system
JPH03234039A (en) * 1990-02-09 1991-10-18 Mitsubishi Electric Corp Layout pattern verification device
US6418551B1 (en) * 2000-08-03 2002-07-09 Avant! Corporation Design rule checking tools and methods that use waiver layout patterns to waive unwanted dimensional check violations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63119244A (en) * 1986-11-06 1988-05-23 Nec Corp Ic layout design system
JPH03234039A (en) * 1990-02-09 1991-10-18 Mitsubishi Electric Corp Layout pattern verification device
US6418551B1 (en) * 2000-08-03 2002-07-09 Avant! Corporation Design rule checking tools and methods that use waiver layout patterns to waive unwanted dimensional check violations

Also Published As

Publication number Publication date
DE102006006782A1 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
DE102006037162B4 (en) Method and apparatus and their use for testing the layout of an electronic circuit
DE69521507T2 (en) SYSTEM AND METHOD FOR EXAMINING LOCAL DESIGN RULES BASED ON A MODEL
DE112016007220T5 (en) Ladder program processing support device and ladder program processing method
EP1751637A1 (en) Knowledge-based diagnostic system for a complex technical system, comprising two separate knowledge bases for processing technical system data and customer complaints
DE112018007096T5 (en) PROCESS AND DEVICE FOR SOFTWARE VISUALIZATION, AND SOFTWARE VISUALIZATION PROGRAM
DE102007018622A1 (en) Layout cells, layout cell array, method for generating a layout cell, method for generating a layout cell array, computer program products
EP1134636A1 (en) Editor for process planning
DE10256990A1 (en) Program code generator and program
DE10224417B4 (en) Method for classifying errors of the layout of a semiconductor circuit
DE10138142A1 (en) Method for analyzing an integrated electrical circuit
DE112009001219B4 (en) Reviewing Non-Examinations Rules (DNIR) Rules, Computer Program and Apparatus for Such Review
EP3232327A1 (en) Method for testing a control program of a control unit in a simulation environment on a computer
DE102006006782B4 (en) A method of handling design errors of an integrated circuit layout
DE102012210482A1 (en) Method and system for migrating business process instances
DE102016104839B4 (en) Layout review system and procedures
DE102004003092A1 (en) Method for resolving improperly adjusted parameters in a computer-aided design for integrated circuits
DE112013005760T5 (en) Pattern-based supply-and-ground (PG) wiring and through-contact generation
DE102004003100A1 (en) Method for resolving improperly matched graphic symbols in a computer-aided design of integrated circuits
DE102018117881A1 (en) SYSTEM AND METHOD FOR USING BUSINESS INTELLIGENCE FOR RULEBASED MANUFACTURING PROCESSING DESIGN
WO2004031996A2 (en) Method for determining the positioning of contact surfaces on the active upper face of a semiconductor chip
DE102022209618A1 (en) Method for simulating a forming tool for producing a component for a motor vehicle, computer program product and electronic computing device
DE10206658B4 (en) Method for checking an integrated electrical circuit
EP2990941B1 (en) Computer-implemented method for generating a control device program codes and related report management environment
DE112016007465T5 (en) Program development support apparatus and method for managing program components
DE102004037297A1 (en) Method for correcting layout errors

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

8339 Ceased/non-payment of the annual fee