[go: up one dir, main page]

WO2011134657A1 - Method for inserting repeaters into an integrated circuit - Google Patents

Method for inserting repeaters into an integrated circuit Download PDF

Info

Publication number
WO2011134657A1
WO2011134657A1 PCT/EP2011/002124 EP2011002124W WO2011134657A1 WO 2011134657 A1 WO2011134657 A1 WO 2011134657A1 EP 2011002124 W EP2011002124 W EP 2011002124W WO 2011134657 A1 WO2011134657 A1 WO 2011134657A1
Authority
WO
WIPO (PCT)
Prior art keywords
placement
components
repeaters
steps
wiring
Prior art date
Application number
PCT/EP2011/002124
Other languages
German (de)
French (fr)
Inventor
Markus Olbrich
Ole-Hendrik Ohlendorf
Erich Barke
Original Assignee
Gottfried Wilhelm Leibniz Universität Hannover
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 Gottfried Wilhelm Leibniz Universität Hannover filed Critical Gottfried Wilhelm Leibniz Universität Hannover
Publication of WO2011134657A1 publication Critical patent/WO2011134657A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Definitions

  • the invention relates to a method for inserting repeaters in an integrated circuit according to the preamble of claim 1.
  • the invention further relates to a data carrier with a computer program that is set up to carry out such a method.
  • the repeaters are inserted so to speak in the circuit in the supply, for. B. at equidistant intervals. This results in an increased circuit complexity and increased space requirements, as in principle space must be provided for repeaters, even if a final timing analysis shows that not all repeaters are required.
  • CONFIRMATION COPY The invention is therefore based on the object to provide a method for inserting repeaters in an integrated circuit that uses the existing circuit area more efficiently.
  • the method specified in claim 1 specifies a new approach for inserting repeaters into an integrated circuit, in which the placement steps, the timing analysis and the insertion of repeaters can be performed virtually simultaneously in small steps.
  • the insertion of repeaters is performed depending on the result of the timing analysis. This makes it possible to insert repeaters only if and only where an improvement in the timing of the integrated circuit can be expected. In comparison to known methods, therefore, no superfluous repeaters are inserted, so that no placeholders for repeaters must be provided.
  • the placement algorithm with all placement steps was initially performed completely and only then z.
  • a timing analysis or wiring was performed, hereby an integrated approach is presented, in which these steps are performed nested in small steps. This makes it possible to realize a very precise adaptation of the actual distribution of the repeaters to the actual time behavior of the integrated circuit.
  • Timing analysis is understood as an analysis of the expected time behavior of the integrated circuit in practical operation.
  • the invention has the advantage that circuit designs are also mastered with a large number of repeaters. Timing information can be considered directly during placement. Overall, repeaters are inserted only where necessary, so no wildcards are required. are dig. In addition, the reduced number of repeaters can be used to realize integrated circuits with lower energy consumption.
  • a global wiring of the components is carried out in the course of execution of steps a) to c) of claim 1.
  • the global wiring includes a plurality of global wiring steps. In this case, at least one global wiring step can be carried out before step a), if necessary, several global wiring steps can also be carried out.
  • only surface segments of the circuit area reserved for the wiring of the components and the repeaters are reserved during the global wiring.
  • a detail wiring of the components and the repeater is performed, are arranged in the electrical connections to the components and / or repeaters within the reserved surface segments.
  • the actual wiring ie the production of electrical connections between the components and / or the repeaters, can then be carried out finally as detailed wiring, wherein the electrical connections in the previously reserved area segments are provided. This can further optimize the design and implementation of integrated circuits.
  • the surface segments are arranged only in mutually parallel and orthogonal longitudinal directions. As a result, oblique connections are avoided. This allows for automatic wiring creation through higher efficiency wiring algorithms. Particularly in the case of highly complex integrated circuits, the problem can be minimized that automatic wiring algorithms reach their limits due to line crossings and in the end can not perform complete wiring.
  • a global wiring step is carried out only as required and not in each run of the iteration method.
  • the global wiring step or the global wiring steps are thus optional and only performed if necessary.
  • a static timing analysis is performed as a timing analysis, with which the critical signal path is determined.
  • a width search is performed by the signal graph of the circuit. This allows the detection of the critical signal path, which is a measure of the number and placement repeaters to be inserted.
  • an analysis of the time behavior of the integrated circuit can be carried out relatively quickly, so that this method is particularly suitable for being carried out many times during the placement of the components in the iteration method according to claim 1.
  • Static Timing Analysis STA is a standard technique for studying timing requirements of integrated circuits. So far, static timing analysis has not been performed during placement. In principle, the integration into the placement method is possible due to the low Runtime complexity, which is 0 (v + e), with the number of nodes v and edges e of the timing graph.
  • Negative Slack means that the timing conditions are violated. In other words, the slack provides a certain amount of time in the signal transmission. The insertion of repeaters should cause the slack to increase as a result of shorter delay times between the cells.
  • the output of the implemented static timing analysis is an ascending Slack sorted list of individual timing paths and is used here to insert repeaters at timing critical locations. The path with the least slack is called the critical path.
  • a square force-based method is provided as the placement algorithm. Such a method allows space-optimized and time-behavior-optimized placement of the components on the circuit surface.
  • a repeater is inserted in step c) only if the timing analysis results in a need for it.
  • the total number of inserted repeaters is limited to one quarter of the number of all cells of the integrated circuit. As cells come z. B. the components of the circuit in question.
  • a plurality of placement steps and / or timing analyzes are carried out before one or more repeaters are inserted into the circuit.
  • repeaters can only be used after about 70 iterations of the placement step be inserted.
  • a repeater is inserted when the timing conditions of the static timing analysis are violated.
  • repeaters are repeatedly inserted at a predetermined distance for each timing-critical connection.
  • the placement algorithm uses a quadratic force-based method as a basic algorithm, which substantially corresponds to the new version of the placement tool "power plant” (described in: P. Spindler and F. Johannes, Fast and accurate routing demand estimation for efficient routability).
  • DATE '07 Proceedings of the Conference on Design, Automation and Test in Europe, pp. 1226-1231, San Jose, CA, USA, 2007. EDA Consortium). The underlying concept and the characteristics of this placement procedure are briefly presented below.
  • the placement method is based on the minimization of the square Euclidean distance between the cells to be placed.
  • the In x 2 «matrix C and the 2» -dimensional vector d contain the weighted connection costs between moving and non-moving cells.
  • the constant contribution r comi results from connections between non-moving cells (pad cells).
  • the weights of each cost then correspond to spring constants.
  • the basic approach of force-based placement is the introduction of additional forces, which cause a distribution of cells on the layout surface.
  • the optimization goal is to minimize the overlaps of the cells.
  • the additional repulsive forces F e are obtained from a virtual electrical field which is calculated by plotting virtual surface charges in the regions of the cells. After this initial implementation, the forces are summed and iteratively recalculated, resulting in the following equation:
  • the method proposed here uses the power-based placement approach. After this, the repulsive forces F e are not directly into the
  • the invention further relates to a data carrier with a computer program that is set up to carry out a method of the type described above.
  • the disk may be a conventional commercially available media such. As a floppy disk, a CD or DVD or a memory stick.
  • the disk can also be connected to a network, such. As the Internet, connected computer or a non-networked computer.
  • Figure 1 The placement of components on a circuit surface in a schematic representation
  • Figure 2 shows a method for inserting repeaters in an integrated
  • components 1, 2, 3 are mounted on a circuit surface 8. assigns.
  • the components 1, 2, 3 have been positioned by means of a placement algorithm.
  • components 1, 2, 3 conventional electronic components may be provided, such.
  • a repeater 4 is provided between the components 2, 3, a repeater 4 is provided.
  • surface segments 5, 6 were initially provided in the course of the method of designing the integrated circuit in the context of a global wiring. These surface segments 5, 6 represent reservation surfaces for the completion of the creation of the integrated circuit electrical connections 9 between the components 1, 2, 3 and the repeater 4.
  • the surface segments 5, 6 as horizontally extending surface segments 5 and vertically extending surface segments 6 realized so that the surface segments are always parallel to each other or orthogonal in the longitudinal direction.
  • the dashed line shown between the components 1, 2 shows for comparison schematically an electrical connection made in conventional circuit design, which is provided at an angle as a direct connecting line between the components 1, 2.
  • a method for inserting repeaters in an integrated circuit initially comprises a step 20 of the initial placement.
  • any kind of placement of the components is provided, for. For example, according to their numbering in the circuit diagram.
  • a query step 30 follows, in which it is checked whether the execution of an optional global wiring step is required. This allows the global wiring step to be performed only as needed and does not need to be performed every iteration of the iteration process. If a global wiring step is not required, the query step 30 branches directly to a step 23. The steps 21, 22 are skipped. If a global wiring step is required, after the polling step 30, a step 21 is executed in which a wiring topology is set.
  • Steps 21, 22 are parts of a global wiring step.
  • the surface segments 5, 6, as shown in Figure 1 placed.
  • a step 23 a new placement of the components 1, 2, 3 according to one or more placement steps of the square force-based method used as a placement algorithm and a determination of the basic wiring course.
  • a timing analysis of the integrated circuit is performed in accordance with the device placement and the global wiring at that time.
  • the timing analysis is evaluated so that it is checked whether a repeater 4 or possibly a plurality of repeaters is required. If repeaters are required, a branch is made directly to a step 26 in which corresponding repeater stages are inserted. Otherwise, the step 26 is skipped and proceeded to a step 27.
  • step 27 it is checked whether steps 21 to 26 should be repeated or the loop can be aborted. If it is determined in step 27 that the circuit diagram has not yet been fully implemented, the method branches back to step 21. Otherwise, a step 28 is continued, in which a detailed placement of the components 1, 2, 3 and the repeater 4 is performed. Finally, detailed wiring is performed in a subsequent step 29. In this case, electrical connections between the components 1, 2, 3 and / or the repeaters are arranged within the area segments reserved in steps 21 and 22.
  • the method provides a netlist that can be fed directly into an integrated circuit fabricator.
  • the netlist contains, in addition to the components, ie the logic gates of the circuit, the inserted repeater cells.
  • a Generated network list for an integrated circuit that meets predetermined Timi requirements.

Landscapes

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

Abstract

The present invention relates to a method for designing an integrated circuit, in which, in accordance with a predetermined circuit diagram, components (1, 2, 3) are placed on a circuit surface (8) using a placement algorithm, the placement algorithm containing a plurality of placement steps (23), characterised in that the components (1, 2, 3) are placed by multiple repetition of at least the following steps, wherein the following steps are carried out in the given sequence until the predetermined circuit diagram has been implemented: a) carrying out at least one placement step (23) or a subset of the total number of placement steps (23), b) carrying out a timing analysis (24) for the current placement of the components (1, 2, 3), and c) inserting one or more repeaters (4) into the circuit according to the result of the timing analysis (24). The invention further relates to a data carrier comprising a computer program that is designed to carry out such a method.

Description

Beschreibung  description
Verfahren zum Einfügen von Repeatern in einem integrierten Schaltkreis Method of inserting repeaters in an integrated circuit
Die Erfindung betrifft ein Verfahren zum Einfügen von Repeatern in einem integrierten Schaltkreis gemäß dem Oberbegriff des Patentanspruchs 1. Die Erfindung betrifft ferner einen Datenträger mit einem Computerprogramm, das zur Ausführung eines solchen Verfahrens eingerichtet ist. The invention relates to a method for inserting repeaters in an integrated circuit according to the preamble of claim 1. The invention further relates to a data carrier with a computer program that is set up to carry out such a method.
Verfahren zum Entwurf integrierter Schaltkreise sind beispielsweise aus der US 2003/0229878 A1 , der US 6,662,349 B2 bekannt. Hierbei werden ausgehend von einem vorgegebenen Schaltplan Bauelemente auf einer Schaltkreisfläche, z. B. einem Substrat, platziert. Bei hochintegrierten Schaltkreisen kann eine solche Platzierung aus Aufwandsgründen nicht mehr manuell erfolgen. Daher wird die Platzierung durch Software automatisiert durchgeführt. Hierbei werden Platzierungsalgorithmen verwendet, die eine optimierte Platzierung der Bauelemente erlauben. Zur Erzielung hoher Verarbeitungsgeschwindigkeiten bei solchen integrierten Schaltkreisen werden ergänzend zu den durch den Schaltplan vorgegebenen Bauelementen an bestimmten Stellen so genannte Repeater eingefügt. Die Repeater dienen dabei als Signalverstärker. Daher können Repeater z. B. auch als Signalregeneratoren bezeichnet werden. Bei bisherigen Entwurfsverfahren integrierter Schaltungen werden die Repeater sozusagen auf Vorrat in die Schaltung eingefügt, z. B. in äquidistanten Abständen. Hieraus ergibt sich ein erhöhter Schaltungsaufwand sowie ein erhöhter Platzaufwand, da grundsätzlich Platz für Repeater vorgesehen sein muss, auch wenn eine abschließende Timing-Analyse ergibt, dass nicht alle Repeater erforderlich sind. Methods for designing integrated circuits are known, for example, from US 2003/0229878 A1, US Pat. No. 6,662,349 B2. Here, starting from a given circuit diagram, components on a circuit surface, for. B. a substrate placed. In the case of highly integrated circuits, such a placement can no longer be done manually for reasons of expense. Therefore, placement by software is automated. In this case, placement algorithms are used which allow an optimized placement of the components. To achieve high processing speeds in such integrated circuits so-called repeaters are inserted in addition to the predetermined by the circuit diagram components at certain points. The repeaters serve as signal amplifiers. Therefore, repeaters z. B. also be referred to as signal regenerators. In previous design methods of integrated circuits, the repeaters are inserted so to speak in the circuit in the supply, for. B. at equidistant intervals. This results in an increased circuit complexity and increased space requirements, as in principle space must be provided for repeaters, even if a final timing analysis shows that not all repeaters are required.
BESTÄTIGUNGSKOPIE Der Erfindung liegt daher die Aufgabe zu Grunde, ein Verfahren zum Einfügen von Repeatern in einem integrierten Schaltkreis anzugeben, dass die vorhandene Schaltkreisfläche effizienter nutzt. CONFIRMATION COPY The invention is therefore based on the object to provide a method for inserting repeaters in an integrated circuit that uses the existing circuit area more efficiently.
Diese Aufgabe wird durch das in dem Anspruch 1 angegebene Verfahren gelöst. Die Unteransprüche geben vorteilhafte Ausgestaltungen der Erfindung an. This object is achieved by the method specified in claim 1. The subclaims indicate advantageous embodiments of the invention.
Mit dem in Anspruch 1 angegeben Verfahren wird ein neuer Ansatz zum Einfü- gen von Repeatern in einem integrierten Schaltkreis angegeben, bei dem die Platzierungsschritte, die Timing-Analyse und das Einfügen von Repeatern quasi simultan in kleinen Stufen erfolgen können. Hierbei wird insbesondere das Einfügen von Repeatern in Abhängigkeit vom Ergebnis der Timing-Analyse durchgeführt. Hierdurch wird es möglich, Repeater nur dann und nur dort ein- zufügen, wo eine Verbesserung des Zeitverhaltens des integrierten Schaltkreises erwartet werden kann. Im Vergleich zu bekannten Verfahren werden somit keine überflüssigen Repeater eingefügt, so dass auch keine Platzhalter für Repeater vorgesehen werden müssen. Im Gegensatz zu bekannten Verfahren, bei denen der Platzierungsalgorithmus mit sämtlichen Platzierungsschritten zu- nächst vollständig durchgeführt wurde und erst danach z. B. eine Timing- Analyse oder eine Verdrahtung durchgeführt wurde, wird hiermit ein integrierter Ansatz vorgestellt, bei dem diese Verfahrensschritte in kleinen Stufen ineinander verschachtelt ausgeführt werden. Hierdurch lässt sich eine sehr präzise Anpassung der tatsächlichen Verteilung der Repeater an das tatsächliche Zeit- verhalten des integrierten Schaltkreises realisieren. The method specified in claim 1 specifies a new approach for inserting repeaters into an integrated circuit, in which the placement steps, the timing analysis and the insertion of repeaters can be performed virtually simultaneously in small steps. Here, in particular, the insertion of repeaters is performed depending on the result of the timing analysis. This makes it possible to insert repeaters only if and only where an improvement in the timing of the integrated circuit can be expected. In comparison to known methods, therefore, no superfluous repeaters are inserted, so that no placeholders for repeaters must be provided. In contrast to known methods, in which the placement algorithm with all placement steps was initially performed completely and only then z. B. a timing analysis or wiring was performed, hereby an integrated approach is presented, in which these steps are performed nested in small steps. This makes it possible to realize a very precise adaptation of the actual distribution of the repeaters to the actual time behavior of the integrated circuit.
Als Timing-Analyse sei eine Analyse des zu erwartenden Zeitverhaltens des integrierten Schaltkreises im praktischen Betrieb verstanden. Die Erfindung hat den Vorteil, dass Schaltungsdesigns auch mit einer großen Anzahl an Repeatern beherrscht werden. Die Timing-Informationen können direkt während der Platzierung berücksichtigt werden. Insgesamt werden Repeater nur dort eingefügt, wo es erforderlich ist, so dass keine Platzhalter notwen- dig sind. Zusätzlich können durch die verringerte Anzahl an Repeatern integrierte Schaltkreise realisiert werden, die einen geringeren Energieverbrauch aufweisen. Gemäß einer vorteilhaften Weiterbildung der Erfindung wird im Verlaufe der Ausführung der Schritte a) bis c) des Anspruch 1 eine Globalverdrahtung der Bauelemente durchgeführt. Die Globalverdrahtung beinhaltet eine Mehrzahl von Globalverdrahtungsschritten. Hierbei kann vor dem Schritt a) wenigstens ein Globalverdrahtungsschritt ausgeführt werden, ggf. können auch mehrere Globalverdrahtungsschritte ausgeführt werden. Dies hat den Vorteil, dass auch die Verdrahtung in kleinen Schritten und quasi simultan mit der Platzierung der Bauelemente und der Einfügung der Repeater durchgeführt wird. Hierdurch wird auch die Globalverdrahtung bereits in den Ablauf der Schritte a) bis c) integriert. Dies erlaubt ist eine realistischere Abschätzung des tatsächlichen Ver- laufs der Verdrahtung zwischen den Bauelementen möglich, was wiederum ermöglicht, bei der Timing-Analyse während der Platzierung bereits den Einfluss der Verdrahtung zu berücksichtigen. Bei bekannten Verfahren wurde dagegen lediglich eine Verdrahtung nach Abschluss der gesamten Platzierung der Bauelemente durchgeführt. Timing analysis is understood as an analysis of the expected time behavior of the integrated circuit in practical operation. The invention has the advantage that circuit designs are also mastered with a large number of repeaters. Timing information can be considered directly during placement. Overall, repeaters are inserted only where necessary, so no wildcards are required. are dig. In addition, the reduced number of repeaters can be used to realize integrated circuits with lower energy consumption. According to an advantageous development of the invention, a global wiring of the components is carried out in the course of execution of steps a) to c) of claim 1. The global wiring includes a plurality of global wiring steps. In this case, at least one global wiring step can be carried out before step a), if necessary, several global wiring steps can also be carried out. This has the advantage that the wiring is carried out in small steps and quasi simultaneously with the placement of the components and the insertion of the repeaters. As a result, the global wiring is already integrated into the sequence of steps a) to c). This allows for a more realistic estimate of the actual wiring between the devices, which in turn allows for the timing analysis during placement to already consider the influence of the wiring. On the other hand, in known methods, only one wiring has been performed after completing the entire placement of the devices.
Gemäß einer vorteilhaften Weiterbildung der Erfindung werden während der Globalverdrahtung lediglich Flächensegmente der Schaltkreisfläche reserviert, die für die Verdrahtung der Bauelemente und der Repeater vorgesehen sind. Nach Durchführung des Iterationsverfahrens gemäß Anspruch 1 wird eine De- tailverdrahtung der Bauelemente und der Repeater durchgeführt, bei der elektrische Verbindungen bei den Bauelementen und/oder Repeatern innerhalb der reservierten Flächensegmente angeordnet werden. Hierdurch kann der Einfluss der späteren Verdrahtung bereits frühzeitig während der Ausführung der Platzierungsschritte und der Timing-Analyse berücksichtigt werden. Die eigentliche Verdrahtung, d. h. die Herstellung elektrischer Verbindungen zwischen den Bauelementen und/oder den Repeatern, kann dann abschließend als Detailverdrahtung durchgeführt werden, wobei die elektrischen Verbindungen in den zuvor reservierten Flächensegmenten vorgesehen werden. Hierdurch kann der Entwurf und die Realisierung integrierter Schaltkreise weiter optimiert werden. According to an advantageous development of the invention, only surface segments of the circuit area reserved for the wiring of the components and the repeaters are reserved during the global wiring. After carrying out the iteration method according to claim 1, a detail wiring of the components and the repeater is performed, are arranged in the electrical connections to the components and / or repeaters within the reserved surface segments. In this way, the influence of the subsequent wiring can be taken into account early during the execution of the placement steps and the timing analysis. The actual wiring, ie the production of electrical connections between the components and / or the repeaters, can then be carried out finally as detailed wiring, wherein the electrical connections in the previously reserved area segments are provided. This can further optimize the design and implementation of integrated circuits.
Gemäß einer vorteilhaften Weiterbildung der Erfindung werden die Flächen- segmente nur in zueinander parallelen und orthogonalen Längsrichtungen angeordnet. Hierdurch werden schräg verlaufende Verbindungen vermieden. Dies erlaubt eine automatische Verdrahtungserstellung durch Verdrahtungsalgorithmen mit höherer Effizienz. Insbesondere bei hochkomplexen integrierten Schaltkreisen kann das Problem minimiert werden, dass automatische Ver- drahtungsalgorithmen aufgrund von Leitungskreuzungen an ihre Grenzen gelangen und im Endeffekt keine vollständige Verdrahtung durchführen können. According to an advantageous embodiment of the invention, the surface segments are arranged only in mutually parallel and orthogonal longitudinal directions. As a result, oblique connections are avoided. This allows for automatic wiring creation through higher efficiency wiring algorithms. Particularly in the case of highly complex integrated circuits, the problem can be minimized that automatic wiring algorithms reach their limits due to line crossings and in the end can not perform complete wiring.
Gemäß einer vorteilhaften Weiterbildung der Erfindung wird ein Globalverdrah- tungsschritt nur bedarfsweise und nicht in jedem Durchlauf des Iterationsver- fahrens durchgeführt. Der Globalverdrahtungsschritt bzw. die Globalverdrah- tungsschritte sind damit optional vorgesehen und werden nur ausgeführt, wenn sie erforderlich sind. According to an advantageous development of the invention, a global wiring step is carried out only as required and not in each run of the iteration method. The global wiring step or the global wiring steps are thus optional and only performed if necessary.
Gemäß einer vorteilhaften Weiterbildung der Erfindung wird als Timing-Analyse eine Statische Timing-Analyse durchgeführt, mit der der kritische Signalpfad ermittelt wird. Hierbei wird eine Breitensuche durch den Signalgraph der Schaltung durchgeführt. Dies erlaubt die Ermittlung des kritischen Signalpfads, welcher eine Maßzahl für die Anzahl und Platzierung einzufügender Repeater darstellt. Mittels einer Statischen Timing-Analyse ist eine Analyse des Zeitverhal- tens des integrierten Schaltkreises relativ schnell durchführbar, so dass sich dieses Verfahren besonders eignet, in dem Iterationsverfahren gemäß Anspruch 1 vielfach während der Platzierung der Bauelemente durchgeführt zu werden. Die Statische Timing-Analyse (STA) ist ein Standardverfahren, um Timing- Anforderungen von integrierten Schaltkreisen zu untersuchen. Bisher wurde die Statische Timing-Analyse nicht während der Platzierung ausgeführt. Prinzipiell ist die Integration in das Platzierungsverfahren möglich aufgrund der niedrigen Laufzeitkomplexität, welche 0(v + e) beträgt, mit der Anzahl Knoten v und Kanten e des Timing-Graphen. According to an advantageous embodiment of the invention, a static timing analysis is performed as a timing analysis, with which the critical signal path is determined. In this case, a width search is performed by the signal graph of the circuit. This allows the detection of the critical signal path, which is a measure of the number and placement repeaters to be inserted. By means of a static timing analysis, an analysis of the time behavior of the integrated circuit can be carried out relatively quickly, so that this method is particularly suitable for being carried out many times during the placement of the components in the iteration method according to claim 1. Static Timing Analysis (STA) is a standard technique for studying timing requirements of integrated circuits. So far, static timing analysis has not been performed during placement. In principle, the integration into the placement method is possible due to the low Runtime complexity, which is 0 (v + e), with the number of nodes v and edges e of the timing graph.
Die Timing-Informationen werden durch den Slack As repräsentiert. Er wird berechnet aus der Differenz der spätesten Signalankunftszeit auf dem Pfad (Latest Arrival Time, LAT) und der benötigten Signalankunftszeit (Required Ar- rival Time, RAT): As = RAT - LAT . Negativer Slack bedeutet, dass die Timing- Bedingungen verletzt sind. Mit anderen Worten ausgedrückt stellt der Slack eine gewisse Zeitreserve bei der Signalübermittlung dar. Das Einfügen von Re- peatern soll bewirken, dass durch geringere Verzögerungszeiten zwischen den Zellen der Slack steigt. Die Ausgabe der implementierten Statischen Timing- Analyse ist eine aufsteigend nach Slack sortierte Liste der einzelnen Timing- Pfade und wird hier verwendet, um Repeater an Timing-kritischen Stellen einzufügen. Der Pfad mit dem geringsten Slack wird als kritischer Pfad bezeich- net. The timing information is represented by the Slack As. It is calculated from the difference between the latest arrival time on the path (Latest Arrival Time, LAT) and the required arrival time (RAT): As = RAT - LAT. Negative Slack means that the timing conditions are violated. In other words, the slack provides a certain amount of time in the signal transmission. The insertion of repeaters should cause the slack to increase as a result of shorter delay times between the cells. The output of the implemented static timing analysis is an ascending Slack sorted list of individual timing paths and is used here to insert repeaters at timing critical locations. The path with the least slack is called the critical path.
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist als Platzierungsalgorithmus ein quadratisches kräftebasiertes Verfahren vorgesehen. Ein solches Verfahren erlaubt eine platzoptimierte und zeitverhaltensoptimierte Platzierung der Bauelemente auf der Schaltkreisfläche. According to an advantageous development of the invention, a square force-based method is provided as the placement algorithm. Such a method allows space-optimized and time-behavior-optimized placement of the components on the circuit surface.
Gemäß einer vorteilhaften Weiterbildung der Erfindung wird im Schritt c) ein Repeater nur eingefügt, wenn die Timing-Analyse einen Bedarf dafür ergibt. In einer vorteilhaften Weiterbildung der Erfindung wird die Gesamtzahl der eingefügten Repeater auf ein viertel der Anzahl aller Zellen des integrierten Schaltkreises begrenzt. Als Zellen kommen z. B. die Bauelemente der Schaltung in Frage. In einer vorteilhaften Weiterbildung der Erfindung werden jeweils eine Mehrzahl von Platzierungsschritten und/oder Timing-Analysen durchgeführt, bevor eine oder mehrere Repeater in die Schaltung eingefügt werden. So können beispielsweise Repeater erst nach ca. 70 Iterationen des Platzierungsschrittes eingefügt werden. Vorteilhaft wird ein Repeater eingefügt, wenn die Timing- Bedingungen der Statischen Timing-Analyse verletzt sind. Vorteilhaft werden für jede Timing-kritische Verbindung Repeater in einem vorgegebenen Abstand mehrfach eingefügt. According to an advantageous development of the invention, a repeater is inserted in step c) only if the timing analysis results in a need for it. In an advantageous embodiment of the invention, the total number of inserted repeaters is limited to one quarter of the number of all cells of the integrated circuit. As cells come z. B. the components of the circuit in question. In an advantageous development of the invention, in each case a plurality of placement steps and / or timing analyzes are carried out before one or more repeaters are inserted into the circuit. For example, repeaters can only be used after about 70 iterations of the placement step be inserted. Advantageously, a repeater is inserted when the timing conditions of the static timing analysis are violated. Advantageously, repeaters are repeatedly inserted at a predetermined distance for each timing-critical connection.
In einer vorteilhaften Weiterbildung der Erfindung verwendet der Platzierungsalgorithmus als Basisalgorithmus ein quadratisches kräftebasiertes Verfahren, welches im Wesentlichen der neuen Version des Platzierungswerkzeugs "Kraftwerk" entspricht (beschrieben in: P. Spindler and F. Johannes. Fast and accurate routing demand estimation for efficient routability-driven placement. In DATE '07: Proceedings of the Conference on Design, automation and test in Europe, Seiten 1226-1231 , San Jose, CA, USA, 2007. EDA Consortium). Das zu Grunde liegende Konzept und die Eigenschaften dieses Platzierungsverfahrens werden im Folgenden kurz vorgestellt. In an advantageous development of the invention, the placement algorithm uses a quadratic force-based method as a basic algorithm, which substantially corresponds to the new version of the placement tool "power plant" (described in: P. Spindler and F. Johannes, Fast and accurate routing demand estimation for efficient routability). DATE '07: Proceedings of the Conference on Design, Automation and Test in Europe, pp. 1226-1231, San Jose, CA, USA, 2007. EDA Consortium). The underlying concept and the characteristics of this placement procedure are briefly presented below.
Das Platzierungsverfahren basiert auf der inimierung der quadratischen euklidischen Distanz zwischen den zu platzierenden Zellen. Die Kostenfunktion rcos, beinhaltet die Summe aller Beiträge für jede Zweipunktverbindung zwischen zwei Zellen. Jeder dieser Beiträge kann einzeln gewichtet werden. Zum Beispiel führt die Verbindung zwischen den zwei Zellen i und y' mit den Koordinaten ( xj ,yj ) und ( Xj ,yj ) und der Gewichtung witJ zu den Kosten cu =wu Kx' - *j f + -yj f \- Die Kostenfunktion lässt sich wie folgt schreiben: rc0s, = pr - C - p + 2 - dT - p + rconsl The placement method is based on the minimization of the square Euclidean distance between the cells to be placed. The cost function r cos contains the sum of all contributions for each two-point connection between two cells. Each of these contributions can be weighted individually. For example, the connection between the two cells i and y ' with the coordinates (x j , y j ) and (Xj, yj) and the weight w ij leads to the cost cu = w u K x ' - * jf + - yj f \ - The cost function can be written as follows: r c0 s, = p r - C - p + 2 - d T - p + r consl
Die Platzierung wird beschrieben durch den Vektor p = (xi >...,x„,y] >...,y„)T , der die Koordinaten der n Zellen der Schaltung enthält. Die In x 2« Matrix C und der 2«-dimensionale Vektor d beinhalten die gewichteten Verbindungskosten zwischen beweglichen und nicht beweglichen Zellen. Der konstante Beitrag rcomi resultiert aus Verbindungen zwischen nicht beweglichen Zellen (Pad- Zellen). Die Minimierung der Kostenfunktion führt zu dem linearen Gleichungssystem C - p + d = 0. Die Lösung dieses Gleichungssystems wird interpretiert als Kräftegleichgewicht von Federkräften Fnet(p) = C -j? + c/ zwischen den Zellen. Die Gewichte der einzelnen Kosten entsprechen dann Federkonstanten. Placement is described by the vector p = (x i> ..., x ", y ]> ..., y") T , which contains the coordinates of the n cells of the circuit. The In x 2 «matrix C and the 2» -dimensional vector d contain the weighted connection costs between moving and non-moving cells. The constant contribution r comi results from connections between non-moving cells (pad cells). The minimization of the cost function leads to the linear system of equations C - p + d = 0. The solution of this system of equations is interpreted as a balance of forces of spring forces F net (p) = C -j? + c / between the cells. The weights of each cost then correspond to spring constants.
Der grundlegende Ansatz der kräftebasierten Platzierung ist die Einführung von zusätzlichen Kräften, welche eine Verteilung der Zellen auf der Layoutfläche bewirken. Das Optimierungsziel ist, die Überlappungen der Zellen zu minimieren. Die zusätzlichen abstoßenden Kräfte Fe werden aus einem virtuellen e- lektrischen Feld gewonnen, welches berechnet wird, indem virtuelle Flächenladungen in den Bereichen der Zellen aufgetragen werden. Nach dieser ursprünglichen Implementierung werden die Kräfte aufsummiert und iterativ neu berechnet, was zu folgender Gleichung führt:
Figure imgf000009_0001
The basic approach of force-based placement is the introduction of additional forces, which cause a distribution of cells on the layout surface. The optimization goal is to minimize the overlaps of the cells. The additional repulsive forces F e are obtained from a virtual electrical field which is calculated by plotting virtual surface charges in the regions of the cells. After this initial implementation, the forces are summed and iteratively recalculated, resulting in the following equation:
Figure imgf000009_0001
Das hier vorgeschlagene Verfahren verwendet den Ansatz der kräftebasierten Platzierung. Nach diesem werden die abstoßenden Kräfte Fe nicht direkt in dasThe method proposed here uses the power-based placement approach. After this, the repulsive forces F e are not directly into the
Gleichungssystem eingefügt. Stattdessen werden weitere Federkräfte Fm verwendet. So genannte Zielpunkte (oder Target Points) werden für jede Zelle berechnet und mit dieser verbunden. Es wird eine spezielle Federkonstante wm verwendet. Die Position der Zielpunkte wird bestimmt aus den abstoßenden Kräften Fe mit einem SkalierungsfaktorA: , so dass gilt: Pt aiget(p) = p + k - Fe(p) . System of equations inserted. Instead, further spring forces F m are used. So-called target points (or target points) are calculated and connected to each cell. A special spring constant w m is used. The position of the target points is determined from the repulsive forces F e with a scaling factor A:, so that: P t aiget (p) = p + k - F e (p).
Die Kräfte Fm berechnen sich zu The forces F m are calculated to
Fm = Cm - (p + pt alget) . Die Matrix Cm ist eine Diagonalmatrix und enthält den Eintrag wm auf der Hauptdiagonalen. Die Positionen der Zielpunkte pt argel werden iterativ aus den F m = C m - (p + p t alget ). The matrix C m is a diagonal matrix and contains the entry w m on the main diagonal. The positions of the target points p t argel are iterated from the
Zellpositionen berechnet. Der Vektor Fm wird für jede Iteration neu aus denCell positions calculated. The vector F m is rewritten for each iteration
Zielpunkten bestimmt und nur für die jeweils aktuelle Iteration angewendet. Damit die aus der Kraftgleichung neu gewonnenen Zellpositionen erhalten bleiben, werden so genannte Haltekräfte Fhold nach folgender Gleichung eingeführt:Target points determined and applied only for the current iteration. So that the cell positions newly obtained from the force equation are retained, so-called holding forces F hold are introduced according to the following equation:
old ( = ~het (P = -C - P ~ d Das Gleichungssystem zur Berechnung des Platzierungsvektors p erhält man aus dem Gleichgewicht der drei Kräfte Fhold + Fm + Fnet =5. Die Initiallösung ergibt sich aus dem ursprünglichen Gleichungssystem: old (= ~ het (P = -C - P ~ d The equation system for the calculation of the placement vector p is obtained from the equilibrium of the three forces F hold + F m + F net = 5. The initial solution results from the original equation system:
C -pW +d = 0 Die Vorschrift zur iterativen Bestimmung der neuen Platzierung lautet z > 0 :  C -pW + d = 0 The rule for the iterative determination of the new placement is z> 0:
( + C J. (p<'+1> - )+ Cm Pl aigel 0>w ) = Ö mit (+ C J. (p <' +1 > -) + C m P eligel 0> w ) = Ö with
Pi arget(P{i)) = Pi + k - Fe(P{i) P ia r get (P {i) ) = P i + k - F e (P {i)
Diese neue Implementierung der quadratischen kräftebasierten Platzierung zeigt ein günstigeres Konvergenzverhalten. Darüber hinaus ermöglicht die An- wendung von Haltekräften ein konsistentes Einfügen von zusätzlichen Zellen in die aktuelle Platzierung. Verbindungen zwischen Zellen können während der iterativen Berechnung beliebig verändert werden, ohne dass sich die Platzierung abrupt ändert. Die grundsätzlichen Eigenschaften der kräftebasierten Platzierung (gewichtete Netzkräfte und abstoßende Kräfte) bleiben dabei erhalten. Damit ist dieses Platzierungsverfahren bestens geeignet, Repeaterstufen im Laufe der Platzierung einzufügen beziehungsweise zu entfernen. Um die Verzögerungszeit auf den Leitungen abzuschätzen, kann z. B. ein einfaches Leitungsmodell (Wire-Load-Modell) mit Widerstandbelag R'w und Kapazitätsbelag w verwendet werden. Die Verzögerungszeit der Leitungen wird im verwendeten Ansatz mit dem Elmore-Delay abgeschätzt. Diese einfache Abschätzung wird verwendet, weil die Verdrahtung während der Platzierung noch nicht festgelegt ist. Für das vorgeschlagene Verfahren zum Einfügen von Repeatern können auch andere, beliebige Berechnungsmethoden und Modelle für die Abschätzung der Verzögerungszeit auf den Leitungen verwendet werden. Die Erfindung betrifft ferner einen Datenträger mit einem Computerprogramm, das zur Ausführung eines Verfahrens der zuvor beschriebenen Art eingerichtet ist. Der Datenträger kann ein üblicher im Handel erhältlicher Datenträger sein, wie z. B. eine Diskette, eine CD oder DVD oder ein Speicherstick. Der Datenträger kann auch ein an ein Netzwerk, z. B. das Internet, angeschlossener Computer oder ein unvernetzter Computer sein. This new implementation of quadratic force-based placement shows a more favorable convergence behavior. In addition, the use of holding forces allows for consistent insertion of extra cells into the current placement. Connections between cells can be arbitrarily changed during the iterative calculation, without the placement changing abruptly. The basic characteristics of the force-based Placement (weighted mesh forces and repulsive forces) are retained. Thus, this placement method is best suited to insert or remove repeater stages in the course of placement. To estimate the delay time on the lines, z. B. a simple wiring model (wire-load model) with resistance pad R ' w and capacitance pad w are used. The delay time of the lines is estimated in the approach used with the Elmore delay. This simple estimation is used because the wiring is not yet determined during the placement. For the proposed method of inserting repeaters, other arbitrary calculation methods and models for estimating the delay time on the lines can also be used. The invention further relates to a data carrier with a computer program that is set up to carry out a method of the type described above. The disk may be a conventional commercially available media such. As a floppy disk, a CD or DVD or a memory stick. The disk can also be connected to a network, such. As the Internet, connected computer or a non-networked computer.
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Verwendung von Zeichnungen näher erläutert. Es zeigen: The invention will be explained in more detail by means of embodiments using drawings. Show it:
Figur 1 Die Platzierung von Bauelementen auf einer Schaltkreisfläche in schematischer Darstellung; und Figure 1 The placement of components on a circuit surface in a schematic representation; and
Figur 2 ein Verfahren zum Einfügen von Repeatern in einem integrierten Figure 2 shows a method for inserting repeaters in an integrated
Schaltkreis.  Circuit.
Gemäß Figur 1 sind auf einer Schaltkreisfläche 8 Bauelemente 1 , 2, 3 ange- ordnet. Die Bauelemente 1 , 2, 3 sind mittels eines Platzierungsalgorithmus positioniert worden. Als Bauelemente 1 , 2, 3 können übliche elektronische Bauelemente vorgesehen sein, wie z. B. Kondensatoren, Widerstände, Transistoren oder auch Standardzellen, Logikgatter etc. According to FIG. 1, components 1, 2, 3 are mounted on a circuit surface 8. assigns. The components 1, 2, 3 have been positioned by means of a placement algorithm. As components 1, 2, 3 conventional electronic components may be provided, such. As capacitors, resistors, transistors or standard cells, logic gates, etc.
Zwischen den Bauelementen 2, 3 ist ein Repeater 4 vorgesehen. Zur Erstellung elektrischer Verbindungen zwischen den Bauelementen 1 , 2, 3 und dem Repeater 4 wurden im Laufe des Verfahrens des Entwurfs des integrierten Schaltkreises zunächst Flächensegmente 5, 6 im Rahmen einer Globalverdrahtung vorgesehen. Diese Flächensegmente 5, 6 stellen Reservierungsflächen für zum Abschluss der Erstellung des integrierten Schaltkreises vorzusehende elektrische Verbindungen 9 zwischen den Bauelementen 1 , 2, 3 und dem Repeater 4 dar. Wie erkennbar ist, werden die Flächensegmente 5, 6 als horizontal verlaufende Flächensegmente 5 und als vertikal verlaufende Flächensegmente 6 rea- lisiert, so dass die Flächensegmente in Längsrichtung immer zueinander parallel oder orthogonal sind. Die zwischen den Bauelementen 1 , 2 dargestellte gestrichelte Linie zeigt zum Vergleich schematisch eine bei konventionellem Schaltkreisentwurf erstellte elektrische Verbindung, die in einem Winkel als direkte Verbindungslinie zwischen den Bauelementen 1 , 2 vorgesehen ist. Between the components 2, 3, a repeater 4 is provided. In order to establish electrical connections between the components 1, 2, 3 and the repeater 4, surface segments 5, 6 were initially provided in the course of the method of designing the integrated circuit in the context of a global wiring. These surface segments 5, 6 represent reservation surfaces for the completion of the creation of the integrated circuit electrical connections 9 between the components 1, 2, 3 and the repeater 4. As can be seen, the surface segments 5, 6 as horizontally extending surface segments 5 and vertically extending surface segments 6 realized so that the surface segments are always parallel to each other or orthogonal in the longitudinal direction. The dashed line shown between the components 1, 2 shows for comparison schematically an electrical connection made in conventional circuit design, which is provided at an angle as a direct connecting line between the components 1, 2.
Gemäß Figur 2 weist ein Verfahren zum Einfügen von Repeatern in einem integrierten Schaltkreis zunächst einen Schritt 20 der Initialplatzierung auf. Hierbei wird zunächst eine irgendwie geartete Platzierung der Bauelemente vorgesehen, z. B. nach ihrer Nummerierung im Schaltplan. Sodann folgt als erster Schritt eines Iterationsverfahrens ein Abfrageschritt 30, in dem geprüft wird, ob die Ausführung eines optionalen Globalverdrahtungsschritts erforderlich ist. Hierdurch kann der Globalverdrahtungsschritt lediglich bedarfsweise ausgeführt werden und muss nicht in jedem Durchlauf des Iterationsverfahrens ausgeführt werden. Sofern ein Globalverdrahtungsschritt nicht erforderlich ist, wird von dem Abfrageschritt 30 direkt zu einem Schritt 23 verzweigt. Die Schritte 21 , 22 werden dabei übersprungen. Sofern ein Globalverdrahtungsschritt erforderlich ist, wird nach dem Abfrageschritt 30 ein Schritt 21 ausgeführt, in dem eine Verdrahtungstopologie festgelegt wird. Hierauf folgt ein Schritt 22, in dem ein Verdrahtungsmodell aktualisiert wird. Die Schritte 21 , 22 sind Teile eines Globalverdrahtungsschritts. Hierbei werden die Flächensegmente 5, 6, wie in Figur 1 dargestellt, platziert. Hiernach erfolgt in einem Schritt 23 eine neue Platzierung der Bauelemente 1 , 2, 3 gemäß einem oder mehreren Platzierungsschritten des als Platzierungsalgorithmus verwendeten quadratischen kräftebasierten Verfahrens und eine Bestimmung des prinzipiellen Verdrahtungsverlaufs. In einem darauf folgenden Schritt 24 wird eine Timing-Analyse des integrierten Schaltkreises gemäß der zu diesem Zeitpunkt erfolgten Platzierung der Bauelemente und der Globalverdrahtung durchgeführt. In einem Schritt 25 wird die Timing-Analyse dahingehend ausgewertet, dass geprüft wird, ob ein Repeater 4 oder ggf. eine Mehrzahl von Repeatern erforderlich ist. Sofern Repeater erforderlich sind, wird di- rekt zu einem Schritt 26 verzweigt, in dem entsprechende Repeaterstufen eingefügt werden. Andernfalls wird der Schritt 26 übersprungen und mit einem Schritt 27 fortgefahren. According to FIG. 2, a method for inserting repeaters in an integrated circuit initially comprises a step 20 of the initial placement. Here, initially, any kind of placement of the components is provided, for. For example, according to their numbering in the circuit diagram. Then, as the first step of an iteration process, a query step 30 follows, in which it is checked whether the execution of an optional global wiring step is required. This allows the global wiring step to be performed only as needed and does not need to be performed every iteration of the iteration process. If a global wiring step is not required, the query step 30 branches directly to a step 23. The steps 21, 22 are skipped. If a global wiring step is required, after the polling step 30, a step 21 is executed in which a wiring topology is set. This is followed by a step 22 in which a wiring model is updated. Steps 21, 22 are parts of a global wiring step. Here, the surface segments 5, 6, as shown in Figure 1, placed. Thereafter, in a step 23, a new placement of the components 1, 2, 3 according to one or more placement steps of the square force-based method used as a placement algorithm and a determination of the basic wiring course. In a subsequent step 24, a timing analysis of the integrated circuit is performed in accordance with the device placement and the global wiring at that time. In a step 25, the timing analysis is evaluated so that it is checked whether a repeater 4 or possibly a plurality of repeaters is required. If repeaters are required, a branch is made directly to a step 26 in which corresponding repeater stages are inserted. Otherwise, the step 26 is skipped and proceeded to a step 27.
Im Schritt 27 wird geprüft, ob die Schritte 21 bis 26 wiederholt werden sollen oder die Schleife abgebrochen werden kann. Sofern im Schritt 27 festgestellt wird, dass der Schaltplan noch nicht vollständig umgesetzt ist, wird zurückverzweigt zum Schritt 21. Andernfalls wird mit einem Schritt 28 fortgefahren, in dem eine Detailplatzierung der Bauelemente 1 , 2, 3 und der Repeater 4 durchgeführt wird. Schließlich wird in einem nachfolgenden Schritt 29 eine Detailver- drahtung durchgeführt. Hierbei werden elektrische Verbindungen zwischen den Bauelementen 1 , 2, 3 und/oder den Repeatern innerhalb der in den Schritten 21 und 22 reservierten Flächensegmente angeordnet. In step 27 it is checked whether steps 21 to 26 should be repeated or the loop can be aborted. If it is determined in step 27 that the circuit diagram has not yet been fully implemented, the method branches back to step 21. Otherwise, a step 28 is continued, in which a detailed placement of the components 1, 2, 3 and the repeater 4 is performed. Finally, detailed wiring is performed in a subsequent step 29. In this case, electrical connections between the components 1, 2, 3 and / or the repeaters are arranged within the area segments reserved in steps 21 and 22.
Als Ergebnis liefert das Verfahren eine Netzliste, die direkt in einen Herstel- lungsautomaten für integrierte Schaltkreise eingespeist werden kann. Vorteilhaft enthält die Netzliste zusätzlich zu den Bauelementen, d. h. den logischen Gattern der Schaltung, die eingefügten Repeaterzellen. Im Ergebnis wird eine Netzliste für einen integrierten Schaltkreis erzeugt, die vorgegebenen Timi Anforderungen genügt. As a result, the method provides a netlist that can be fed directly into an integrated circuit fabricator. Advantageously, the netlist contains, in addition to the components, ie the logic gates of the circuit, the inserted repeater cells. As a result, a Generated network list for an integrated circuit that meets predetermined Timi requirements.

Claims

Patentansprüche: claims:
1. Verfahren zum Einfügen von Repeatern in einem integrierten Schaltkreis, bei dem entsprechend einem vorgegebenen Schaltplan Bauelemente (1 , 2, 3) mit einem Platzierungsalgorithmus auf einer Schaltkreisfläche (8) platziert werden, wobei der Platzierungsalgorithmus eine Mehrzahl von Platzierungsschritten (23) beinhaltet, dadurch gekennzeichnet, dass durch mehrfache Wiederholung wenigstens der folgenden Schritte die Bauelemente (1 , 2, 3) platziert werden, wobei die folgenden Schritte in der angegebenen Reihenfolge ausgeführt werden, bis der vorgegebene Schaltplan umgesetzt ist: a) Ausführen von wenigstens einem Platzierungsschritt (23) oder einer Teilmenge der Gesamtzahl der Platzierungsschritte (23), A method of inserting repeaters in an integrated circuit, wherein according to a predetermined circuit diagram, devices (1, 2, 3) are placed on a circuit surface (8) with a placement algorithm, the placement algorithm including a plurality of placement steps (23), characterized in that by repeatedly repeating at least the following steps the components (1, 2, 3) are placed, the following steps being carried out in the stated order until the given circuit diagram has been implemented: a) carrying out at least one placement step (23 ) or a subset of the total number of placement steps (23),
b) Ausführen einer Timing-Analyse (24) für die aktuelle Platzierung der Bauelemente (1 , 2, 3),  b) carrying out a timing analysis (24) for the current placement of the components (1, 2, 3),
c) Einfügen von einem oder mehreren Repeatern (4) in die Schaltung in Abhängigkeit vom Ergebnis der Timing-Analyse (24).  c) inserting one or more repeaters (4) into the circuit in dependence on the result of the timing analysis (24).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass im Verlaufe der Ausführung der Schritte a) bis c) eine Globalverdrahtung der Bauelemente (1 , 2, 3) durchgeführt wird, wobei die Globalverdrahtung eine Mehrzahl von Globalverdrahtungsschritten (21 , 22) beinhaltet und vor ' dem Schritt a) wenigstens ein Globalverdrahtungsschritt (21 , 22) ausgeführt werden kann. 2. The method according to claim 1, characterized in that in the course of the execution of steps a) to c) a global wiring of the components (1, 2, 3) is performed, wherein the global wiring includes a plurality of Globalververnungsschritten (21, 22) and before the step a) at least one global wiring step (21, 22) can be performed.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass während der Globalverdrahtung lediglich Flächensegmente (5, 6) der Schaltkreisfläche (8) reserviert werden, die für die Verdrahtung der Bauelemente (1 , 2, 3) und der Repeater (4) vorgesehen sind, und nach Durchführung des Iterationsverfahrens gemäß Anspruch 1 eine Detailverdrahtung der Bauelemente (1 , 2, 3) und der Repeater (4) durchgeführt wird, bei der elektrische Verbindungen (9) zwischen den Bauelementen und/oder Repeatern innerhalb der reservierten Flächensegmente (5, 6) angeordnet werden. 3. The method according to claim 2, characterized in that during the global wiring only surface segments (5, 6) of the circuit surface (8) are reserved, which for the wiring of the components (1, 2, 3) and the repeater (4) are provided, and after performing the iteration method according to claim 1, a detailed wiring of the components (1, 2, 3) and the repeaters (4) is performed, in the electrical connections (9) between the components and / or Repeaters within the reserved surface segments (5, 6) are arranged.
Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Flächensegmente (5, 6) nur in zueinander parallelen und orthogonalen Längsrichtungen angeordnet werden. A method according to claim 3, characterized in that the surface segments (5, 6) are arranged only in mutually parallel and orthogonal longitudinal directions.
Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass ein Globalverdrahtungsschritt (21 , 22) in dem Iterationsverfahren gemäß Anspruch 1 nur bedarfsweise und nicht in jedem Durchlauf durchgeführt wird. Method according to one of claims 2 to 4, characterized in that a global wiring step (21, 22) is performed in the iteration method according to claim 1 only as needed and not in each run.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als Timing-Analyse eine Statische Timing-Analyse (STA) durchgeführt wird, mit der der kritische Signalpfad ermittelt wird. Method according to one of the preceding claims, characterized in that as a timing analysis, a static timing analysis (STA) is performed, with which the critical signal path is determined.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als Platzierungsalgorithmus ein quadratisches kräftebasiertes Verfahren vorgesehen ist. Method according to one of the preceding claims, characterized in that a square force-based method is provided as the placement algorithm.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt c) ein Repeater (4) nur eingefügt wird, wenn die Timing-Analyse (23) einen Bedarf dafür ergibt. Method according to one of the preceding claims, characterized in that in step c) a repeater (4) is inserted only if the timing analysis (23) results in a need for it.
Datenträger mit einem Computerprogramm, das zur Ausführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist. Data carrier with a computer program, which is set up to carry out a method according to one of the preceding claims.
PCT/EP2011/002124 2010-04-30 2011-04-28 Method for inserting repeaters into an integrated circuit WO2011134657A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102010019115.9 2010-04-30
DE102010019115A DE102010019115A1 (en) 2010-04-30 2010-04-30 Method of inserting repeaters in an integrated circuit

Publications (1)

Publication Number Publication Date
WO2011134657A1 true WO2011134657A1 (en) 2011-11-03

Family

ID=44342995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/002124 WO2011134657A1 (en) 2010-04-30 2011-04-28 Method for inserting repeaters into an integrated circuit

Country Status (2)

Country Link
DE (1) DE102010019115A1 (en)
WO (1) WO2011134657A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367051B1 (en) * 1998-06-12 2002-04-02 Monterey Design Systems, Inc. System and method for concurrent buffer insertion and placement of logic gates
US6662349B2 (en) 2002-02-27 2003-12-09 Lsi Logic Corporation Method of repeater insertion for hierarchical integrated circuit design
US20030229878A1 (en) 2002-06-05 2003-12-11 Nuber Paul Douglas Process and system for repeater insertion in an IC design

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10163330A (en) * 1996-12-03 1998-06-19 Nec Corp Apparatus and method for optimizing delay in taking layout in consideration
US7251800B2 (en) * 2003-05-30 2007-07-31 Synplicity, Inc. Method and apparatus for automated circuit design

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367051B1 (en) * 1998-06-12 2002-04-02 Monterey Design Systems, Inc. System and method for concurrent buffer insertion and placement of logic gates
US6662349B2 (en) 2002-02-27 2003-12-09 Lsi Logic Corporation Method of repeater insertion for hierarchical integrated circuit design
US20030229878A1 (en) 2002-06-05 2003-12-11 Nuber Paul Douglas Process and system for repeater insertion in an IC design

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KOJIMA N ET AL: "Repeater insertion method and its application to a 300 MHz 128-bit 2-way superscalar microprocessor", DESIGN AUTOMATION CONFERENCE, 2000. PROCEEDINGS OF THE ASP-DAC 2000. A SIA AND SOUTH PACIFIC YOKOHAMA, JAPAN 25-28 JAN. 2000, PISCATAWAY, NJ, USA,IEEE, US, 9 June 2000 (2000-06-09), pages 641 - 646, XP031820133, ISBN: 978-0-7803-5973-4 *
LIJUAN LUO ET AL: "A Novel Technique Integrating Buffer Insertion into Timing Driven Placement", 2006 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS 21-24 MAY 2006 ISLAND OF KOS, GREECE, IEEE - PISCATAWAY, NJ, USA, 21 May 2006 (2006-05-21), pages 5599 - 5602, XP010940022, ISBN: 978-0-7803-9389-9, DOI: 10.1109/ISCAS.2006.1693904 *
OLE OHLENDORF ET AL: "Global Routing for Force Directed Placement", SIGNAL PROPAGATION ON INTERCONNECTS, 2006. IEEE WORKSHOP ON, IEEE, PI, 1 May 2006 (2006-05-01), pages 25 - 28, XP031012677, ISBN: 978-1-4244-0454-4 *

Also Published As

Publication number Publication date
DE102010019115A1 (en) 2011-11-03

Similar Documents

Publication Publication Date Title
DE69724245T2 (en) METHOD FOR PLACING CLOCK BUFFERS IN A CLOCK DISTRIBUTION SYSTEM
DE69722425T2 (en) METHOD AND DEVICE FOR ROUTING NETWORKS IN AN ELECTRONIC DEVICE
DE102019116997B4 (en) TAP CELLS, METHOD OF DESIGN THEREOF AND CIRCUIT DESIGN SYSTEM
DE69532307T2 (en) Expression propagation for hierarchical net lists
DE112015002183T5 (en) Computer-implemented system and method for translating verification commands of an electronic design
DE19702600A1 (en) Electrical analysis of integrated circuits
DE112020006021T5 (en) METHOD AND DEVICE BASED ON MACHINE LEARNING FOR CALCULATION AND VERIFICATION OF DELAYS IN DESIGN OF INTEGRATED CIRCUITS
DE102014118932A1 (en) Characterization of a cell using input wave generation considering different circuit topologies
DE102004036813A1 (en) Method for generating a circuit model
DE10226947A1 (en) Simulating electronic circuit with number of gates involves transforming leakage parameters extracted for test frequencies per gate into time domain representation of electronic circuit
DE102015102034A1 (en) A method of analyzing results in a design automation workflow for electronic systems, computer system and computer program product
DE102015221479A1 (en) POLYMORPHES CIRCUIT SIMULATION SYSTEM
DE102022106423A1 (en) Method for sharing simulation models between a processor and an FPGA
WO2011134657A1 (en) Method for inserting repeaters into an integrated circuit
DE102012016610A1 (en) Real-time circuitry simulation device for use as parallel digital logic to simulate e.g. power electronic circuit in hybrid car, has partial module defined by model, and correction matrix including values stored before simulation beginning
DE112013005831T5 (en) Netlist abstraction
EP0909421A1 (en) Computer-assisted process for determining a system consistency function
DE102004020869A1 (en) System and method for determining a signal name at the highest level in a hierarchical VLSI design
DE10355141A1 (en) System and method for estimating power consumption for at least a portion of an integrated circuit
EP0938716B1 (en) Computer assisted method of partitioning an electrical circuit
DE112017001063T5 (en) Create and reuse customizable structured links
EP1008075A1 (en) Computer assisted method for partitioning an electric circuit
DE102009054567A1 (en) Method and apparatus for designing a SEE-tolerant circuit
DE10343346B4 (en) Method for testing an electrical circuit and device for carrying out the method
DE102019107817A1 (en) Method for simulating a dynamic system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11717501

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 11717501

Country of ref document: EP

Kind code of ref document: A1