EP3044707A1 - Procede de determination du dimensionnement des transistors d'un circuit analogique - Google Patents

Procede de determination du dimensionnement des transistors d'un circuit analogique

Info

Publication number
EP3044707A1
EP3044707A1 EP14752908.5A EP14752908A EP3044707A1 EP 3044707 A1 EP3044707 A1 EP 3044707A1 EP 14752908 A EP14752908 A EP 14752908A EP 3044707 A1 EP3044707 A1 EP 3044707A1
Authority
EP
European Patent Office
Prior art keywords
circuit
block
transistor
operator
electrical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP14752908.5A
Other languages
German (de)
English (en)
Inventor
Farakh JAVID
Ramy ISKANDER
Marie-Minerve LOUËRAT
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
Sorbonne Universite
Original Assignee
Centre National de la Recherche Scientifique CNRS
Universite Pierre et Marie Curie Paris 6
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, Universite Pierre et Marie Curie Paris 6 filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP3044707A1 publication Critical patent/EP3044707A1/fr
Ceased legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/373Design optimisation

Definitions

  • the present invention relates to the field of systems on chips or SoC for System on Chip in English, and more specifically the structured design of the analog IP blocks integrated in a SoC, where the IP (IP) blocks ("IP" for Intellectual Property in English) are pre-characterized blocks arranged especially to perform one or more given functions.
  • IP IP
  • SoC Systems on chip, hereafter “SoC” by concision or indifferently “circuit”
  • CMOS technology Complementary Metal Oxide Semiconductor
  • Digital IP blocks are well managed today and are not developed further here.
  • analog I P blocks which generally perform amplification, filtering or digital ⁇ -> conversion functions, are generally very difficult to take into account when designing a SoC.
  • block means an analog IP block.
  • Category A offers the advantage of using complex standard models implemented in a simulator.
  • the disadvantage is to have to run the simulator many times, which implies a consequent synthesis time (several hours for a circuit of a hundred transistor).
  • the present invention aims to combine the advantages of the two categories above.
  • the invention relates to a method for determining the values of electrical parameters of the transistors of an analog circuit of a system-on-a-chip, comprising the steps of:
  • - (1 10) establish the circuit diagram of the circuit comprising said blocks;
  • - (120) define a set of electrical constraints specific to said circuit, said blocks and the transistors of each block according in particular to the circuit diagram of the circuit;
  • said general structured graph comprises the set of calculation operators and constraints defined by the designer.
  • step (171) of graphical representation of the alarm signal in which, in the structured graph of the circuit, at least one of the block, the operator and the electrical parameter of said operator at the origin of the conflict are represented in a predetermined color.
  • the step (160) of identifying a conflict comprises a step (161) consisting of, for a given electrical parameter, counting the number of electrical parameters whose value is propagated towards said given electrical parameter, and wherein the alarm signal is transmitted (170) if said input or output parameter of an operator is defined by more than one other electrical parameter.
  • the method includes a step (162) of removing in the defined electrical constraints the value of the block parameter at the origin of the conflict.
  • the method includes a step (163) of replacing the selected operator whose output parameter is in contention by a replacement operator such that the output parameter of the operator causing the conflict is an input parameter of the override operator.
  • An evaluation step (180) of calculating the rest point of the analog circuit can be provided.
  • the invention relates to a computer program comprising program code instructions for implementing the method according to the invention when it is executed on a computer.
  • the point of rest of a transistor is defined by the set of electrical quantities characterizing said transistor in the absence of signals to be amplified.
  • the point of rest is the state of the operating point of the transistor in the absence of any useful signal.
  • the polarization of the transistor makes it possible to place the point of rest of this one at a desired value, on the load line of this one.
  • the point of polarization of a circuit is located at the intersection of the load lines during the static regime and during the dynamic regime, which make it possible to study the behavior of the circuit.
  • the present invention makes it possible to automatically calculate the polarization point of an analog circuit and to calculate the dimensions of the transistors constituting the analog IP blocks of a given SoC. In addition, these calculations are performed in accordance with the assumptions and knowledge of the SoC designer.
  • the present invention makes it possible to generate and test several calculation procedures for the same analog IP block that a designer can very easily debug, which also makes it possible to possibly explore several design scenarios of the same IP block.
  • the present invention also makes it possible to manage the design conflicts of a given IP block, such as the design conflicts of the assembly of IP blocks with each other, which is particularly advantageous in the case of collaborative work for example.
  • the present invention provides a hierarchical and standard representation for the design and verification of a SoC comprising analog IP blocks. This representation can be easily shared and reused within a group of analog IP block developers to correct, evaluate, and protect knowledge related to a given IP block.
  • the invention is independent of SoC manufacturing technology. It can therefore be used to design and redesign an analog IP block for different technologies very easily.
  • the present invention makes it possible to increase the design speed of analog IP blocks.
  • the present invention also makes it possible to simulate the static and transient (dynamic) behavior of the IP blocks. This structured simulation makes it possible to verify the electrical behavior of an IP block designed according to the invention.
  • FIG. 1 illustrates an embodiment of an electrical diagram of an analog circuit
  • FIG. 2 illustrates an embodiment of a set of possible operators according to the invention for the 3 reference transistors M9AP, M1 AP and M2P of the block GMD of the circuit of FIG. 1,
  • FIG. 3 illustrates an embodiment according to the invention of a structured graph for the block GMD of the circuit of FIG. 1,
  • FIG. 4 illustrates an embodiment according to the invention of a truncated structured graph for the circuit of FIG. 1 presenting a conflict
  • FIG. 5 is a truncated illustration of the graph of FIG. 4 generated according to a different design choice, leading to other conflicts,
  • FIG. 6 is a truncated illustration of a graph according to the invention solving the conflicts of the graph of FIG. 4;
  • FIG. 7 illustrates an embodiment of the method according to the invention.
  • Figure 8 illustrates the results of the 3 rd filter simulation and 5 th order designed from the circuit of Figure 1 with the invention.
  • the present invention is placed in the context where a designer wishes to design a SoC. From constraints particular to the circuit topology and designer design assumptions, it can automatically calculate a No. 2 umber reduced or minimum, of the electrical parameters of transistors necessary and their dimensions the computation of the circuit bias point . Electrical diagram
  • step 1 of establishing the circuit diagram of the circuit for example by means of computer diagram design software on a computer.
  • the establishment of the electrical circuit diagram is preceded by a step of defining the topology of the circuit, that is to say, to decompose 100 the overall circuit in hierarchical levels into a set of sub-circuits or blocks connected between them and to define the arrangement of the transistors in each sub-circuit, each block having a defined functionality.
  • a plurality of transistors can be assembled into an elementary device, for example a current mirror, composed of a small number of interconnected transistors among which a reference transistor and secondary transistors are defined.
  • the reference transistor controls the sizing and polarization of the other transistors within the elementary device.
  • the electrical parameters of a reference transistor in fact uniquely define those of the secondary transistors by propagation of the parameters of said reference transistor towards the secondary transistors.
  • the propagation property is advantageously used in the structured graphs described later where only the reference transistors are represented, which makes it possible to increase the speed of calculation.
  • Each transistor or elementary device can be selected by the designer in a component library. It is possible to propagate to the set of secondary transistors the values of the electrical parameters calculated for the corresponding reference transistor.
  • FIG. 1 there is illustrated a global circuit exerting a function of controlling the linear transconductance of the block GMD with the voltage Vc, by controlling the drains of the transitos M1 AP and M1 AN differentially, where the transconductance is the ratio between the variation of the output current and the variation of the input voltage of a component or a circuit.
  • this circuit serves as a unique circuit example for the present invention.
  • This circuit comprises 4 CMC, AMP, GMD and AMP blocks or sub-circuits represented in dotted lines. Each of these blocks performs a given function.
  • the GMD block is the core of the differential transconductance
  • the AMP blocks allow tuning frequencies
  • CMC is a counter-reaction sub-circuit to stabilize the operating point.
  • the two AMP blocks are identical and therefore bear the same reference (see the matching constraints below); they are electrically connected only to the GMD block.
  • the CMC block is electrically connected only to the GMD block.
  • the electrical diagram of the circuit makes it possible to define at least part of the constraints of this circuit.
  • the electrical circuit diagram is completed, it is expected 120 to define a set of electrical constraints at each hierarchical level of the circuit: for the global circuit, the blocks, and the components (transistors or elementary devices) blocks.
  • the constraints may depend on the intended use of the circuit. They comprise for example at least one of the following elements: the supply voltage, the electrical connections (for example the equipotentials), the pairing of certain components, and the assumptions of the designer.
  • the assumptions or constraints of the designer are constraints that can not be extract from the circuit diagram of a circuit. This is for example the scheduling of transistors, linear constraints (see below), or the choice of operators (described later). At least some of the assumptions of the designer can be modified, while other constraints (typically the supply voltage) can not be modified by the designer.
  • Linear constraints are inherent to the topology of the circuit, for example because of the laws of Kirchhoff (law of the nodes and law of the meshes), or inherent to the circuit, for example by equipotentials (with or without electrical connection) or by the values of reference bias current received by each transistor (each transistor receives either the value of the reference bias current, or a multiple of this value). They can therefore be defined according to the electrical diagram of the circuit or according to a choice of design.
  • the matching constraints make it possible to consider that the reference transistor of a block is identical to the equivalent transistor in a paired block, ie of the same width.
  • a reference transistor is defined in each paired block.
  • the calculation of the dimensions of the reference transistor is applied to the paired transistor.
  • the two AMP blocks are matched, the dimensions of their reference transistors are the same. Therefore, only the dimensions of the transistors of one of the blocks are calculated and only one of the AMP blocks can be used in the structured graph described later.
  • the scheduling constraints are based on the circuit diagram; they make it possible to define the order in which the transistors of a block are dimensioned.
  • the sizing and polarization constraints correspond to the selection by the designer of a given operator for each transistor, the operator making it possible to calculate the electrical parameters of the corresponding transistor.
  • electrical parameter of a transistor is meant in particular the dimensions thereof (width and length) as well as at least some of the electrical voltages thereof (gate voltage, drain and source).
  • each operator corresponds to a given transistor and makes it possible to calculate electrical parameters of said transistor as a function of the type of operator selected and of certain electrical input parameters.
  • Operators are known, for example from the publication R. Iskander, M. Lou ⁇ rat, A. Kaiser “Hierarchical Sizing and Biaising of Analog Firm Intellectual Properties", Integration, VLSI Journal, March 2013 - pp. 172-188; Vol 46, issue 2 in press, DOI 10.1016 / j.vsli.2012.01 .001; or the publication F. Javid, R.
  • the source voltage is connected to the supply voltage, which is known.
  • the gate voltage can be determined by an operator, for example the operator OPVG which makes it possible to determine this gate voltage in addition to the width of the transistor.
  • the knowledge of the gate voltage makes it possible to calculate the source voltage.
  • the designer may choose to determine the source voltage by an operator, in this case OPVS, and then calculate the gate voltage according to the source voltage.
  • Each operator calculates electrical output parameters based on input electrical parameters and the type of operator.
  • a set of possible operators for each reference transistor of block GMD in this case M9AP, M1 AP and M2P, of FIG. They come in the form of software.
  • the structured block graphs are then assembled into a general graph of the circuit, using the equipotentials of said circuit.
  • FIG. 3 represents an embodiment of a hierarchical structured graph for the block GMD of the circuit of FIG.
  • the GMD block is symmetrical, so that the transistors M9AP, M2P and M1 AP are defined as reference transistors for respectively calculating the parameters of the secondary transistors M9AN, M2N and M1 AN.
  • the block is represented in a predetermined form, in this case a rectangle comprising in the header the identification of said block, in this case GMD.
  • Each transistor is represented in a predetermined form, in this case a rectangle, comprising in the header the identification of said transistor, for example M1 AP.
  • the pairing between transistors is also represented by a predetermined shape, in this case a rectangle, comprising in the header the identification of said transistors interconnected by a predetermined symbol, in this case the symbol "_".
  • M9AP_M9AN the pairing between the M9AP transistor and the M9AN transistor, and similarly for M1 AP_M1 AN or M2P_M2N.
  • the electrical input and output parameters of an operator for a given transistor are represented by a predetermined form, in this case the circles or ellipses, each circle or ellipse comprising a single parameter whose label illustrates said parameter, for example Vd for the drain voltage, L for the width, Vg for the gate voltage, W for the width, Id for the terminal current of drain, Vs for the source voltage, L for the length.
  • the parameters representing the constraints of said block are arranged, by convention, at the top of the structured graph and arranged in a predetermined form, in this case a rectangle, and identified as block constraints, in this case by the heading " GMD Input Parameters ".
  • Some electrical parameters are interconnected by arrows. For a given operator, the direction of the arrows between the parameters and said operator indicates whether the parameters are input parameters or output parameters.
  • Two electrical parameters can be connected to each other via a mathematical function representing the associated constraints.
  • the mathematical function is illustrated in a predetermined form, in this case a square, comprising a symbol of said mathematical function.
  • Rectangles marked for example "eq1", “eq2", etc. or more generally “eqN” represent the constraints established by the designer.
  • the equation “eq1” located in the rectangle “GMD Input Parameters” of Figure 3 4 or in the rectangle “AMP1 Input Parameters (Pin)" of Figure 4 is defined by:
  • L_M1 AP is the length of the transistor M1 AP of Figure 1
  • L and K1 are two parameters defined by the designer.
  • the value of the bias current Ibias is equal to the value of the current Id of the transistor M9AP.
  • This value of the current Id is an input parameter of the operator OPVG (VEG) of said transistor M9AP.
  • this value of the current Id of the transistor M9AP is multiplied by the mathematical function (-1) as an input parameter value Id of the operator OPW (VG, VS) of the transistor M1 AP.
  • the arrows correspond to the constraints and illustrate the propagation of the value of a parameter. They are generated automatically. They can connect the parameters of a transistor:
  • the values of the input electrical parameters are known because imposed or function of a previous calculation result. For example :
  • the value Vg of the transistor M1 AP is imposed; in this case it is equal to the value Vg defined by the constraints of the GMD block in the rectangle "GMD Input Parameters" which represents the constraints imposed by the designer for the GMD block;
  • the value Id of the transistor M1 AP is calculated from the value Id of the transistor M9AP of which it is multiplied by (-1).
  • the values of the output electrical parameters are calculated by an operator.
  • the output parameters of the OPW operator (VG, VS) for the transistor M1 AP are Vb (for mass voltage or bulk by anglicism), Vth (for threshold voltage) and W (for width).
  • the values of these output parameters are calculated by said operator as a function of the values of the input parameters.
  • Each operator is represented in a predetermined form, in this case a rectangle, comprising in the header the identification of said operator, for example OPW (VG, VS) for the transistor M1 AP (FIG. 3). All operators are configured to calculate as output parameter at least the width W of the corresponding transistor. Preferably, all the operators are further configured to calculate as output parameter at least the threshold voltage Vth of the corresponding transistor.
  • the calculation of the bulk voltage Vb, the gate voltage Vg or the source voltage Vs typically depends on the selected operator.
  • the graphical arrangement of the transistors with respect to each other satisfies the scheduling constraints.
  • the structured graph is read from top to bottom.
  • the transistor M9AP is created before the transistor M1 AP, itself created before the M2P transistor.
  • the design order of the transistors can be defined according to the electrical diagram of the circuit.
  • the transistors are made by branches, where a branch is the set of transistors interconnected by their source or their drain.
  • the transistors are made in a predetermined sequence.
  • an embodiment sequence for the first left branch of the left AMP block is the following: the transistor M5BP then the transistor M7BP, then the transistor M4BP.
  • This linear order is not mandatory, it is possible to provide more complex embodiments where the sequence is different: the M5BP transistor then the M4BP transistor, then the M7BP transistor.
  • the advantage of an embodiment sequence, and therefore of a design sequence is that certain parameters of the transistors can propagate along the sequence in a given branch.
  • the voltage VC makes it possible to calculate the voltage VB7, which makes it possible to calculate the voltage VB5.
  • the branch of the transistors M9AP, M2P and M1 AP of the block GMD of FIG. 1 corresponds to the sequence of transistors M9AP, M1 AP and M2P of FIG.
  • Constraints defined by the designer for each block can lead to design conflicts when assembling blocks together.
  • the graph comprises all the hierarchical levels: the circuit, the blocks of the circuit and the transistors of each block.
  • FIG. 4 illustrates, in a truncated manner for greater readability, a structured hierarchical graph of the circuit of FIG.
  • the graph is structured in that each block and each transistor is clearly identified. It is hierarchical in that there exists a reading convention making it possible to order the calculations of the parameters of the block-by-block transistors. The position of the blocks is determined by the designer, it defines the order of design of the sub-circuits in the reading direction of the graph. Finally the graph is bipartite in that it contains two types of nodes: the parameters (represented by circles) and the equations (represented by rectangles). The graph makes it easy to illustrate possible conflicts in a first evaluation phase and their solution in a second phase.
  • a first step is to obtain the corresponding graph of each block of the circuit and then a second step is to obtain the graph corresponding to the circuit.
  • the circuit comprises three blocks (since the two AMP blocks are paired). These three blocks are illustrated in Figure 4.
  • the CMC and GMD blocks are respectively identified by Transconductor.CMC and Transconductor.GMD. Since the two AMP blocks are paired, the two AMP blocks are identified by Transconductor.AMPI and Transconductor.AMP2.
  • This evaluation makes it possible to generate the calculation of the dimensions of the components, the hitherto unknown voltages of the connectors, as well as all the parameters of all the transistors of the circuit, thanks to the selected operators and the defined constraints.
  • the identification of a conflict may comprise a step 161 consisting of, for a given electrical parameter, counting the number of electrical parameters whose value propagates towards said given electrical parameter.
  • FIG. 4 illustrates a truncated structured graph corresponding to the circuit of FIG. 1 and for which block constraints have been defined by the designer in the "Input Parameters (Pin)" rectangles for each block CMC, GMD and AMP; and operators selected for each reference transistor of each block.
  • the output parameters of each operator are calculated.
  • the value of an output parameter of an operator can be reused (propagated) as an input parameter for another operator in the reading direction of the structured graph.
  • the first constraints defined are those of the global circuit "Transconductor Input Parameters (Pin)", then those of the CMC block (“CMC Input Parameters (Pin)”) some of which are used as input parameters of the operator OPVG (VEG) of the transistor M13.
  • the value Vd propagates from the constraints of the CMC block to the transistor M13 as an input parameter of the operator OPVG (VEG). Then this value Vd propagates with an equality constraint as an output parameter Vg of the operator OPVG (VEG) of the transistor M9AP of the block GMD, etc. Since this value Vg is also defined as an output parameter calculated by the OPVG operator (VEG) of the M9AP transistor, there is therefore a conflict since this value Vg is non-unique.
  • an alarm will be generated which signifies this conflict.
  • the message content identifies at least the operator and the electrical parameter at the origin of the conflict.
  • it is possible to provide a graphic representation of the alarm for example by a color code.
  • at least one of the block, the operator and the electrical parameter of the said operator at the origin of the conflict are colored, for example in red. The designer can thus easily and very quickly identify design conflicts.
  • FIG. 5 Another example of a conflict is illustrated in FIG. 5, which truncates another embodiment of a structured graph of the circuit of FIG. In this case, the design order of the sub-circuits is different compared to Figure 4, which can generate different conflicts.
  • the value Vg of the input parameter of the OPVS operator (VEG, VB) of the transistor M1 1 AP of the block CMC is defined both by the value Vg of the constraints of the block "CMC Input Parameters (Pin ) Of said block and by the value Vd of the output parameter of the transistor M9AN of the block GMD. So there is a conflict.
  • the value Vd of the input parameter of the operator OPVG (VEG) of the transistor M13 of the block CMC is defined both by the value Vd of the constraints of the block "CMC Input Parameters (Pin)" of said block and by the value Vg of the output parameter of the transistor M9AP of the block GMD. So there is a conflict.
  • the identification of a conflict consists in detecting whether an input or output parameter of an operator is defined by more than one parameter, therefore an alarm will be generated in this case.
  • a conflict may exist between a block parameter and an output parameter that both propagate their value to the same input parameter.
  • the block constraints are defined by the designer and the constraints between blocks or between transistors of the same block are physical constraints.
  • it is expected to remove the parameter of the block constraint at the origin of the conflict.
  • a conflict may exist between a parameter whose value would be calculated by two operators or by an operator and by the propagation of a value of another electrical parameter according to certain constraints.
  • the replacement operator is an operator of the same class as that of the first operator, the class of an operator defining the voltages (gate, drain or source) calculated by the latter.
  • the operators OPIDS (VEG), OPIDS (VG, VS), OPIDS (VGS, VG) and OPIDS (VGS, VS) are of the same class.
  • the class of OPVG operators and those of OPW operators are defined.
  • the output parameter of the operator causing the conflict is an input parameter of the replacement operator.
  • Vg of the output parameter of the operator OPVG (VEG) of the transistor M9AP of the block GMD is in conflict because also defined by the value Vd of the transistor M1 3 of the block CMC.
  • the conflict is resolved, as illustrated in FIG. 6, by replacing the operator OPVG (VEG) of the transistor M9AP of the block GMD whose output parameter is at the origin of the conflict by a replacement operator, in the the operator OPW (VG, VS) in which the value Vg is then an input parameter, always defined by the value Vd of the transistor M13 of the CMC block.
  • OPVG operator OPVG
  • VS operator OPW
  • a structured graph can detect and resolve conflicts. It can also be reused later for the synthesis and re-design of the circuit.
  • FIG. 8 represents the evolution of the gain of the 3 th and 5 th order circuit (filter) designed from the circuit of FIG. 1 as a function of the frequency, for four control voltage values Vc.
  • the invention is a tool for assisting the design of analog circuits which makes it possible to calculate the dimensions of the transistors, and which makes it possible to guide the designer in the design of an analog circuit.
  • the invention is independent of the number of blocks, the number of electrical parameters. The number of operators is linear with the number of transistors, which allows very fast calculations.
  • a step 180 consisting in calculating the rest point of the analog circuit is provided.
  • Tests have been carried out by the applicant on the time required for sizing the circuit illustrated in FIG. According to the techniques of the prior art, this time is several hours; according to the invention, the time required for reading and evaluating the structured graph representing the circuit of FIG. 1, the identification and the resolution of the conflicts is 64 seconds, after optimization of the parameters.

Abstract

L'invention concerne un procédé de détermination des valeurs de paramètres électriques des transistors d'un circuit analogique d'un système sur puce, comprenant : - (100) décomposer le circuit en un ensemble de blocs reliés entre eux; - (110) établir le schéma électrique dudit circuit; - (120) définir un ensemble de contraintes électriques propres audit circuit, blocs et transistors de chaque bloc; - (130) définir des paramètres électriques de circuit, de bloc et de transistors; - (140) sélectionner, pour chaque transistor du circuit, un opérateur de calcul des valeurs de paramètres électriques dudit transistor; - (150) générer des graphes structurés de chaque bloc du circuit à partir des contraintes définies et des opérateurs choisis, - (151) assembler ces graphes structurés de blocs en un graphe général du circuit; - (160) identifier s'il existe un conflit; et - (170) émettre un signal d'alarme dans ce cas.

Description

PROCEDE DE DETERMINATION DU DIMENSIONNEMENT DES
TRANSISTORS D'UN CIRCUIT ANALOGIQUE
La présente invention concerne le domaine des systèmes sur puces ou SoC pour System on Chip en anglais, et plus précisément la conception structurée des blocs IP analogiques intégrés dans un SoC, où les blocs I P ( « I P » pour Intellectual Property en anglais) sont des blocs pré-caractérisés agencés particulièrement pour réaliser une ou plusieurs fonctions données.
Les systèmes sur puce, ci-après « SoC » par concision ou indifféremment « circuit », sont généralement fabriqués en technologie CMOS (Complementary Métal Oxide Semiconductor en anglais, une technologie de fabrication de composants électroniques) et comprennent typiquement une partie numérique et une partie analogique. Les blocs IP numériques sont bien gérés aujourd'hui et ne sont pas développés plus avant ici. En revanche, les blocs I P analogiques, qui font généralement des fonctions d'amplification, de filtrage ou de conversion analogique <- > numérique, sont généralement très difficiles à prendre en compte lors de la conception d'un SoC. Par concision, et sauf précision contraire, dans le texte qui suit, on entend donc par « bloc » un bloc IP analogique.
Pour un bloc, il n'existe pas à l'heure actuelle de méthode générale ou d'outils de synthèse permettant de fournir une description comportementale dudit bloc, plus communément appelée « netlist », à partir d'une bibliothèque de cellules standards (Standard Cells en anglais) pré-caractérisées.
A ce jour, pour une fonction ou un comportement donné (amplification, filtrage, conversion), la synthèse analogique se décompose essentiellement dans les trois phases suivantes :
1 . trouver une structure adéquate pour la fonction donnée;
2. déterminer la valeur des paramètres de la structure retenue par le concepteur pour répondre à des spécifications électriques particulières (par exemple les largeurs -notées W- des transistors, et les polarisations de certains points du circuit doivent être calculés); et
3. dessiner les masques de la structure retenue. Pour la phase de dimensionnement, on utilise généralement un optimiseur et un évaluateur de performances qui interagissent en boucle.
La synthèse automatisée des circuits analogiques est classées typiquement dans les deux catégories suivantes :
A. l'optimisation basée sur la simulation, et
B. l'optimisation basée sur la connaissance.
La catégorie A (simulation) offre l'avantage d'utiliser des modèles standards complexes implantés dans un simulateur. Cependant, l'inconvénient est de devoir lancer le simulateur de nombreuses fois, ce qui implique un temps de synthèse conséquent (plusieurs heures pour un circuit d'une centaine de transistor).
Pour la catégorie B (connaissance), tout dépend du concepteur. La modélisation du circuit par des équations est une tâche assez longue qui dépend de plusieurs facteurs. Les relations entre les performances du circuit et les dimensions des transistors sont complexes et le temps d'analyse peut s'étendre jusqu'à plusieurs mois. Cependant, l'avantage est que la synthèse devient très rapide puisqu'on évite les simulations.
Quelle que soit la catégorie de synthèse, l'utilisation d'un optimiseur peut conduire à des solutions présentant des inconvénients.
La présente invention vise à cumuler les avantages des deux catégories ci- dessus.
Plus précisément, l'invention concerne un procédé de détermination des valeurs de paramètres électriques des transistors d'un circuit analogique d'un système sur puce, comprenant des étapes consistant à :
- (100) décomposer le circuit en un ensemble de blocs dont certains au moins sont reliés entre eux, chaque bloc ayant une fonctionnalité définie et comprenant un agencement de transistors propre audit bloc ;
- (1 10) établir le schéma électrique du circuit comprenant lesdits blocs ; - (120) définir un ensemble de contraintes électriques propres audit circuit, auxdits blocs et aux transistors de chaque bloc en fonction notamment du schéma électrique du circuit ;
- (130) définir des paramètres électriques de circuit, des paramètres électriques de bloc et des paramètres électriques de transistors ;
- (140) sélectionner, pour chaque transistor du circuit, un opérateur de calcul des valeurs de paramètres électriques dudit transistor, chaque opérateur de calcul permettant pour un transistor donné de calculer des valeurs de paramètres électriques de sortie en fonction dudit opérateur, de paramètres électriques d'entrée et des contraintes électriques appliquées audit transistor;
- (150) générer des graphes structurés de chaque bloc du circuit à partir des contraintes définies et des opérateurs choisis, chaque graphe comprenant un ensemble de nœuds ;
- (151 ) assembler ces graphes structurés de blocs en un graphe général du circuit, en utilisant les équipotentielles dudit circuit ;
- (160) identifier si l'un au moins des nœuds présente un conflit ; et
- (170) émettre un signal d'alarme s'il existe un conflit.
De préférence, ledit graphe structuré général comprend l'ensemble des opérateurs de calcul et des contraintes définies par le concepteur.
On peut prévoir une étape (171 ) de représentation graphique du signal d'alarme, dans laquelle, dans le graphe structuré du circuit, l'un au moins des éléments parmi le bloc, l'opérateur et le paramètre électrique dudit opérateur à l'origine du conflit sont représentés dans une couleur prédéterminée.
On peut prévoir que l'étape (160) d'identification d'un conflit comprend une étape (161 ) consistant à, pour un paramètre électrique donné, compter le nombre de paramètres électriques dont la valeur se propage vers ledit paramètre électrique donné, et dans lequel le signal d'alarme est émis (170) si ledit paramètre d'entrée ou de sortie d'un opérateur est défini par plus d'un autre paramètre électrique. On peut prévoir des étapes consistant à :
- (101 ) définir, pour au moins un bloc, un ensemble d'au moins un transistor de référence et un ensemble d'au moins un transistor secondaire correspondant, et
- (152) propager à l'ensemble de transistors secondaires les valeurs des paramètres électriques calculées pour le transistor de référence correspondant.
De préférence, s'il existe un conflit sur une valeur de paramètre électrique d'entrée d'un opérateur, le procédé comprend une étape (162) consistant à supprimer dans les contraintes électriques définies la valeur du paramètre de bloc à l'origine du conflit.
De préférence, s'il existe un conflit sur une valeur de paramètre électrique de sortie d'un opérateur, le procédé comprend une étape (163) consistant à remplacer l'opérateur sélectionné dont le paramètre de sortie est en conflit par un opérateur de remplacement tel que le paramètre de sortie de l'opérateur à l'origine du conflit soit un paramètre d'entrée de l'opérateur de remplacement.
On peut prévoir une étape (180) d'évaluation consistant à calculer le point de repos du circuit analogique.
On peut prévoir une étape (190) consistant à simuler le comportement dudit circuit.
Selon un autre de ses objets, l'invention concerne un programme d'ordinateur comprenant des instructions de code de programme pour la mise en œuvre du procédé selon l'invention lorsqu'il est exécuté sur un ordinateur.
Le point de repos d'un transistor est défini par l'ensemble des grandeurs électriques caractérisant ledit transistor en l'absence de signaux à amplifier. Le point de repos est donc l'état du point de fonctionnement du transistor en l'absence de tout signal utile. La polarisation du transistor permet de placer le point de repos de celui-ci à une valeur désirée, sur la droite de charge de celui-ci. Le point de polarisation d'un circuit se situe à l'intersection des droites de charge lors du régime statique et lors du régime dynamique, qui permettent d'étudier le comportement du circuit.
La présente invention permet de calculer automatiquement le point de polarisation d'un circuit analogique et de calculer les dimensions des transistors constituant les blocs IP analogiques d'un SoC donné. En outre, ces calculs sont effectués en respectant les hypothèses et la connaissance du concepteur du SoC.
La présente invention permet de générer, tester, plusieurs procédures de calcul pour un même bloc IP analogique qu'un concepteur peut très facilement déboguer, ce qui permet en outre d'explorer éventuellement plusieurs scénarii de conception d'un même bloc IP.
La présente invention permet également de gérer les conflits de conception d'un bloc IP donné, comme les conflits de conception de l'assemblage de blocs IP entre eux, ce qui est particulièrement avantageux en cas de travail collaboratif par exemple.
La présente invention permet une représentation hiérarchique et standard pour la conception et pour la vérification d'un SoC comprenant des blocs IP analogiques. Cette représentation peut être partagée facilement et réutilisée au sein d'un groupe de développeurs de blocs IP analogiques pour corriger, évaluer et protéger la connaissance liées à un bloc IP donné.
Avantageusement, l'invention est indépendante de la technologie de fabrication du SoC. Elle peut donc être utilisée pour concevoir et reconcevoir un bloc IP analogique pour différentes technologies très facilement.
La présente invention permet d'augmenter la vitesse de conception de blocs IP analogiques. Outre l'aide à la conception, la présente invention permet également de simuler le comportement statique et transitoire (dynamique) des blocs IP. Cette simulation structurée permet de vérifier le comportement électrique d'un bloc IP conçu selon l'invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante donnée à titre d'exemple illustratif et non limitatif et faite en référence aux figures annexées dans lesquelles :
- la figure 1 illustre un mode de réalisation d'un schéma électrique d'un circuit analogique,
- la figure 2 illustre un mode de réalisation d'un ensemble d'opérateurs possibles selon l'invention pour les 3 transistors de référence M9AP, M1 AP et M2P du bloc GMD du circuit de la figure 1 ,
- la figure 3 illustre un mode de réalisation selon l'invention d'un graphe structuré pour le bloc GMD du circuit de la figure 1 ,
- la figure 4 illustre un mode de réalisation selon l'invention d'un graphe structuré tronqué pour le circuit de la figure 1 présentant un conflit,
- la figure 5 illustre de façon tronquée le graphe de la figure 4 généré selon un choix de conception différent, amenant à d'autres conflits,
- la figure 6 illustre de façon tronquée un graphe selon l'invention résolvant les conflits du graphe de la figure 4,
- la figure 7 illustre un mode de réalisation du procédé selon l'invention, et
- la figure 8 illustre les résultats d'une simulation de filtres du 3eme et 5eme ordre conçus à partir du circuit de la figure 1 grâce à l'invention.
La présente invention se place dans le contexte où un concepteur souhaite concevoir un SoC. A partir des contraintes liées notamment à la topologie du circuit et des hypothèses de conception du concepteur, elle permet de calculer automatiquement un no2mbre réduit, voire minimum, de paramètres électriques des transistors et leurs dimensions nécessaires au calcul du point de polarisation du circuit. Schéma électrique
On prévoit une étape 1 10 consistant à établir le schéma électrique du circuit, par exemple grâce à un logiciel de conception de schémas électriques sur un ordinateur.
L'établissement du schéma électrique du circuit est précédée d'une étape consistant à définir la topologie du circuit, c'est-à-dire à décomposer 100 le circuit global selon des niveaux hiérarchiques en un ensemble de sous-circuits ou blocs reliés entre eux et à définir l'agencement des transistors dans chaque sous-circuit, chaque bloc ayant une fonctionnalité définie.
On prévoit 130 de définir des paramètres électriques de circuit, des paramètres électriques de bloc et des paramètres électriques de transistors.
Dans un bloc, une pluralité de transistors peut être assemblée en un dispositif élémentaire, par exemple un miroir de courant, composé d'un petit nombre de transistors interconnectés parmi lesquels on définit un transistor de référence et des transistors secondaires. Le transistor de référence contrôle le dimensionnement et la polarisation des autres transistors au sein du dispositif élémentaire. De façon connue en soi, les paramètres électriques d'un transistor de référence définissent en effet d'une manière unique ceux des transistors secondaires par propagation des paramètres dudit transistor de référence vers les transistors secondaires.
On peut prévoir 101 de définir, pour au moins un bloc, un ensemble d'au moins un transistor de référence et un ensemble d'au moins un transistor secondaire correspondant.
La propriété de propagation est avantageusement utilisée dans les graphes structurés décrits ultérieurement où seuls les transistors de référence sont représentés, ce qui permet d'augmenter la vitesse de calcul. Chaque transistor ou chaque dispositif élémentaire peut être sélectionné par le concepteur dans une bibliothèque de composants. On peut prévoir 152 de propager à l'ensemble de transistors secondaires les valeurs des paramètres électriques calculées pour le transistor de référence correspondant.
Par exemple sur la figure 1 , on a illustré un circuit global exerçant une fonction de contrôle de la transconductance linéaire du bloc GMD avec la tension Vc, en contrôlant les drains des transitros M1 AP et M1 AN de façon différentielle, où la transconductance est le rapport entre la variation du courant de sortie et la variation de la tension d'entrée d'un composant ou d'un circuit. Par concision, ce circuit sert d'unique exemple de circuit pour la présente invention. Ce circuit comprend 4 blocs ou sous-circuits CMC, AMP, GMD et AMP représentés en pointillés. Chacun de ces blocs exerce une fonction donnée. En l'espèce, le bloc GMD est le cœur de la transconductance différentielle, les blocs AMP permettent un accordage en fréquences et CMC est un sous-circuit de contre réaction pour stabiliser le point d'opération.
Les deux blocs AMP sont identiques et portent par conséquent la même référence (voir les contraintes d'appariement ci-après) ; ils sont reliés électriquement uniquement au bloc GMD. Le bloc CMC est relié électriquement uniquement au bloc GMD.
Le schéma électrique du circuit permet de définir une partie au moins des contraintes de celui-ci.
Définition des contraintes
Une fois le schéma électrique du circuit terminé, on prévoit 120 de définir un ensemble de contraintes électriques à chaque niveau hiérarchique du circuit : pour le circuit global, les blocs, et les composants (transistors ou dispositifs élémentaires) des blocs.
Les contraintes peuvent dépendre de l'utilisation prévue du circuit. Elles comprennent par exemple au moins l'un des éléments suivants : la tension d'alimentation, les connexions électriques (par exemple les équipotentiels), l'appariement de certains composants, et les hypothèses du concepteur. Les hypothèses ou contraintes du concepteur sont des contraintes que l'on ne peut extraire du schéma électrique d'un circuit. Il s'agit par exemple de l'ordonnancement des transistors, des contraintes linéraires (voir ci-dessous), ou du choix des opérateurs (décrits ultérieurement). Certaines au moins des hypothèses du concepteur peuvent être modifiées, alors que d'autres contraintes (typiquement la tension d'alimentation) ne peuvent pas être modifiées par le concepteur.
Pour les contraintes relatives aux blocs et aux composants, on prévoit de définir au moins certaines et de préférence toutes les contraintes électriques sur l'ensemble des blocs et des transistors du circuit.
Typiquement, il existe les contraintes électriques linéaires, d'appariement, d'ordonnancement et les contraintes de dimensionnement et de polarisation.
- Les contraintes linéaires permettent d'exprimer les dépendances linéaires entre paramètres.
Les contraintes linéaires sont inhérentes à la topologie du circuit, par exemple du fait des lois de Kirchhoff (loi des nœuds et loi des mailles), ou inhérentes au circuit, par exemple par des équipotentiels (avec ou sans connexion électrique) ou par les valeurs de courant de polarisation de référence reçues par chaque transistor (chaque transistor reçoit soit la valeur du courant de polarisation de référence, soit un multiple de cette valeur). Elles peuvent donc être définies en fonction du schéma électrique du circuit ou en fonction d'un choix de conception.
- Les contraintes d'appariement, ou contraintes de matching par anglicisme, permettent de considérer comme équivalents des blocs réalisant une même fonction donnée, par exemple amplification, filtrage ou conversion.
Les contraintes d'appariement permettent de considérer que le transistor de référence d'un bloc est identique au transistor équivalent dans un bloc apparié, c'est à dire de même largeur. Dans chaque bloc apparié, on définit un transistor de référence. Le calcul des dimensions du transistor de référence est appliqué au transistor apparié. Par exemple sur la figure 1 , les deux blocs AMP sont appariés, les dimensions de leurs transistors de référence sont les mêmes. Par conséquent, seules les dimensions des transistors de l'un des blocs sont calculées et seul l'un des blocs AMP peut être utilisé dans le graphe structuré décrit ultérieurement.
- Les contraintes d'ordonnancement, ou scheduling par anglicisme, définissent l'ordre de conception des transistors.
Les contraintes d'ordonnancement sont fondées sur le schéma électrique du circuit ; elles permettent de définir l'ordre dans lequel les transistors d'un bloc sont dimensionnés.
Avantageusement, on représente cet ordre de manière graphique par des graphes structurés décrits ultérieurement. De tels graphes ont été publiés dans la référence F. Javid, R. Iskander, M-M Louërat et D. Dupuis « Analog Circuits Sizing Using Bipartite Graphs », IEEE, Midwest Symposium on Circutis and Systems, August 201 1 .
- Les contraintes de dimensionnement et de polarisation correspondent à la sélection par le concepteur d'un opérateur donné pour chaque transistor, l'opérateur permettant de calculer les paramètres électriques du transistor correspondant.
Par paramètre électrique d'un transistor, on entend notamment les dimensions de celui-ci (largeur et longueur) ainsi que certaines au moins des tensions électriques de celui-ci (tension de grille, drain et source).
Opérateurs
On prévoit 140 de sélectionner un ensemble d'opérateurs ; chaque opérateur correspond à un transistor donné et permet de calculer des paramètres électriques dudit transistor en fonction du type d'opérateur sélectionné et de certains paramètres électriques d'entrée. Les opérateurs sont connus, par exemple de la publication R. Iskander, M-M Louërat, A. Kaiser « Hierarchical Sizing and Biaising of Analog Firm Intellectual Properties », Intégration, the VLSI Journal, March 2013 - pp. 172-188; Vol 46, issue2 in press, DOI 10.1016/j.vsli.2012.01 .001 ; ou de la publication F. Javid, R. Iskander, M- M Louërat « Simulation-Based Hierarchical Sizing and Biaising of Analog Firm IPs », IEEE International Behavioral Modeling and Simulation Conférence, pages 43-48, September 2009. Ils permettent, sur la base du schéma électrique du circuit (figure 1 ) de calculer des paramètres d'un transistor donné, par exemple la tension de grille, de drain ou de source en un point particulier quelconque du circuit et la largeur du transistor correspondant.
Par exemple pour le transistor M6BP (figure 1 ) la tension de source est reliée à la tension d'alimentation, qui est connue. La tension de grille peut être déterminée par un opérateur, par exemple l'opérateur OPVG qui permet de déterminer cette tension de grille en plus de la largeur du transistor. La connaissance de la tension de grille permet de calculer la tension de source. Réciproquement, le concepteur peut choisir de déterminer la tension de source par un opérateur, en l'espèce OPVS, et de calculer alors la tension de grille en fonction de la tension de source.
Chaque opérateur calcule des paramètres électriques de sortie sur la base de paramètres électriques d'entrée et du type d'opérateur.
Sur la figure 2, on a illustré par ligne un ensemble d'opérateurs possibles pour chaque transistor de référence du bloc GMD, en l'espèce M9AP, M1 AP et M2P, de la figure 1 . Ils se présentent sous forme de logiciel.
La sélection par un concepteur d'un opérateur donné pour un transistor de référence donné permet ultérieurement de calculer les dimensions correspondantes dudit transistor de référence et de propager ces valeurs aux transistors secondaires du dispositif élémentaire auquel appartient ledit transistor de référence.
A cet effet, une fois le schéma électrique réalisé et les contraintes du circuit déterminées, on prévoit de réaliser un graphe structuré correspondant aux opérateurs sélectionnés. Graphe structuré hiérarchique de bloc
On prévoit 150 de réaliser un graphe structuré correspondant aux opérateurs sélectionnés pour l'ensemble des blocs d'un circuit donné. En l'espèce il s'agit d'une représentation graphique sous forme de graphe de dépendance dont les nœuds représentent les paramètres électriques des transistors, les opérateurs et les contraintes. Les arcs représentent la propagation des paramètres électriques dans le graphe.
Les graphes structurés de blocs sont ensuite assemblés 151 en un graphe général du circuit, en utilisant les équipotentielles dudit circuit.
Un exemple simplifié de graphe structuré hiérarchique est illustré en figure 3 qui représente un mode de réalisation d'un graphe structuré hiérarchique pour le bloc GMD du circuit de la figure 1 .
En l'espèce, le bloc GMD est symétrique, de sorte qu'on définit comme transistors de références les transistors M9AP, M2P et M1 AP pour calculer respectivement les paramètres des transistors secondaires M9AN, M2N et M1 AN.
Le bloc est représenté dans une forme prédéterminée, en l'espèce un rectangle comprenant en en-tête l'identification dudit bloc, en l'espèce GMD.
Chaque transistor est représenté dans une forme prédéterminée, en l'espèce un rectangle, comprenant en en-tête l'identification dudit transistor, par exemple M1 AP. L'appariement entre transistors est également représenté par une forme prédéterminée, en l'espèce un rectangle, comprenant en en-tête l'identification desdits transistors reliés entre eux par un symbole prédéterminé, en l'espèce le symbole « _ ». Par exemple on représente par M9AP_M9AN l'appariement entre le transistor M9AP et le transistor M9AN, et de même pour M1 AP_M1 AN ou M2P_M2N.
Les paramètres électriques d'entrée et de sortie d'un opérateur pour un transistor donné sont représentés par une forme prédéterminée, en l'espèce des cercles ou ellipses, chaque cercle ou ellipse comprenant un paramètre unique dont le libellé illustre ledit paramètre, par exemple Vd pour la tension de drain, L pour la largeur, Vg pour la tension de grille, W pour la largeur, Id pour courant terminal de drain, Vs pour la tension de source, L pour la longueur.
Les paramètres représentant les contraintes dudit bloc sont disposées, par convention, en haut de graphe structuré et disposées dans une forme prédéterminée, en l'espèce un rectangle, et identifiées comme contraintes de bloc, en l'espèce par l'en-tête « GMD Input Parameters ».
Certains paramètres électriques sont reliés entre eux par des flèches. Pour un opérateur donné, le sens des flèches entre les paramètres et ledit opérateur indique si les paramètres sont des paramètres d'entrée ou des paramètres de sortie. Deux paramètres électriques peuvent être reliés entre eux par l'intermédiaire d'une fonction mathématique représentant les contraintes associées. La fonction mathématique est illustrée dans une forme prédéterminée, en l'espèce un carré, comprenant un symbole de ladite fonction mathématique.
Les rectangles marqués par exemple « eq1 », « eq2 », etc. ou plus généralement « eqN » représentent les contraintes établies par le concepteur. Par exemple, l'équation « eq1 » située dans le rectangle « GMD Input Parameters » de la figure 3 4 ou dans le rectangle « AMP1 Input Parameters (Pin)» de la figure 4 est définie par :
eq1 : L_M1 AP = L * K1
où L_M1 AP est la longueur du transistor M1 AP de la figure 1 , L et K1 sont deux paramètres définis par le concepteur.
Les rectangles marqués « x 1 », « x (-1 ) » ou plus généralement « x N » correspondent à des fonctions de multiplication par un facteur N, qui permettent d'établir des relations entre les courants des transistors du circuit. Par exemple, le nœud labellisé « x (-1 ) » dans la figure 3 représente l'équation suivante :
ld_M1 AP = ld_M9AP * (-1 )
où ld_M1 AP et ld_M9AP sont respectivement les courants des transistors M1 AP et M9AP de la figure 1 . Enfin, les rectangles marqués « = » expriment l'égalité de deux (ou plus) paramètres. Les équipotentielles (i.e. connexions électriques) du circuit sont représentées par de tels rectangles.
Par exemple, la valeur du courant de polarisation Ibias est égale à la valeur du courant Id du transistor M9AP. Cette valeur du courant Id est un paramètre d'entrée de l'opérateur OPVG(VEG) dudit transistor M9AP. Parallèlement, cette valeur du courant Id du transistor M9AP est multipliée par la fonction mathématique (-1 ) comme valeur de paramètre d'entrée Id de l'opérateur OPW(VG,VS) du transistor M1 AP.
Plus généralement, les flèches correspondent aux contraintes et illustrent la propagation de la valeur d'un paramètre. Elles sont générées automatiquement. Elles peuvent relier les paramètres d'un transistor :
- à un autre transistor du même bloc,
- aux contraintes du bloc aux paramètres d'un autre bloc.
Les valeurs des paramètres électriques d'entrée sont connues car imposées ou fonction d'un résultat de calcul précédent. Par exemple :
- la valeur Vg du transistor M1 AP est imposée; en l'espèce elle est égale à la valeur Vg définie par les contraintes du bloc GMD dans le rectangle « GMD Input Parameters » qui représente les contraintes imposées par le concepteur pour le bloc GMD ;
- la valeur Id du transistor M1 AP est calculée à partir de la valeur Id du transistor M9AP dont elle est multipliée par (-1 ).
Les valeurs des paramètres électriques de sortie sont calculées par un opérateur. Par exemple les paramètres de sortie de l'opérateur OPW(VG, VS) pour le transistor M1 AP sont Vb (pour tension de masse ou bulk par anglicisme), Vth (pour tension de seuil) et W (pour largeur). Les valeurs de ces paramètres de sortie sont calculées par ledit opérateur en fonction des valeurs des paramètres d'entrée.
Chaque opérateur est représenté dans une forme prédéterminée, en l'espèce un rectangle, comprenant en en-tête l'identification dudit opérateur, par exemple OPW(VG,VS) pour le transistor M1 AP (figure 3). Tous les opérateurs sont configurés pour calculer comme paramètre de sortie au moins la largeur W du transistor correspondant. De préférence, tous les opérateurs sont en outre configurés pour calculer comme paramètre de sortie au moins la tension de seuil Vth du transistor correspondant. Le calcul de la tension de bulk Vb, de la tension de grille Vg ou de la tension de source Vs dépend typiquement de l'opérateur sélectionné.
Bien entendu, d'autres formes que les carrés, les rectangles et les cercles peuvent être choisies.
La disposition graphique des transistors les uns par rapport aux autres répond aux contraintes d'ordonnancement. Par convention on définit que le graphe structuré est lu de haut en bas. En l'espèce le transistor M9AP est donc créé avant le transistor M1 AP, lui-même créé avant le transistor M2P.
Pour un bloc donné, l'ordre de conception des transistors peut être défini en fonction du schéma électrique du circuit. De préférence, les transistors sont réalisés par branches, où une branche est l'ensemble des transistors reliés entre eux par leur source ou leur drain. De préférence, pour une branche donnée, les transistors sont réalisés selon une séquence déterminée.
Par exemple sur la figure 1 , une séquence de réalisation pour la première branche de gauche du bloc AMP de gauche est la suivante : le transistor M5BP puis le transistor M7BP, puis le transistor M4BP. Cet ordre linéaire n'est pas obligatoire, on peut prévoir des modes de réalisation plus complexes où la séquence est différente : le transistor M5BP puis le transistor M4BP, puis le transistor M7BP.
L'avantage d'une séquence de réalisation, donc d'une séquence de conception, réside en ce que certains paramètres des transistors peuvent se propager le long de la séquence dans une branche donnée. Par exemple sur la partie haute gauche du bloc AMP de la figure 1 , la tension VC permet de calculer la tension VB7, qui permet de calculer la tension VB5. Par exemple, la branche des transistors M9AP, M2P et M1 AP du bloc GMD de la figure 1 correspond à la séquence de transistors M9AP, M1 AP et M2P de la figure 3.
Graphe structuré hiérarchique de circuit
Les contraintes définies par le concepteur pour chaque bloc peuvent amener à des conflits de conception lors de l'assemblage de blocs entre eux.
En généralisant l'exemple précédent de graphe structuré pour le bloc GMD, une fois le schéma électrique du circuit défini, les contraintes définies et les opérateurs sélectionnés, on prévoit de réaliser un graphe structuré hiérarchique pour l'ensemble des blocs dudit circuit. De préférence, le graphe comprend tous les niveaux hiérarchiques : le circuit, les blocs du circuit et les transistors de chaque bloc.
Par exemple la figure 4 illustre, de façon tronquée pour plus de lisibilité, un graphe structuré hiérarchique du circuit de la figure 1 .
Le graphe est structuré en ce que chaque bloc et chaque transistor est clairement identifié. Il est hiérarchique en ce qu'il existe une convention de lecture permettant d'ordonner les calculs des paramètres des transistors bloc par bloc. La position des blocs est déterminée par le concepteur, elle définit l'ordre de conception des sous-circuits dans le sens de lecture du graphe. Enfin le graphe est biparti en ce qu'il contient deux types de noeuds : les paramètres (représentés par des cercles) et les équations (représentées par des rectangles). Le graphe permet d'illustrer facilement les conflits éventuels dans une première phase d'évaluation et leur solution dans une deuxième phase.
Une première étape consiste à obtenir le graphe correspondant de chaque bloc du circuit puis une deuxième étape consiste à obtenir le graphe correspondant au circuit.
Par exemple, en référence à la figure 1 , le circuit comprend trois blocs (puisque les deux blocs AMP sont appariés). Ces trois blocs sont illustrés en figure 4. S'agissant d'un circuit de contrôle de transconductance, les blocs CMC et GMD sont respectivement identifiés par Transconductor.CMC et Transconductor.GMD. Puisque les deux blocs AMP sont appariés on identifie les deux blocs AMP par Transconductor.AMPI et Transconductor.AMP2.
Une fois que le graphe est construit, il est évalué. Cette évaluation permet, grâce au schéma électrique du circuit, aux contraintes définies et selon la convention de lecture, de calculer les paramètres électriques de sortie de tous les opérateurs des transistors de l'ensemble du circuit. On parle indistinctement d'évaluation, de lecture ou d'exécution du graphe, en l'espèce par un logiciel.
Cette évaluation permet de générer le calcul des dimensions des composants, les tensions jusqu'alors inconnues des connecteurs, ainsi que tous les paramètres de tous les transistors du circuit, grâce aux opérateurs sélectionnés et aux contraintes définies.
Conflits de conception entre les blocs
Dans le graphe il peut exister des conflits impliquant des paramètres reliant deux blocs.
On prévoit 160 d'identifier les conflits éventuels, ce qui peut permettre de rendre le graphe toujours évaluable.
L'identification d'un conflit peut comprendre une étape 161 consistant à, pour un paramètre électrique donné, compter le nombre de paramètres électriques dont la valeur se propage vers ledit paramètre électrique donné.
Sur la figure 4 est illustré un graphe structuré tronqué correspondant au circuit de la figure 1 et pour lequel des contraintes de bloc ont été définies par le concepteur dans les rectangles « Input Parameters (Pin) » pour chaque bloc CMC, GMD et AMP ; et des opérateurs sélectionnés pour chaque transistor de référence de chaque bloc. En fonction des contraintes définies comme paramètres d'entrée des différents opérateurs et du choix des opérateurs, les paramètres de sortie de chaque opérateur sont calculés. La valeur d'un paramètre de sortie d'un opérateur peut être réutilisée (propagée) comme paramètre d'entrée pour un autre opérateur dans le sens de lecture du graphe structuré.
Par exemple sur la figure 4, les premières contraintes définies sont celles du circuit global « Transconductor Input Parameters (Pin) », puis celles du bloc CMC (« CMC Input Parameters (Pin) ») dont certaines sont utilisées comme paramètres d'entrée de l'opérateur OPVG(VEG) du transistor M13.
Par exemple, la valeur Vd se propage des contraintes du bloc CMC au transistor M13 comme paramètre d'entrée de l'opérateur OPVG(VEG). Puis cette valeur Vd se propage avec une contrainte d'égalité comme paramètre de sortie Vg de l'opérateur OPVG(VEG) du transistor M9AP du bloc GMD, etc. Comme cette valeur Vg est également définie comme paramètre de sortie calculée par l'opérateur OPVG(VEG) du transistor M9AP, il existe donc un conflit puisque cette valeur Vg est définie de manière non unique.
En cas de conflit, on prévoit 170 de produire une alarme signifiant ce conflit. Par exemple on peut prévoir d'émettre un message dont le contenu signale l'existence d'un conflit. De préférence, on prévoit que le contenu du message identifie au moins l'opérateur et le paramètre électrique à l'origine du conflit. Alternativement ou en combinaison, on peut prévoir 171 une représentation graphique de l'alarme, par exemple par un code couleur. En l'espèce, l'un au moins des éléments parmi le bloc, l'opérateur et le paramètre électrique dudit opérateur à l'origine du conflit sont coloriés, par exemple en rouge. Le concepteur peut ainsi repérer très facilement et très rapidement les conflits de conception.
Un autre exemple de conflit est illustré en figure 5 qui illustre de façon tronquée un autre mode de réalisation d'un graphe structuré du circuit de la figure 1 . Dans ce cas, l'ordre de conception des sous-circuits est différent par rapport à la figure 4, ce qui peut générer des conflits différents. Sur la figure 5, la valeur Vg du paramètre d'entrée de l'opérateur OPVS(VEG, VB) du transistor M1 1 AP du bloc CMC est définie à la fois par la valeur Vg des contraintes du bloc « CMC Input Parameters (Pin) » dudit bloc et par la valeur Vd du paramètre de sortie du transistor M9AN du bloc GMD. Il existe donc un conflit. De même la valeur Vd du paramètre d'entrée de l'opérateur OPVG(VEG) du transistor M13 du bloc CMC est définie à la fois par la valeur Vd des contraintes du bloc « CMC Input Parameters (Pin) » dudit bloc et par la valeur Vg du paramètre de sortie du transistor M9AP du bloc GMD. Il existe donc un conflit.
Essentiellement deux types de conflits peuvent exister, sur les paramètres de sortie ou sur les paramètres d'entrée.
Typiquement, comme chaque paramètre d'entrée et de sortie doit être défini en fonction d'un unique paramètre antérieur dans le sens de la propagation, l'identification d'un conflit consiste à détecter si un paramètre d'entrée ou de sortie d'un opérateur est défini par plus d'un paramètre, en conséquence une alarme sera produite dans ce cas.
Par exemple on prévoit de compter, pour un paramètre donné, le nombre d'arcs incidents, c'est à dire qui pointent vers ou qui entrent, sur ce paramètre. Cette opération est répétée pour tous les paramètres du circuit.
Résolution des conflits
Comme vu ci-dessus, un conflit existe par exemple lorsque la valeur d'un paramètre est définie par plus d'une équation.
Sur un paramètre d'entrée, un conflit peut exister entre un paramètre de bloc et un paramètre de sortie qui propagent tous deux leur valeur vers un même paramètre d'entrée.
Dans ce cas, on prévoit 162 de supprimer l'un des paramètres de bloc ou de sortie à l'origine du conflit. De préférence, on prévoit de privilégier la réalité physique du circuit, c'est à dire de privilégier la contrainte correspondant à la réalité physique du circuit. En général, les contraintes de bloc sont définies par le concepteur et les contraintes entre bloc ou entre transistors d'un même bloc sont des contraintes physiques. De préférence, on prévoit de supprimer le paramètre de la contrainte de bloc à l'origine du conflit.
Par exemple, sur la figure 4, il existe un conflit pour la valeur Vd en entrée de l'opérateur OPVG(VEG) du transistor M9AP du bloc GMD puisque cette valeur est définie à la fois par la valeur Vd du transistor M9AN et par la valeur Vd des paramètres du bloc GMD.
Ce conflit est résolu comme illustré sur la figure 6 en privilégiant la réalité physique du circuit, c'est à dire en conservant la valeur Vd en entrée de l'opérateur OPVG(VEG) du transistor M9AP du bloc GMD comme étant définie par la valeur Vd du transistor M9AN uniquement et en supprimant la valeur Vd des paramètres du bloc GMD (GMD Input Parameters (Pin)).
Dans le cas où un paramètre de bloc propage sa valeur vers deux paramètres dont un seulement génère un conflit, l'opérateur lié au conflit est changé pour résoudre le conflit, mais le paramètre de bloc est maintenu pour se propager vers le paramètre qui ne génère pas le conflit.
Sur un paramètre de sortie, un conflit peut exister entre un paramètre dont la valeur serait calculée par deux opérateurs ou par un opérateur et par la propagation d'une valeur d'un autre paramètre électrique en fonction de certaines contraintes.
Dans ce cas, on prévoit par exemple 163 de remplacer l'opérateur sélectionné dont le paramètre de sortie est en conflit par un autre opérateur, dit opérateur de remplacement. De préférence, l'opérateur de remplacement est un opérateur de même classe que celle du premier opérateur, la classe d'un opérateur définissant les tensions (grille, drain ou source) calculées par celui-ci. Par exemple, en référence à la figure 2, les opérateurs OPIDS(VEG), OPIDS(VG, VS), OPIDS(VGS, VG) et OPIDS(VGS, VS) sont de même classe. De même, on définit la classe des opérateurs OPVG et celles des opérateurs OPW. Avantageusement, on prévoit que le paramètre de sortie de l'opérateur à l'origine du conflit soit un paramètre d'entrée de l'opérateur de remplacement.
Par exemple, comme illustré sur la figure 4, la valeur Vg du paramètre de sortie de l'opérateur OPVG(VEG) du transistor M9AP du bloc GMD est en conflit car définie également par la valeur Vd du transistor M1 3 du bloc CMC.
Dans ce cas, le conflit est résolu, comme illustré en figure 6, en remplaçant l'opérateur OPVG(VEG) du transistor M9AP du bloc GMD dont un paramètre de sortie est à l'origine du conflit par un opérateur de remplacement, en l'espèce l'opérateur OPW(VG,VS) dans lequel la valeur Vg est alors un paramètre d'entrée, toujours définie par la valeur Vd du transistor M13 du bloc CMC. La propagation est ainsi conservée et le conflit résolu.
Un graphe structuré permet de détecter et résoudre les conflits. Il peut en outre être réutilisé ultérieurement pour la synthèse et la re-conception du circuit.
Simulation
Une fois les conflits résolus, grâce à l'invention, on peut en outre, grâce au graphe structuré d'un circuit donné, simuler 190 le comportement DC (en courant continu) dudit circuit, à l'aide des valeurs des paramètres de sortie. La figure 8 représente l'évolution du gain du circuit (filtre) de 3eme et du 5eme ordre conçu à partir du circuit de la figure 1 en fonction de la fréquence, pour quatre valeurs de tension de contrôle Vc.
On peut ainsi optimiser la conception d'un circuit.
L'invention est un outil d'aide à la conception des circuits analogiques qui permet de calculer les dimensions des transistors, et qui permet de guider le concepteur dans la conception d'un circuit analogique. L'invention est indépendante du nombre de blocs, du nombre de paramètres électriques. Le nombre d'opérateurs est linéaire avec le nombre de transistors, ce qui permet des calculs très rapides.
Une fois les dimensions des transistors calculés et les conflits résolus, on prévoit une étape 180 consistant à calculer le point de repos du circuit analogique.
L'utilisation d'un optimiseur n'est pas obligatoire. Si un optimiseur est néanmoins mis en œuvre, alors le graphe permet d'accélérer très fortement l'optimisation en agissant à la manière d'un filtre qui ne laisse passer que les configurations qui fonctionnent.
Des essais ont été menés par le déposant sur le temps nécessaire pour le dimensionnement du circuit illustré en figure 1 . Selon les techniques de l'art antérieur, ce temps est de plusieurs heures ; selon l'invention, le temps nécessaire à la lecture et à l'évaluation du graphe structuré représentant le circuit de la figure 1 , l'identification et la résolution des conflits est de 64 secondes, après optimisation des paramètres.

Claims

REVENDICATIONS
1 . Procédé de détermination des valeurs de paramètres électriques des transistors d'un circuit analogique d'un système sur puce, comprenant des étapes consistant à :
- (100) décomposer le circuit en un ensemble de blocs dont certains au moins sont reliés entre eux, chaque bloc ayant une fonctionnalité définie et comprenant un agencement de transistors propre audit bloc ;
- (1 10) établir le schéma électrique du circuit comprenant lesdits blocs ;
- (120) définir un ensemble de contraintes électriques propres audit circuit, auxdits blocs et aux transistors de chaque bloc en fonction notamment du schéma électrique du circuit ;
- (130) définir des paramètres électriques de circuit, des paramètres électriques de bloc et des paramètres électriques de transistors ;
- (140) sélectionner, pour chaque transistor du circuit, un opérateur de calcul des valeurs de paramètres électriques dudit transistor, chaque opérateur de calcul permettant pour un transistor donné de calculer des valeurs de paramètres électriques de sortie en fonction dudit opérateur, de paramètres électriques d'entrée et des contraintes électriques appliquées audit transistor;
- (150) générer des graphes structurés de chaque bloc du circuit à partir des contraintes définies et des opérateurs choisis, chaque graphe comprenant un ensemble de nœuds ;
- (151 ) assembler ces graphes structurés de blocs en un graphe général du circuit, en utilisant les équipotentielles dudit circuit ;
- (160) identifier si l'un au moins des nœuds présente un conflit ; et
- (170) émettre un signal d'alarme s'il existe un conflit.
2. Procédé selon la revendication 1 , dans lequel ledit graphe structuré général comprenant l'ensemble des opérateurs de calcul et des contraintes définies par le concepteur.
3. Procédé selon la revendication 2, comprenant une étape (171 ) de représentation graphique du signal d'alarme, dans laquelle, dans le graphe structuré du circuit, l'un au moins des éléments parmi le bloc, l'opérateur et le paramètre électrique dudit opérateur à l'origine du conflit sont représentés dans une couleur prédéterminée.
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape (160) d'identification d'un conflit comprend une étape (161 ) consistant à, pour un paramètre électrique donné, compter le nombre de paramètres électriques dont la valeur se propage vers ledit paramètre électrique donné, et dans lequel le signal d'alarme est émis (170) si ledit paramètre d'entrée ou de sortie d'un opérateur est défini par plus d'un autre paramètre électrique.
5. Procédé selon l'une quelconque des revendications précédentes, comprenant des étapes consistant à :
- (101 ) définir, pour au moins un bloc, un ensemble d'au moins un transistor de référence et un ensemble d'au moins un transistor secondaire correspondant, et
- (152) propager à l'ensemble de transistors secondaires les valeurs des paramètres électriques calculées pour le transistor de référence correspondant.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel, s'il existe un conflit sur une valeur de paramètre électrique d'entrée d'un opérateur, le procédé comprend une étape (162) consistant à supprimer dans les contraintes électriques définies la valeur du paramètre de bloc à l'origine du conflit.
7. Procédé selon l'une quelconque des revendications précédentes, dans lequel, s'il existe un conflit sur une valeur de paramètre électrique de sortie d'un opérateur, le procédé comprend une étape (163) consistant à remplacer l'opérateur sélectionné dont le paramètre de sortie est en conflit par un opérateur de remplacement tel que le paramètre de sortie de l'opérateur à l'origine du conflit soit un paramètre d'entrée de l'opérateur de remplacement.
8. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape (180) d'évaluation consistant à calculer le point de repos du circuit analogique.
9. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape (190) consistant à simuler le comportement dudit circuit.
10. Programme d'ordinateur comprenant des instructions de code de programme pour la mise en œuvre du procédé selon l'une quelconques des revendications précédentes lorsqu'il est exécuté sur un ordinateur.
EP14752908.5A 2013-09-13 2014-07-28 Procede de determination du dimensionnement des transistors d'un circuit analogique Ceased EP3044707A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1358839A FR3010811B1 (fr) 2013-09-13 2013-09-13 Procede de determination du dimensionnement des transistors d'un circuit analogique
PCT/FR2014/051956 WO2015036667A1 (fr) 2013-09-13 2014-07-28 Procede de determination du dimensionnement des transistors d'un circuit analogique

Publications (1)

Publication Number Publication Date
EP3044707A1 true EP3044707A1 (fr) 2016-07-20

Family

ID=50424333

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14752908.5A Ceased EP3044707A1 (fr) 2013-09-13 2014-07-28 Procede de determination du dimensionnement des transistors d'un circuit analogique

Country Status (5)

Country Link
US (1) US9792392B2 (fr)
EP (1) EP3044707A1 (fr)
FR (1) FR3010811B1 (fr)
IL (1) IL244087A0 (fr)
WO (1) WO2015036667A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106483449A (zh) * 2016-09-09 2017-03-08 电子科技大学 基于深度学习与复数特征的模拟电路故障诊断方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170235856A1 (en) 2016-02-11 2017-08-17 International Business Machines Corporation Formal verification driven power modeling and design verification

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007038984A1 (fr) * 2005-09-29 2007-04-12 Mentor Graphics Corp. Reciblage de conception analogique
US8443329B2 (en) * 2008-05-16 2013-05-14 Solido Design Automation Inc. Trustworthy structural synthesis and expert knowledge extraction with application to analog circuit design
CN103946978B (zh) * 2011-11-24 2017-03-01 夏普株式会社 半导体装置以及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2015036667A1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106483449A (zh) * 2016-09-09 2017-03-08 电子科技大学 基于深度学习与复数特征的模拟电路故障诊断方法
CN106483449B (zh) * 2016-09-09 2019-01-25 电子科技大学 基于深度学习与复数特征的模拟电路故障诊断方法

Also Published As

Publication number Publication date
WO2015036667A1 (fr) 2015-03-19
US9792392B2 (en) 2017-10-17
FR3010811A1 (fr) 2015-03-20
FR3010811B1 (fr) 2022-03-11
US20160224700A1 (en) 2016-08-04
IL244087A0 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
FR2975803A1 (fr) Circuit integre realise en soi comprenant des cellules adjacentes de differents types
FR2920893A1 (fr) Procede d&#39;analyse de la fiabilite d&#39;installations techniques a l&#39;aide de modeles physiques, utilisation d&#39;un tel procede et support d&#39;informations pour sa mise en oeuvre
FR2822263A1 (fr) Systeme et procede de determination de la sensibilite au bruit d&#39;un circuit integre
EP1984857A2 (fr) Procédé d&#39;estimation d&#39;un bruit généré dans un système électronique et procédé de test d&#39;immunité au bruit associé
FR2999746A1 (fr) Procede de generation d&#39;une topographie d&#39;un circuit integre fdsoi
FR2844373A1 (fr) Procede d&#39;analyse de couplage d&#39;interconnexion dans les circuits vlsi
CN111241772A (zh) 标准单元库版图及其设计方法与系统以及计算机存储介质
WO2015036667A1 (fr) Procede de determination du dimensionnement des transistors d&#39;un circuit analogique
US10839132B2 (en) Automatic cover point generation based on register transfer level analysis
US10169509B2 (en) Efficient deployment of table lookup (TLU) in an enterprise-level scalable circuit simulation architecture
EP1531409A2 (fr) Procédé de vérification d&#39;un circuit intégré
WO2017178258A1 (fr) Systeme et procede de test d&#39;un circuit integre
US8248098B2 (en) Apparatus and method for measuring characteristics of semiconductor device
FR2842001A1 (fr) Procede et dispositif d&#39;identification de situations de conflit dans une conception de circuit
Beznia et al. Parametric test metrics estimation using non-Gaussian copulas
Barceló et al. An SET propagation EDA tool based on analytical glitch propagation model
Shauly et al. Process monitoring using automatic physical measurement based on electrical and physical variability analysis
Dwyer et al. DNA self-assembled nanostructures for resonance energy transfer circuits
Pagliarini Reliability analysis methods and improvement techniques applicable to digital circuits
CN106875979B (zh) 一种测量存储器ip核管脚电容的方法及装置
WO2015158984A1 (fr) Méthode de réalisation d&#39;un réseau logique configurable
Krichen Une enquête sur le test de mutation: principes, avantages, limites et orientations futures
FR2880710A1 (fr) Procede et dispositif de caracterisation d&#39;une cellule destinee a etre realisee dans une technologie cmos du type silicium sur isolant partiellement appauvri
FR2998695A1 (fr) Circuit integre comprenant un systeme de protection contre la reproduction, et methode de conception associee
Marquez et al. Automatic inspection of SET sensitivity in analog cells

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

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

AX Request for extension of the european patent

Extension state: BA ME

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

Effective date: 20171103

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SORBONNE UNIVERSITE

Owner name: CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE (C.N.

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20200223