WO2008007026A2 - Procédé de modélisation de l'activité de commutation d'un circuit numérique - Google Patents

Procédé de modélisation de l'activité de commutation d'un circuit numérique Download PDF

Info

Publication number
WO2008007026A2
WO2008007026A2 PCT/FR2007/051646 FR2007051646W WO2008007026A2 WO 2008007026 A2 WO2008007026 A2 WO 2008007026A2 FR 2007051646 W FR2007051646 W FR 2007051646W WO 2008007026 A2 WO2008007026 A2 WO 2008007026A2
Authority
WO
WIPO (PCT)
Prior art keywords
cells
circuit
switching
software
time
Prior art date
Application number
PCT/FR2007/051646
Other languages
English (en)
Other versions
WO2008007026A3 (fr
Inventor
Benoit Emmanuel Fabin
François CLEMENT
Original Assignee
Coupling Wave Solutions Cws
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 Coupling Wave Solutions Cws filed Critical Coupling Wave Solutions Cws
Priority to US12/373,483 priority Critical patent/US20100017173A1/en
Priority to JP2009518937A priority patent/JP2009543240A/ja
Publication of WO2008007026A2 publication Critical patent/WO2008007026A2/fr
Publication of WO2008007026A3 publication Critical patent/WO2008007026A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Definitions

  • the present invention relates to a method for modeling the switching activity of a digital circuit.
  • the invention is an alternative to the exhaustive or pseudo-exhaustive simulation for determining the switching activity of a circuit, the invention not being a simulation method.
  • the invention makes it possible to quickly calculate a switching activity model of a circuit, without it being necessary to know precisely the architecture of this circuit.
  • the invention finds a particularly advantageous application in the field of software for the control of signal integrity in a mixed electronic system comprising analog circuits and digital circuits.
  • electronic systems include integrated circuits on a single silicon block, or on several silicon substrates in the same housing, as well as the assembly of components (integrated or not) on a printed circuit.
  • a step consists in checking the integrity of the signals on a system, that is to say to establish a precise map of the noise observable inside the system in order to know if certain circuits sensitive to the noise will work or not.
  • noise generating circuits the aggressors
  • noise sensitive circuits the victims
  • all the circuits of the system can be considered as noise generators (aggressors).
  • the noise generating circuits it is preferable to choose the noise generating circuits in the group comprising: digital circuits, memory cells, analog and radio-frequency (RF) circuits, such as VCOs (Voltage Controlled Oscillator), amplifiers power, and input-output circuits.
  • RF radio-frequency
  • digital circuits tend to generate noise when switching their input signals.
  • a circuit comprising at least one noise generating circuit is itself considered as a noise generating circuit.
  • the noise-sensitive circuits are selected from the group consisting of: analog and RF circuits, such as amplifiers, filters, oscillators, mixers, sample-and-hold devices, memory type digital circuits, phase, input-output circuits and voltage references.
  • analog and RF circuits such as amplifiers, filters, oscillators, mixers, sample-and-hold devices, memory type digital circuits, phase, input-output circuits and voltage references.
  • a circuit comprising at least one noise-sensitive circuit is itself considered to be sensitive to noise.
  • the noise generated by the aggressors spreads to the victims through the substrates on which the circuits, the metal interconnections and the housings are integrated. This noise tends to degrade the performance of the victims.
  • noise is any signal generated by an aggressor block that has an unwanted influence on the victims.
  • the noise observable in such systems is related to the switching activity of the digital cells that make up the digital circuits of the system. In design assistance software, it may therefore be necessary to know the switching activity of the digital part of an
  • a cell that switches is a cell whose inputs change logical state, a logic state (0 or 1) corresponding to a voltage range.
  • the logic state 0 may for example correspond to a voltage between 0 and 5% of the supply voltage of a cell, while the logic state 1 can for example correspond to a voltage between 95 and 100% of the supply voltage of a cell.
  • the cell has internal activity as soon as one of its inputs changes state.
  • the determination of the switching activity, whether medium or bounded can be performed from a SPICE modeling any transistor circuit. This modeling makes it possible to simulate very precisely a switching activity for given input signals, but requires a lot of resources and is only applicable with small circuits.
  • VHDL Very Large Scale Integration in English
  • VLSI circuits Very Large Scale Integration in English
  • the first level is a functional simulation in the strict sense of the cells in which no propagation delay is taken into account.
  • a second level of simulation takes into account the internal cell switching delays (delays to move from one logical state to another).
  • a third level of simulation takes into account the internal delays of switching, as well as the propagation delays of the information on the lines between the cells (wire delay).
  • test patterns For N entries that can take two logical states, 2 ⁇ N * (2 ⁇ N-1) test patterns are to be applied to the primary inputs of the circuit for exhaustive processing; which generates a very long treatment time.
  • the invention proposes to solve the problems of complex implementation of existing techniques and a wider application when the complete architecture of the circuit is not available.
  • the invention results from a simple observation on the manner in which the signals are transmitted within a digital circuit.
  • the cells connected to the inputs of this circuit switch and transmit a signal to the following cells connected to them, the signals thus transmitting gradually into the circuit.
  • the switching activity therefore increases until a peak of activity is reached. Then the activity decreases until the different cells have switched for that clock signal or this excitation signal. It is therefore possible, by experiment, to apply switching activity profile models that generically respond to this observation on the evolution of the switching activity.
  • These activity profiles can be derived from known statistical distribution models, such as Normal distribution or Poisson distribution.
  • the choice of the statistical distribution most relevant to the observation that has been made is the Poisson distribution, which introduces the notion of "service” of digital cells or "queue”. This notion of service is thus matched to the number of cells that can switch for a particular excitation signal.
  • the Poisson distribution thus indicates the amount of cells that switched over time (the area of the distribution), to finally give a total area representative of the number of cells that switched for a clock edge or an excitation signal. given.
  • the Poisson mathematical model is empirically adapted to physical criteria that account for the actual switching activity of the cells.
  • the model is adapted to physical parameters according to which it is likely that the distribution of switching times varies with time.
  • the distribution of Poisson as it has been adapted is thus parameterizable according to the number of cells capable of switching (estimation or determination), the average fanout value encountered for each cell, and the minimum transmission delay. information from one cell to another.
  • the fate of each cell gives the number of cells connected at the output of each cell considered. While the minimum period of Transmission is the minimum of the sum of the delay of switching of a cell (delay delay in English) and the delay of transmission of the signals on the interconnections between two cells (wire delay in English).
  • Poisson distribution has the advantage of allowing the modeling of the switching activity inside a digital circuit without knowing precisely the complete description of the cells of this circuit and the connections between them. Indeed, simply with an indication of the cell population (number of cells, average fanout, etc.), we can model the switching activity of the circuit early in the design flow, for example before the logical synthesis of the digital circuit. .
  • the invention therefore relates to a method of modeling a switching activity of a digital circuit, this digital circuit comprising cells interconnected by interconnections, these cells switching at a time when at least one of their inputs changes from state, successive commutations of the cells of the circuit occurring during a clock period TcIk of this circuit, this clock period TcIk being the delay on which a signal applied to the input of the circuit is processed by the cells of this digital circuit, characterized in that, the clock period being divided into time slots, it comprises the following steps: - calculating, from a suitable statistical model, the number of cells that can switch over each time interval of the period of time; clock, and
  • FIG. 1 a graphical representation of a statistical model according to the invention of a switching activity developed from a Poisson model and a schematic representation of the distribution of the switching intervals to the different cells of a digital circuit.
  • FIG. 2 an algorithm according to the invention ensuring the adaptation of the Poisson's law to obtain discrete values of cells able to switch during the time slots of a clock period;
  • FIG. 3 a schematic representation of several activity profiles according to the invention of a circuit during a clock period, the Poisson activity model taking into account several stimuli in a reference period of one electronic system;
  • FIG. 4 a schematic representation of steps of a variant of the invention in which the Poisson distribution is divided into equal areas corresponding to the calls of the same number of cells in a given time interval.
  • FIG. 1 shows a schematic representation of a mixed electronic system 1 comprising analog blocks 2.1 -2.Q and digital blocks 3.1-3. K.
  • the digital block 3.3 has cells 4.1-4. L digital. Each cell 4.1-4. L has one or more logic gates and perform a particular function. These cells 4.1 -4.L are interconnected via interconnections 6. The state changes of these cells 4.1-4. L are synchronized by a clock signal CLK applied to clock inputs of block 3.3.
  • This clock signal CLK has a period TcIk which is the period over which a signal applied to primary inputs E1-EN of the block is processed by the cells 4.1-4. L of block 3.3.
  • the Poisson's law has thus been adapted to the mean quantization of the fa cells and to the number of cells capable of switching Na, k being a positive integer.
  • Na is the number of cells of the circuit that can be called over a clock period TcIk, that is to say those likely to receive a variation on their inputs.
  • Na L / 2 is chosen, which is representative of the average switching activity of a digital block.
  • netlist contains information about 4.1 -4.L cells and the interconnections between these cells. If such information is not available, it is known from experience that the average fanout of an electronic circuit can be 2, 3 or 4 as the first hypothesis.
  • Tclk / tm. tm is the minimum transmission time of information from one cell to another within block 3.3.
  • the duration tm is defined by the minimum duration separating two commutations of two successive cells, one being connected to the input of the other and controlling it.
  • the duration tm results from the combination of two delays. The first is the switching delay of a cell which is the time for the cell to change state when one of its inputs receives a rising or falling edge.
  • the second is the signal transmission delay between the cells which corresponds to the signal propagation delay on the interconnections between cells linked in particular to the RC networks of lines and to the cell input capacitors.
  • the time tm can be determined from manufacturer data of cells 4.1-4. L.
  • the duration tm which is a duration less than TcIk 1, could also be a constant value other than the minimum duration separating two commutations of two successive cells.
  • the rounding to the nearest integer of S [i] .tm is determined and this integer round is associated with the corresponding interval.
  • the number of cells capable of switching over the time interval [t0; t1 [ is equal to the integer part of (2,15.tm).
  • a graph 12 in sticks is then obtained, the area of each stick 13 giving an integer number of cells capable of switching for each time interval [tk; tk + 1 [.
  • the area of the set of sticks 13 is equal to the total number of cells that can be called (ie switched) during a clock period TcIk.
  • the instructions of Part A of the algorithm of Figure 2 which are included within a loop implemented for each interval [tk; tk + 1 [, allow the calculation of the integer number of cells switching over an interval.
  • the difference 14 between the real value of the area and the rounding to the nearest integer of this area is kept in memory and accumulated with the other differences existing on the other intervals [tk; tk + 1 [.
  • this whole part positive or negative
  • this whole part is added to the number of cells that can switch to the next interval. This ensures that the total area of the bars 13 is equal to Na. In other words, one redistributes on the whole of the graph 12 the differences that can exist between the value of the area of the stick and the rounding with the integer closest to this area.
  • Part B of the algorithm of Figure 2 includes instructions for redistributing the calculated differences.
  • the variable "difference” corresponds to the accumulation of differences between the values real cells and round to the nearest integer of these values.
  • the integer part (INT) of the variable "difference” is added to the number of cells that can switch over the time interval, if this integer part is not 0.
  • the differences can be compensated naturally and it is not necessary to perform this compensation calculation to implement the method according to the invention.
  • Part D of the algorithm of FIG. 2 thus makes it possible to assign a non-zero value to the variable "Cells_called_in_delay" representing, we have seen, the number of cells likely to be called on an interval, when the number of cells on this interval should be zero according to the algorithm, but that the area of the Poisson curve is not equal to the number cells (Na) that can switch in block 3.3.
  • the variable "difference" of 1 is decremented to compensate for the interval that has been assigned to the interval.
  • a random delay is assigned to each cell over each time interval [tk; tk + 1 [.
  • this delay is worth k.tm + rand ().
  • tm, rand () being a function giving a random value between 0 and 1. This choice makes it possible to smooth current calls within a time interval [tk; tk + 1 [during which the call is made over an interval and not strictly at times k.tm with k integer (which might also be possible).
  • two cells are randomly assigned to each other and assigned a switching instant equal to, for example, tm + 0.1tm and tm + 0.3tm with respect to the beginning of the clock period.
  • tm + 0.1tm and tm + 0.3tm with respect to the beginning of the clock period.
  • the draws of the cells are carried out without discount. that is, once a cell has been drawn, it can no longer be drawn.
  • the distribution of the switching instants of the cells 4.1 -4.L of the block 3.3 occurs each time a rising edge 17 or a falling edge 18 of a clock signal CLK or reference signal is observable.
  • a single reference signal is defined for all digital blocks of the electronic system.
  • K may have several switching activity profiles 12 over a TcIk clock period, the same activity profile repeating itself within the period clock. Two successive profiles 12 may be separated from each other by a non-zero delay.
  • the multiplication of the profiles is also observable on different fronts, for example on the rising edge and on the falling edge of the clock.
  • the digital block 3 operates at a frequency four times greater than that of the clock signal CLK.
  • Td time delay between the beginning of the reference period of the TcIk system and the start of the switching activity of the digital block 3.1-3.
  • K time delay
  • This offset Td can for example be due to a response time of the digital block 3.1-3. K linked to the clock signal that passes through other circuits or by a clocktree in English before being applied to the digital block.
  • the mixed system 1 comprising several digital circuits 3.1-3. K
  • cells 4.1-4 are associated. L of the noise injection spectra and a delay with respect to the clock edge for the effective call time of the injected noise waveform, this delay being calculated using Poisson modeling. 12. For each cell, a resulting spectrum is obtained which is the spectrum multiplied by a frequency delay operator. It is then possible to combine these resulting spectra to calculate the overall noise of a block. And it is then possible to combine these block noises to calculate the overall noise injected into the system 1 for a given switching activity model.
  • the area of the curve P (t) indicates the number of cells likely to switch for a time interval associated with this area.
  • the total area 31 of the curve P (t) is thus equal to the total number Na of cells of the digital circuit capable of switching.
  • the Na cells considered as likely to switch are chosen at random in the same manner as previously.
  • n 6 Na being a multiple of 6.
  • F (t) is solved for different values of the number of cells called, these values being multiples of the number of cells. Nope.
  • rand () is a random function giving a value between 0 and 1.
  • rand () is a random function giving a value between 0 and 1.
  • the switching pattern can be repeated several times within a clock period TcIk.
  • the various steps of the method according to the invention can be implemented by an electronic circuit or with the aid of software executed by a computer, the software being recorded on a support of the floppy disk type, CD, DVD, USB memory, or any other equivalent medium.
  • the invention extends to the circuit manufacturing method comprising a preliminary step of modeling the switching activity according to the invention, as well as the software for implementing the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Logiciel ou circuit électronique mettant en oeuvre un procédé de modélisation d'une activité de commutation d'un circuit numérique (3.3), ce circuit numérique (3.3) comportant des cellules (4.1-4. L) reliées entre elles par des interconnexions (6), ces cellules (4.1-4. L) commutant à un instant où au moins une de leurs entrées change d'état, des commutations successives des cellules du circuit (3.3) se produisant pendant une période d'horloge TcIk de ce circuit, cette période d'horloge Tσlk étant le délai sur lequel un signal appliqué en entrée du circuit est traité par les cellules de ce circuit numérique (3.3), caractérisé en ce que, la période d'horloge étant divisée en intervalles de temps [tk, tk+l[, il comporte les étapes suivantes: - calculer, à partir d'un modèle statistique adapté le nombre de cellules susceptibles de commuter sur chaque intervalle de temps [tk, tk+1 [ de la période d'horloge, et - attribuer des instants de commutation aux différentes cellules (4.1-4. L) du circuit numérique (3.3), à partir de la connaissance du nombre de cellules susceptibles de commuter sur les intervalles [tk,- tk+1 [ de temps.

Description

Procédé de modélisation de l'activité de commutation d'un circuit numérique
La présente invention concerne un procédé de modélisation de l'activité de commutation d'un circuit numérique. L'invention est une alternative à la simulation exhaustive ou pseudo-exhaustive pour déterminer l'activité de commutation d'un circuit, l'invention n'étant pas une méthode de simulation. L'invention permet de calculer rapidement un modèle d'activité de commutation d'un circuit, sans qu'il soit nécessaire de connaître précisément l'architecture de ce circuit.
L'invention trouve une application particulièrement avantageuse dans le domaine des logiciels pour le contrôle d'intégrité de signaux dans un système électronique mixte comportant des circuits analogiques et des circuits numériques. A titre d'exemple non restrictif, les systèmes électroniques englobent les circuits intégrés sur un bloc de silicium unique, ou sur plusieurs substrats silicium dans un même boîtier, aussi bien que l'assemblage de composants (intégrés ou non) sur un circuit imprimé.
La fabrication de ces systèmes électroniques est une opération très onéreuse, particulièrement lorsque le système comporte un ou plusieurs composants intégrés sur silicium. Ainsi, avant de démarrer une fabrication en grande série, il est indispensable de contrôler tous les paramètres de fabrication, et de conférer à certains des valeurs qui permettent de maximiser la probabilité que le circuit fabriqué fonctionne correctement. A cette fin, il existe un ensemble de produits logiciels, appelés «outils d'automatisation de conception électronique», qui permettent d'aider à la conception de systèmes électroniques depuis la description des spécifications du système à réaliser jusqu'à la réalisation des masques photographiques utilisés lors de la fabrication du système. Un des éléments importants dans la conception d'un système électronique est de quantifier le bruit produit par les circuits, notamment dans un système mixte. En effet, avant fabrication, une étape consiste à vérifier l'intégrité des signaux sur un système, c'est-à-dire à établir une cartographie précise du bruit observable à l'intérieur du système afin de savoir si certains circuits sensibles au bruit vont fonctionner ou pas. A cet effet, on identifie des circuits générateurs de bruit (les agresseurs) et des circuits sensibles au bruit (les victimes). Plus précisément, tous les circuits du système peuvent être considérés comme générateurs de bruit (agresseurs). Toutefois, il est préférable de choisir les circuits générateurs de bruit dans le groupe comportant : les circuits numériques, les cellules mémoires, des circuits analogiques et radio- fréquenciels (RF), tels que les VCO (Voltage Controlled Oscillator en anglais), les amplificateurs de puissance, et les circuits d'entrée-sortie. En particulier, les circuits numériques ont tendance à générer du bruit au moment des commutations de leurs signaux d'entrée. Bien entendu, un circuit comportant au moins un circuit générateur de bruit est lui-même considéré comme un circuit générateur de bruit.
Les circuits sensibles au bruit (victimes) sont choisis dans le groupe comportant : les circuits analogiques et RF, tels que les amplificateurs, les filtres, les oscillateurs, les mélangeurs, les échantilloneurs-bloqueurs, des circuits numériques de type mémoire, les boucles de phase, les circuits d'entrée-sortie et les références de tension. Bien entendu, un circuit comportant au moins un circuit sensible au bruit est lui-même considéré comme sensible au bruit. Le bruit généré par les agresseurs se répand vers les victimes en passant par les substrats sur lesquels sont intégrés les circuits, les interconnections métalliques et les boîtiers. Ce bruit a tendance à dégrader les performances des victimes. Ainsi, on entend par bruit tout signal généré par un bloc agresseur qui a une influence non désirée sur les victimes. Plus précisément, le bruit observable dans de tels systèmes est lié à l'activité de commutation des cellules numériques qui composent les circuits numériques du système. Dans les logiciels d'aide à la conception, il peut donc être nécessaire de connaître l'activité de commutation de la partie numérique d'un circuit intégré, c'est-à-dire connaître les instants où chaque cellule commute, pour déterminer à quel moment les cellules injectent du bruit à l'intérieur du système électronique.
Une cellule qui commute est une cellule dont les entrées changent d'état logique, un état logique (0 ou 1 ) correspondant à une plage de tension. L'état logique 0 peut par exemple correspondre à une tension comprise entre 0 et 5% de la tension d'alimentation d'une cellule, tandis que l'état logique 1 peut par exemple correspondre à une tension comprise entre 95 et 100% de la tension d'alimentation d'une cellule. La cellule présente une activité interne dès qu'une de ses entrées change d'état.
Dans la problématique particulière des logiciels de vérification d'intégrité des signaux sur les systèmes intégrés avant mise en fabrication, il peut être utile de déterminer les bornes de l'activité de commutation régnant dans ce circuit. Ainsi, il peut être utile de déterminer l'activité maximale pour laquelle le plus grand nombre de cellules du circuit commutent, l'activité minimale pour laquelle le moins de cellules du circuit commutent, ou l'activité moyenne c'est-à-dire l'activité la plus souvent observable lors d'un fonctionnement du circuit. De ces activités maximale, minimale ou moyenne, on peut déduire des informations de dimensionnement d'alimentation, comme la puissance maximale consommée par un circuit, et/ou des éléments pour reconstituer le bruit généré maximal, minimal ou moyen généré par ce circuit.
Dans le cadre des méthodes connues, pour déterminer l'activité de commutation d'un circuit numérique, on simule de manière exhaustive ou pseudo-exhaustive le comportement des circuits. Dans une simulation exhaustive, on applique toutes les combinaisons de signaux d'entrée (ou pattern de test) possibles aux entrées primaires du circuit, c'est-à-dire les entrées contrôlables de l'extérieur. Et on observe alors à quels moments chaque cellule commute en fonction de leurs signaux d'entrée respectifs.
Tandis que dans une simulation pseudo-exhaustive, on applique sur des entrées du circuit certaines combinaisons de signaux qui peuvent être tirées au sort parmi toutes les combinaisons possibles. On construit alors un estimateur de l'activité de commutation à partir d'un échantillon de cas par rapport à la totalité des patterns de test possibles.
La détermination de l'activité de commutation, qu'elle soit moyenne ou bornée peut être réalisée à partir d'une modélisation SPICE tout transistor du circuit. Cette modélisation permet de simuler très précisément une activité de commutation pour des signaux d'entrée donnés, mais nécessite beaucoup de ressources et n'est applicable qu'avec des circuits de petite taille.
Il est aussi possible de simuler l'activité de commutation à partir de modèles comportementaux (VHDL, VERILOG) utilisés dans la simulation de circuits VLSI (Very Large Scale Intégration en anglais) pouvant comporter un très grand nombre de portes logiques, soit quelques millions de portes logiques dans un exemple.
Les méthodes de simulation comportementale présentent différents niveaux de simulation. Le premier niveau est une simulation fonctionnelle stricto sensu des cellules dans laquelle aucun délai de propagation de l'information n'est pris en compte. Un deuxième niveau de simulation prend en compte les délais internes de commutation des cellules (délais pour passer d'un état logique à un autre). Un troisième niveau de simulation prend en compte les délais internes de commutation, ainsi que les délais de propagation de l'information sur les lignes entre les cellules (wire delay).
Toutefois, les techniques de simulation comportementale ou détaillée de type SPICE nécessitent d'utiliser un grand nombre de motifs de test pour calculer une activité moyenne et/ou bornée. En effet, pour N entrées pouvant prendre deux états logiques, 2ΛN*(2ΛN-1) patterns de test sont à appliquer aux entrées primaires du circuit pour un traitement exhaustif ; ce qui engendre un temps de traitement très long.
D'autres méthodes, telles que la simulation par résolution de graphes, les réseaux de Pétri, des méthodes basées sur les chaînes de Markov, ou des matrices de probabilités permettent également de déterminer l'activité de commutation des cellules. Ces techniques non simulatives sont basées sur le comportement stochastique de chaque cellule et génèrent des données de comportement du circuit numérique. Avec ces techniques, le circuit numérique ne réagit pas de manière précise à des patterns de test limités, mais à un comportement moyen des cellules. Toutefois, ces techniques de résolution de graphes ne font ressortir que l'activité moyenne du circuit.
En outre, que ce soit les techniques de simulation ou les techniques s'appuyant sur la résolution de graphes, elles nécessitent de connaître toute l'architecture du circuit. Une estimation de l'activité de commutation lors d'étapes de floorplanning, ou de simulation RTL, lorsque l'on ne connaît que le nombre de portes du circuit, c'est-à-dire une estimation de l'activité de commutation avant la synthèse logique n'est donc pas possible avec les méthodes connues.
L'invention se propose de résoudre les problèmes de mise en œuvre complexe des techniques existantes et une application plus large quand on ne dispose pas de l'architecture complète du circuit. L'invention résulte d'un constat simple sur la façon dont se transmettent les signaux au sein d'un circuit numérique. Lors de l'excitation du circuit numérique par un signal d'horloge et/ou l'application d'un signal d'excitation sur des entrées de ce circuit, les cellules connectées aux entrées de ce circuit commutent et transmettent un signal aux cellules suivantes qui leur sont reliées, les signaux se transmettant ainsi de proche en proche à l'intérieur du circuit. L'activité de commutation augmente donc jusqu'à atteindre un pic d'activité. Puis l'activité décroît jusqu'à ce que les différentes cellules aient commuté pour ce signal d'horloge ou ce signal d'excitation. On peut donc, par expérience, appliquer des modèles de profil d'activité de commutation qui répondent génériquement à ce constat sur l'évolution de l'activité de commutation. Ces profils d'activité peuvent être issus de modèles de distribution statistique connus, comme la distribution Normale ou la distribution de Poisson. Le choix de la distribution statistique la plus pertinente au constat qui a été fait est la distribution de Poisson, qui introduit la notion de « service » des cellules numériques ou de « file d'attente ». On établit ainsi une correspondance entre cette notion de service et le nombre de cellules susceptibles de commuter pour un signal d'excitation particulier. La distribution de Poisson indique ainsi la quantité de cellules ayant commuté au cours du temps (l'aire de la distribution), pour finalement donner une aire totale représentative du nombre de cellules ayant commuté pour un front d'horloge ou un signal d'excitation donné.
A cet effet, le modèle mathématique de Poisson est adapté, de manière empirique, à des critères physiques qui rendent compte de l'activité de commutation réelle des cellules. Autrement dit, le modèle est adapté à des paramètres physiques en fonction desquels il est vraisemblable que la distribution des instants de commutation varie en fonction du temps.
La distribution de Poisson telle qu'elle a été adaptée est ainsi paramétrable selon le nombre de cellules susceptibles de commuter (estimation ou détermination), la valeur de la sortance (fanout en anglais) moyenne rencontrée pour chaque cellule, et le délai minimum de transmission de l'information d'une cellule à une autre.
La sortance de chaque cellule donne le nombre de cellules branchées en sortie de chaque cellule considérée. Tandis que le délai minimum de transmission est le minimum de Ia somme du délai de commutation d'une cellule (gâte delay en anglais) et du délai de transmission des signaux sur les interconnexions entre deux cellules (wire delay en anglais).
Une telle distribution de Poisson présente l'avantage de permettre la modélisation de l'activité de commutation à l'intérieur d'un circuit numérique sans connaître précisément la description complète des cellules de ce circuit et des connexions entre elles. En effet, simplement avec une indication sur la population des cellules (nombre de cellules, fanout moyen, etc.), on peut modéliser l'activité de commutation du circuit tôt dans le flot de conception, par exemple avant la synthèse logique du circuit numérique.
A partir de l'analyse de cette activité de commutation, on peut notamment dimensionner les alimentations, et associer des instants de commutation à des macro-modèles de cellules modélisant une injection de bruit afin d'établir une cartographie du bruit dans le système mixte. L'invention concerne donc un procédé de modélisation d'une activité de commutation d'un circuit numérique, ce circuit numérique comportant des cellules reliées entre elles par des interconnexions, ces cellules commutant à un instant où au moins une de leurs entrées change d'état, des commutations successives des cellules du circuit se produisant pendant une période d'horloge TcIk de ce circuit, cette période d'horloge TcIk étant le délai sur lequel un signal appliqué en entrée du circuit est traité par les cellules de ce circuit numérique, caractérisé en ce que, la période d'horloge étant divisée en intervalles de temps, il comporte les étapes suivantes : - calculer, à partir d'un modèle statistique adapté le nombre de cellules susceptibles de commuter sur chaque intervalle de temps de la période d'horloge, et
- attribuer des instants de commutation aux différentes cellules du circuit numérique, à partir de la connaissance du nombre de cellules susceptibles de commuter sur les intervalles de temps.
L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Ces figures ne sont données qu'à titre illustratif mais nullement limitatif de l'invention. Ces figures montrent : - figure 1 : une représentation graphique d'un modèle statistique selon l'invention d'une activité de commutation élaboré à partir d'un modèle de Poisson et une représentation schématique de la distribution des intervalles de commutation aux différentes cellules d'un circuit numérique ; - figure 2 : un algorithme selon l'invention assurant l'adaptation de la loi de Poisson pour obtenir des valeurs discrètes de cellules susceptibles de commuter pendant les intervalles de temps d'une période d'horloge ;
- figure 3 : une représentation schématique de plusieurs profils d'activité selon l'invention d'un circuit lors d'une période d'horloge, le modèle d'activité de Poisson prenant en compte plusieurs stimuli dans une période de référence d'un système électronique ;
- figure 4 : une représentation schématique d'étapes d'une variante de l'invention dans laquelle on découpe la distribution de Poisson en aires égales correspondant aux appels du même nombre de cellules dans un intervalle de temps donné.
Les éléments identiques conservent la même référence d'une figure à l'autre.
La figure 1 montre une représentation schématique d'un système électronique mixte 1 comportant des blocs analogiques 2.1 -2.Q et des blocs numériques 3.1-3. K. Le bloc 3.3 numérique comporte des cellules 4.1-4. L numériques. Chaque cellule 4.1-4. L comporte une ou plusieurs portes logiques et réalisent une fonction particulière. Ces cellules 4.1 -4.L sont reliées entre elles par l'intermédiaire d'interconnexions 6. Les changements d'état de ces cellules 4.1-4. L sont synchronisés par un signal d'horloge CLK appliqué sur des entrées d'horloge du bloc 3.3.
Ce signal d'horloge CLK possède une période TcIk qui est la période sur laquelle un signal appliqué sur des entrées primaires E1-EN du bloc est traité par les cellules 4.1-4. L du bloc 3.3.
Pour déterminer le modèle d'activité de commutation du bloc numérique 3.3 par exemple, on utilise la loi de Poisson discrète adaptée d'équation
D[k] = eΛλ.^.Na Id
Figure imgf000010_0001
La loi de Poisson a ainsi été adaptée à la sortance moyenne des cellules fa et au nombre de cellules susceptibles de commuter Na , k étant un nombre entier positif.
Plus précisément, Na est le nombre de cellules du circuit susceptibles d'être appelées sur une période d'horloge TcIk, c'est-à-dire celles susceptibles de recevoir une variation sur leurs entrées. Na est utilisé pour faire correspondre l'aire unitaire (=1 ) de la distribution de Poisson à un nombre de cellules Na.
On peut choisir Na égal au nombre de cellules L du bloc 3.3. Toutefois, en général, on choisit un nombre de cellules susceptibles de commuter inférieur au nombre de cellules total du circuit, car une cellule dont les entrées changent d'état peut avoir une sortie qui ne change pas d'état. Or les cellules suivantes connectées après une telle cellule ne reçoivent aucune modification de leurs entrées. Ainsi, dans le cas où peu d'information technique est disponible sur le circuit, on choisit Na=L/2, qui est représentatif de l'activité de commutation moyenne d'un bloc numérique.
En variante, pour déterminer Na, on peut résoudre un graphe avec les probabilités d'appel sur les cellules et les probabilités de changement d'état des différents noeuds entre cellules, un nœud correspondant à une interconnexion entre plusieurs cellules. fa est le fanout moyen ou sortance moyenne des cellules en commutation du circuit, c'est-à-dire le nombre moyen de cellules connectées en sortie de chaque cellule du circuit. Par exemple, pour un circuit qui possède une première cellule ayant une sortie connectée à des entrées de deux autres cellules et une deuxième cellule ayant une sortie connectée à une entrée d'une autre cellule, la sortance vaut (2+1 )/2=1.5.
Dans la pratique, on peut déterminer la sortance moyenne à partir d'une liste d'informations sur le bloc 3.3 appelée netlist. Cette netlist comporte des informations sur les cellules 4.1 -4.L et les interconnexions entre ces cellules. Si de telles informations ne sont pas disponibles, on sait par expérience que le fanout moyen d'un circuit électronique peut valoir 2, 3 ou 4 comme première hypothèse. On adapte en outre la distribution discrète en faisant correspondre les unités de temps discrètes k à des instants tk=k*tm. k est un nombre entier appartenant à [0 ; int(Tclk/tm)], int(Tclk/tm) représentant la partie entière de
Tclk/tm. tm est la durée de transmission minimale de l'information d'une cellule à une autre à l'intérieur du bloc numérique 3.3.
La durée tm est définie par la durée minimale séparant deux commutations de deux cellules successives l'une étant branchée en entrée de l'autre et la contrôlant. La durée tm résulte de la combinaison de deux délais. Le premier est le délai de commutation d'une cellule qui est le temps pour que la cellule change d'état quand une de ses entrées reçoit un front montant ou descendant. Le deuxième est le délai de transmission des signaux entre les cellules qui correspond au délai de propagation des signaux sur les interconnexions entre cellules liée notamment aux réseaux RC de lignes et aux capacités d'entrée de cellules. Le délai tm peut être déterminé à partir de données constructeur des cellules 4.1-4. L. La durée tm, qui est une durée inférieure à TcIk1 pourrait être aussi une valeur constante autre que la durée minimale séparant deux commutations de deux cellules successives.
Dans un mise en œuvre, on calcule les valeurs de D[k] pour k entier appartenant à [O...int(Tclk/tm)], et on associe ces valeurs à des instants discrets tk=k.tm. On obtient alors les points représentés à la figure 1. Il est à noter que la distribution discrète D[k] de cette figure a été obtenue pour le bloc 3.3 avec Na=50, fa =2, tm=1 ms et TcIk=I 7ms.
On calcule ensuite les valeurs de la distribution pour des intervalles de temps [tk ; tk+1[. On réalise à cet effet une interpolation linéaire entre D[k] et D[k+1] à l'aide de la formule suivante :
S[i]=(D[k+1]+D[k])/2
Avec i, intervalle, qui est un entier appartenant à [0; int(Tclk/tm)-1], int (Tclk/tm) représentant la partie entière de Tclk/tm. Ainsi, par exemple, si D[O]=I et D[1]=3.3, l'interpolation linéaire sur
[tO ; t1 [ vaut S[i]=2.15.
En multipliant la partie entière de S[i] par l'intervalle de temps tm, on obtient des valeurs approchées de l'aire de la distribution de Poisson sur chaque intervalle de temps. Autrement dit, on obtient une valeur approchée du nombre de cellules susceptibles de commuter dans cet intervalle de temps. Les valeurs ainsi obtenues sont des valeurs réelles.
Pour adapter ces valeurs réelles calculées à la réalité dans laquelle un nombre entier de cellules est appelé sur un intervalle de temps donné, on redistribue les valeurs réelles de S[i].tm en valeurs entières.
On détermine à cet effet l'arrondi à l'entier le plus proche de S[i].tm et on associe cet arrondi entier à l'intervalle correspondant. Ainsi le nombre de cellules susceptibles de commuter sur l'intervalle de temps [tO ; t1 [ est égal à la partie entière de (2,15.tm). On obtient alors un graphe 12 en bâtons, l'aire de chaque bâton 13 donnant un nombre entier de cellules susceptibles de commuter pour chaque intervalle de temps [tk ; tk+1 [. L'aire de l'ensemble des bâtons 13 est égale au nombre total de cellules susceptibles d'être appelées (autrement dit de commuter) pendant une période d'horloge TcIk. Les instructions de la partie A de l'algorithme de la figure 2, qui sont incluses à l'intérieur d'une boucle mise en oeuvre pour chaque intervalle [tk ; tk+1 [, permettent de réaliser le calcul du nombre entier de cellules commutant sur un intervalle. A cet effet, on définit la variable « Sub_area » qui est égale à S[i] multiplié par tm. Et on calcule avec la fonction ROUND l'arrondi à l'entier le plus proche de cette variable que l'on stocke dans la variable « Cells_called_in_delay » qui est égale à l'aire d'un bâton 13 pouvant correspondre à un nombre physique (entier) de cellules appelées dans un intervalle.
Par ailleurs, la différence 14 qui existe entre la valeur réelle de l'aire et l'arrondi à l'entier le plus proche de cette aire est conservée en mémoire et cumulée avec les autres différences existant sur les autres intervalles [tk ; tk+1 [. Lorsque la partie entière de cette différence est non nulle, on ajoute cette partie entière (positive ou négative) au nombre de cellules susceptibles de commuter sur l'intervalle suivant. On s'assure ainsi que l'aire totale des barres 13 est égale à Na. Autrement dit, on redistribue sur l'ensemble du graphe 12 les différences pouvant exister entre la valeur de l'aire du bâton et l'arrondi à l'entier le plus proche de cette aire.
La partie B de l'algorithme de la figure 2 comporte des instructions permettant une redistribution des différences 14 calculées. A cette fin, la variable « différence » correspond au cumul des différences entre les valeurs de cellules réelles et l'arrondi à l'entier le plus proche de ces valeurs. La partie entière (INT) de la variable « différence » est ajoutée au nombre de cellules susceptibles de commuter sur l'intervalle de temps, si cette partie entière est différente de 0. Toutefois, en général, entre les arrondis à l'entier supérieur et les arrondis à l'entier inférieur, les différences peuvent se compenser naturellement et il n'est alors pas nécessaire de réaliser ce calcul de compensation pour mettre en oeuvre le procédé selon l'invention.
En outre, dans le procédé selon l'invention, on considère que, sur le premier intervalle [tO ; t1 [ de temps, au moins une cellule commute, même si l'arrondi à l'entier le plus proche de ce nombre de cellules en commutation sur ce premier intervalle vaut 0. Un tel choix permet d'approcher au mieux le comportement des cellules pendant la commutation puisqu'il est évident qu'au début de l'activité de commutation du bloc 3.3 au moins une cellule commute. Toutefois, il n'est pas nécessaire de considérer qu'au moins une cellule commute sur le premier intervalle ]tθ ; t1] de temps pour mettre en œuvre le procédé selon l'invention.
La partie C de l'algorithme de la figure 2 comporte donc des instructions permettant de s'assurer qu'au moins une cellule commute dans le premier intervalle de temps. A cette fin, s'il s'agit du premier intervalle (k=1 ) et que le nombre de cellules susceptibles de commuter sur cet intervalle est égal à 0 (Cells_calledjn_delay=0), alors on attribue la valeur 1 au nombre de cellules susceptibles de commuter dans ce premier intervalle. De ce fait, on décrémente la variable « différence » de 1.
On conserve également la continuité dans la commutation des cellules qui est observable lors du fonctionnement du circuit. En effet, dans la réalité, lorsqu'il n'y a plus de cellule qui commute, cela signifie que toutes les cellules susceptibles de commuter ont commuté. On évite donc d'assigner des valeurs nulles de cellules à un intervalle [tk ; tk+1 [ alors que toutes les cellules du circuit susceptibles de commuter n'ont pas encore été appelées. Autrement dit, on évite de laisser des intervalles sans cellules commutant, et de reprendre la commutation plus tard, car ces intervalles sans commutation seraient incohérents dans la continuité du traitement de l'information assuré par le circuit.
La partie D de l'algorithme de la figure 2 permet ainsi d'assigner une valeur non nulle à la variable « Cells_called_in_delay » représentant, on l'a vu, le nombre de cellules susceptibles d'être appelées sur un intervalle, lorsque le nombre de cellules sur cet intervalle devrait être égal à zéro selon l'algorithme, mais que l'aire de la courbe de Poisson n'est pas égale au nombre de cellules (Na) susceptibles de commuter dans le bloc 3.3. On décrémente là encore la variable « différence » de 1 pour compenser, sur l'intervalle suivant, cette cellule qui a été attribuée à l'intervalle.
Après avoir obtenu le graphe en bâtons 12, on attribue un délai aléatoire à chaque cellule sur chaque intervalle de temps [tk ; tk+1 [. Pour un intervalle de temps [tk ; tk+1 [ et pour une cellule susceptible de commuter sur cet intervalle de temps, ce délai vaut k.tm+rand().tm, rand() étant une fonction donnant une valeur aléatoire comprise entre 0 et 1. Ce choix permet de lisser les appels de courant au sein d'un intervalle de temps [tk ; tk+1 [ pendant lequel l'appel s'effectue sur un intervalle et non strictement à des instants k.tm avec k entier (ce qui pourrait aussi être possible). Ici par exemple, on tire au sort 2 cellules auxquelles on attribue respectivement un instant de commutation égal par exemple à tm+0.1tm et à tm+0.3tm par rapport au début de la période d'horloge. On tire ensuite au sort 5 autres cellules qui sont appelées sur [t1 ;t2[ à l'instant 2tm+rand().tm par rapport au début de la période d'horloge, etc.. Les tirages des cellules sont effectués sans remise, c'est-à-dire qu'une fois qu'une cellule a été tirée au sort, elle ne peut plus être tirée au sort.
En effet, dans la modélisation de l'activité de commutation suivant un modèle de Poisson, on néglige les phénomènes de glitches, c'est-à-dire les appels consécutifs d'une cellule qui ne sont pas utile au traitement de l'information par le circuit. On obtient alors une évolution du nombre de cellules appelées entre chaque intervalle.
La distribution des instants de commutation des cellules 4.1 -4.L du bloc 3.3 intervient à chaque fois qu'un front montant 17 ou un front descendant 18 d'un signal d'horloge CLK ou signal de référence est observable. Un seul signal de référence est défini pour tous les blocs numériques du système électronique.
Toutefois, comme le montre la figure 3, un bloc numérique 3.1-3. K peut avoir plusieurs profils 12 d'activité de commutation sur une période d'horloge TcIk, un même profil d'activité se répétant à l'intérieur de la période d'horloge. Deux profils successifs 12 peuvent être séparés l'un de l'autre d'un délai non nul.
Cette multiplication des profils de commutation est observable lorsque le bloc numérique 3.1-3. K fonctionne à des fréquences multiples fmult=1/Tmult de la fréquence du signal d'horloge CLK. Dans ce cas, on répète le profil de commutation Tclock/Tmult fois.
La multiplication des profils est également observable sur différents fronts, par exemple sur le front montant et sur le front descendant d'horloge.
Dans ce cas on répète le même modèle de poisson sur les deux fronts. Dans l'exemple représenté, le bloc numérique 3 fonctionne à une fréquence quatre fois plus grande que celle du signal d'horloge CLK.
Il peut y avoir un décalage Td temporel entre le début de la période de référence du système TcIk et le début de l'activité de commutation du bloc numérique 3.1-3. K. Ce décalage Td peut par exemple être du à un temps de réponse du bloc numérique 3.1-3. K lié au signal d'horloge qui passe par d'autres circuits ou par un arbre d'horloge (clocktree en anglais) avant d'être appliqué au bloc numérique.
En outre, dans le système mixte 1 comportant plusieurs circuits numériques 3.1-3. K, on peut avoir une distribution d'instants de commutation par circuit et modéliser les activités de chaque circuit 3.1-3. K. On utilise alors un jeu de paramètres de la distribution de poisson adaptée, propre à chaque circuit numérique 3.1-3. K.
Dans une application particulière, pour calculer le bruit observable dans le bloc numérique 3.3, on associe aux cellules 4.1-4. L des spectres d'injection de bruit ainsi qu'un délai par rapport au front d'horloge pour le temps effectif d'appel de la forme d'onde de bruit injecté, ce délai étant calculé à l'aide de la modélisation de Poisson 12. On obtient ainsi pour chaque cellule un spectre résultant qui est le spectre multiplié par un opérateur de délai fréquentiel. Il est alors possible de combiner ces spectres résultants pour calculer le bruit global d'un bloc. Et il est ensuite possible de combiner ces bruits de blocs pour calculer le bruit global injecté dans le système 1 pour un modèle d'activité de commutation donné.
En variante, comme représenté à la figure 4, on cherche les intervalles de temps différents [tq ;tq+1 [ pour lesquels un même nombre de cellules a commuté. A cet effet, on approche la distribution discrète de Poisson D[k] associée aux instants tk par une fonction continue P(t), par exemple une fonction polynomiale d'équation P(t)=aO+a1.t+a2.tΛ2+...+ar.tΛr qui a été obtenue par la technique d'approximation aux moindres carrés. On obtient alors une expression continue de la distribution de Poisson, avec une erreur très faible comparé aux valeurs discrètes D[k].
L'aire de la courbe P(t) indique le nombre de cellules susceptibles de commuter pour un intervalle de temps associé à cette aire. L'aire totale 31 de la courbe P(t) est ainsi égale au nombre total Na de cellules du circuit numérique susceptibles de commuter. Les Na cellules considérées comme susceptibles de commuter sont choisies au hasard de la même manière que précédemment.
Pour obtenir l'évolution du cumul de cellules ayant commuté en fonction du temps, on intègre 32 la fonction P(t) sur [0, TcIk] et on obtient une fonction F(t) dont la représentation graphique est dessinée. Cette intégration est facile à calculer étant donné que la fonction P(t) est un polynôme. La courbe F(t) est croissante, de sorte qu'au début de la période d'horloge TcIk aucune cellule du circuit n'a encore commuté et à la fin de la période d'horloge TcIk, toutes les cellules Na susceptibles de commuter ont commuté.
Ensuite, on cherche les n intervalles de temps [tq ; tq+1 [ pour chacun desquels un même nombre Na/n de cellules est susceptible de commuter, n est choisi de sorte que Na/n soit un nombre entier de cellules. Dans l'exemple représenté à la figure 4, n=6, Na étant un multiple de 6. A cet effet, on résout la fonction F(t) pour différentes valeurs du nombre de cellules appelées, ces valeurs étant multiples du nombre de cellules Na/n. Ainsi, on cherche tq pour F(tq)=q*Na/n et q entier allant de 1 à n, soit pour F(t1 )=Na/n, F(t2)=2Na/n, F(t3)=3Na/n, ..., jusqu'à F(tn)=Na.
On en déduit une suite d'intervalles [tq ; tq+1 [ délimitant les aires A1- An que l'on stocke dans un tableau. On découpe ensuite l'axe des temps de la fonction P(t). On obtient alors des intervalles d'appel différents [tq ; tq+1 [ avec pour chaque subdivision d'aire AI-An de la courbe P(t) le même nombre de cellules appelées. Ainsi on a :
(tq+2-tq+1 ) ≠ (tq+1-tq) Et
Figure imgf000017_0001
ou A1=A2=A3...=An
On remarque que les intervalles de temps [tq ; tq+1 [ présentent une durée qui diminue au cours du temps pour ensuite augmenter de nouveau. Car lors d'une période d'horloge TcIk1 l'activité de commutation a tendance à augmenter jusqu'à un maximum d'activité pour ensuite diminuer.
Ensuite, on attribue les délais de commutation aux Na cellules susceptibles de commuter. A cette fin, on choisit d'abord, au hasard, un intervalle [tq ; tq+1 [ de commutation.
On détermine ensuite un délai d'appel dans l'intervalle choisi, ce délai d'appel valant tq+rand()*(tq+1-tq). On l'a vu, rand() est une fonction aléatoire donnant une valeur comprise entre 0 et 1. Et on attribue le délai d'appel à une cellule. Pour un intervalle [tq ; tq+1 [ donné, l'attribution d'un délai d'appel aléatoire à une cellule est répété Na/n fois.
On considère qu'il n'est pas possible d'attribuer un délai d'appel à une cellule à laquelle un délai d'appel a déjà été attribué. D'un point de vue statistique, le tirage des cellules s'effectue donc sans remise.
De la même manière que précédemment, le profil de commutation peut être répété plusieurs fois à l'intérieur d'une période d'horloge TcIk.
Bien entendu, les différentes étapes du procédé selon l'invention peuvent être mises en œuvre par un circuit électronique ou à l'aide d'un logiciel exécuté par un ordinateur, le logiciel étant enregistré sur un support du type disquette, CD, DVD, mémoire USB, ou tout autre support équivalent. L'invention s'étend au procédé de fabrication de circuit comprenant une étape préalable de modélisation de l'activité de commutation selon l'invention, ainsi qu'au logiciel permettant la mise en oeuvre de l'invention.

Claims

REVENDICATIONS
1 - Logiciel ou circuit électronique mettant en œuvre un procédé de modélisation d'une activité de commutation d'un circuit numérique (3.3), ce circuit numérique (3.3) comportant des cellules (4.1-4. L) reliées entre elles par des interconnexions (6), ces cellules (4.1-4.L) commutant à un instant où au moins une de leurs entrées change d'état, des commutations successives des cellules du circuit (3.3) se produisant pendant une période d'horloge TcIk de ce circuit, cette période d'horloge TcIk étant le délai sur lequel un signal appliqué en entrée du circuit est traité par les cellules de ce circuit numérique
(3.3), caractérisé en ce que, la période d'horloge étant divisée en intervalles de temps [tk, tk+1 [, il comporte les étapes suivantes :
- calculer, à partir d'un modèle statistique adapté le nombre de cellules susceptibles de commuter sur chaque intervalle de temps [tk, tk+1 [ de la période d'horloge, et
- attribuer des instants de commutation aux différentes cellules (4.1- 4.L) du circuit numérique (3.3), à partir de la connaissance du nombre de cellules susceptibles de commuter sur les intervalles [tk ; tk+1 [ de temps. 2 - Ordinateur mettant en œuvre le logiciel selon la revendication 1.
3 - Logiciel ou circuit électronique ou ordinateur selon Ia revendication 1 ou 2, caractérisé en ce que :
- le modèle statistique est un modèle de distribution statistique de Poisson. 4 - Logiciel ou circuit électronique ou ordinateur selon la revendication
3, caractérisé en ce que le modèle de Poisson est un modèle adapté d'expression :
D[k] = eΛ λ. ^—.Na
Avec Λ = tos(^ - 1I^ + 1) log(/«) - tk valant tk=k.tm, k étant un nombre entier appartenant à [O ; int (Tclk/tm)], et tm étant une durée constante inférieure à la période d'horloge TcIk,
- Na étant le nombre de cellules du circuit susceptibles d'être appelées sur une période d'horloge TcIk,
- fa étant le nombre de cellules moyen connecté en sortie de chaque cellule.
5 - Logiciel ou circuit électronique ou ordinateur selon la revendication 4, caractérisé en ce que : - le nombre de cellules (Na) du circuit susceptibles de commuter est égal au nombre de cellules du circuit (L), ou à la moitié de ce nombre de cellules du circuit pour une activité de commutation moyenne de ce circuit.
6 - Logiciel ou circuit électronique ou ordinateur selon Ia revendication 4, caractérisé en ce que : - le nombre de cellules (Na) est déterminé par résolution d'un graphe avec les probabilités d'appel sur les cellules et les probabilités de changement d'état des différents nœuds entre cellules, un nœud correspondant à une interconnexion entre plusieurs cellules.
7 - Logiciel ou circuit électronique ou ordinateur selon l'une des revendications 4 à 6, caractérisé en ce que :
- tm est la durée de transmission minimale de l'information d'une cellule à une autre à l'intérieur du circuit numérique, cette durée de transmission comprenant Ie délai minimum de commutation d'une cellule et le délai minimum de transmission d'un signal sur une interconnexion. 8 - Logiciel ou circuit électronique ou ordinateur selon l'une des revendications 4 à 7, caractérisé en ce que, pour calculer le nombre de cellules susceptibles de commuter sur un intervalle de temps, on met en œuvre les étapes suivantes :
- calculer une interpolation linéaire entre D[k] et D[k+1] sur les intervalles de temps avec
S[i]=(D[k+1]+D[k])/2 avec i appartenant à [0 ; int(Tclk/tm)-1], int(Tclk/tm) représentant la partie entière de Tclk/tm,
- multiplier S[i] par l'intervalle de temps tm, de manière à obtenir une valeur approchée de l'aire de la distribution de Poisson adaptée sur chaque intervalle de temps [tk ; tk+1 [, et - arrondir à l'entier le plus proche les valeurs de S[i].tm, de manière à obtenir le nombre entier de cellules susceptibles de commuter pour chaque intervalle de temps [tk ; tk+1 [.
9 - Logiciel ou circuit électronique ou ordinateur selon la revendication 8, caractérisé en ce qu'il comporte l'étape suivante :
- compenser la différence entre la valeur réelle de S[i].tm et la valeur entière de Sp]. tm sur l'ensemble des intervalles de temps.
10 - Logiciel ou circuit électronique ou ordinateur selon l'une des revendications 8 ou 9, caractérisé en ce qu'il comporte l'étape suivante : - adapter le nombre de cellules commutant au début de l'activité de commutation, soit sur le premier intervalle de temps [tO ; t1[, de sorte qu'il soit au moins égal à un.
11 - Logiciel ou circuit électronique ou ordinateur selon l'une des revendications 8 à 10, caractérisé en ce qu'il comporte l'étape suivante : - conserver une chaîne continue dans l'activité de commutation des cellules (4.1-4. L), toutes les cellules du circuit susceptibles de commuter devant avoir commuté lorsque le nombre de cellules susceptibles de commuter sur un intervalle [tk ; tk+1 [ devient nul.
12 - Logiciel ou circuit électronique ou ordinateur selon l'une des revendications 8 à 11 , caractérisé en ce que pour attribuer des instants de commutation aux différentes cellules, il comporte les étapes suivantes pour chaque intervalle de temps [tk ; tk+1 [ :
- tirer au sort dans le circuit un nombre de cellules égal au nombre de cellules susceptibles de commuter sur cet intervalle de temps, et - attribuer à ces cellules tirées au sort un instant de commutation lui- même tiré au sort sur l'intervalle de temps [tk ; tk+1 [,
- cet instant de commutation étant égal à k.tm+rand().tm, tm étant la durée d'un intervalle de temps [tk ; tk+1 [ et rand() une valeur aléatoire comprise entre 0 et 1. 13 - Logiciel ou circuit électronique ou ordinateur selon la revendication 12, caractérisé en ce que :
- les cellules auxquelles un instant de commutation a été attribué ne peuvent plus être tirées au sort.
14 - Logiciel ou circuit électronique ou ordinateur selon l'une des revendications 3 à 7, caractérisé en ce qu'il comporte les étapes suivantes : - calculer une fonction continue polynomiale P(t) approximant au sens des moindres carrés la distribution discrète D[k] associée à des instants tk,
- intégrer la fonction continue P(t) sur la durée [0 ; TcIk] et obtenir une fonction F(t), - trouver tq en résolvant F(tq)=q*Na/n, pour q entier de [0 à n], n étant choisi de sorte que Na/n soit un nombre entier,
- déduire les n intervalles de temps successifs [tq ; tq+1 [ pour chacun desquels un même nombre Na/n de cellules est susceptible de commuter, et
- attribuer un délai de commutation à partir de ces intervalles à Na cellules choisies au hasard comme susceptibles de commuter.
15 - Logiciel ou circuit électronique ou ordinateur selon la revendication 14, caractérisé en ce que pour attribuer un délai de commutation à chacune des cellules, il comporte les étapes suivantes :
- choisir au hasard un intervalle de temps [tq ; tq+1 [, - calculer un délai d'appel dans l'intervalle choisi, ce délai d'appel valant tq+rand()*(tq+1-tq), rand() étant une fonction aléatoire donnant une valeur comprise entre 0 et 1 , et
- attribuer le délai d'appel à une cellule, l'attribution d'un délai d'appel à une cellule étant répété Na/n fois pour chaque intervalle [tq ; tq+1 [ donné. 16 - Logiciel ou circuit électronique ou ordinateur selon l'une des revendications 1 à 15, caractérisé en ce que :
- dans le cas où le circuit (3.3) numérique fonctionne à une fréquence multiple (fmult) du signal d'horloge (CLK) ou sur front montant et sur front descendant du signal d'horloge, plusieurs modèles de poisson sont utilisés au sein de la période d'horloge TcIk pour déterminer l'activité de commutation du circuit.
17 - Procédé de fabrication comprenant une étape préalable de modélisation de l'activité de commutation définie selon l'une des revendications 1 à 16.
PCT/FR2007/051646 2006-07-13 2007-07-12 Procédé de modélisation de l'activité de commutation d'un circuit numérique WO2008007026A2 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/373,483 US20100017173A1 (en) 2006-07-13 2007-07-12 Method of modelling the switching activity of a digital circuit
JP2009518937A JP2009543240A (ja) 2006-07-13 2007-07-12 デジタル回路のスイッチング活動状態をモデル化する方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0652987A FR2903794B1 (fr) 2006-07-13 2006-07-13 Procede de modelisation de l'activite de commutation d'un circuit numerique
FR0652987 2006-07-13

Publications (2)

Publication Number Publication Date
WO2008007026A2 true WO2008007026A2 (fr) 2008-01-17
WO2008007026A3 WO2008007026A3 (fr) 2008-03-06

Family

ID=37451179

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/051646 WO2008007026A2 (fr) 2006-07-13 2007-07-12 Procédé de modélisation de l'activité de commutation d'un circuit numérique

Country Status (4)

Country Link
US (1) US20100017173A1 (fr)
JP (1) JP2009543240A (fr)
FR (1) FR2903794B1 (fr)
WO (1) WO2008007026A2 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8191022B2 (en) * 2008-07-15 2012-05-29 Rambus Inc. Stochastic steady state circuit analyses
US9310990B2 (en) 2010-04-26 2016-04-12 Blackberry Limited Portable electronic device and method of controlling same
US9710590B2 (en) * 2014-12-31 2017-07-18 Arteris, Inc. Estimation of chip floorplan activity distribution
KR20160123452A (ko) * 2015-04-15 2016-10-26 삼성디스플레이 주식회사 유기 발광 표시 장치 및 그의 구동 방법
EP3327710A4 (fr) * 2015-07-21 2019-03-06 Shenzhen Royole Technologies Co., Ltd. Circuit de pixel et son procédé d'attaque, et panneau d'affichage
US11093675B1 (en) * 2020-03-18 2021-08-17 International Business Machines Corporation Statistical timing analysis considering multiple-input switching

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2316572B (en) * 1996-08-14 2000-12-20 Fujitsu Ltd Multicasting in switching apparatus
JP3569681B2 (ja) * 2001-02-02 2004-09-22 株式会社半導体理工学研究センター 半導体集積回路における電源電流波形の解析方法及び解析装置
CA2617235A1 (fr) * 2004-08-06 2006-02-16 Entaire Global Intellectual Property, Inc. Systeme informatique permettant de surveiller activement et d'ameliorer la securite de garantie d'un portefeuille de prets en vue de faciliter son financement et sa securisation.
US7821996B2 (en) * 2005-10-27 2010-10-26 Motorola Mobility, Inc. Mobility enhancement for real time service over high speed downlink packet access (HSDPA)
FR2897178B1 (fr) * 2006-02-07 2008-09-05 Coupling Wave Solutions Cws Sa Procede d'estimation d'un bruit genere dans un systeme electronique et procede de test d'immunite au bruit associe
US7797217B2 (en) * 2006-03-15 2010-09-14 Entaire Global Intellectual Property, Inc. System for managing the total risk exposure for a portfolio of loans
US8112340B2 (en) * 2006-05-12 2012-02-07 Standard & Poor's Financial Services Llc Collateralized debt obligation evaluation system and method
FR2902910B1 (fr) * 2006-06-26 2008-10-10 Coupling Wave Solutions Cws Sa Procede de modelisation du bruit injecte dans un systeme electronique

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BIN ZHANG AND MICHAEL ORSHANSKY: "SER Prediction by Symbolic Simulation of the Propagation and Filtering of Transient Faulty Pulses" PROCEEDINGS OF WORKSHOP ON THE SYSTEM EFFECTS OF LOGIC SOFT ERRORS, [Online] 5 avril 2005 (2005-04-05), pages 1-4, XP002410749 Extrait de l'Internet: URL:http://www.crhc.uiuc.edu/SELSE/> [extrait le 2006-12-07] *
BRIAIRE J ET AL: "Principles of Substrate Crosstalk Generation in CMOS Circuits" IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 19, no. 6, juin 2000 (2000-06), XP011007851 ISSN: 0278-0070 *
BROSTER I ET AL: "Comparing real-time communication under electromagnetic interference" PROCEEDINGS. 16TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS IEEE COMPUT. SOC LOS ALAMITOS, CA, USA, 2004, pages 45-52, XP002410967 ISBN: 0-7695-2176-2 *
BURLESON W ET AL: "Trading Off Transient Fault Tolerance andPower Consumption in Deep Submicron (DSM) VLSI Circuits" IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 12, no. 3, mars 2004 (2004-03), pages 299-311, XP011109998 ISSN: 1063-8210 *
JOSE MONTEIRO ET AL: "Estimation of Average Switching Activity in Combinational Logic Circuits Using Symbolic Simulation" IEEE TRANSACTIONS ON COMPUTER-AIDEDDESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, vol. 16, no. 1, janvier 1997 (1997-01), pages 121-127, XP011007390 *
NAJM F N ED - INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "Transition density, a stochastic measure of activity in digital circuits" PROCEEDINGS OF THE ACM/IEEE DESIGN AUTOMATION CONFERENCE. SAN FRANCISCO, JUNE 17 - 21, 1991, PROCEEDINGS OF THE ACM/IEEE DESIGN AUTOMATION CONFERENCE (DAC), NEW YORK, IEEE, US, vol. CONF. 28, 17 juin 1991 (1991-06-17), pages 644-649, XP010575395 ISBN: 0-89791-395-7 *

Also Published As

Publication number Publication date
WO2008007026A3 (fr) 2008-03-06
US20100017173A1 (en) 2010-01-21
FR2903794A1 (fr) 2008-01-18
JP2009543240A (ja) 2009-12-03
FR2903794B1 (fr) 2008-09-05

Similar Documents

Publication Publication Date Title
EP0198729B1 (fr) Système de simulation d'un circuit électronique
WO2007090980A2 (fr) Procédé d'estimation d'un bruit généré dans un système électronique et procédé de test d'immunité au bruit associé
WO2008007026A2 (fr) Procédé de modélisation de l'activité de commutation d'un circuit numérique
EP3472736B1 (fr) Procédé d'estimation du facteur d'intensité des contraintes et procédé de calcul de durée de vie associé
WO2010004133A1 (fr) Procédé et dispositif d'analyse fréquentielle de données
EP1907961A2 (fr) Procede et appareil d'aide a la conception de circuits integres
EP2592558A1 (fr) Système et procédé de conception de circuit numérique à capteur d'activité
WO2003005229A1 (fr) Procede et circuit d'analyse frequentielle en temps reel d'un signal non stationnaire
WO2008001010A2 (fr) Procédé de modélisation du bruit injecté dans un système électronique
WO2017178258A1 (fr) Systeme et procede de test d'un circuit integre
EP0932110B1 (fr) Procédé d'évaluation de performances de circuits à très haute intégration
WO2010057936A1 (fr) Procede de structuration d'une base de donnees d'objets
EP0855038B1 (fr) Diagnostic de réseaux de composants, avec modélisation par bandes
WO2009024717A2 (fr) Dispositif de test de circuit analogique
WO2018229392A1 (fr) Dispositif de caracterisation et/ou de modelisation de temps d'execution pire-cas
EP2776931B1 (fr) Systeme et procede de conception de circuit numerique a capteur d'activite, circuit numerique correspondant
FR2842001A1 (fr) Procede et dispositif d'identification de situations de conflit dans une conception de circuit
FR3003367A1 (fr) Estimation de la fiabilite d'un circuit logique
WO2015032830A1 (fr) Procédé d'analyse du comportement d'un circuit intégré mis en œuvre par ordinateur et comprenant la sélection de chemins sur la base de plusieurs critères appartenant à des types différents
EP1220122A1 (fr) Procédé d'optimisation de performances temporelles à convergence rapide.
FR2963692A1 (fr) Dispositif informatique de calcul polyvalent
WO2015158984A1 (fr) Méthode de réalisation d'un réseau logique configurable
FR2868181A1 (fr) Procede de simulation d'un circuit a l'etat stationnaire
EP3908926A1 (fr) Procédé de validation d'un système flots de données
FR3110729A1 (fr) Procédé de détermination de la simulation minimale, procédé de simulation et dispositif associés

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: 07823568

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2009518937

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07823568

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 12373483

Country of ref document: US