WO2004064477A2 - Taktbaumstruktur mit verschobenen taktsignalankunftszeiten zur reduktion von stromspitzen - Google Patents

Taktbaumstruktur mit verschobenen taktsignalankunftszeiten zur reduktion von stromspitzen Download PDF

Info

Publication number
WO2004064477A2
WO2004064477A2 PCT/DE2004/000057 DE2004000057W WO2004064477A2 WO 2004064477 A2 WO2004064477 A2 WO 2004064477A2 DE 2004000057 W DE2004000057 W DE 2004000057W WO 2004064477 A2 WO2004064477 A2 WO 2004064477A2
Authority
WO
WIPO (PCT)
Prior art keywords
switching elements
switching
synchronous
clock
requirements
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.)
Ceased
Application number
PCT/DE2004/000057
Other languages
English (en)
French (fr)
Other versions
WO2004064477A3 (de
Inventor
Heinz Endres
Thomas Zettler
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.)
Infineon Technologies 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
Publication of WO2004064477A2 publication Critical patent/WO2004064477A2/de
Publication of WO2004064477A3 publication Critical patent/WO2004064477A3/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Definitions

  • the present invention relates to a method for creating an integrated semiconductor circuit with a clock tree structure, computer program product for generating a clock tree structure in an integrated semiconductor circuit, and a layout device.
  • the metal supply lines are designed for the power requirement. This results from the sum of the recharge current peaks. The necessary widening of the lines leads to additional space consumption on the chip and thus to increased costs in the production of the same. An increased number of supply pads and bond connections is also required, which leads to a further increase in costs.
  • the voltage regulators of the integrated semiconductor circuit are correspondingly oversized. This is the only way to guarantee a stable supply during a maximum current peak.
  • the object of the present invention is to avoid the above-mentioned expenses in the case of synchronously clocked semiconductor circuits and to provide a method with which these expenses can be kept as low as possible when designing a circuit.
  • the idea on which the invention is based is to identify switching elements with a supplied clock line, in which a shift in the running time of the clock signals in the clock line by a few fractions of the clock period does not impair the functional reliability. Of course, this is only possible if afterwards switching requirements on the switching element are still fulfilled or are restored.
  • the clock signal arrival time is shifted. If the changeover times are shifted towards one another in a large number of switching elements, the peak currents are reduced and the profile of the total current is smoothed. The maximum current peak is lower than in the original synchronous switching mechanism.
  • a synchronous switching element is selected in which the switching element-specific setup is larger than is required in the switching mechanism; this is referred to below as an uncritical switchover requirement.
  • the running time of a feeding cycle line device to the selected switching element is increased.
  • the selected switching element is entered in a list of changed switching elements or is identified in some other way as a changed switching element.
  • the influence of the change on the switching requirements of all synchronous switching elements in the switching mechanism is calculated. It is checked whether the change in the runtime has led to a violation of the switchover requirements. In the event of a changeover requirement being violated, the change made is withdrawn.
  • the runtime can be increased by a smaller or greater value than in the previous step and the procedure can be repeated.
  • a change in the clock signal arrival times at all synchronous switching elements with non-critical switching requirements is advantageous. As a result, a wide distribution of the clock signal arrival times can be achieved, as a result of which the recharging current peaks of the switching elements are distributed over time.
  • the clock signal arrival times of synchronous switching elements with non-critical switching requirements are shifted by first increasing the running time of a clock line to a selected synchronous switching element.
  • the chosen one synchronous switching element is entered in a list of changed switching elements or is identified in any other way as a changed switching element.
  • the influence of the change on the switchover requirements of all switching elements is calculated.
  • Switching elements whose switching requirements have most likely been changed due to their dependency in the signal path are also entered in the list of changed switching elements or identified as such.
  • the procedure described is repeated for all synchronous switching elements with non-critical switching requirements that are not entered in the list of changed switching elements at the respective time or are identified as such.
  • Fig. 2a is a schematic representation of current profiles of flip-flops connected in parallel according to Fig.l and
  • Fig. 2b is a schematic representation of current profiles of flip-flops connected in parallel according to Fig.l and
  • FIG. 5 shows a flowchart with method steps for shifting the clock signal arrival times in the case of synchronous switching elements with non-critical switching requirements according to a further preferred embodiment of the present invention
  • FIG. 6 shows a flowchart with method steps for shifting the clock signal arrival time of a not yet changed synchronous switching element according to a preferred embodiment of the present invention
  • FIG. 7 shows simulation results of the total current in a semiconductor circuit whose clock tree structure is created in accordance with an embodiment of the present invention.
  • Each flip-flop FF1, FF2, FF3 has a signal input SE, a signal output SO, a voltage supply input SVE and a clock input TE. A ground connection has not been shown.
  • the signal inputs SE of the flip-flops FF1, FF2, FF3 are connected to a feed line ZL, while the voltage supply inputs SVE are connected to a common voltage supply SV.
  • the flip-flops FFl, FF2, FF3 data signals d ⁇ supplied.
  • the data signals d ⁇ are transmitted at a frequency which is determined by a period Tcjj ⁇ .
  • a signal processing of the data signals d ⁇ in the flip-flops FF1, FF2, FF3 is controlled via clock signals clkl, clk2, clk3, which are fed to the flip-flops FF1, FF2, FF3 at their clock inputs TE.
  • the clock signals clkl, clk2, clk3 are periodic, for example with a period T ⁇ or a multiple thereof.
  • the current profile I flows at the voltage supply input SVE of one of the flip-flops FF1, FF2, FF3 when the clock signal clkl, clk2, clk3 at the clock input TE of the flip-flop FF1, FF2, FF3 switches an output signal at the respective signal output SO.
  • the clock signals clkl, clk2, clk3 are exactly the same in phase and frequency, so that all flip-flops FF1, FF2, FF3 switch simultaneously.
  • the clock signals clkl, clk2, clk3 can differ in frequency or in phase.
  • the different clock signals clkl, clk2, clk3 at the clock inputs TE have the same frequency and a small phase shift in relation to the clock period, that is to say that the clock signals clkl, clk2, clk3 are slightly offset in time from one another by different clock inputs TE from different flip-flops FF1, Reach FF2, FF3 is called a quasi-synchronous semiconductor circuit.
  • FIG. 2a and 2b each show with their first three curves current profiles I at voltage supply inputs SVE of three flip-flops FF1, FF2, FF3 in a semiconductor circuit according to FIG. 1.
  • the curves shown in detail show the current profile I, that is plotted over a time axis T in the abscissa.
  • a current profile I at a voltage supply input SVE of a flip-flop FF1, FF2, FF3 has transient current peaks when a signal output SO of the flip-flop FFl, FF2, FF3 changes the output potential.
  • a charge current transshipment occurs only when changing from a low to high potential, for example.
  • the substantially flat plateau of the current profile I following the charge-reversal current corresponds in its height to a current which is necessary for the transfer of logic stages which are connected in the signal path behind the flip-flop FF1, FF2, FF3.
  • the charge current peak occurs when the flip-flop FF1, FF2, FF3 is switched.
  • a changed signal at the signal output SO continues sequentially through the following logic stages and thus sequentially generates recharge currents at the individual logic stages.
  • the current peaks of the total current I ⁇ are proportional to the number of flip-flops FFl, FF2, FF3 and proportional to the level of the charge-reversal current peaks of these flip-flops FFl, FF2, FF3.
  • a common voltage supply SV of the flip-flops FF1, FF2, FF3 must be designed in such a way that a maximum current peak of the total current Ig can flow.
  • the current profiles I shown in FIG. 2b differ from those shown in FIG. 2a in that the flip-flops FF1, FF2, FF3 are clocked quasi-synchronously.
  • Clock signals clkl, clk2, clk3 at clock inputs TE of the flip-flops FF1, FF2, FF3 have time-of-flight differences' which are smaller than the period T ⁇ .
  • the runtime differences cause a clock shift, which leads to a profile of the total current I ⁇ being smoothed and distributed over a wider period. As a result, the total current I ⁇ has no pronounced current peaks.
  • the common voltage supply SV of the flip-flops FF1, FF2, FF3 can thus be designed for a lower maximum current requirement than in the case of FIG. 2a.
  • FIG. 3 shows a flow diagram with method steps for designing a semiconductor integrated circuit.
  • input data are provided.
  • the input data comprise a switching element list in the sense of a library with switching elements that are used in switching mechanisms of the integrated semiconductor circuit.
  • Switching elements can be individual switching elements such as gates, flip-flops, etc. or groups of individual switching elements.
  • the switching element list can also contain various (gate level) network lists that result from a first synthesis step.
  • the (gate level) network lists describe the specific semiconductor circuit or signal connections of all of their individual switching elements to one another. Process steps for such a first synthesis step are known to the person skilled in the art.
  • the input data also contain boundary conditions (so-called high level constraints) regarding runtime specifications for complex units consisting of several switching elements. These include the clock frequency and requirements for send and arrival times of input and output signals at the circuit edge.
  • switching times and layout information of the switching elements used can be contained in a switching element library.
  • the input data usually also include a library of wiring between the individual
  • Switching elements including associated wiring parameters, such as capacitance or resistance layers of the signal connections.
  • a floor plan of the integrated semiconductor circuit is created and the switching elements are placed within the integrated semiconductor circuit.
  • the switching elements are placed on the signal connections according to wiring and runtime criteria. Usually these are
  • a clock tree structure is synthesized.
  • a conventional synthesis of the clock tree structure is carried out and a clock feed with its clock signal arrival times is balanced until setup criteria are met.
  • the holding conditions are restored, which slows down signal paths that are too fast by inserting delay elements until the holding conditions are met. If necessary, a subsequent check of the setup criteria and, if the setup criteria are violated, a repetition of the third procedural step is necessary.
  • the design of the semiconductor integrated circuit is free from violations of the switching requirements.
  • the clock signal arrival times on the switching elements were set as simultaneously as possible due to the desired synchronicity.
  • runtime differences in modern technologies with structure widths of 0.18 ⁇ rn are in the order of 200-400 ps.
  • Up to 95% of the synchronous switching elements have runtime reserves (slacks) within the switching requirements that are greater than 1 ns.
  • the clock tree structure disregarding special boundary conditions, only in accordance with an area provided in the circuit layout of the integrated semiconductor circuit for construction of the clock tree structure.
  • a clock tree structure is generated which has violations of the switchover requirements.
  • a better distribution of clock signal arrival times is achieved as a starting position for the following process steps.
  • all those synchronous switching elements are identified whose runtime reserve (Slack) is greater than a predetermined threshold value if the switchover requirements are met.
  • Such synchronous switching elements are called synchronous switching elements designated with uncritical switching requirements.
  • the threshold value is ideally determined from the typical width of current peaks and has values of approximately 0.05 ns to 10 ns, for example.
  • the clock signal arrival times are shifted statistically in the following on clock lines to switching elements with uncritical switching requirements by a respective shift duration.
  • Statistics for the respective shift periods are selected such that the clock signal arrival times of the clock signals at synchronous switching elements with non-critical switching requirements are scattered over several nanoseconds, and the current consumption profile is largely smoothed out. Runtime-critical signal paths remain unchanged.
  • the distribution of the shifted clock signal arrival times is preferably a uniform distribution in a time interval which lies between the value 0 and a maximum permitted global shift duration S max .
  • the global shift duration S max corresponds to a maximum value which is determined from the shift periods of the switching elements, by which the respective clock signal arrival times of the switching elements can be shifted, so that the switchover conditions are just still met. For its part, it is limited by the length of the clock period in the semiconductor integrated circuit.
  • Distribution functions can also be selected that have a maximum within the time interval, such as a Poisson distribution, a Gaussian distribution, etc.
  • Another preferred distribution function is defined by the fact that for each synchronous switching element with non-critical switching requirements, a maximum permissible one local shift builder is used. This means that the clock signal arrival times are shifted so far that the switchover conditions are just met. If, in accordance with the alternative third method step, the clock tree structure without special boundary conditions was only built up according to the area provided in the circuit layout of the integrated semiconductor circuit, the respective clock signal arrival times on the synchronous switching elements are shifted in such a way that the respective setup criteria on the switching elements are met.
  • the synchronous switching elements are weighted with the number of individual switching elements contained.
  • the weighting can be represented by a measurement number M.
  • An increase in the number M within the method corresponds to an optimization of the current distribution, while a decrease corresponds to a deterioration.
  • FIG. 4 shows partial steps of the fourth method step according to FIG. 3 for shifting a clock signal arrival time in the case of synchronous switching elements with non-critical switching requirements.
  • the clock signal arrival time of a synchronous switching element that has not been changed by this method step is changed.
  • the synchronous switching element itself is then entered in a list with changed switching elements.
  • the switchover requirements for the synchronous switching elements contained in the integrated semiconductor circuit are recalculated.
  • the switching requirements of those synchronous switching elements that have already been influenced are recalculated. These are, in particular, those switching elements that lie on successor paths or process paths of the changed switching element.
  • This sub-step is followed by a check for a termination criterion. If a target range for the intervals between clock signal arrival times of different switching elements has been reached, the method is ended.
  • the target area can be determined beforehand, for example, by a maximum permissible number of switching elements that switch within a time interval.
  • the method is also ended if no further shifts in clock signal arrival times are permitted. If both termination criteria are not met, a further synchronous switching element with non-critical switching requirements is selected, which is not entered in the list of changed switching elements, in order to carry out the substeps of the method shown again.
  • the method steps are repeated for the synchronous switching elements with non-critical switching requirements that are not entered in the list of changed synchronous switching elements.
  • all synchronous switching elements are run through, all those synchronous switching elements whose direct neighbors have already been taken into account in previous method steps can be skipped.
  • the method is set up again with any other synchronous switching element that differs from any synchronous switching element.
  • Both the method shown in FIG. 4 and the method shown in FIG. 5 can be terminated prematurely. For example, reaching a target area for the intervals between the clock signal arrival times can serve as a termination criterion. This corresponds, for example, to a reduction in current peaks in the total current by a desired percentage or to the achievement of a clock signal arrival time target distribution.
  • Another termination criterion in the method can be the achievement of a maximum number of optimization steps. This can be, for example, due to a fraction of the number of synchronous switching elements with non-critical switching requirements, or else all synchronous switching elements. This can shorten the duration of the implementation of the method.
  • the clock signal arrival times are changed, although stop conditions are violated. This change is initially done on a trial basis. By inserting delay elements into an incoming signal line of the synchronous switching element, the holding conditions are fulfilled again. Similarly, this can be done by so-called scan chain reordering based on the clock signal arrival times, in which the length of the signal line and thus the signal transit time is changed.
  • the specified number of delay elements results, for example, from a delay period of the delay elements and a maximum permitted local delay in the runtime of the data signal on the switching element.
  • the Umschaltvoraus GmbHen must be recalculated.
  • both the requirements for the signal paths to the subsequent synchronous switching elements and the requirement for signal paths are changed by the preceding synchronous switching elements.
  • delaying a clock signal arrival time by a quantity ⁇ results in a corresponding tightening of the setup conditions (Slack) on a subsequent signal path and a tightening of the hold request on a predecessor signal path.
  • Saack setup conditions
  • permissible delay values Dx- and Dx + All signal paths that begin or end at respective synchronous switching elements are taken into account.
  • the delay values Dx- and Dx + are determined for "bestcase” and “worstcase” operating conditions and are stored in a delay value table.
  • a unit list of the connected synchronous switching elements is created for each synchronous switching element, and for each connected synchronous switching element j there is a margin for the setup with the size Sx_j.
  • the deceleration value D + therefore results from the formula:
  • Dx + MIN (Sx__j), for all connected synchronous switching elements j.
  • the delay value Dx + is calculated analogously for a synchronous switching element which consists of a cluster connection of several individual switching elements. All predecessor signal paths and subsequent signal paths of the cluster circuit are taken into account. Predecessor signal paths are all signal paths that end at individual switching elements in the cluster circuit, and not those signal paths that begin at switching elements in the cluster circuit. Successor signal paths are all signal paths that are connected to individual switching elements in the
  • Cluster switching begins, and not signal paths that end at individual switching elements in the cluster circuit. Internal signal paths that begin and end within the cluster circuit do not experience any changes due to a change in the clock signal arrival time of the synchronous switching element and are therefore not taken into account.
  • delay elements can be inserted in the clock tree structure. This always causes a positive ⁇ . Therefore, only the deceleration value D + is relevant in the following. A delay element can be inserted if the delay of the delay element is less than D +. After inserting a delay element in the clock tree structure, the associated delay values D + and D- of the switching elements in the preceding and subsequent signal paths are recalculated in the delay value table.
  • the exemplary embodiments described above can also be used in integrated semiconductor circuits which consist of blocks or switching elements which are asynchronous with one another and are synchronous in themselves.
  • systems such as system-on-chips or SOC often have several sub-blocks or switching elements that are asynchronous to one another.
  • the following smoothing method can also be used here.
  • the sub-blocks or switching elements are placed within the integrated semiconductor circuit by creating a floor plan. Differences in the runtime of the signal connections and associated latencies are determined. Then, by inserting delay elements into a central clock feed, clock signal arrival times at the synchronous sub-blocks or switching elements are shifted such that at most only a desired number of individual switching elements in different synchronous sub-blocks or switching elements switch at the same time.
  • FIG. 7 shows in curves A, B and C simulation results of a total current at the voltage supply of a semiconductor circuit whose clock tree structure has been created on the basis of the present invention.
  • the total current is proportional to the switching events Npp on individual switching elements.
  • the switching events Npp are plotted over the time T arr -j_ va ; L.
  • the time T arr -j_ va 2_ is given in nanoseconds (ns).
  • the simulation was carried out in a Tcl code implementation of an exemplary embodiment shown in FIG. 5.
  • the individual switching elements in the integrated semiconductor circuit are standardized to simplify the description and therefore have identical properties. 50,000 switching elements are used at a clock frequency of 400 MHz.
  • Curve A (shown in dotted lines) represents the current profile of a synchronous semiconductor circuit, as would result from a clock tree structure created according to the prior art. The period of the current peaks is 2.5 ns. All switching elements switch here practically simultaneously. 90.7% of all switching elements switch in the interval (2.5 + 0.05) ns
  • Curve B (shown in dashed lines) shows the result after a first complete run of the method.
  • a setup criterion with a "setup slack" of ⁇ + 100ps and a "hold slack” of -Ins is taken into account. This means that those switching elements are selected as switching elements with uncritical switching requirements, the "setup slack" of which is greater than 100 ps. Hold violations that are greater than 1 ns are not generated.
  • a delay element with the greatest possible transit time delay is installed in a clock line, the switching requirements of the switching elements remaining fulfilled.
  • the switching elements used are those which comprise at least 40, but at most 200 individual switching elements.
  • Curve C shows the result after a second run of the method and an additional restoration of the holding conditions with delay elements. After these steps, any violation of the stopping conditions that has been entered is eliminated.
  • the maximum number of switching elements within an interval of 100 ps is 28%.

Landscapes

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

Abstract

Ein Verfahren zum Erstellen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung mit einem wenigstens zwei synchrone Schaltelemente mit jeweiligen Taktleitungen aufweisenden Schaltwerk weist folgende Schritte auf. Es werden synchronen Schaltelementen mit unkritischen Umschaltvoraussetzungen bezüglich einer Signalankunftszeit in Relation zu einer Taktankunftszeit bestimmt. Die Taktsignalankunftszeit wird mit Hilfe wenigstens eines Verzögerungselements in der Taktleitung wenigstens eines synchronen Schaltelements mit unkritischen Umschaltvoraussetzungen im Sinne einer Minimierung der Anzahl von gleichzeitig den Schaltzustand wechselnden synchronen Schaltelementen verschoben.

Description

Beschreibung
Verfahren zum Erstellen einer Integrierten Halbleiterschaltung mit einer Taktbaumstruktur, Computerprogrammprodukt zum Erzeugen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung sowie ayoutvorriσhtung
Die vorliegende Erfindung betrifft ein Verfahren zum Erstellen einer Integrierten Halbleiterschaltung mit einer Taktbaumstruktur, Computerprogrammprodukt zum Erzeugen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung sowie Layoutvorrichtung .
Die stetig zunehmende Komplexität von integrierten Halbleiterschaltungen führt zu einer Reihe von
Herausforderungen beim Entwerfen der Schaltungsarchitektur. Bei mobilen Anwendungen gilt es beispielsweise, den Stromverbrauch zu minimieren. Mit der Anzahl der Schaltelemente - wie logische Gatter, Flip-Flops, etc. - treten ohne spezielle Vorkehrungen erhöhte Spitzenströme in der Spannungsversorgung der integrierten Halbleiterschaltung auf. In den meisten Fällen ragen die maximalen Stromspitzen deutlich aus dem durchschnittlichen Strombedarfsprofil heraus und erfordern daher eine entsprechende Über-Dimensionierung der Spannungsversorgungseinheit .
Diese Problematik wird insbesondere dadurch verschärft, dass bei der Bildung von Taktbaumstrukturen innerhalb einer integrierten Halbleiterschaltung aus funktionaler Sicht darauf abgezielt wird, minimale Laufzeitunterschiede der Takte an der
Schaltelementen herzustellen. Die Erzeugung einer Taktbaumstruktur ist beispielsweise aus "Principles of CMOS VLSI Design" von Neil H. E. Weste und Kamram Eshragian, ISBN 0-201-53376-6, bekannt. Ein Grund dafür, die absolute Synchronität anzustreben, liegt an Umschaltvoraussetzungen, die an jedem Schaltelement eingehalten werden müssen. Diese Umschaltvoraussetzungen können in zwei Kategorien unterteilt werden. Der "Setup" legt fest, wie lange Eingangssignale an einem Schaltelement vor Einschalten des folgenden Taktimpulses stabil sein müssen. Der "Hold", bzw. die Halte-Bedingung legt dagegen fest, wie lange
nach einem Taktimpuls - also nach der steigenden bzw. fallenden Flanke des Taktimpulses - die Eingangssignale am Schaltelement noch stabil bleiben müssen. Eine Verletzung der Umschaltvoraussetzungen würde einen sogenannten meta-stabilen Zustand des Schaltelements hervorrufen.
Werden in Erfüllung der Funktionssicherung alle Schaltelemente gleichzeitig getaktet, so führt dies zu einer Summation der an den Schaltelementen auftretenden Umlade-Stromspitzen.
Damit ist eine Reihe von Aufwendungen erforderlich.
Um eine ausreichende Versorgung sämtlicher Komponenten und Schaltelemente zu gewährleisten, sind die Metallzuleitungen auf den Strombedarf ausgelegt. Dieser ergibt sich maximal aus der Summe der Umlade-Stromspitzen. Die notwendige Verbreiterung der Leitungen führt zu einem zusätzlichen Flächenverbrauch auf dem Chip und damit zu erhöhten Kosten bei der Herstellung desselben. Ebenso ist eine erhöhte Zahl von Ver- sorgungspads und Bond-Verbindungen erforderlich, die zu einer weiteren Kostensteigerung führt.
Aufgrund eines erhöhten Strombedarfs sind die Spannungsregler der integrierten Halbleiterschaltung entsprechend über- dimensioniert ausgelegt. Nur so ist eine stabile Versorgung während einer maximalen Stromspitze garantiert.
Über die Spannungsversorgungsleitung werden hochfrequente SpannungsSchwankungen auf die übrigen Bauteile einer Platine übertragen, auf der sich die integrierte Halbleiterschaltung befindet. Als Konsequenz ist die elektromagnetische Verträglichkeit (EMV) des Bausteins verringert.
In dem eingangs genannten Dokument "Principles of CMOS VLSI Design" wird auf Seite 239 zur Glättung des Stromaufnahmeprofils der Einsatz von Pufferkapazitäten vorgeschlagen. Damit ist wiederum der Nachteil verbunden, dass ein erhöhter Flä- chenbedarf für die Pufferkapazitäten zu erhöhten Herstellungskosten führt. Zudem vermindert sich die Ausbeute bei der Herstellung durch zusätzliche defektsensitive Bereiche aufgrund der Implementierung der Pufferkapazitäten in der integ- rierten Halbleiterschaltung.
Aufgabe der vorliegenden Erfindung ist es, die oben genannten Aufwendungen bei synchron getakteten HalbleiterSchaltungen zu vermeiden, und ein Verfahren anzugeben, mit dem beim Entwurf einer Schaltung diese Aufwendungen so gering wie möglich gehalten werden können.
Gelöst wird die Aufgabe durch die Merkmale der unabhängigen Ansprüche 1, 9 bzw. 10.
Die der Erfindung zugrunde liegende Idee besteht darin, Schaltelemente mit zugeführter Taktleitung zu identifizieren, bei denen eine Verschiebung der Laufzeit der Taktsignale in der Taktleitung um wenige Bruchteile der Taktperiodendauer die FunktionsSicherheit nicht beeinträchtigt. Diese ist selbstverständlich nur dann möglich, wenn danach an dem Schaltelement Umschaltvoraussetzungen weiterhin erfüllt sind oder wiederhergestellt werden.
Durch die Verschiebung der Laufzeit in der Taktleitung wird die Taktsignalankunftszeit verschoben. Werden bei einer Vielzahl von Schaltelementen die Umschaltzeiten zueinander verschoben, so werden dadurch die Spitzenströme abgebaut und das Profil des Summenstroms ist geglättet. Die maximale Strom- spitze fällt geringer aus, als in dem ursprünglichen synchronen Schaltwerk.
Bei der Verschiebung der Laufzeit in der Taktleitung wird ein synchrones Schaltelement ausgewählt, bei dem der Schaltele- ment-spezifische Setup größer ist, als in dem Schaltwerk benötigt; dies wird im weiteren als unkritische Umschaltvoraussetzung bezeichnet. Die Laufzeit einer zuführenden Taktlei- tung zu dem ausgewählten Schaltelement wird erhöht. Das ausgewählte Schaltelement wird in eine Liste veränderter Schaltelemente eingetragen oder in irgendeiner anderen Weise als verändertes Schaltelement gekennzeichnet. Der Einfluss der Veränderung auf die Umschaltvoraussetzungen aller synchronen Schaltelemente im Schaltwerk wird berechnet . Es wird überprüft, ob die vorgenommene Veränderung der Laufzeit zu einer Verletzung der Umschaltvoraussetzungen geführt hat. Im Falle einer Verletzung einer Umschaltvoraussetzung wird die vorge- nommene Veränderung zurückgenommen. Bevorzugterweise kann eine Erhöhung um einen geringeren oder größeren Wert der Laufzeit als im vorherigen Schritt vorgenommen und das Vorgehen wiederho11 werden .
Sind keine Umschaltvoraussetzungen verletzt oder konnte die Laufzeit der Taktleitung nach einer festen Anzahl von Versuchen nicht ohne eine Verletzung von Taktlaufzeiten geändert werden, wird das vorstehende Vorgehen nacheinander für weitere synchrone Schaltelemente wiederholt, die zum jeweiligen Zeitpunkt nicht in der Liste veränderter Schaltelemente eingetragen oder als solche gekennzeichnet sind.
Vorteilhaft ist dabei eine Veränderung der Taktsignalankunftszeiten an allen synchronen Schaltelementen mit unkriti- sehen Umschaltvoraussetzungen. Dadurch kann eine breite Verteilung der Taktsignalankunftszeiten erreicht werden, wodurch die Umlade-Stromspitzen der Schaltelemente zeitlich verteilt sind.
Weitere vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
In einer besonders bevorzugten Weiterbildung der Erfindung werden die Taktsignalankunftszeiten von synchronen Schaltele- rαenten mit unkritischen Umschaltvoraussetzungen verschoben, indem zunächst die Laufzeit einer Taktleitung zu einem gewählten synchronen Schaltelement erhöht wird. Das gewählte synchrone Schaltelement wird in eine Liste veränderter Schaltelemente eingetragen oder in irgendeiner anderen Weise als verändertes Schaltelement gekennzeichnet. Der Einfluss der Veränderung auf die Umschaltvoraussetzungen aller Schalt- ele ente wird berechnet. Schaltelemente, deren Umschaltvoraussetzungen aufgrund ihrer durch die Nachfolge im Signalpfad bedingten Abhängigkeit höchstwahrscheinlich verändert wurden, werden ebenfalls in die Liste veränderter Schaltelemente eingetragen bzw. als solche gekennzeichnet. Das beschriebene Vorgehen wird für alle synchronen Schaltelemente mit unkritischen Umschaltvoraussetzungen wiederholt, die zum jeweiligen Zeitpunkt nicht in der Liste veränderter Schaltelemente eingetragen oder als solche gekennzeichnet sind.
Als Vorteil ist anzusehen, dass die Neuberechnungen der Umschaltvoraussetzungen in geringerer Anzahl als in der ersten genannten Weiterbildung stattfinden können. Das Verfahren kann somit schnell durchgeführt werden, wobei trotzdem eine breite Verteilung der Umlade-Stromspitzen erzielt wird.
Die Erfindung wird nachfolgend an mehreren Ausführungsbei- spielen anhand der Zeichnung näher erläutert.
Dabei zeigen
Fig. 1 eine Halbleiterschaltung mit bezüglich ihres Eingangs parallel geschalteten Kippstufen,
Fig. 2a eine schematische Darstellung von Stromprofilen von parallel geschalteten Kippstufen nach Fig.l und der
Summe aller Stromprofile in einer synchron getakteten Halbleiterschaltung,
Fig. 2b eine schematische Darstellung von Stromprofilen von parallel geschalteten Kippstufen nach Fig.l und der
Summe aller Stromprofile in einer erfindungsgemäß getakteten Halbleiterschaltung, Fig. 3 ein Flussdiagramm mit Verfahrensschritten zur Erstellung einer Taktbaumstruktur gemäß der vorliegenden Erfindung,
Fig. 4 ein Flussdiagramm mit Verfahrensschritten zur Verschiebung der Taktsignalankunftszeiten bei synchronen Schaltelementen mit unkritischen Umschaltvoraussetzungen gemäß einer bevorzugten Ausführungs- form der vorliegenden Erfindung,
Fig. 5 ein Flussdiagramm mit Verfahrensschritten zum Verschieben der Taktsignalankunftszeiten bei synchronen Schaltelementen mit unkritischen Umschaltvor- aussetzungen gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung,
Fig. 6 ein Flussdiagramm mit Verfahrensschritten für eine Verschiebung der Taktsignalankunftszeit eines noch nicht veränderten synchronen Schaltelements gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung und
Fig. 7 Simulationsergebnisse des Summenstroms in einer Halbleiterschaltung deren Taktbaumstruktur gemäß einer Ausführungsform der vorliegenden Erfindung erstellt ist.
Fig. 1 zeigt beispielhaft eine Halbleiterschaltung mit drei Kippstufen FFl, FF2, FF3. Jede Kippstufe FFl, FF2 , FF3 weist einen Signaleingang SE, einen Signalausgang SO, einen Span- nungsversorgungseingang SVE und einen Takteingang TE auf. Auf die Darstellung eines Masseanschlusses wurde verzichtet. Die Signaleingänge SE der Kippstufen FFl, FF2 , FF3 sind mit einer Zuleitung ZL verbunden, während die Spannungsversorgungsein- gänge SVE mit einer gemeinsamen Spannungsversorgung SV verbunden sind. Über die Zuleitung ZL werden den Kippstufen FFl, FF2, FF3 Datensignale d^ zugeführt. Die Datensignale d^ werden mit einer Frequenz übertragen, die durch eine Periodendauer Tcjjζ bestimmt ist.
Eine SignalVerarbeitung der Datensignale d^ in den Kippεtufen FFl, FF2, FF3 wird über Taktsignale clkl, clk2, clk3 gesteuert, die den Kippstufen FFl, FF2 , FF3 an ihren Takteingängen TE zugeführt werden. Die Taktsignale clkl, clk2, clk3 sind periodisch, bespielsweise mit einer Periodendauer T^ oder einem Vielfachen davon.
Während der Signalverarbeitung der Daten d^ in den Kippstufen FFl, FF2 , FF3 fließt am Ausgang der Spannungsversorgung SV ein Summenstrom I∑, der sich aus der Summe von Stromprofilen I ergibt, die an den jeweiligen Spannungsversorgungseingängen SVE fließen.
An dem Spannungsversorgungseingang SVE einer der Kippstufen FFl, FF2 , FF3 fließt das Stromprofil I, wenn das Taktsignal clkl, clk2, clk3 an dem Takteingang TE der Kippstufe FFl, FF2 , FF3 ein Wechseln eines Ausgangssignals am jeweiligen Signalausgang SO schaltet.
In einer synchron getakteten Halbleiterschaltung sind die Taktsignale clkl, clk2, clk3 in Phase und Frequenz exakt gleich, so dass alle Kippstufen FFl, FF2 , FF3 gleichzeitig schalten. In realen Schaltungen wird mittels eines bekannten Verfahrens der Taktbaum-Balanzierung versucht, diesem idealen Zustand des gleichzeitigen Schaltens möglichst nahe zu kom- men. In einem anderen Fall, in dem sich mindestens ein Taktsignal clkl, clk2, clk3 von den anderen Taktsignalen clkl, clk2, clk3 unterscheidet, handelt es sich um eine zumindest teilweise asynchron getaktete Halbleiterschaltung. Die Taktsignale clkl, clk2, clk3 können sich dabei in der Frequenz oder in der Phase unterscheiden. Weisen die verschiedenen Taktsignale clkl, clk2, clk3 an den Takteingängen TE die gleiche Frequenz und eine im Verhältnis zu der Taktperiodendauer kleine Phasenverschiebung auf, d.h. dass die Taktsignale clkl, clk2, clk3 zueinander zeitlich ge- ringfügig versetzt verschiedene Takteingänge TE von unterschiedlichen Kippstufen FFl, FF2 , FF3 erreichen, wird von einer quasi-synchronen Halbleiterschaltung gesprochen.
Fig. 2a und Fig. 2b zeigen mit ihren ersten drei Kurven je- weils Stromprofile I an Spannungsversorgungseingängen SVE von drei Kippstufen FFl, FF2 , FF3 in einer Halbleiterschaltung nach Fig. 1. Die im Einzelnen dargestellten Kurven zeigen in der Ordinate das Stromprofil I, das über eine Zeitachse T in der Abszisse aufgetragen ist.
Ein Stromprofil I an einem Spannungsversorgungseingang SVE einer Kippstufe FFl, FF2 , FF3 weist Umlade-Stromspitzen auf, wenn ein Signalausgang SO der Kippstufe FFl, FF2 , FF3 das Ausgangspotential wechselt. Im dargelegten Beispiel sei zur Vereinfachung angenommen, dass nur bei einem Wechsel beispielsweise von einem low- auf high-Potential eine Umlade- Stromspitze auftritt. Das auf die Umlade-Stro spitze folgende, im wesentlichen flache Plateau des Stromprofils I entspricht in seiner Höhe einem Strom, der für eien Umladung von Logik-Stufen erforderlich sind, die im Signalpfad hinter der Kippstufe FFl, FF2 , FF3 geschaltet sind. Die Umlade- Stromspitze entsteht bei einem Schalten der Kippstufe FFl, FF2, FF3. Ein verändertes Signal am Signalausgang SO setzt sich sequentiell durch folgende Logik-Stufen fort und erzeugt so sequentiell Umladeströme an den einzelnen Logik-Stufen.
Unterhalb der gezeigten Stromprofile I der Kippstufen FFl, FF2, FF3 ist in beiden Figuren ein Summenstrom I∑ aufgezeigt. Dieser fließt an der gemeinsamen Spannungsversorgung SV aller Kippstufen FFl, FF2 , FF3 und ist jeweils die Superposition der darüber dargestellten Stromprofile I. In dem in Fig. 2a dargestellten Fall sind alle Kippstufen FFl, FF2 , FF3 exakt synchron getaktet . Dadurch wird der Summenstrom aus der Summation der einzelnen Spitzenströme gebildet.
Sind sämtliche Kippstufen FFl, FF2 , FF3 von ihrem Strombedarf gesehen identisch, so sind die Stromspitzen des Summenstroms I∑ proportional zu der Anzahl der Kippstufen FFl, FF2 , FF3 und proportional zu der Höhe der Umlade-Stromspitzen dieser Kippstufen FFl, FF2 , FF3. Eine gemeinsame SpannungsVersorgung SV der Kippstufen FFl, FF2 , FF3 muss derart ausgelegt sein, dass eine maximale Stromspitze des Summenstroms Ig fließen kann.
Die dargestellten Stromprofile I in Fig. 2b unterscheiden sich von denen in Fig. 2a gezeigten darin, dass die betrachteten Kippstufen FFl, FF2 , FF3 quasi-synchron getaktet sind. Taktsignale clkl, clk2, clk3 an Takteingängen TE der Kippstufen FFl, FF2, FF3 weisen zueinander Laufzeitunterschiede' auf, die kleiner als die Periodendauer T^ sind. Die Lauf- zeitunterschiede verursachen eine Taktverschiebung, die dazu führt, dass ein Profil des Summenstroms I∑ geglättet und über einen breiteren Zeitraum verteilt wird. Dadurch weist der Summenstrom I∑ keine ausgeprägten Stromspitzen auf. Die ge- meinsame Spannungsversorgung SV der Kippstufen FFl, FF2 , FF3 kann somit für einen geringeren maximalen Strombedarf als im Fall der Fig. 2a ausgelegt sein.
Fig. 3 zeigt ein Flussdiagramm mit Verfahrensschritten zum Entwerfen einer integrierten Halbleiterschaltung.
In einem ersten Schritt werden Eingangsdaten bereitgestellt. Die Eingangsdaten umfassen eine Schaltelementeliste im Sinne einer Bibliothek mit Schaltelementen, die in Schaltwerken der integrierten Halbleiterschaltung verwendet werden. Solche
Schaltelemente können Einzelschaltelemente wie Gatter, Flip- Flops, etc. oder Gruppen von Einzelschaltelementen sein. Die Schaltelementeliste kann darüber hinaus verschiedene (Gatterlevel-) etzlisten enthalten, die aus einem ersten Syntheseschritt resultieren. Die (Gatterlevel-)Netzlisten be- schreiben die konkrete Halbleiterschaltung bzw. Signalverbindungen aller ihrer Einzelschaltelemente untereinander. Verfahrensschritte für einen solchen ersten Syntheseschritt sind dem Fachmann bekannt .
Die Eingangsdaten enthalten ebenfalls Randbedingungen (sogenannten high level constraints) bezüglich Laufzeitvorgaben bei komplexen Einheiten aus mehreren Schaltelementen. Die umfassen unter anderem die Taktfrequenz und Anforderungen an Sende- und Ankunftszeiten von Ein- und Ausgangssignalen am Schaltungsrand.
Zusätzlich können in einer Schaltelementbibliothek Schaltzeiten und Layout-Informationen der verwendeten Schaltelemente enthalten sein. Die Eingangsdaten umfassen in der Regel auch eine Bibliothek der Verdrahtung zwischen den einzelnen
Schaltelementen inklusive zugehöriger Verdrahtungsparameter, wie beispielsweise Kapazitätsbeläge oder Widerstandsbeläge der Signalverbindungen.
Im zweiten Schritt des Verfahrens wird ein Flurplan der integrierten Halbleiterschaltung erstellt und die Schaltelemente werden innerhalb der integrierten Halbleiterschaltung platziert. Dabei wird die Platzierung der Schaltelemente nach Verdrahtungs- und Laufzeitkriterien an den Signalverbindungen vorgenommen. Üblicherweise handelt es sich bei derartigen
Halbleiterschaltungen um komplett synchron getaktete Systeme.
Im dritten Verfahrensschritt erfolgt eine Synthese einer Taktbaumstruktur. Dabei wird zunächst eine konventionelle Synthese der Taktbaumstruktur durchgeführt und eine Taktzufuhr mit ihren Taktsignalankunftszeiten soweit balanciert, bis Setup-Kriterien erfüllt sind. Im weiteren findet in diesem Verfahrensschritt ein Wiederherstellen der Halte-Bedingungen statt, das durch Einfügen von Verzögerungselementen zu schnelle Signalpfade verlangsamt, bis die Halte-Bedingungen erfüllt sind. Gegebenenfalls ist eine nachfolgende Überprüfung der Setup-Kriterien und entsprechend bei einer Verletzung von Setup-Kriterien eine Wiederholung des dritten Verfahrensschritts erforderlich.
Nach der Synthese der Taktbaumstruktur ist das Design der integrierten Halbleiterschaltung frei von Verletzungen der UmschaltvorausSetzungen.
Die Taktsignalankunftszeiten an den Schaltelementen wurden aufgrund der gewünschten Synchronität möglichst gleichzeitig eingestellt. Üblicherweise liegen Laufzeitunterscheide in modernen Technologien mit Strukturbreiten von 0,18μrn in der Größenordnung von 200-400 ps . Bis zu 95% der synchronen Schaltelemente haben dabei Laufzeitreserven (Slacks) inner- halb der Umschaltvoraussetzungen, die größer als 1 ns sind.
Alternativ zum aufgezeigten dritten Verfahrensschritt ist es ebenfalls möglich, die Taktbaumstruktur unter Außerachtlassung von besonderen Randbedingungen nur entsprechend einer für einen Aufbau der Taktbaumstruktur im Flurplan vorgesehenen Fläche im Schaltungslayout der integrierten Halbleiterschaltung aufzubauen. Als Resultat wird so eine Taktbaumstruktur erzeugt, die Verletzungen der Umschaltvoraussetzungen aufweist. Jedoch wird eine bessere Verteilung von Takt- Signalankunftszeiten als Ausgangsposition für die folgenden Verfahrensschritte erreicht.
Im vierten Verfahrensschritt werden zunächst alle diejenigen synchronen Schaltelemente identifiziert, deren Laufzeitre- serve (Slack) bei Einhaltung der Umschaltvoraussetzungen größer als ein vorgegebener Schwellenwert ist. Solche synchronen Schaltelemente werden als synchrone Schaltelemente mit unkritischen Umschaltvoraussetzungen bezeichnet. Der Schwellenwert wird idealerweise aus der typischen Breite von Stromspitzen bestimmt und weist zum Beispiel Werte von ca. 0,05 ns bis 10 ns auf.
Die Taktsignalankunftszeiten werden im Folgenden auf Taktleitungen zu Schaltelementen mit unkritischen Umschaltvoraussetzungen statistisch um eine jeweilige Verschiebedauer verschoben. Eine Statistik für die jeweilige Verschiebedauern ist dabei so gewählt, dass die Taktsignalankunftszeiten der Taktsignale an synchronen Schaltelementen mit unkritischen Umschaltvoraussetzungen über mehrere Nanosekunden verstreut sind, und so eine weitgehende Glättung des Stromaufnahmeprofils erreicht ist. Laufzeit-kritische Signalpfade bleiben un- verändert erhalten.
Die Verteilung der verschobenen Taktsignalankunftszeiten ist bevorzugterweise eine Gleichverteilung in einem Zeitintervall, das zwischen dem Wert 0 und einer maximal erlaubten globalen Verschiebedauer Smax liegt. Die globale Verschiebedauer Smax entspricht einem Maximalwert der aus den Verschiebedauern der Schaltelemente bestimmt wird, um die die jeweiligen Taktsignalankunftszeiten der Schaltelemente verschoben werden können, so dass die Umschaltvoraussetzungen gerade noch erfüllt bleiben. Sie wird ihrerseits durch die Länge der Taktperiode in der integrierten Halbleiterschaltung nach oben beschränkt .
Es können auch Verteilungsfunktionen gewählt werden, die ein Maximum innerhalb des Zeitintervalls aufweisen, wie beispielsweise eine Poisson-Verteilung, eine Gauß-Verteilung, etc.. Eine weitere bevorzugte Verteilungsfunktion ist dadurch v definiert, dass für jedes synchrone Schaltelement mit unkritischen Umschaltvoraussetzungen eine maximal zulässige lokale Verschiebebauer ausgenützt wird. Das heißt, dass die Taktsignalankunftszeiten so weit verschoben werden, dass gerade noch die Umschaltvoraussetzungen erfüllt bleiben. Wurde entsprechend dem alternativen dritten Verfahrensschritt die Taktbaumstruktur ohne besondere Randbedingungen nur nach der zur Verfügung gestellten Fläche im Schaltungslayout der integrierten Halbleiterschaltung aufgebaut, so werden die jeweiligen Taktsignalankunftszeiten an den synchronen Schaltelementen derart verschoben, dass die jeweiligen Setup- Kriterien an den Schaltelementen erfüllt werden. Dies kann dadurch geschehen, dass die Taktsignalankunftszeit soweit verschoben wird, bis die Setup-Kriterien gerade erfüllt werden und ein "Setup-Slack" maximal ausgenutzt wird. Somit wird eine Streuung der Taktsignalankunftszeiten und damit der Umlade-Stromspitzen innerhalb des Zeitintervalls erreicht, das oben bereits genannt wurde.
Bei synchronen Schaltelementen, die mehrere Einzelschaltelemente umfassen, kann eine bis jetzt nicht vorgestellte Verteilung wünschenswert sein. Bei dieser wird eine Gewichtung der synchronen Schaltelemente mit der Anzahl der enthaltenen Einzelschaltelemente vorgenommen. Die Gewichtung kann dabei durch eine Maßzahl M dargestellt werden. Mit einem Takt- Schaltzeitpunkt tj_ des Einzelschaltelements i der N Einzelschaltelemente des synchronen Schaltelements ergibt sich die Maßzahl M zu M = ∑i=ι,N ∑j>i |ti-tj|.
Ein Anwachsen der Maßzahl M innerhalb des Verfahrens entspricht einer Optimierung der Stromverteilung, während eine Abnahme einer Verschlechterung entspricht .
In Fig. 4 werden Teilschritte des vierten Verfahrensschritts nach Fig. 3 zum Verschieben einer Taktsignalankunftszeit bei synchronen Schaltelementen mit unkritischen Umschaltvoraussetzungen dargestellt. Dabei wird zunächst die Taktsignalankunftszeit eines bislang durch diesen Verfahrensschritt un- veränderten synchronen Schaltelements geändert . Das synchrone Schaltelement selber wird daraufhin in einer Liste mit veränderten Schaltelementen eingetragen. Es erfolgt eine Neuberechnung der Umschaltvoraussetzungen für die synchronen Schaltelemente, die in der integrierten Halbleiterschaltung enthalten sind. Vorzugsweise werden nur Um- schaltvoraussetzungen solcher synchronen Schaltelemente neu berechnet, die bereits beeinflusst wurden. Das sind insbesondere solche Schaltelemente, die auf Nachfolgepfaden bzw. Vorgangspfaden des veränderten Schaltelements liegen.
Im Anschluss folgt an diesen Teilschritt eine Prüfung auf ein Abbruchkriterium. Ist ein Zielbereich für die Abstände zwischen Taktsignalankunftszeiten verschiedener Schaltelemente erreicht, so wird das Verfahren beendet. Der Zielbereich kann beispielsweise vorher durch eine maximal zulässige Anzahl von innerhalb eines Zeitintervalls schaltenden Schaltelementen festgelegt werden. Ebenso wird das Verfahren beendet, wenn keine weiteren Verschiebungen von Taktsignalankunftszeiten zulässig sind. Sollten beide Abbruchkriterien nicht erfüllt sein, wird ein weiteres synchrones Schaltelement mit unkriti- sehen Umschaltvoraussetzungen ausgewählt, das nicht in der Liste veränderter Schaltelemente eingetragen ist, um die Teilschritte des dargestellten Verfahrens erneut durchzuführen.
Die in Fig. 5 dargestellten Verfahrensschritte sind als Alternativen zu denen in Fig. 4 dargestellten zu verstehen und ähneln denen in Fig. 4 gezeigten. Anfangs werden ebenfalls alle synchronen Schaltelemente mit unkritischen Umschaltvoraussetzungen zu Berücksichtigung freigegeben indem sie bei- spielsweise in eine Liste freigegebener Elemente eingetragen werden. Es wird ein beliebiges synchrones Schaltelement mit unkritischen Umschaltvoraussetzungen ausgewählt. Für dieses synchrone Schaltelement wird eine Taktsignalankunftszeit zugeführten Taktsignals verändert und dieses synchrone Schalt- element wird in eine Liste veränderter Schaltelemente eingetragen. Daraufhin erfolgt eine Bestimmung derjenigen synchronen Schaltelemente, deren Umschaltvoraussetzungen durch die vorhergehende Verschiebung beeinflusst wurden. Die beein- flussten synchronen Schaltelemente werden Zusammen mit dem beliebig ausgewählten Schaltelement aus der Liste freigegebener Elemente gestrichen. Dieser Anfangsteil des Verfahrens wird solange rekursiv durchgeführt, bis die Liste freigegebener Elemente leer ist.
Alle Schaltelemente, deren Umschaltvoraussetzungen im vorherigen Verfahren verändert wurden, werden anschließend als solche gekennzeichnet und die synchronen Schaltelemente mit unkritischen Umschaltvoraussetzungen, die nicht in der Liste veränderter Schaltelemente eingetragen sind, werden erneut freigegeben.
Die Verfahrensschritte werden für die synchronen Schaltele- mente mit unkritischen Umschaltvoraussetzungen wiederholt, die nicht in der Liste veränderter synchroner Schaltelemente eingetragen sind. Alternativ können beim Durchlaufen sämtlicher synchronen Schaltelemente alle diejenigen synchronen Schaltelemente übersprungen werden, deren direkte Nachbarn bereits in vorhergehenden Verfahrensschritten berücksichtigt wurden .
Sollte am Ende des Verfahrens ein geforderter Zielbereich für Abstände zwischen den Taktsignalankunftszeiten oder den Takt- schaltZeitpunkten der Schaltelemente nicht erreicht werden, so wird das Verfahren mit einem sich von dem beliebigen synchronen Schaltelement unterscheidenden, anderen beliebigen synchronen Schaltelement neu aufgesetzt.
Sowohl das in Fig. 4 als auch das in Fig. 5 dargestellte Verfahren kann vorzeitig abgebrochen werden. Beispielsweise kann dabei das Erreichen eines Zielbereichs für die Abstände zwischen den Taktsignalankunftszeiten als Abbruchskriterium dienen. Dies entspricht beispielsweise einer Senkung von Strom- spitzen im Summenstrom um einen gewünschten Prozentsatz bzw. einem Erreichen einer Taktsignalankunftszeit-Zielverteilung. Ein weiteres Abbruchkriterium in den Verfahren kann das Erreichen einer Maximalzahl von Optimierungsschritten sein. Diese kann beispielsweise durch einen Bruchteil der Anzahl von synchronen Schaltelementen mit unkritischen Umschaltvor- aussetzungen oder aber auch aller synchronen Schaltelemente sein. Dadurch kann die Dauer der Durchführung des Verfahrens verkürzt werden.
Fig. 6 zeigt Verfahrensschritte zur erfindungsgemäßen Ver- Schiebung von Taktsignalankunftszeiten eines synchronen
Schaltelements. Diese Verfahrensschritte als Teilschritte in den in Fig. 4 und 5 gezeigten Verfahren einsetzbar.
In einem ersten Schritt werden die Taktsignalankunftszeiten verändert, obwohl Halte-Bedingungen verletzt werden. Diese Veränderung geschieht zunächst versuchsweise. Durch das Einfügen von Verzögerungselementen in eine eingehende Signalleitung des synchronen Schaltelements werden die Halte- Bedingungen wieder erfüllt. Ähnlich kann dies durch ein soge- nanntes Scan-Chain-Reordering auf Grundlage der Taktsignalankunftszeiten geschehen, bei dem die Länge der Signalleitung und damit die Signallaufzeit verändert wird.
Ist eine Erfüllung der Halte-Bedingungen trotz einer vorher festgelegten Anzahl von Verzögerungselementen nicht möglich, so wird die Verschiebung der Taktsignalankunftszeiten für dieses Schaltelement wieder zurückgenommen.
Die festgelegte Anzahl von Verzögerungselementen ergibt sich dabei beispielsweise aus einer Verzögerungsdauer der Verzögerungselemente und einer maximal erlaubten lokalen Laufzeitverschiebung des Datensignals am des Schaltelements.
Generell für alle Verfahren gelten die folgenden Überlegun- gen.' In einigen vorstehend beschriebenen Verfahrensschritten müssen die Umschaltvoraussetzungen neu berechnet werden. Durch die Verschiebung von Taktsignalankunftszeiten an einem synchronen Schaltelement werden sowohl die Anforderungen an die Signalpfade zu den nachfolgenden synchronen Schaltelementen als auch die Anforderung an Signalpfade von den vorausgehenden synchronen Schaltelementen verändert. So bewirkt beispielsweise eine Verzögerung einer Taktsignalankunftszeit um eine Größe Δ eine entsprechende Verschärfung der Setup- Bedingungen (Slack) auf einem Folgesignalpfad sowie eine Verschärfung der Hold-Anforderung auf einem Vorgängersignalpfad. Es gelten also die folgenden Gleichungen:
Folgesignalpfade :
Setup-Slack neu = Setup-Slack alt - Δ Hold-Slack neu = Hold-Slack alt + Δ
Vorgängersignalpfade:
Setup-Slack neu = Setup-Slack alt + Δ Hold-Slack neu = Hold-Slack alt - Δ
Aus den genannten Gleichungen und der Randbedingung, dass der Setup-Slack und der Hold-Slack größer als 0 sein müssen, werden nun die größten und kleinsten zulässigen Δ-Werte für jedes synchrones Schaltelement bestimmt, die als zulässige Verzögerungswerte Dx- und Dx+ bezeichnet werden. Es werden alle Signalpfade berücksichtigt, die an jeweiligen synchronen Schaltelementen beginnen oder enden. Die Verzögerungswerte Dx- und Dx+ werden für "bestcase"- und "worstcase"- Betriebsbedingungen bestimmt und in einer Verzögerungswert- Tabelle abgelegt.
Für jedes synchrone Schaltelement wird eine Einheiten-Liste der verbundenen synchronen Schaltelemente angelegt, und für jedes verbundene synchrone Schaltelement j gibt es einen Spielraum für den Setup mit der Größe Sx_j . Der Verzögerungswert D+ ergibt sich daher aus der Formel :
Dx+ = MIN(Sx__j), für alle verbundenen synchronen Schaltelemente j . Analog erfolgt die Berechnung des Verzögerungswerts Dx+ für ein synchrones Schaltelement, das aus einer Cluster-Schaltung mehrerer Einzelschaltelemente besteht. Dabei werden alle Vor- gängersignalpfade und Folgesignalpfade der Cluster-Schaltung berücksichtigt. Vorgängersignalpfade sind alle Signalpfade, die an Einzelschaltelementen in der Cluster-Schaltung enden, und nicht solche Signalpfade, die an Einschaltelementen in der Cluster-Schaltung beginnen. Nachfolgersignalpfade sind alle Signalpfade, die an Einzelschaltelementen in der
Cluster-Schaltung beginnen, und nicht solche Signalpfade, die an Einzelschaltelementen in der Cluster-Schaltung enden. Interne Signalpfade, die innerhalb der Cluster-Schaltung beginnen und enden, erfahren durch eine Veränderung der Taktsig- nalankunftszeit des synchronen Schaltelements keine Veränderungen und werden deshalb nicht berücksichtigt.
Aufgrund der Neuberechnung der Umschaltvoraussetzungen können Verzögerungselemente in die Taktbaumstruktur eingefügt wer- den. Diese bewirkt stets ein positives Δ. Deshalb ist im Folgenden nur der Verzögerungswert D+ relevant . Ein Verzögerungselement kann eingefügt werden, wenn die Verzögerung des Verzögerungselements kleiner ist als D+ . Nach Einfügen eines Verzögerungselements in der Taktbaumstruktur werden die zuge- hörigen Verzögerungswerte D+ und D- der Schaltelemente in den Vorgänger- und Folgesignalpfaden in der Verzögerungswert- Tabelle neu berechnet.
Die oben beschriebenen Ausführungsbeispiele lassen sich eben- falls in integrierten Halbleiterschaltungen einsetzen, die aus zueinander asynchronen und in sich synchronen Blöcken bzw. Schaltelementen bestehen. Insbesondere Systeme wie beispielsweise System-on-chips oder SOC weisen vielfach mehrere zueinander asynchrone Teilblöcke oder Schaltelemente auf. Ne- ben dem Glätten des Stromprofils der synchronen Teilblöcke bzw. Schaltelemente mit den obigen Verfahrensschritten kann hier noch das folgende Glättungsverfahren eingesetzt werden. Zunächst werden die Teilblöcke oder Schaltelemente innerhalb der integrierten Halbleiterschaltung platziert, indem ein Flurplan erstellt wird. Laufzeitunterschiede der Signalver- bindungen und dazugehörige Latenzen werden ermittelt. Danach werden durch das Einfügen von Verzögerungselementen in eine zentrale Taktzuleitung Taktsignalankunftszeiten an den synchronen Teilblöcken bzw. Schaltelementen derart verschoben, dass maximal nur eine gewünschte Anzahl von Einzelschaltele- enten in unterschiedlichen synchronen Teilblöcken bzw. Schaltelementen zu einem gleichen Zeitpunkt schalten.
Fig. 7 zeigt in Kurven A, B und C Simulationsergebnisse eines Summenstroms an der Spannungsversorgung einer Halbleiter- Schaltung deren Taktbaumstruktur auf Grundlage der vorliegenden Erfindung erstellt ist. Der Summenstrom ist dabei proportional zu den Schaltereignissen Npp an einzelnen Schaltelementen. Die Schaltereignisse Npp sind über die Zeit Tarr-j_va;L aufgetragen. Die Zeit Tarr-j_va2_ wird in Nanosekunden (ns) an- gegeben .
Die Simulation erfolgte in einer Tcl-Code-Implementierung eines in Fig. 5 dargestellten Ausführungsbeispiels. Die einzelnen Schaltelemente in der integrierten Halbleiterschaltung sind dabei zur Vereinfachung der Beschreibung standardisiert und besitzen deshalb identische Eigenschaften. Es werden 50000 Schaltelemente bei einer Taktfrequenz von 400 MHz verwendet .
Die Kurve A (gepunktete dargestellt) stellt dabei das Stromprofil einer synchronen Halbleiterschaltung da, wie es sich bei einer gemäß dem Stand der Technik erstellten Taktbaumstruktur ergeben würde. Die Periode der Stromspitzen beträgt 2,5 ns . Alle Schaltelemente schalten hier praktisch gleich- zeitig. Im Intervall (2,5 + 0,05) ns schalten dabei 90,7% aller Schaltelemente Die Kurve B (gestrichelt dargestellt) zeigt das Ergebnis nach einem ersten kompletten Durchlauf des Verfahrens . Dabei wird ein Setup-Kriterium mit einem "Setup-Slack" von <+100ps und einem "Hold-Slack" von -Ins berücksichtigt. Das bedeutet, dass diejenigen Schaltelemente als Schaltelemente mit unkritischen Umschaltvoraussetzungen gewählt werden, deren "Setup- Slack" größer als 100 ps ist. Es werden keine Hold- Verletzungen erzeugt, die größer als 1 ns sind. In jedem Schritt wird ein Verzögerungselement mit einer größtmöglichen Laufzeitverzögerung in eine Taktleitung eingebaut, wobei die Umschaltvoraussetzungen der Schaltelemente erfüllt bleiben.
Als Schaltelemente kommen solche zur Anwendung, die mindestens 40, höchstens jedoch 200 Einzelschaltelemente umfassen.
Die maximale Anzahl der Schaltelemente, die in einem Intervall der Breite 100 ps schalten, hat sich in diesem ersten Durchlauf bereits auf 55,9% reduziert.
Die Kurve C (durchgezogene Linie) zeigt das Ergebnis nach einem zweiten Durchlauf des Verfahrens und einem zusätzlichen Wiederherstellen der Halte-Bedingungen mit Verzögerungselementen. Nach diesen Schritten ist eine eventuell eingetragene Verletzung der Halte-Bedingungen beseitigt. Die maximale An- zahl der Schaltelemente innerhalb eines Intervalls der Breite 100 ps beträgt 28%.
Es ist zu erkennen, dass der Spitzenstrom der Kurve C im Vergleich zur Kurve A deutlich verringert ist. Im Fall der Simu- lation ist die Stromspitze der Kurve C nur 27% der Stromspitze der Kurve A. Bezugszeichenliste
A, B , C Simulationsergebnisse I Stromprofil I∑ Summenstrom
FFl, FF2, FF3 Scha11e1ement clkl, clk2, clk3 Taktsignal dk Datensignal
T, Tarr-j_va]_ Zeit Tdk Zeitintervall
Npp Anzahl von Schaltereignissen TE Takteingang SE Signaleingang SO Signa1ausgang ZL Zuleitung SV Spannungsversorgung SVE Spannungsversorgungseingang

Claims

Patentansprüche
1. Verfahren zum Erstellen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung mit einem wenigstens zwei synchrone Schaltelemente mit jeweiligen Taktleitungen aufweisenden Schaltwerk, welches folgende Schritte umfasst: a) Bestimmen von synchronen Schaltelementen mit unkritischen Umschaltvoraussetzungen bezüglich einer Signalankunftszeit in Relation zu einer Taktankunftszeit und b) Verschieben der Taktsignalankunftszeit mit Hilfe wenigstens eines Verzögerungselements in der Taktleitung wenigstens eines synchronen Schaltelements mit unkritischen Umschaltvoraussetzungen im Sinne einer Minimierung der Anzahl von gleichzeitig den Schaltzustand wechseln- den synchronen Schaltelementen, wobei das Verschieben der Taktsignalankunftszeit bei synchronen Schaltelementen mit unkritischen Umschaltvoraussetzungen die folgenden Schritte umfasst: c) Verschieben der Taktsignalankunftszeit an einem aus- gewählten synchronen Schaltelement mit unkritischen Umschaltvoraussetzungen mit Hilfe wenigstens eines Verzögerungselements , d) Identifizieren des ausgewählten synchronen Schaltelements als verändertes Schaltelement, e) Neuerfassen der Umschaltvoraussetzungen der synchronen Schaltelemente, f) Überprüfung auf eine Verletzung der neuerfassten Umschaltvoraussetzungen und bei Verletzungsfreiheit g) Wiederholen der Schritte c) bis f) für synchrone Schaltelemente unter Außerachtlassung der identifizierten Schaltelemente.
2. Verfahren gemäß Anspruch 1, bei dem das Verschieben der Taktsignalankunftszeiten bei einem synchronen Schaltelement mit unkritischen Umschaltvoraussetzungen dadurch bewirkt wird, dass das Verzögerungselement mit seinem Verzögerungswert derart bemessen wird, dass die Taktsignalankunftszeit um einen durch ein Verteilungsverfahren ermittelten, innerhalb eines die Umschaltvoraussetzungen wahrenden Zeitintervalls liegenden Verzögerungswert verschoben wird.
3. Verfahren gemäß Anspruch 2 , wobei der Verzögerungswert innerhalb des Zeitintervalls maximal gewählt wird.
4. Verfahren gemäß Anspruch 2, bei dem das Verteilungsverfahren bei mehr als zwei synchronen Schaltelementen mit un- kritischen Umschaltvoraussetzungen auf eine Gleichverteilung der Verzögerungswerte über eine Taktperiode abzielt.
5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem wenigstens ein synchrones Schaltelement aus einem Einzelschaltelement oder aus einer Gruppe von miteinander verbundenen Einzelschaltelementen gebildet ist.
6. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem das Verschieben der Taktsignalankunftszeit bei syn- chronen Schaltelementen mit unkritischen Umschaltvoraussetzungen den folgenden Schritt umfasst: fl) Identifizieren derjenigen synchronen Schaltelemente als veränderte Schaltelemente, bei denen sich die Umschaltvoraussetzungen verändert haben.
7. Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem bei einer Bestimmung von synchronen Schaltelementen mit unkritischen Umschaltvoraussetzungen eine Signalhaltezeit in Relation zur Taktsignalankunftszeit außer Acht gelassen werden.
8. Verfahren gemäß Anspruch 7 , bei dem bei einer Verschiebung der Taktsignalankunftszeit an einem synchronen Schaltelement im Sinne einer Wiederherstellung der Signalhaltezeit mindestens ein Verzögerungselement in eine Signalleitung des syn- chronen Schaltelements eingefügt wird.
9. Computerprogrammprodukt zum automatischen Erzeugen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung, das direkt oder indirekt in den internen Speicher eines Computers geladen werden kann und Koordinierungsabschnitte um- fasst, die ein Verfahren gemäß Anspruch 1 bis 8 ausführen.
10. Layoutvorrichtung mit einem Prozessor, der derart eingerichtet ist, dass er ein Verfahren gemäß Anspruch 1 bis 8 durchführt .
PCT/DE2004/000057 2003-01-17 2004-01-16 Taktbaumstruktur mit verschobenen taktsignalankunftszeiten zur reduktion von stromspitzen Ceased WO2004064477A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10301696.1 2003-01-17
DE10301696A DE10301696A1 (de) 2003-01-17 2003-01-17 Integrierte Halbleiterschaltung mit einer Taktbaumstruktur und Verfahren zum Erstellen einer solchen, sowie Computerprogrammprodukt zum Erzeugen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung

Publications (2)

Publication Number Publication Date
WO2004064477A2 true WO2004064477A2 (de) 2004-08-05
WO2004064477A3 WO2004064477A3 (de) 2004-12-29

Family

ID=32667648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2004/000057 Ceased WO2004064477A2 (de) 2003-01-17 2004-01-16 Taktbaumstruktur mit verschobenen taktsignalankunftszeiten zur reduktion von stromspitzen

Country Status (2)

Country Link
DE (1) DE10301696A1 (de)
WO (1) WO2004064477A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707529B2 (en) 2004-10-13 2010-04-27 Infineon Technologies Ag Method for the computer-aided ascertainment of a clock tree structure, and integrated semiconductor circuit

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4422784C2 (de) * 1994-06-29 1999-05-27 Texas Instruments Deutschland Schaltungsanordnung mit wenigstens einer Schaltungseinheit wie einem Register, einer Speicherzelle, einer Speicheranordnung oder dergleichen
JP4118536B2 (ja) * 2001-07-03 2008-07-16 株式会社東芝 クロック遅延設定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707529B2 (en) 2004-10-13 2010-04-27 Infineon Technologies Ag Method for the computer-aided ascertainment of a clock tree structure, and integrated semiconductor circuit

Also Published As

Publication number Publication date
WO2004064477A3 (de) 2004-12-29
DE10301696A1 (de) 2004-08-05

Similar Documents

Publication Publication Date Title
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE69330294T2 (de) Inter-hierarchisches Synchronisationssystem und LSI, das dieses System verwendet
DE69815686T2 (de) Zeitgeber mit kurzer erholungszeit zwischen den pulsen
DE60103608T2 (de) Verfahren und Vorrichtung zur Analyse der Wellenform eines Quellenstroms in einer integrierten Halbleiterschaltung
DE102005060394A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
DE102013114097A1 (de) Vorgelagerte Schaltregler-Steuereinheit zum vorübergehenden Speichern von Strom
DE10228562A1 (de) Taktsteuerschaltung
DE102012219056A1 (de) Störimpulsfreier programmierbarer Taktformer
DE10235740A1 (de) Register, das zum Korrespondieren mit einem Breitfrequenzband geeignet ist, und Signalerzeugungsverfahren, das dasselbe verwendet
DE3850808T2 (de) Erzeugung von Taktimpulsen.
DE112013005833T5 (de) Analyse zeitlicher Leitungsengpässe zur Steuerung einer Optimierung mit nützlichem Versatz
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE19534735C2 (de) Taktflankenformungsschaltung und -verfahren für IC-Prüfsystem
DE69032145T2 (de) Schnittstellensteuerungssystem
DE10261768A1 (de) Schaltkreis zur Steuerung eines AC-Zeitsteuerungsparameters eines Halbleiterspeicherbauelements und zugehöriges Verfahren
DE3788783T2 (de) Multiplexer für Taktsignale.
DE69726233T2 (de) Taktschema
DE10310065B4 (de) Verfahren und Vorrichtung für eine Verzögerungsverriegelungsschleife
DE10205559B4 (de) Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung
DE69106422T2 (de) Multiplexierungsanordnung für Taktsignale.
DE102005044333A1 (de) Master-Slave Flip-Flop für den Einsatz in synchronen Schaltungen und Verfahren zum Reduzieren von Stromspitzen beim Einsatz von Master-Slave Flip-Flops in synchronen Schaltungen
DE10297600T5 (de) Gerät und Verfahren zur Verarbeitung von Ereignissen für ereignisbasierte Hochgeschwindigkeitstestsysteme
DE102006020186A1 (de) Vorrichtung und Verfahren von Verzögerungsberechnung für strukturierte ASIC
WO2004064477A2 (de) Taktbaumstruktur mit verschobenen taktsignalankunftszeiten zur reduktion von stromspitzen
DE10006144B4 (de) Zeitgeberschaltung und Verfahren zur Erzeugung einer Zeitsteuerung für ein Halbleiterprüfsystem

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase