EP2788908A1 - Procede de conception optimisee de circuits electroniques integres - Google Patents

Procede de conception optimisee de circuits electroniques integres

Info

Publication number
EP2788908A1
EP2788908A1 EP12794708.3A EP12794708A EP2788908A1 EP 2788908 A1 EP2788908 A1 EP 2788908A1 EP 12794708 A EP12794708 A EP 12794708A EP 2788908 A1 EP2788908 A1 EP 2788908A1
Authority
EP
European Patent Office
Prior art keywords
performance metrics
function
elements
electronic system
electronic
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.)
Withdrawn
Application number
EP12794708.3A
Other languages
German (de)
English (en)
Inventor
Ian O CONNOR
Lioua LABRAK
Felipe FRANTZ
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.)
Centre National de la Recherche Scientifique CNRS
Ecole Centrale de Lyon
Institut National des Sciences Appliquees de Lyon
Universite Claude Bernard Lyon 1
Original Assignee
Centre National de la Recherche Scientifique CNRS
Ecole Centrale de Lyon
Institut National des Sciences Appliquees de Lyon
Universite Claude Bernard Lyon 1
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 Centre National de la Recherche Scientifique CNRS, Ecole Centrale de Lyon, Institut National des Sciences Appliquees de Lyon, Universite Claude Bernard Lyon 1 filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP2788908A1 publication Critical patent/EP2788908A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]

Definitions

  • the invention generally relates to the methods of designing integrated electronic circuits, and in particular the hierarchical optimization of such electronic circuits.
  • Heterogeneous circuits designate circuits combining at least one electronic component with a component of the physical domain.
  • the electronic components may for example be analog components, digital components or software components.
  • the different components can implement engraving technologies with different technological nodes.
  • the components of the physical domain are sensors or actuators allowing the passage of a physical quantity to an electrical quantity (and vice versa) for example a light signal transformed into electric current.
  • a known method is the descending method by constraint propagation.
  • the system is decomposed on several levels of abstraction.
  • the levels of abstraction of the circuit generally include (from the abstract to the more concrete) its functional definition, its system definition, the definition of its blocks or components, and the definition of a block architecture (for example the schema of a circuit).
  • a simulation model links input data (its design parameters) to output data (its performance metrics).
  • the designer sets targets on performance metrics (such as bandwidth, occupied silicon area, maximum power, or power consumption) and constraints to be met (for example values of voltage or maximum intensity).
  • performance metrics such as bandwidth, occupied silicon area, maximum power, or power consumption
  • constraints to be met for example values of voltage or maximum intensity.
  • a known alternative to this method is the bottom-up approach based on the ascending hierarchical construction of feasibility spaces.
  • the designer selects the architecture of the components of a system.
  • an iterative optimization cycle makes it possible to define a compromise curve representing the best solutions, considering at least two competing performance metrics for each block.
  • First and second block performance metrics are said to be concurrent if block design parameter changes to improve the first performance metric result in deterioration of a second block performance metric.
  • Elementary blocks and tradeoffs are stored in a library and can be assembled to form a more complex system.
  • the discrete points of the compromise curves of at least two components are combined to define a new compromise curve of the set.
  • the invention aims to solve one or more of these disadvantages.
  • the invention relates in particular to a method of characterizing an electronic system intended to be included in an integrated electronic circuit, as defined in claim 1.
  • FIG 1 is a representation of a numerical simulation model corresponding to a component
  • FIG. 2 is an example of a feasibility domain of a component having two design parameters and two competing performance metrics. The example illustrates the area of feasibility of the component and the notion of Pareto boundary;
  • FIG. 3 is a diagram illustrating a typical method of optimization applied to the design of integrated circuits
  • FIG 4 is a schematic representation of a design and optimization device according to an exemplary embodiment of the invention.
  • FIG. 5 is an example of hierarchical decomposition
  • FIG. 6 is a schematic representation of a method capable of characterizing the Pareto boundary of a component by a set of discrete points
  • FIG. 7 illustrates a curve fitting operation for the purpose of reconstructing the Pareto boundary by mathematical functions from a set of discrete points of this boundary
  • FIGS. 8A and 8B illustrate examples of validity domains V in which the mathematical functions representing the Pareto border can be used
  • FIG 9 is a schematic representation of the grouping of mathematical functions of a block to form the predictive model of the block
  • FIG. 10 schematically illustrates the cycle of construction of a predictive model of a block from a simulation model
  • FIG. 11 illustrates the synthesis procedure using a single predictive model
  • FIG. 12 is a diagram illustrating the association of a simulation model of a system with predictive models of blocks, to form a system composed model
  • FIG. 13 illustrates the integration of a computed calculation model in a usual optimization method
  • FIG. 14 is a schematic representation of the construction of a predictive model from a composite calculation model
  • FIG. 15 illustrates the hierarchical synthesis procedure in a simplified model with two hierarchical levels of predictive models
  • FIG. 16 illustrates the hierarchical synthesis procedure in a model with three hierarchical levels of predictive models
  • FIG. 17 is a schematic representation of an exemplary system including several components that can be modeled
  • FIGS. 18a to 18c illustrate Pareto boundaries for competing performances of different components of this system
  • FIG. 19 illustrates a Pareto border for competing performances of the system.
  • Figure 1 is a representation of a numerical simulation model of an element at any hierarchical level of the design.
  • the numerical simulation model 50 corresponds to the modeling of an element of the integrated circuit to be designed, at any hierarchical level.
  • the simulation model includes an input x corresponding to the design parameters and an output f corresponding to the performance metrics of the element.
  • Performance metrics and design parameters are typically physical or electrical quantities.
  • a vector of corresponding performance metrics f is obtained by the simulation of the model 50 by using a simulation software adapted to its domain, be it the physical domain (optical, mechanical. ..) or electronic.
  • a simulation software may for example be a software 801 to 805.
  • the simulation of the model 50 may use technological information stored in a database 700.
  • this database 700 may contain information on different burning technologies.
  • Fig. 2 is a representation of the feasibility space for an element with two design parameters x1 and x2 and two competing performance metrics f1 and f2.
  • First and second performance metrics of the element are said to be concurrent if changes in design parameters of the element to improve the first performance metric induce deterioration of a second performance metric of the element.
  • the general optimization method 200 comprises an optimization function 110 and a simulation model 50 corresponding to the element or circuit to be designed.
  • the optimization function 110 receives R requirements and may use calculation and optimization algorithms 901 and 902.
  • the algorithms 901 and 902 are for example available in software modules such as the one distributed under the commercial reference Matlab.
  • the optimization function 110 looks for the value of the design parameters x of the element for which the simulation model 50 has performance metrics f which satisfy the requirements R.
  • the requirements R are described in the form of objectives to be maximized or minimized and in the form of constraints.
  • the constraints are used for two purposes: to ensure the correct operation of the element and to limit the search for a design solution to a specific area of interest. This general optimization method 200 thus makes it possible to find the optimal solution for the design of a circuit for specific requirements.
  • Such a method is only suitable for the optimization of circuits at a single hierarchical level.
  • this method can be integrated in a more complex process for managing several hierarchical levels, as implemented by the invention.
  • Figure 4 is a schematic representation of a device 1 for designing and optimizing integrated electronic circuits according to an exemplary embodiment of the invention.
  • the invention can be implemented by executing software on a digital computing device 2, such as a workstation.
  • the computing device 2 comprises, in a manner known per se, a display interface 11 for communicating with the designer of the electronic circuit.
  • the device 1 comprises an interface 12 allowing the designer to add a numerical simulation model 50 to a library or database 500.
  • the numerical simulation model 50 may for example define an element of one of the different hierarchical levels of the circuit to be used. conceive, as its functional definition or the definition of one of its elementary blocks.
  • the device 1 also includes the interfaces 13 and 14.
  • the interface 13 allows the designer to define a hierarchical decomposition of the electronic circuit to be designed. This decomposition is described with reference to the various simulation models present in the library 500, for example the simulation models 501 to 503. Once a hierarchical decomposition defined in the interface 13 for the circuit to be designed, the designer uses the interface 14 to express R requirements on the performance metrics of this circuit.
  • the device 1 implements the operations 20P and 20S in order to find an optimal design solution for the integrated circuit, this solution having to satisfy the requirements R.
  • the operations 20P and 20S further details aim to speed up the hierarchical design process.
  • Operation 20P corresponds to the ascending construction in the hierarchy of the circuit, of a so-called predictive model for each of the elements of this circuit.
  • the 20S operation called the synthesis step, corresponds to solving the design problem using the predictive models generated in the 20P operation.
  • the device 1 can use different optimization algorithms 901 to 902, use simulation software 801 to 805 and possibly provide them with technological data from database 700.
  • the operation 20P memorizes predictive models 601 to 603 in a database 600, in order to save the predictive models created for the various elements of the circuit.
  • This memorization is intended to accelerate the design of another integrated electronic circuit including, in its hierarchical decomposition, elements already having a predictive model.
  • the invention will be described in its application to a system of a given hierarchical level and including first and second blocks of a lower hierarchical level.
  • the notion of block and system corresponds to the hierarchical design of an electronic circuit.
  • the blocks therefore correspond to electronic elements such as components or electronic circuits, the system corresponding to an electronic circuit including several elements.
  • this example will comprise a system A which can be decomposed into blocks B and C.
  • the design of the system A thus decomposed will make use of three simulation models: a model simulation simulation 50A corresponding to the system A and two simulation models 50B and 50C corresponding to the blocks B and C.
  • the simulation models 50A, 50B and 50C make it possible to determine at least two respective competing performance metrics f1, f2n, from at least two respective xln, x2n design parameters.
  • Hierarchical design methodologies impose a mapping between top-level design parameters and lower-level performance metrics. In the example described, this requires that ⁇ xlA, x2A ⁇ include ⁇ flB, f2B, flC, f2C ⁇ .
  • the operation 20P consists in traversing the hierarchy of the system A in an ascending way and constructing a so-called predictive model for each simulation model.
  • a predictive model is used to find the set of associations ⁇ design parameter values, performance metric values> corresponding to the Pareto boundary of an element, based on at least one of its performance metrics.
  • the predictive model is for example defined by a set of mathematical functions. An example of steps implemented for the construction of a predictive model will be described in the order of their execution.
  • the first step 220 of the operation 20P is the identification of a set of discrete points forming part of a Pareto boundary in the space of the performance metrics of the element. Processes performing such identification exist and can be implemented in a manner known per se to those skilled in the art. As illustrated by FIG. 6, this identification step 220 generally involves an optimization method 200.
  • the optimization method 200 is for example driven by a specialized algorithm 120 for the task of identifying the dots. a border of Pareto.
  • NSGA method for Non-Dominated Sorting Genetic Algorithm in English language
  • NBI method for Normal Boundary Intersection in English language.
  • the NBI method is preferred for the implementation of the invention because of its ability to identify uniformly distributed points on the Pareto boundary.
  • the result of this method is a set of points representing relationships between design parameter values and / or performance metric values, and indicated on the diagrams 221.
  • the values of the design parameters xl and x2 and the value of the performance metric f2 are illustrated as a function of values of the performance metric f1.
  • the second step 300 of the operation 20P is shown in FIG. 7.
  • the step 300 generates continuous functions from the discrete points of the Pareto border illustrated in the diagram 221.
  • the generation of the continuous functions is typically carried out by a Curve fitting method 300, known per se to those skilled in the art.
  • curve fitting methods that can be used are those implementing polynomial regression, linear interpolation or cubic spline adjustment.
  • Mathematical functions are thus generated as illustrated in diagrams 321.
  • the mathematical functions determine the quantities x1, x2 and f2 as a function of the quantity f1.
  • a validity domain V for the independent variable is defined when they are created during step 300.
  • the validity domain V of the performance metric f used as a variable is defined. independent.
  • FIGS. 8A and 8B provide examples of validity domains V V in different cases.
  • the functions gx1 and gf2 serve to approximate the identified Pareto boundary only in the range of values of fl between a lower bound Lb and an upper bound Ub.
  • the validity domain V of these functions is therefore defined by the interval [Lb.Ub].
  • the notion of domain of validity is also illustrated in FIG. 8B in a case where the element under consideration comprises at least three competing performance metrics f1, f2, f3.
  • the mathematical functions produced by step 300 involve two performance metrics f1 and f2 as independent variables.
  • the validity domain V of this function is the envelope defined by the points ⁇ fl, f2, f3> sampled during the step of identifying a Pareto boundary.
  • the identification of the envelope can be made by known methods such as convex hull identification or active edge detection.
  • the third step 400 of the method for constructing the predictive model of the element is illustrated in FIG. 9.
  • the functions making it possible to compute the design parameters x1 and x2 are grouped in the predictive model 60 of the element, referred to as the predictive model of the parameters and denoted gx (fl).
  • This predictive model 60 has the independent variable f1 as input, and the design parameters x1 and x2 as outputs.
  • the predictive model 60 also outputs its validity domain V.
  • This model has for input the performance metric fl and for output the performance metrics fl and f2.
  • the performance metric fl (used as an independent variable in this example) is output, so that the predictive models 331 and 332 output, respectively, all the design parameters and the set metrics of performance.
  • These two predictive models 331 and 332 are grouped in the predictive model 60.
  • the predictive model 60 corresponds to the predictive model of the element and makes it possible to determine associations ⁇ design parameter values, performance metric values> of the Pareto the element from the value of a subset of its performance metrics as independent variables, in this case fl.
  • Steps 220, 300 and 400 result in the creation of a predictive model for a given element.
  • Figure 10 schematically illustrates these steps giving as an example the construction of a predictive model for block B, whose numerical simulation model 50B is available in the simulation model library 500.
  • the predictive model 60B of block B is obtained by the successive execution of the methods 220, 300 and 400 applied to its simulation model 50B.
  • the predictive model 60B generated is stored in the predictive model library 600.
  • Figure 11 illustrates the use of a predictive model to accelerate the design of a block B or any element of a hierarchical level. From an R requirement on one of the concurrent performance metrics of block B, in this case a value of the metric f1, the optimization of the design is solved according to the invention by an evaluation of the predictive model 60B.
  • an evaluation by the predictive model 60 B is significantly less expensive in computing time than an iterative optimization process based on the simulation model 50B.
  • the validity domain V integrated in the predictive model 60B makes it possible to conclude immediately whether the requirement R is feasible or unachievable.
  • another advantage of using the predictive model 60B of component B is that its evaluation does not use simulation software 801 to 805.
  • at least one of these simulation software 801 to 805 is necessary for executing the simulation model 50B of the component B.
  • the predictive model 60B is said to be portable since it can be exploited on other design devices 1, without these having access to software simulation 801 to 805.
  • a predictive model 60B Given the significant construction time of such a predictive model 60B, it is advantageous to store the predictive models generated in the database 600, for reuse later.
  • the stored predictive models can be used either to synthesize the same block for different requirements R according to Figure 11, or for the design of more complex systems in a hierarchical approach, as explained later.
  • FIG. 12 illustrates an example of hierarchical association of at least two predictive models of blocks with a simulation model of a system including these blocks.
  • This example uses predictive models 60B and 60C of previously constructed blocks B and C and uses the simulation model 50A of system A.
  • This association defines a composite numerical simulation model 130.
  • this model 130 first evaluates the predictive models 60B and 60C and obtains optimal values of the performance metrics. and design parameters for both blocks B and C. In this case, these optimal values are fB and xB for block B and fC and xC for block C.
  • the composite model 130 can thus perform a calculation with the simulation model 50A and thus obtain a set of performance metrics fA of the system.
  • the result of the computation of this composite model 130 is the set of performance metrics fA and design parameters xA of system A, as well as the set of performance metrics fB and fC and the set of design parameters xB and xC blocks B and C it includes.
  • FIG. 13 An optimization method can be applied to the composite model 130 to address the problem of optimizing the design of the system A.
  • implementation of such an optimization method applied to a composite computation model 130 is illustrated in FIG. 13.
  • This method has a very strong similarity with the optimization method already presented with reference to FIGS. 6 and 7.
  • Compound model 130 is presented only with its input x, its output V and its output fA, the other outputs being optional for the optimization process in question.
  • the method of FIG. 13 differs from the methods of FIGS. 6 and 7 in that the composite model 130 provides its range of validity for the optimization function 110, so as to constrain the values of x to the validity domain V.
  • the optimization function 110 adds the constraint imposed by V to the requirements R and processes them without distinction by mechanisms for managing constraints known per se.
  • the computed computation model 130 can be used in the same way as a simulation model 50 in all its aspects.
  • Compound model 130 like simulation model 50, has an input corresponding to design parameters and an output corresponding to performance metrics. All concepts including notions of parameter space, performance space, optimization, and Pareto boundary are applicable to the composite model 130.
  • Figure 14 illustrates how predictive model construction techniques similar to those of Figure 10 can be extended to a composite computational model.
  • the composite model 130ABC is produced by combining the simulation model 50A of the system A resulting from the simulation model library 500 with two predictive models 60A and 60B of its component blocks B and C coming from the library of predictive models 600. calling for methods 220, 300 and 400 it is possible to obtain a predictive model 60ABC for system A including its sub-blocks B and C according to the hierarchical decomposition used in this example.
  • Such a predictive model 60ABC created from a composite model 130ABC may comprise an index ABC to uniquely demarcate the hierarchical decomposition of the system A to which it corresponds.
  • This information on the hierarchical decomposition used, in this case ABC, is stored in the predictive model 60ABC when it is stored in the database 600.
  • this model can be included for creating even more complex and higher level circuits in hierarchical modeling.
  • FIG. 15 illustrates the operation 20S for the example of the system A including the blocks A and B.
  • the predictive model 60ABC is set on for calculating and obtaining the value of the optimal performance metrics flA and f2A at system level A, as well as the design parameters xlA and x2A at system level A.
  • the The performance metrics of sub-blocks B and C have a direct relationship with the design parameters of system A.
  • the calculations can then be performed with the predictive models 60B and 60C of the B and C blocks of the system A, and thus obtain these optimal performance metrics flB, f2B for the block B and flC, flB for the block C, as well as the design parameters xlB, x2B for block B and xlC, x2C for block C.
  • Fig. 16 is derived from Fig. 15 and illustrates that the same operation 20S can be applied for a system at a higher number of hierarchical levels, in this case three.
  • the system A has a predictive model 60ABCDE and is decomposed into blocks B (predictive model 60B) and C.
  • the block C has a predictive model 60DE and is decomposed into sub-blocks D and E having models predictive 60D and 60E.
  • Figure 17 is a schematic representation of an example of system 3 which can be broken down into several blocks 32 to 36.
  • the system 3 corresponds to a laser transmitter / receiver.
  • the system 3 is thus decomposed into a control 32, a laser transmitter 33, a transmission medium 34, a laser receiver 35 and an amplifier 36.
  • System 3 breaks down into several domains: an electrical domain illustrated by 3e, and a physical domain 3p.
  • a laser signal is used in blocks 33, 34 and 35.
  • the predictive model of system 3 is based on predictive models of blocks 32, 33, and 36, which the designer believes performance metrics are paramount in determining system 3 performance metrics.
  • the performance metrics selected for control 32 are respectively the bias current and the modulation current.
  • the diagram of FIG. 18a thus represents the Pareto boundary in the performance space of the control 32, the modulation current being illustrated as a function of the bias current.
  • the numerical simulation model of this block uses a first software module to establish its predictive model.
  • the performance metrics selected for the transmitter 33 are the threshold current and the transmission efficiency.
  • the diagram of FIG. 18b thus represents the Pareto boundary in the performance space of the transmitter 33, the efficiency being illustrated as a function of the threshold current.
  • the numerical simulation model of this block uses a second software module to establish its predictive model.
  • the performance metrics selected for the amplifier 36 are the bandwidth and the transimpedance gain.
  • the diagram of FIG. 18c thus represents the Pareto border in the performance space of the transmitter 36, the gain being illustrated as a function of the bandwidth.
  • the numerical simulation model of this block uses a third software module to establish its predictive model.
  • the functions defining the Pareto boundaries are determined for this block. Likewise, the feasibility domains of the performance metrics of each of the blocks 32, 33 and 36 are determined.
  • the diagram of FIG. 19 represents the Pareto boundary determined in the system performance space 3 (error rate and data rate) from the predictive models of the different blocks 32, 33 and 36, as well as the validity of the metrics of these blocks.

Landscapes

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

Abstract

L'invention concerne un procédé de caractérisation d'un système électronique destiné à être inclus dans un circuit électronique intégré, le procédé comprenant les étapes de : -récupération de modèles de simulation numérique (50B, 50C) respectifs de premier et deuxième blocs; -récupération d'un modèle de simulation numérique du système (50A) incluant lesdits premier et deuxième blocs; -appliquer au modèle de simulation numérique du système (50A) différentes valeurs de métriques de performance concurrentes des blocs et appartenant à des domaines de validité, de façon à générer des valeurs des métriques de performance de sortie du système; -génération d'une fonction représentative d'une frontière de Pareto et définissant une deuxième desdites métriques de performance de sortie du système en fonction d'une première desdites métriques de sortie du système; -génération d'une fonction définissant des valeurs des métriques de performance des blocs en fonction de la première métrique de sortie du système.

Description

PROCÉDÉ DE CONCEPTION OPTIMISEE DE CIRCUITS
ELECTRONIQUES INTEGRES
L'invention concerne de façon générale les méthodes de conception de circuits électroniques intégrés, et en particulier l'optimisation hiérarchique de tels circuits électroniques.
L'invention s'avère tout particulièrement appropriée pour la conception de circuits intégrés hétérogènes. Des circuits hétérogènes désignent des circuits combinant au moins un composant électronique à un composant du domaine physique. Les composants électroniques pourront par exemple être des composants analogiques, des composants numériques ou des composants logiciels. Les différents composants peuvent mettre en œuvre des technologies de gravures avec différents nœuds technologiques. Les composants du domaine physique sont des capteurs ou des actionneurs permettant le passage d'une grandeur physique à une grandeur électrique (et inversement) par exemple un signal lumineux transformé en courant électrique.
Dû à la complexité accrue de ces circuits, il devient impératif de faire appel à des méthodes de conception hiérarchique. Une méthode connue est la méthode descendante par propagation des contraintes.
Dans cette méthode le système est décomposé sur plusieurs niveaux d'abstraction. Les niveaux d'abstraction du circuit incluent généralement (du plus abstrait vers le plus concret) sa définition fonctionnelle, sa définition système, la définition de ses blocs ou composants, et la définition d'une architecture des blocs (par exemple le schéma d'un circuit). À chaque niveau hiérarchique, un modèle de simulation relie des données d'entrée (ses paramètres de conception) à des données de sortie (ses métriques de performances).
Au niveau d'abstraction le plus élevé du système, le concepteur définit des objectifs sur les métriques de performance (par exemple une valeur de bande passante, une surface de silicium occupée, une puissance maximum ou une consommation électrique) et des contraintes à respecter (par exemple des valeurs de tension ou d'intensité maximale). Le procédé de conception par propagation de contraintes permet de traduire ses performances souhaitées et contraintes en objectifs et contraintes pour chacun des éléments du niveau hiérarchique inférieur.
Les solutions qui respectent les objectifs des métriques de performances et les contraintes à chaque niveau d'abstraction sont obtenues par un processus d'optimisation. Lors de l'optimisation, des simulations répétées permettent de rechercher les paramètres de conception de chacun des blocs permettant d'optimiser les performances du système. Un tel mode de fonctionnement présente cependant des inconvénients. Si l'étape d'optimisation des blocs permet rapidement d'anticiper la faisabilité d'un bloc aboutissant à des métriques de performances, la définition des paramètres de conception du bloc aboutissant aux performances souhaitées est particulièrement fastidieuse et requiert un grand temps de calcul. En pratique, par manque de temps de calcul, les concepteurs doivent souvent limiter l'optimisation du fonctionnement du circuit car ils ne peuvent simuler qu'un nombre limité de paramètres de conception. De plus, la faisabilité d'un circuit avec des performances données ne peut être déterminée qu'après un temps de simulation non négligeable impliquant les différents niveaux hiérarchiques.
Une alternative connue à cette méthode est l'approche bottom-up basée sur la construction hiérarchique ascendante des espaces de faisabilité. Dans une telle approche, le concepteur sélectionne l'architecture des composants d'un système. Pour chacune des architectures un cycle d'optimisation itératif permet de définir une courbe de compromis représentant les meilleures solutions, en considérant au moins deux métriques de performances concurrentes pour chaque bloc. Des première et deuxième métriques de performances d'un bloc sont dites concurrentes si des modifications de paramètres de conception du bloc en vue d'améliorer la première métrique de performances induisent une détérioration d'une deuxième métrique de performances du bloc.
Les blocs élémentaires et les courbes de compromis sont mémorisés dans une bibliothèque, puis peuvent être assemblés pour constituer un système plus complexe. Lors de la constitution d'un système, les points discrets des courbes de compromis d'au moins deux composants sont combinés pour définir une nouvelle courbe de compromis de l'ensemble.
La limitation dans cette approche se situe donc sur la capacité à représenter fidèlement les courbes de compromis d'un système à partir de celles des blocs le constituant. Par suite, il est donc possible de définir des spécifications sur les métriques de performances au niveau du système qui se traduisent par des solutions sous optimales pour les composants.
L'invention vise à résoudre un ou plusieurs de ces inconvénients. L'invention porte notamment sur un procédé de caractérisation d'un système électronique destiné à être inclus dans un circuit électronique intégré, tel que défini à la revendication 1.
D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels :
-la figure 1 est une représentation d'un modèle de simulation numérique correspondant à un composant ; -la figure 2 est un exemple d'un domaine de faisabilité d'un composant ayant deux paramètres de conception et deux métriques de performance concurrentes. L'exemple illustre le domaine de faisabilité du composant et la notion de frontière de Pareto ;
-la figure 3 est un diagramme illustrant un procédé typique d'optimisation appliqué à la conception de circuits intégrés ;
-la figure 4 est une représentation schématique d'un dispositif de conception et d'optimisation selon un exemple de mode de réalisation de l'invention ;
-la figure 5 est un exemple de décomposition hiérarchique ;
-la figure 6 est une représentation schématique d'un procédé capable de caractériser la frontière de Pareto d'un composant par un ensemble de points discrets ;
-la figure 7 illustre une opération d'ajustement de courbe ayant pour but de reconstruire la frontière de Pareto par des fonctions mathématiques à partir d'un ensemble de points discrets de cette frontière ;
-les figures 8A et 8B illustrent des exemples de domaines de validité V dans lesquels les fonctions mathématiques représentant la frontière de Pareto peuvent être utilisés ;
-la figure 9 est une représentation schématique du regroupement de fonctions mathématiques d'un bloc pour former le modèle prédictif du bloc ;
-la figure 10 illustre de façon schématique le cycle de construction d'un modèle prédictif d'un bloc à partir d'un modèle de simulation ;
-la figure 11 illustre la procédure de synthèse faisant appel à un unique modèle prédictif ;
-la figure 12 est un diagramme illustrant l'association d'un modèle de simulation d'un système à des modèles prédictifs de blocs, pour former un modèle composé de système ;
-la figure 13 illustre l'intégration d'un modèle de calcul composé dans un procédé d'optimisation usuel ;
-la figure 14 est une représentation schématique de la construction d'un modèle prédictif à partir d'un modèle de calcul composé ;
-la figure 15 illustre la procédure de synthèse hiérarchique dans un modèle simplifié à deux niveaux hiérarchiques de modèles prédictifs ;
-la figure 16 illustre la procédure de synthèse hiérarchique dans un modèle à trois niveaux hiérarchiques de modèles prédictifs ;
-la figure 17 est une représentation schématique d'un exemple de système incluant plusieurs composants pouvant être modélisés ;
-les figures 18a à 18c illustrent des frontières de Pareto pour des performances concurrentes de différents composants de ce système ; -la figure 19 illustre une frontière de Pareto pour des performances concurrentes du système.
La figure 1 est une représentation d'un modèle de simulation numérique d'un élément à un niveau hiérarchique quelconque de la conception. Le modèle de simulation numérique 50 correspond à la modélisation d'un élément du circuit intégré à concevoir, à un niveau hiérarchique quelconque. Le modèle de simulation comprend une entrée x correspondant aux paramètres de conception et une sortie f correspondant aux métriques de performance de l'élément. Les métriques de performance et les paramètres de conception sont typiquement des valeurs de grandeurs physiques ou électriques. Pour un vecteur donné de paramètres de conception x, un vecteur de métriques de performance f correspondant est obtenu par la simulation du modèle 50 en faisant appel à un logiciel de simulation adapté à son domaine, que ce soit le domaine physique (optique, mécanique...) ou électronique. Un tel logiciel de simulation peut par exemple être un des logiciels 801 à 805. Des logiciels tels que ceux distribués sous les références commerciales Simulink, Spectre, Comsol, Eldo ou Ansys peuvent notamment être utilisés. Eventuellement, la simulation du modèle 50 peut faire appel à des informations technologiques stockées dans une base de données 700. A titre d'exemple, cette base de données 700 peut contenir des informations sur différentes technologies de gravure.
La figure 2 est une représentation de l'espace de faisabilité pour un élément avec deux paramètres de conception xl et x2 et deux métriques de performance concurrentes fl et f2. Des première et deuxième métriques de performances de l'élément sont dites concurrentes si des modifications de paramètres de conception de l'élément en vue d'améliorer la première métrique de performance induisent une détérioration d'une deuxième métrique de performances de l'élément. Pour tout vecteur (xl,x2) appartenant à l'espace de paramètres de conception faisables X de l'élément, il existe un vecteur (fl,f2) associé dans l'espace de performance faisable F. En considérant qu'on cherche à minimiser les valeurs des métriques fl et f2 simultanément lors de la conception de l'élément, (tels comme le bruit et la puissance consommée), il est possible de définir une courbe de compromis dF* pour laquelle l'amélioration d'une métrique de performance entraîne la détérioration d'une autre. Cette courbe de compromis est couramment appelée la frontière de Pareto. Dû au lien qui existe entre les paramètres de conception et les métriques de performance de l'élément, il existe donc, un ensemble d'associations <valeurs de paramètres de conception, valeurs de métriques de performance> qui correspondent à la frontière de Pareto, comme illustré par les points A et Z ou la courbe de compromis dF*. La figure 3 est une représentation d'un procédé général d'optimisation appliqué à la conception d'un élément d'un niveau hiérarchique. Le procédé général d'optimisation 200 comprend une fonction d'optimisation 110 et un modèle de simulation 50 correspondant à l'élément ou circuit à concevoir. La fonction d'optimisation 110 reçoit des exigences R et peut faire appel à des algorithmes de calcul et d'optimisation 901 et 902. Les algorithmes 901 et 902 sont par exemple disponibles dans des modules logiciels tels que celui distribué sous la référence commerciale Matlab. Par un processus itératif, la fonction d'optimisation 110 cherche la valeur des paramètres de conception x de l'élément pour lesquels le modèle de simulation 50 présente des métriques de performance f qui satisfont les exigences R. De façon générale, les exigences R sont décrites sous la forme d'objectifs à maximiser ou à minimiser et sous la forme de contraintes. Les contraintes sont utilisées dans deux buts : garantir le fonctionnement correct de l'élément et limiter la recherche d'une solution de conception à une zone d'intérêt précise. Ce procédé général d'optimisation 200 permet donc de trouver la solution optimale pour la conception d'un circuit pour des exigences précises.
Un tel procédé n'est à lui seul adapté que pour l'optimisation de circuits à un seul niveau hiérarchique. Cependant, ce procédé est peut être intégré dans un procédé plus complexe permettant la gestion de plusieurs niveaux hiérarchiques, tel que cela est mis en oeuvre par l'invention.
La figure 4 est une représentation schématique d'un dispositif 1 de conception et d'optimisation de circuits électroniques intégrés selon un exemple de mode de réalisation de l'invention. L'invention peut être mise en œuvre par exécution d'un logiciel sur un dispositif de calcul numérique 2, tel qu'une station de travail. Le dispositif de calcul 2 comporte de façon connue en soi une interface d'affichage 11 pour communiquer avec le concepteur du circuit électronique.
Le dispositif 1 comporte une interface 12 permettant au concepteur d'ajouter un modèle de simulation numérique 50 à une librairie ou base de données 500. Le modèle de simulation numérique 50 pourra par exemple définir un élément d'un des différents niveaux hiérarchiques du circuit à concevoir, comme sa définition fonctionnelle ou la définition d'un de ses blocs élémentaires.
Le dispositif 1 comporte également les interfaces 13 et 14. L'interface 13 permet au concepteur de définir une décomposition hiérarchique du circuit électronique à concevoir. Cette décomposition est décrite en faisant référence aux différents modèles de simulation présents dans la librairie 500, par exemple les modèles de simulation 501 à 503. Une fois une décomposition hiérarchique définie dans l'interface 13 pour le circuit à concevoir, le concepteur utilise l'interface 14 pour exprimer des exigences R sur les métriques de performance de ce circuit.
Par l'intermédiaire des informations collectées par les interfaces 13 et 14, le dispositif 1 met en œuvre les opérations 20P et 20S afin de trouver une solution de conception optimale du circuit intégré, cette solution devant répondre aux exigences R. Les opérations 20P et 20S détaillées par la suite visent à accélérer le processus de conception hiérarchique. L'opération 20P correspond à la construction ascendante dans la hiérarchie du circuit, d'un modèle dit prédictif pour chacun des éléments de ce circuit. L'opération 20S, appelée étape de synthèse, correspond à la résolution du problème de conception en utilisant les modèles prédictifs générés à l'opération 20P.
Ces deux opérations 20P et 20S intègrent le procédé d'optimisation 200. De ce fait, lors de son utilisation, le dispositif 1 peut faire appel à différents algorithmes d'optimisation 901 à 902, faire appel à des logiciels de simulation 801 à 805 et, éventuellement, leur fournir des données technologiques provenant de la base de données 700.
L'opération 20P mémorise des modèles prédictifs 601 à 603 dans une base de données 600, afin de sauvegarder les modèles prédictifs crées pour les différents éléments du circuit. Cette mémorisation a pour but d'accélérer la conception d'un autre circuit électronique intégré incluant, dans sa décomposition hiérarchique, des éléments disposant déjà d'un modèle prédictif.
L'invention sera décrite dans son application à un système d'un niveau hiérarchique donné et incluant des premier et deuxièmes blocs d'un niveau hiérarchique inférieur. La notion de bloc et de système correspond à la conception hiérarchique d'un circuit électronique. Les blocs correspondent donc à des éléments électroniques tels que des composants ou des circuits électroniques, le système correspondant à un circuit électronique incluant plusieurs éléments. Comme illustré dans la figure 5, cet exemple comportera un système A qui peut être décomposé en des blocs B et C. A l'aide de l'invention, la conception du système A ainsi décomposé fera appel à trois modèles de simulation : un modèle de simulation 50A correspondant au système A et deux modèles de simulation 50B et 50C correspondant aux blocs B et C. Les modèles de simulations 50A, 50B et 50C permettent de déterminer au moins deux métriques de performance fln,f2n concurrentes respectives, à partir d'au moins deux paramètres de conception xln,x2n respectifs. Les méthodologies de conception hiérarchique imposent une correspondance entre les paramètres de conception du niveau supérieur et les métriques de performance du niveau directement inférieur. Dans l'exemple décrit, cela impose que {xlA,x2A} inclut {flB,f2B,flC,f2C}. Dans le procédé de conception décrit dans cette invention, l'opération 20P consiste à parcourir la hiérarchie du système A de façon ascendante et construire un modèle dit prédictif pour chaque modèle de simulation. Un modèle prédictif permet de retrouver l'ensemble des associations <valeurs de paramètres de conception, valeurs de métriques de performance> correspondant à la frontière de Pareto d'un élément, en fonction d'au moins une de ses métriques de performance. Le modèle prédictif est par exemple défini par un ensemble de fonctions mathématiques. Un exemple d'étapes mises en œuvre pour la construction d'un modèle prédictif seront décrites dans l'ordre de leur exécution.
La première étape 220 de l'opération 20P est l'identification d'un ensemble de points discrets faisant partie d'une frontière de Pareto dans l'espace des métriques de performance de l'élément. Des procédés réalisant une telle identification existent et peuvent être mis en œuvre de façon connue en soi de l'homme du métier. Tel qu'illustré par la figure 6, cette étape d'identification 220, fait généralement intervenir un procédé d'optimisation 200. Le procédé d'optimisation 200 est par exemple piloté par un algorithme 120 spécialisé pour la tâche d'identification des points d'une frontière de Pareto. Parmi les méthodes connues qui réalisent le procédé 220, il est possible de citer la méthode NSGA (pour Non-dominated Sorting Genetic Algorithm en langue anglaise) ou la méthode NBI (pour Normal Boundary Intersection en langue anglaise). La méthode NBI est préférée pour la mise en œuvre de l'invention grâce à sa capacité à identifier des points uniformément répartis sur la frontière de Pareto.
Le résultat de ce procédé est un ensemble de points représentant des relations entre des valeurs de paramètres de conception et/ou des valeurs de métriques de performance, et indiqués sur les diagrammes 221. Dans les diagrammes 221, les valeurs des paramètres de conception xl et x2 et la valeur de la métrique de performance f2 sont illustrées en fonction de valeurs de la métrique de performance fl.
La deuxième étape 300 de l'opération 20P est représentée à la figure 7. L'étape 300 génère des fonctions continues à partir des points discrets de la frontière de Pareto illustrés dans le diagramme 221. La génération des fonctions continues est typiquement effectuée par une méthode d'ajustement de courbe 300, connue en soi de l'homme du métier. Parmi les méthodes d'ajustement de courbe, on peut notamment utiliser celles mettant en ouvre la régression polynomiale, l'interpolation linéaire ou encore l'ajustement par splines cubiques. On génère ainsi des fonctions mathématiques telles qu'illustrées sur les diagrammes 321. Les fonctions mathématiques déterminent les grandeurs xl, x2 et f2 en fonction de la grandeur fl. Les fonctions mathématiques de l'exemple sont définies comme suit : xl=gxl(fl), x2=gx2(fl) et f2=gf2(fl). Pour l'utilisation ultérieure de ces fonctions, on définit un domaine de validité V pour la variable indépendante lors de leur création durant l'étape 300. En l'occurrence on définit le domaine de validité V de la métrique de performance fl utilisée comme variable indépendante. Ainsi, les valeurs calculées par xl=gxl(fl), x2=gx2(fl) et f2=gf2(fl) correspondent à la frontière de Pareto identifiée pour l'élément lors de l'étape 220.
Les figures 8A et 8B fournissent des exemples de domaines de validité V V dans différents cas de figure. Dans la figure 8A, deux fonctions xl=gxl(fl) et f2=gf2(fl) sont tracées en les superposant aux points <fl,x2> et <fl,f2> issus de l'étape d'identification de la frontière de Pareto. Les fonctions gxl et gf2 ne servent à approximer la frontière de Pareto identifiée que dans l'intervalle de valeurs de fl compris entre une borne inférieure Lb et une borne supérieure Ub. Le domaine de validité V de ces fonctions est donc défini par l'intervalle [Lb.Ub].
De façon à compléter le descriptif de l'invention, la notion de domaine de validité est également illustré à la figure 8B dans un cas où l'élément considéré comporte au moins trois métriques de performance concurrentes fl, f2, f3. Dans ce cas, les fonctions mathématiques produites par l'étape 300 font intervenir deux métriques de performance fl et f2 en tant que variables indépendantes. Dans le diagramme de la figure 8B, la fonction f3=gf3(fl,f2) définit une surface. Le domaine de validité V de cette fonction est l'enveloppe définie par les points <fl, f2, f3> échantillonnés lors de l'étape d'identification d'une frontière de Pareto. Pour ces cas avec au moins deux variables indépendantes, l'identification de l'enveloppe peut être faite par des méthodes connues telles que l'identification d'enveloppe convexe ou la détection de contour actif.
La troisième étape 400 du procédé de construction du modèle prédictif de l'élément est illustrée à la figure 9. Durant cette étape 400, on regroupe plusieurs fonctions mathématiques générées durant l'étape 300 précédente. Les fonctions permettant calculer les paramètres de conception xl et x2 sont regroupées dans le modèle prédictif 60 de l'élément, dit modèle prédictif des paramètres et noté gx(fl). Ce modèle prédictif 60 possède la variable indépendante fl comme entrée, et les paramètres de conception xl et x2 comme sorties. Le modèle prédictif 60 fournit également en sortie son domaine de validité V. De façon semblable les fonctions permettant de calculer les métriques de performance, en l'occurrence f2=gf2(fl), sont regroupées dans le modèle prédictif 332, dit modèle prédictif des performances et noté gf(fl). Ce modèle a pour entrée la métrique de performance fl et pour sortie les métriques de performance fl et f2. En l'occurrence, la métrique de performance fl (utilisée comme variable indépendante dans cet exemple) est transmise en sortie, de sorte que les modèles prédictifs 331 et 332 ont pour sortie, respectivement, l'ensemble des paramètres de conception et l'ensemble des métriques de performance. Ces deux modèles prédictifs 331 et 332 sont regroupés dans le modèle prédictif 60. Le modèle prédictif 60 correspond au modèle prédictif de l'élément et permet de déterminer des associations <valeurs de paramètres de conception, valeurs de métriques de performance> de la frontière de Pareto de l'élément à partir de la valeur d'un sous ensemble de ses métriques de performance comme variables indépendantes, en l'occurrence fl.
Les étapes 220, 300 et 400 aboutissent à la création d'un modèle prédictif pour un élément donné. La figure 10 illustre schématiquement ces étapes donnant comme exemple la construction d'un modèle prédictif pour le bloc B, dont le modèle de simulation numérique 50B est disponible dans la bibliothèque de modèles de simulation 500. Le modèle prédictif 60B du bloc B est obtenu par l'exécution successive des procédés 220, 300 et 400 appliqués à son modèle de simulation 50B. Le modèle prédictif 60B généré est stocké dans la bibliothèque de modèles prédictifs 600.
La figure 11 illustre l'utilisation d'un modèle prédictif pour accélérer la conception d'un bloc B ou d'un quelconque élément d'un niveau hiérarchique. A partir d'une exigence R sur une des métriques de performance concurrentes du bloc B, en l'occurrence une valeur de la métrique fl, l'optimisation de la conception est résolue selon l'invention par une évaluation du modèle prédictif 60B.
A contrario, selon l'état de la technique, on met usuellement en œuvre une méthode itérative d'optimisation 200 utilisant un modèle de simulation 50B du composant B.
Ainsi, pour un bloc complexe, une évaluation par le modèle prédictif 60 B est nettement moins coûteuse en temps de calcul qu'un processus d'optimisation itératif basé sur le modèle de simulation 50B. En outre, le domaine de validité V intégré au modèle prédictif 60B permet de conclure de façon immédiate si l'exigence R est réalisable ou irréalisable. Par ailleurs, un autre avantage de l'utilisation du modèle prédictif 60B du composant B est que son évaluation ne fait pas appel aux logiciels de simulation 801 à 805. A contrario, au moins un de ces logiciels de simulation 801 à 805 est nécessaire pour exécuter le modèle de simulation 50B du composant B. De ce fait, le modèle prédictif 60B est dit portable puisqu'il peut être exploité sur d'autres dispositifs de conception 1, sans que ceux-ci ne disposent d'un accès à un logiciel de simulation 801 à 805.
Vu le temps de construction non négligeable d'un tel modèle prédictif 60B, il s'avère avantageux de mémoriser les modèles prédictifs générés dans la base de données 600, en vue de les réutiliser ultérieurement. Les modèles prédictifs mémorisés pourront être utilisés soit pour synthétiser le même bloc pour différentes exigences R selon la figure 11, soit pour la conception de systèmes plus complexes dans une approche hiérarchique, comme expliqué par la suite.
En s'appuyant sur l'exemple de décomposition hiérarchique décrit auparavant en référence à la figure 5, on va maintenant décrire comment les modèles prédictifs générés peuvent être utilisés dans une méthode de conception hiérarchique.
La figure 12 illustre un exemple d'association hiérarchique d'au moins deux modèles prédictifs de blocs avec un modèle de simulation d'un système incluant ces blocs. Cet exemple fait appel aux modèles prédictifs 60B et 60C des blocs B et C construits au préalable et fait appel au modèle de simulation 50A du système A. Cette association définit un modèle de simulation numérique composé 130. Ce modèle composé 130 présente une sortie V regroupant les domaines de validité VB et VC des modèles prédictifs 60B et 60C respectivement, et une entré x=[flB,flC] correspondant aux métriques de performance flB et flC utilisées comme entrées des modèles 60B et 60C respectivement.
Pour toute valeur d'entrée x=[flB,flC] qui respecte le domaine de validité V=[VB,VC], ce modèle 130 évalue dans un premier temps les modèles prédictifs 60B et 60C et obtient des valeurs optimales des métriques de performance et paramètres de conception pour les deux blocs B et C. En l'occurrence, ces valeurs optimales sont fB et xB pour le bloc B et fC et xC pour le bloc C.
Dans un second temps, le modèle composé 130 fait appel à la relation imposée par la définition hiérarchique entre les blocs B et C et le système A, c'est à dire xA=[fB,fC]. Le modèle composé 130 peut ainsi faire un calcul avec le modèle de simulation 50A et ainsi obtenir un ensemble de métriques de performance fA du système. Le résultat du calcul de ce modèle composé 130 est l'ensemble de métriques de performance fA et des paramètres de conception xA du système A, ainsi que l'ensemble des métriques de performance fB et fC et l'ensemble des paramètres de conception xB et xC des blocs B et C qu'il inclut.
L'intérêt du modèle composé 130 réside dans le fait que l'utilisation des modèles prédictifs en amont de sa mise en œuvre pour le calcul permet de limiter les valeurs possibles de xA=[fB,fC] à des valeurs des métriques de performance fB et fC qui appartiennent à la frontière de Pareto des composants B et C respectivement et sont, par définition faisables et optimales. Cependant, restreindre les valeurs possibles de xA à des valeurs optimales de fB et fC ne suffit pas à garantir que la valeur des métriques de performance fA appartiennent à la frontière de Pareto du système A.
Un procédé d'optimisation peut être appliqué au modèle composé 130 afin de répondre au problème d'optimisation de la conception du système A. La mise en œuvre d'un tel procédé d'optimisation appliqué à un modèle de calcul composé 130 est illustré à la figure 13. Ce procédé présente une très forte similarité avec le procédé d'optimisation déjà présenté en référence aux figures 6 et 7. Le modèle composé 130 n'est présenté qu'avec son entrée x, sa sortie V et sa sortie fA, les autres sorties étant facultatives pour le procédé d'optimisation en question. Le procédé de la figure 13 diffère des procédés des figures 6 et 7 en ce que le modèle composé 130 fournit son domaine de validité à la fonction d'optimisation 110, de façon à contraindre les valeurs de x au domaine de validité V. En pratique, la fonction d'optimisation 110 ajoute la contrainte imposée par V aux exigences R et les traite sans distinction par des mécanismes de gestion de contraintes connus en soi.
L'optimisation étant très similaire à l'optimisation appliquée à un modèle de simulation d'un élément, le modèle de calcul composé 130 peut être exploité de la même manière qu'un modèle de simulation 50 dans tous ses aspects. Le modèle composé 130, comme le modèle de simulation 50, possède une entrée correspondant à des paramètres de conception et une sortie correspondant à des métriques de performance. Tous les concepts comprenant les notions d'espace de paramètres, espace de performances, optimisation et frontière de Pareto sont applicables au modèle composé 130.
La figure 14 illustre comment des techniques de construction de modèle prédictif similaires à celles de la figure 10 peuvent être étendues à un modèle de calcul composé. Le modèle composé 130ABC est réalisé en associant le modèle de simulation 50A du système A issu de la librairie de modèles de simulation 500 avec deux modèles prédictifs 60A et 60B de ses blocs constituants B et C issus de la librairie de modèles prédictifs 600. En faisant appel aux procédés 220, 300 et 400 il est possible d'obtenir un modèle prédictif 60ABC pour le système A incluant ses sous blocs B et C selon la décomposition hiérarchique utilisée dans cet exemple. Un tel modèle prédictif 60ABC créé à partir d'un modèle composé 130ABC peut comporter un indice ABC pour démarquer, de façon unique, la décomposition hiérarchique du système A à laquelle il correspond. Cette information sur la décomposition hiérarchique utilisée, en l'occurrence ABC, est mémorisée dans le modèle prédictif 60ABC lorsque celui-ci est mémorisé dans la base de données 600. Bien entendu, une fois que le modèle 60ABC est mémorisé dans la librairie 600, ce modèle peut être inclus pour la création de circuits encore plus complexes et de niveau supérieur dans la modélisation hiérarchique.
Après avoir détaillé la construction des modèles prédictifs par une méthodologie hiérarchique ascendante, on va maintenant décrire l'utilisation de ces modèles prédictifs pour réaliser la synthèse d'un système complexe par une méthodologie descendante, ce qui correspond à la procédure 20S déjà mentionnée. La figure 15 illustre l'opération 20S pour l'exemple du système A incluant les blocs A et B. A partir d'une exigence R, par exemple une valeur de la métrique de performance flA à atteindre, le modèle prédictif 60ABC est mis on œuvre pour un calcul et permet d'obtenir la valeur des métriques de performance optimales flA et f2A au niveau du système A, ainsi que les paramètres de conception xlA et x2A au niveau du système A. Par la relation imposée par la relation hiérarchique, les métriques de performance des sous blocs B et C ont une relation directe avec les paramètres de conception du système A. Dans l'exemple donné il est défini que cette relation est xlA=flB et x2A=flC. On peut ensuite mettre en œuvre les calculs avec les modèles prédictifs 60B et 60C des blocs B et C du système A, et ainsi obtenir ces métriques de performance optimales flB, f2B pour le bloc B et flC, flB pour le bloc C, ainsi que les paramètres de conception xlB, x2B pour le bloc B et xlC, x2C pour le bloc C. En parcourant la hiérarchie des modèles prédictifs de façon descendante, la procédure 20S permet de retrouver le dimensionnement optimal de tous les composants à chaque niveau hiérarchique du circuit électronique intégré à concevoir.
La figure 16 est dérivée de la figure 15 et illustre que la même opération 20S peut être appliquée pour un système à un nombre de niveaux hiérarchiques supérieur, en l'occurrence trois. Dans cet exemple, le système A dispose d'un modèle prédictif 60ABCDE et est décomposé en blocs B (modèle prédictif 60B) et C. Le bloc C dispose d'un modèle prédictif 60DE et est décomposé en sous blocs D et E ayant des modèles prédictifs 60D et 60E. La figure 17 est une représentation schématique d'un exemple de système 3 qui peut être décomposé en plusieurs blocs 32 à 36. Le système 3 correspond à un émetteur/récepteur laser. Le système 3 est ainsi décomposé en une commande 32, un émetteur laser 33, un milieu de transmission 34, un récepteur laser 35 et un amplificateur 36.
Le système 3 se décompose en plusieurs domaines : un domaine électrique illustré par 3e, et un domaine physique 3p. En l'occurrence, un signal laser est utilisé dans les blocs 33, 34 et 35.
Pour simplifier, on suppose que les métriques de performances concurrentes spécifiées pour le système 3 sont seulement un taux d'erreur et un débit de données. De même, seulement deux métriques de performances concurrentes ont été sélectionnées pour les blocs 32, 33 et 36.
Le modèle prédictif du système 3 est basé sur des modèles prédictifs des blocs 32, 33 et 36, dont le concepteur estime que les métriques de performances sont prépondérantes pour déterminer les métriques de performance du système 3. Les métriques de performances sélectionnées pour la commande 32 sont respectivement le courant de polarisation et le courant de modulation. Le diagramme de la figure 18a représente ainsi la frontière de Pareto dans l'espace de performances de la commande 32, le courant de modulation étant illustré en fonction du courant de polarisation. Le modèle de simulation numérique de ce bloc utilise un premier module logiciel pour établir son modèle prédictif.
Les métriques de performances sélectionnées pour l'émetteur 33 sont le courant de seuil et le rendement de transmission. Le diagramme de la figure 18b représente ainsi la frontière de Pareto dans l'espace de performances de l'émetteur 33, le rendement étant illustré en fonction du courant de seuil. Le modèle de simulation numérique de ce bloc utilise un deuxième module logiciel pour établir son modèle prédictif.
Les métriques de performances sélectionnées pour l'amplificateur 36 sont la bande passante et le gain de transimpédance. Le diagramme de la figure 18c représente ainsi la frontière de Pareto dans l'espace de performances de l'émetteur 36, le gain étant illustré en fonction de la bande passante. Le modèle de simulation numérique de ce bloc utilise un troisième module logiciel pour établir son modèle prédictif.
Les fonctions définissant les frontières de Pareto sont déterminées pour ce bloc. De même, les domaines de faisabilité des métriques de performance de chacun des blocs 32, 33 et 36 sont déterminés.
Le diagramme de la figure 19 représente la frontière de Pareto déterminée dans l'espace de performances du système 3 (taux d'erreur et débit de données) à partir des modèles prédictifs des différents blocs 32, 33 et 36, ainsi que des domaines de validité des métriques de ces blocs.
Bien que l'invention ait été décrite dans un souci de clarté pour des exemples simplifiés où chaque bloc ne présente que deux métriques de performances concurrentes et où chaque système ne présente que deux métriques de performances concurrentes, l'invention s'applique bien entendu également à des blocs et systèmes dans lesquels les blocs et/ou le système présentent au moins trois métriques de performances concurrentes.

Claims

REVENDICATIONS
Procédé de caractérisation d'un système électronique destiné à être inclus dans un circuit électronique intégré, comprenant les étapes de :
-récupération de modèles de simulation numérique (50B, 50C) respectifs de premier et deuxième éléments électroniques inclus dans ledit circuit électronique intégré, le modèle numérique de chacun des premier et deuxième éléments déterminant au moins deux métriques de performance concurrentes (flB, f2B, flC, f2C) dudit élément en fonction de paramètres de conception (X1B, X2B, X1C, X2C) respectifs dudit élément ;
-récupération d'un modèle de simulation numérique du système électronique (50A) représentatif d'au moins une partie dudit circuit électronique et incluant lesdits premier et deuxième éléments électroniques, le modèle numérique (50A) dudit système déterminant au moins deux métriques de performance de sortie (fia, f2a) concurrentes en fonction desdites métriques de performance des premier et deuxième éléments électroniques ;
-pour chacun des premier et deuxième éléments électroniques :
-récupération desdites métriques de performance (flB, f2B, flC, f2C) pour différentes valeurs de paramètres de conception (X1B, X2B, X1C, X2C) dudit élément ;
-génération d'une première fonction représentative d'une frontière de Pareto et définissant une deuxième desdites métriques de performance dudit élément en fonction d'une première desdites métriques de performance dudit élément ;
-détermination des domaines de validité respectifs desdites premières et deuxième métriques de performance dudit élément ;
-génération automatique d'une deuxième fonction définissant une valeur des paramètres de conception dudit élément en fonction d'une valeur de ladite première métrique de performance dudit élément ;
-appliquer, au modèle de simulation numérique du système électronique (50A), différentes valeurs des première et deuxième métriques de performance des premier et deuxième éléments appartenant auxdits domaines de validité, de façon à générer des valeurs des métriques de performance de sortie du système électronique ;
-génération d'une fonction représentative d'une frontière de Pareto et définissant une deuxième desdites métriques de performance de sortie du système électronique en fonction d'une première desdites métriques de performance de sortie du système électronique ;
-génération d'une fonction définissant des valeurs des métriques de performance des éléments en fonction de la première métrique de performance de sortie du système électronique.
2. Procédé selon la revendication 1, comprenant :
-la mémorisation de la première et de la deuxième fonction (gf, gx) de chaque élément (B) dans un modèle prédictif (60B) de cet élément ;
-la mémorisation des fonctions générées (gf, gx) pour le système électronique (A) dans un modèle prédictif (60A) du système.
3. Procédé selon la revendication 1 ou 2, dans lequel ladite première fonction d'un élément (gf) est générée par une méthode d'interpolation entre des points appartenant à une frontière de Pareto dans l'espace des métriques de performance de cet élément.
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel lesdits points appartenant à la frontière de Pareto et utilisés pour la méthode d'interpolation sont générés par une méthode NBI.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel le système électronique (A) modélise au moins une partie d'un circuit intégré hétérogène (3) et dans lequel ledit premier élément modélise un composant électronique (33, 35) du domaine physique.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel lesdites valeurs des métriques de performance (flB, f2B, flC, f2C) pour différentes valeurs des paramètres de conception (XIB, X2B, XIC, X2C) des premier et deuxième éléments (B, C) sont calculées en exécutant des logiciels de simulation distincts (801, 802, 803 , 804, 805) pour les modèles de simulation numériques (50B, 50C) des premier et deuxième éléments.
7. Procédé de conception et d'optimisation d'un circuit électronique intégré dont au moins une partie est modélisée par un système (A) incluant des premier et deuxième éléments (B, C), comprenant les étapes de :
-pour chacun des premier et deuxième éléments :
-récupération d'une première fonction (gf2) représentative d'une frontière de Pareto et définissant une deuxième métrique de performance (f2B, f2C) dudit élément en fonction d'une première métrique de performance (flB, flC) dudit élément, ladite première métrique de performance de l'élément étant concurrente de ladite deuxième métrique de performance ; -récupération d'une deuxième fonction (gx) définissant une valeur des paramètres de conception dudit élément en fonction d'une valeur de ladite première métrique de performance (flB, flC) dudit élément ;
-récupération d'une troisième fonction représentative d'une frontière de Pareto et définissant une deuxième métrique de performance de sortie (f2A) du système électronique en fonction d'une première métrique de performance de sortie (flA) du système électronique, lesdites première et deuxième métriques de performance de sortie étant concurrentes ;
-récupération d'une quatrième fonction définissant des valeurs des métriques de performance desdits éléments (flB, flC, f2B, f2C) en fonction de la première métrique de performance de sortie du système électronique ;
-récupération de domaines de validité (V) respectifs pour les métriques de performance de sortie du système électronique ;
-à partir d'une valeur de la première métrique de performance de sortie (flA) du système électronique appartenant à son domaine de validité, calcul automatique d'une valeur de la deuxième métrique de performance de sortie du système électronique et calcul automatique d'une valeur des métriques de performance desdits éléments (flB, flC, f2B, f2C) ;
-à partir desdites valeurs des métriques de performance (flB, flC, f2B, f2C) desdits éléments, calcul automatique de valeurs des paramètres de conception (X1B, X2B, X1C, X2C) desdits éléments.
8. Procédé de conception selon l'une quelconque des revendications précédentes, dans lequel lesdites métriques de performance et lesdits paramètres de conception sont des valeurs de grandeurs physiques ou électriques.
EP12794708.3A 2011-12-05 2012-11-29 Procede de conception optimisee de circuits electroniques integres Withdrawn EP2788908A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1161180A FR2983604B1 (fr) 2011-12-05 2011-12-05 Procede de conception optimisee de circuits electroniques integres
PCT/EP2012/074002 WO2013083476A1 (fr) 2011-12-05 2012-11-29 Procede de conception optimisee de circuits electroniques integres

Publications (1)

Publication Number Publication Date
EP2788908A1 true EP2788908A1 (fr) 2014-10-15

Family

ID=47278296

Family Applications (1)

Application Number Title Priority Date Filing Date
EP12794708.3A Withdrawn EP2788908A1 (fr) 2011-12-05 2012-11-29 Procede de conception optimisee de circuits electroniques integres

Country Status (3)

Country Link
EP (1) EP2788908A1 (fr)
FR (1) FR2983604B1 (fr)
WO (1) WO2013083476A1 (fr)

Also Published As

Publication number Publication date
FR2983604A1 (fr) 2013-06-07
FR2983604B1 (fr) 2014-01-10
WO2013083476A1 (fr) 2013-06-13

Similar Documents

Publication Publication Date Title
EP3414701B1 (fr) Procédé et dispositif d&#39;anonymisation de données stockées dans une base de données
FR2900753A1 (fr) Procede d&#39;optimisation automatique d&#39;un reseau de transport de gaz naturel
FR3005769A1 (fr) Systeme d&#39;aide a la decision multicritere avec generation automatique d&#39;explications et procede correspondant
EP3588301A1 (fr) Determination automatique et auto-optimisee des parametres d&#39;execution d&#39;une application logicielle sur une plateforme de traitement de l&#39;information
EP1275551A1 (fr) Dispositif de contrôle du point de fonctionnement du groupe motopropulseur d&#39;un véhicule
EP2996040A1 (fr) Procédé de détermination par optimisation d&#39;une architecture multi-coeurs
EP4071672A1 (fr) Classification de pannes inconnues dans un système de communications électroniques
EP2965237A1 (fr) Procédé de traitement d&#39;un ensemble de données destinées à être utilisées ultérieurement en vue de la génération graphique d&#39;un schéma électrique d&#39;un système électrique
EP2788908A1 (fr) Procede de conception optimisee de circuits electroniques integres
WO2010057936A1 (fr) Procede de structuration d&#39;une base de donnees d&#39;objets
FR3076921A1 (fr) OptimiSation DU TEMPS D’exÉcution D’UN programME D’ORDINATEUR EN DÉTERMINANT LA MISE EN ŒUVRE D’UNE fOnction EN FONCTION D’UN ÉVENTAIL DE paramÈtREs D’ENTRÉE ET D’UNE EXACTITUDE
WO2003044705A1 (fr) Procede d&#39;aide a la conception d&#39;algorithmes d&#39;optimisation prenant en compte une limite de temps
EP1431880A1 (fr) Méthode de discrétisation/groupage d&#39;un attribut source ou d&#39;un groupe attributs source d&#39;une base de données
EP4167144A1 (fr) Methode de conception d&#39;une architecture materielle optimisee pour l&#39;execution d&#39;un reseau de neurones
Echanobe et al. Design and optimization of a neural network-based driver recognition system by means of a multiobjective genetic algorithm
EP2128731A1 (fr) Procédé de détermination de trajectoire en présence de courants variables dans le temps
EP4432175A1 (fr) Procédé de paramétrage d&#39;une chaîne de traitement de données
WO2009071782A2 (fr) Procede pour modeliser la sensibilite d&#39;une cellule de type analogique et/ou radio-frequentielle et logiciel mettant en oeuvre ce procede
FR3029316A1 (fr) Procede de realisation d&#39;une cartographie de signaux.
FR3152902A1 (fr) Procédé de contrôle de rendu d’un texte généré à partir de données textuelles issues d’au moins un système embarqué d’un véhicule.
FR3139926A1 (fr) Procédé de génération automatique d’architectures fonctionnelles de chaîne de traction pour un véhicule hybride
EP4538933A1 (fr) Procédé de compilation d&#39;un réseau de neurones artificiels entraîné
FR3116671A1 (fr) Procédé et dispositif de prédiction de capacités de raccordement d’un réseau de distribution électrique
WO2026093281A1 (fr) Procédé de traitement d&#39;au moins une grille de données représentatives d&#39;une scène captée par un ensemble de capteurs, dispositif et programme correspondant
FR2790626A1 (fr) Procede d&#39;allocation de frequences a un ensemble d&#39;emetteurs par recherche tabou

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20140527

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20161124

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20180602