FR3114188A1 - Polarisation adaptative de substrat utilisant des détecteurs de marge - Google Patents

Polarisation adaptative de substrat utilisant des détecteurs de marge Download PDF

Info

Publication number
FR3114188A1
FR3114188A1 FR2009234A FR2009234A FR3114188A1 FR 3114188 A1 FR3114188 A1 FR 3114188A1 FR 2009234 A FR2009234 A FR 2009234A FR 2009234 A FR2009234 A FR 2009234A FR 3114188 A1 FR3114188 A1 FR 3114188A1
Authority
FR
France
Prior art keywords
circuit
delay
signal
bias
margin
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.)
Granted
Application number
FR2009234A
Other languages
English (en)
Other versions
FR3114188B1 (fr
Inventor
Sebastien Genevey
Mathieu Louvat
Lionel JURE
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.)
Dolphin Design
Original Assignee
Dolphin Design
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 Dolphin Design filed Critical Dolphin Design
Priority to FR2009234A priority Critical patent/FR3114188B1/fr
Priority to US17/468,982 priority patent/US20220082615A1/en
Priority to DE102021210046.5A priority patent/DE102021210046A1/de
Priority to CN202111068394.0A priority patent/CN114172495A/zh
Publication of FR3114188A1 publication Critical patent/FR3114188A1/fr
Application granted granted Critical
Publication of FR3114188B1 publication Critical patent/FR3114188B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/30Marginal testing, e.g. by varying supply voltage
    • G01R31/3016Delay or race condition test, e.g. race hazard test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/011Modifications of generator to compensate for variations in physical values, e.g. voltage, temperature
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • H03K5/134Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices with field-effect transistors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

Polarisation adaptative de substrat utilisant des détecteurs de marge La présente description concerne un circuit de polarisation adaptative de substrat pour une région d’un circuit, comprenant : un premier module de retard (602) comportant une pluralité de circuits de retard agencés pour retarder au moins un front d’un signal d’horloge locale de la région de circuit, un premier des circuits de retard fournissant un premier signal de sortie retardé d’un premier retard, et un deuxième des circuits de retard fournissant un deuxième signal de sortie retardé d’un deuxième retard ; un multiplexeur agencé pour sélectionner l’un des premier et deuxième signaux de sortie ; un premier circuit de surveillance de marge agencé pour générer un premier signal de détection indiquant quand un temps de marge du signal sélectionné parmi les premier et deuxième signaux de sortie est inférieur à un premier seuil ; et un circuit de polarisation agencé pour générer au moins une tension de polarisation pour polariser des puits de transistors dans la région de circuit sur la base du premier signal de détection. Figure pour l'abrégé : Fig. 6

Description

Polarisation adaptative de substrat utilisant des détecteurs de marge
La présente description concerne de façon générale le domaine des circuits intégrés, et en particulier une polarisation adaptative de substrat (ABB) basée sur une mesure de marge.
On a déjà proposé de modifier les tensions de polarisation du substrat de transistors de circuits intégrés afin d’augmenter les performances et/ou de réduire la consommation d’énergie. Le passage à une technologie de transistors basée sur SOI (de l’anglais silicon on insulator - silicium sur isolant) fait de la polarisation du substrat une proposition particulièrement intéressante puisque cette technologie permet d’appliquer une plage relativement grande de tensions de polarisation, par exemple descendant jusqu’à -3 V et montant jusqu’à +3 V, au substrat des dispositifs. Cela est à comparer à une plage de polarisation de substrat plus limitée de -300 mV à +300 mV dans le cas de transistors à substrat massif. La tension de polarisation est appliquée au puits de type P ou de type N sous-jacent dans chaque dispositif de transistor SOI, parfois appelé grille arrière.
La polarisation de substrat directe (FBB) implique l’application d’une tension de polarisation de substrat pour diminuer la tension de seuil du transistor et augmenter ainsi les performances en augmentant la vitesse des transistors.
La polarisation de substrat inverse (RBB) implique l’application d’une tension de polarisation qui augmente la tension de seuil du transistor et réduit ainsi le courant de fuite et ainsi la consommation d’énergie.
On a aussi proposé d’améliorer les performances des circuits et/ou de réduire la consommation d’énergie en modifiant des fréquences d’horloge et/ou des tensions d’alimentation fournies à des régions de circuits intégrés. Par exemple, cela permet une réduction ou une annulation des variations de performances/consommation associées à la température, à la tension d’alimentation ou à des variations dans le procédé technologique.
Il serait souhaitable de prévoir un système de contrôle adaptatif des tensions de polarisation de substrat de certains transistors d’un circuit intégré pour un meilleur contrôle des performances et de la consommation d’énergie. Toutefois, il y a des difficultés dans la mise en œuvre d’un tel système dans des cas où la fréquence d’horloge et/ou la tension d’alimentation peuvent aussi être modifiées de manière dynamique.
Selon un aspect, on prévoit un circuit de polarisation adaptative de substrat pour une région de circuit, comprenant : un premier module de retard comportant une pluralité de circuits de retard agencés pour retarder au moins un front d’un signal d’horloge locale de la région de circuit, un premier des circuits de retard fournissant un premier signal de sortie retardé d’un premier retard par rapport au signal d’horloge locale, et un deuxième des circuits de retard fournissant un deuxième signal de sortie retardé d’un deuxième retard par rapport au signal d’horloge locale ; un multiplexeur agencé pour sélectionner l’un des premier et deuxième signaux de sortie ; un premier circuit de surveillance de marge agencé pour générer un premier signal de détection indiquant quand un temps de marge du signal sélectionné parmi les premier et deuxième signaux de sortie est inférieur à un premier seuil ; et un circuit de polarisation agencé pour générer au moins une tension de polarisation pour polariser des puits de transistors dans la région de circuit sur la base du premier signal de détection.
Selon un mode de réalisation, le premier dispositif de surveillance de marge, ou un deuxième dispositif de surveillance de marge, est agencé pour générer un deuxième signal de détection indiquant quand un temps de marge du signal sélectionné parmi les premier et deuxième signaux de sortie est supérieur à un autre seuil, le circuit de polarisation étant agencé pour générer ladite au moins une tension de polarisation sur la base des premier et deuxième signaux de détection.
Selon un mode de réalisation, les circuits de la pluralité de circuits de retard sont couplés en série entre eux pour retarder la propagation d’au moins un front du signal d’horloge locale.
Selon un mode de réalisation, chaque circuit de retard comprend un ou plusieurs éléments logiques constitués de transistors ayant des puits polarisés par au moins une tension de polarisation.
Selon un mode de réalisation, le circuit de polarisation est agencé pour générer une première tension de polarisation pour polariser des puits de type N de transistors d’un premier type de conductivité dans la région de circuit, et une deuxième tension de polarisation pour polariser des puits de type P de transistors d’un deuxième type de conductivité dans la région de circuit.
Selon un mode de réalisation, le circuit comprend en outre un premier générateur de tension agencé pour générer la première tension de polarisation et un deuxième générateur de tension agencé pour générer la deuxième tension de polarisation.
Selon un mode de réalisation, les premier et/ou deuxième générateurs de tension sont des pompes de charge.
Selon un mode de réalisation, le circuit comprend en outre un détecteur d’asymétrie agencé pour détecter si les première et deuxième tensions de polarisation provoquent une asymétrie entre les polarisations de puits N et de puits P, le circuit de polarisation étant agencé pour générer ladite au moins une tension de polarisation sur la base de la détection d’asymétrie.
Selon un mode de réalisation, les circuits de retard du premier module de retard comprennent chacun un ou plusieurs éléments logiques constitués de transistors d’un premier type structurel ayant des tensions de seuil tombant dans une première plage, le circuit de polarisation adaptative de substrat comprenant en outre : un deuxième module de retard comportant une pluralité de circuits de retard agencés pour retarder ledit au moins un front du signal d’horloge locale de la région de circuit, dans lequel les circuits de retard du deuxième module de retard comprennent chacun un ou plusieurs éléments logiques d’un type différent de ceux constituant le premier module de retard, lesdits un ou plusieurs éléments logiques du deuxième module de retard étant constitués de transistors du premier type structurel.
Selon un mode de réalisation, le circuit comprend en outre : un troisième module de retard comportant une pluralité de circuits de retard agencés pour retarder ledit au moins un front du signal d’horloge locale de la région du circuit, dans lequel les circuits de retard du troisième module de retard comprennent chacun un ou plusieurs éléments logiques constitués de transistors d’un deuxième type structurel ayant des tensions de seuil tombant dans une deuxième plage.
Selon un mode de réalisation, le premier dispositif de surveillance de marge est mis en œuvre par des transistors du premier type structurel, et le circuit comprend en outre un deuxième circuit de surveillance de marge mis en œuvre par des transistors du deuxième type structurel.
Selon un mode de réalisation, le circuit comprend en outre un circuit de commande de système agencé pour générer un signal de sélection pour réaliser la sélection de l’un des premier et deuxième signaux de détection.
Selon un mode de réalisation, le circuit comprend en outre une autre boucle de commande comprenant un capteur d’informations temporelles, de procédé, de tension et/ou de température, le circuit de polarisation étant agencé pour générer ladite au moins une tension de polarisation sur la base en outre de l’autre boucle de commande.
Selon un autre aspect, on prévoit un circuit intégré comprenant : une première région de circuit recevant un premier signal d’horloge locale ; une deuxième région de circuit recevant un deuxième signal d’horloge locale ; et le circuit de polarisation adaptative de substrat susmentionné, dans lequel les circuits de la pluralité de circuits de retard du premier module de retard sont agencés pour retarder au moins un front du premier signal d’horloge locale, ou d’un signal d’horloge généré sur la base du premier signal d’horloge locale, le circuit de polarisation adaptative de substrat comprenant en outre un autre module de retard comprenant une autre pluralité de circuits de retard agencés pour retarder au moins un front du deuxième signal d’horloge locale, ou d’un signal d’horloge généré sur la base du deuxième signal d’horloge locale, pour générer un ou plusieurs autres signaux de sortie, et un autre circuit de surveillance de marge agencé pour générer un autre signal de détection indiquant quand un temps de marge d’un signal sélectionné parmi les autres signaux de sortie est inférieur à un premier seuil.
Selon un autre aspect, on prévoit un procédé de polarisation adaptative de substrat de transistors dans une région de circuit d’un circuit intégré, le procédé comprenant : retarder, par un premier module de retard comportant une pluralité de circuits de retard, au moins un front d’un signal d’horloge locale de la région de circuit, dans lequel un premier des circuits de retard fournit un premier signal de sortie retardé d’un premier retard par rapport au signal d’horloge locale, et un deuxième des circuits de retard fournit un deuxième signal de sortie retardé d’un deuxième retard par rapport au signal d’horloge locale ; sélectionner l’un des premier et deuxième signaux de sortie ; générer, par un premier dispositif de surveillance de marge, un premier signal de détection indiquant quand un temps de marge du signal sélectionné parmi les premier et deuxième signaux d’horloge de sortie est inférieur à un premier seuil ; et générer, par un circuit de polarisation, au moins une tension de polarisation pour polariser des puits de transistors dans la région de circuit sur la base du premier signal de détection.
Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles :
la représente schématiquement un transistor MOS à canal P (PMOS) et un transistor MOS à canal N (NMOS) recevant des tensions de polarisation de substrat ;
la est un graphique représentant un exemple de plages de tension de polarisation de substrat pour des transistors PMOS et NMOS dans des puits conventionnels (transistor à canal N dans un puits du type P et transistor à canal P dans un puits du type N) ;
la représente schématiquement un circuit intégré comprenant des îlots selon un exemple de réalisation de la présente description ;
la représente schématiquement un circuit de polarisation adaptative de substrat selon un exemple de réalisation de la présente description ;
la représente schématiquement un générateur d’horloge variable du circuit de la plus en détail selon un exemple de réalisation ;
la représente schématiquement des détecteurs de marge et un circuit de prétraitement du circuit de la plus en détail selon un exemple de réalisation ;
la représente schématiquement des chemins de marge des détecteurs de marge de la plus en détail selon un exemple de réalisation ;
la représente schématiquement un circuit de surveillance de marge de la plus en détail selon un exemple de réalisation ;
la représente schématiquement une pompe de charge de puits N du circuit de la plus en détail selon un exemple de réalisation ;
la représente schématiquement une pompe de charge de puits P du circuit de la plus en détail selon un exemple de réalisation ;
la est un chronogramme représentant le fonctionnement du circuit de polarisation adaptative de substrat de la selon un exemple de réalisation ; et
la représente schématiquement un circuit de polarisation adaptative de substrat selon un autre exemple de réalisation de la présente description.
De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques.
Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés par l'intermédiaire d'un ou plusieurs autres éléments.
Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures.
Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près.
En outre, on donnera aux termes suivants les définitions suivantes :
tension de polarisation de substrat - tension appliquée à des puits N ou des puits P de transistors CMOS à substrat massif ou SOI (silicium sur isolant) (aussi connus sous le nom de transistors SOI complètement appauvris (FDSOI)) provoquant ainsi une modification de la tension de seuil de grille Vth des transistors ;
polarisation de substrat directe (FBB) - application de tensions de polarisation de substrat à des transistors PMOS et/ou NMOS afin d’abaisser leur tension de seuil Vth et d’augmenter les performances en augmentant leur vitesse ; et
polarisation de substrat inverse (RBB) - application de tensions de polarisation de substrat à des transistors PMOS et/ou NMOS afin d’augmenter leur tension de seuil Vth et de réduire la consommation d’énergie en réduisant la fuite de courant.
La représente schématiquement un transistor PMOS et un transistor NMOS, qui sont par exemple formés dans des puits classiques, le transistor PMOS étant par exemple formé dans un puits du type N (NWELL), qui est couplé à une tension de polarisation de substrat VNW, et le transistor NMOS par exemple étant formé dans un puits du type P (PWELL), qui est couplé à une tension de polarisation de substrat VPW.
Dans le cas d’une configuration à puits retourné (non illustrée en ), le transistor NMOS est formé dans un NWELL couplé à la tension de polarisation de substrat VNW, et le transistor PMOS est formé dans un PWELL couplé à la tension de polarisation de substrat VPW.
La est un graphique représentant des exemples de plages des tensions de polarisation de substrat VPW et VNW appliquées respectivement à des PWELL et des NWELL de transistors PMOS et NMOS classiques, comme ceux de la . Les tensions de polarisation de substrat VPW et VNW sont toutes deux par exemple à 0 V dans le cas où aucune tension de polarisation de substrat n’est appliquée. La tension de polarisation de substrat VPW est par exemple une tension négative comprise entre 0 V et -3 V dans le cas d’une tension de polarisation de substrat inverse RBB. La tension de polarisation de substrat VNW est par exemple une tension positive comprise entre 0 V et +3 V dans le cas d’une tension de polarisation de substrat inverse RBB.
Dans le cas d’une configuration à puits retourné (non illustrée en ), la tension de polarisation de substrat VPW est par exemple une tension négative comprise entre 0 V et -3 V dans le cas d’une tension de polarisation de substrat directe FBB, et la tension de polarisation de substrat VNW est par exemple une tension positive comprise entre 0 V et +3 V dans le cas d’une tension de polarisation de substrat directe FBB.
Ainsi, dans le cas d’un circuit comprenant des configurations classiques et/ou à puits retourné, la tension de polarisation de substrat VPW devrait toujours être négative, et la tension de polarisation de substrat VNW devrait toujours être positive.
La représente schématiquement un circuit 300 d’un circuit intégré comprenant des îlots selon un exemple de réalisation de la présente description. Par exemple, un circuit comprenant des îlots est aussi décrit plus en détail dans la demande de brevet US US2007/0132021, dont le contenu est inclus ici en référence dans les limites autorisées par la loi.
L’exemple de la comprend deux îlots (ISLAND1, ISLAND2) 302, 304. Dans certains modes de réalisation, chacun des îlots 302, 304 est couplé à un bus 306 permettant des communications entre les îlots et/ou avec d’autres circuits non illustrés en .
Chaque îlot 302, 304 correspond à un ou plusieurs circuits partageant un signal d’horloge commun et une tension d’alimentation commune. Par exemple, le circuit 300 comprend deux générateurs d’horloge (CLK GEN) 308, 310 chacun étant capable de générer indépendamment un signal d’horloge d’une fréquence souhaitée. L’îlot 302 reçoit, du générateur d’horloge 308, un signal d’horloge CK1, qui est par exemple fourni à l’îlot 302 par l’intermédiaire d’un module de commande d’îlot (ICU) 312 associé à l’îlot 302. De façon similaire, l’îlot 304 reçoit, du générateur d’horloge 310, un signal d’horloge CK2, qui est par exemple fourni à l’îlot 304 l’intermédiaire d’un module de commande d’îlot (ICU) 314 associé à l’îlot 304. L’îlot 302 est par exemple alimenté par une tension d’alimentation VDD1 fournie par un régulateur de tension (REG) 316, et l’îlot 304 est par exemple alimenté par une tension d’alimentation VDD2 fournie par un régulateur de tension (REG) 318.
Chaque îlot 302, 304 comprend par exemple un circuit de polarisation adaptative de substrat (ABB) 320, qui reçoit par exemple le signal d’horloge fourni à l’îlot, et génère de façon adaptative des tensions de polarisation de substrat à appliquer à des puits N et des puits P de transistors de l’îlot. Par exemple, le circuit 320 de l’îlot 302 génère des signaux VNW1, VPW1 à appliquer aux transistors de l’îlot 302 utilisant la tension d’alimentation VDD1, et le circuit 320 de l’îlot 304 génère des signaux VNW2, VPW2 à appliquer aux transistors de l’îlot 304 utilisant la tension d’alimentation VDD2. Les tensions de polarisation de substrat peuvent correspondre à des tensions pour une polarisation de substrat directe (FBB) et/ou une polarisation de substrat inverse (RBB).
La représente schématiquement un circuit 400 de polarisation adaptative de substrat selon un exemple de réalisation de la présente description. Par exemple, le circuit 400 est utilisé pour mettre en œuvre chacun des circuits de polarisation adaptative de substrat 320 des îlots 302, 304 de la .
Le circuit 400 comprend par exemple des détecteurs de marge (SLACK SENSORS) 404 recevant un signal d’horloge locale CK, qui est par exemple le signal d’horloge CK1 dans le cas de l’îlot 302 de la , ou le signal d’horloge CK2 dans le cas de l’îlot 304 de la . Le circuit 400 comprend en outre par exemple un circuit de prétraitement (PRE-PROC) 406, une boucle de commande (CTRL LOOP) 408, un circuit de commande de pompe de charge (CP-CTRL) 410, une pompe de charge de puits N (CPNW) 412, une pompe de charge de puits P (CPPW) 414, un détecteur d’asymétrie (ASYMMETRY SENSOR) 416 et un générateur d’horloge variable (VARIABLE CLOCK GENERATOR) 418.
Les détecteurs de marge 404 sont par exemple agencés pour détecter si un temps de marge descend en dessous d’un ou plusieurs seuils, tout en considérant une pluralité de retards de propagation différents du signal d’horloge CK, comme on va le décrire plus en détail ci-après.
Le circuit de prétraitement 406 permet par exemple de combiner des signaux de détection provenant des détecteurs de marge 404.
La boucle de commande 408 reçoit un ou plusieurs signaux provenant des détecteurs de marge. Dans certains modes de réalisation, la boucle de commande 408 reçoit un signal de détection combiné provenant des détecteurs de marge, et met en œuvre une boucle de commande en générant et en fournissant un ou plusieurs signaux de commande CP_CTRL au circuit de commande de pompe de charge 410 sur la base du signal de détection combiné. La boucle de commande 408 génère aussi par exemple un signal LOCK indiquant qu’un état stable a été atteint.
Le circuit de commande de pompe de charge 410 commande par exemple la pompe de charge de puits N 412 et la pompe de charge de puits P 414 en fonction des signaux de commande (CP_CTRL) fournis par la boucle de commande 408 et aussi en fonction de signaux de commande fournis par le détecteur d’asymétrie 416.
La pompe de charge de puits N 412 est couplée à un rail de polarisation de puits N 420 et génère une tension de polarisation VNW, pour polariser, par l’intermédiaire du rail 420, des puits du type N de transistors dans l’îlot. Dans certains modes de réalisation, un commutateur 422 est prévu entre la sortie VNW’ de la pompe de charge de puits N 412 et le rail de polarisation de puits N 420 permettant d’appliquer la polarisation de puits N par une tension externe par l’intermédiaire d’une entrée VNWOFF du commutateur 422. Cela permet en particulier d’appliquer une tension de polarisation par défaut quand le circuit 400 ne fonctionne plus.
De façon similaire, la pompe de charge de puits P 414 est couplée à un rail de polarisation de puits P 424 et génère une tension de polarisation VPW pour polariser, par l’intermédiaire du rail 424, des puits du type P de transistors dans l’îlot. Dans certains modes de réalisation, un commutateur 426 est prévu entre la sortie VPW’ de la pompe de charge de puits P 414 et le rail de polarisation de puits P 424 permettant d’appliquer la polarisation de puits P par une tension externe par l’intermédiaire d’une entrée VPWOFF du commutateur 426. Cela permet en particulier d’appliquer une tension de polarisation par défaut quand le circuit 400 ne fonctionne plus.
Les tensions de polarisation VNW, VPW à la sortie du circuit de polarisation adaptative 400, ou les tensions VNW’, VPW’ au niveau des sorties des pompes de charge 412, 414 respectivement, sont par exemple fournies aux détecteurs de marge 404, et sont par exemple utilisées pour polariser des transistors formant des éléments logiques de circuits de retard des détecteurs de marge 404, comme on va le décrire plus en détail ci-après.
Le détecteur d’asymétrie 416 mesure par exemple s’il y a une asymétrie entre les niveaux de tension VNW et VPW et compare cette asymétrie à une condition d’asymétrie cible. Par exemple, bien que cela ne soit pas illustré dans les figures, le détecteur d’asymétrie 416 comprend un oscillateur en anneau constitué de transistors PMOS, et un autre oscillateur en anneau constitué de transistors NMOS, et un détecteur phase fréquence pour détecter lequel des signaux générés par ces deux oscillateurs en anneau a la fréquence la plus élevée. Toutefois, d’autres mises en œuvre du détecteur d’asymétrie seraient possibles pour détecter l’asymétrie entre les vitesses de fonctionnement des dispositifs à canal P et à canal N, ou entre des caractéristiques des transistors, impactant leurs vitesses de fonctionnement respectives. Sur la base de la différence entre l’asymétrie mesurée et l’asymétrie cible, des signaux de commande sont par exemple fournis au circuit de commande de pompe de charge 410 pour adapter la tension VPW. Dans certains modes de réalisation, l’asymétrie cible peut être aussi faible que 0 pour assurer une forte symétrie entre les tensions VPW et VNW. Dans d’autres modes de réalisation, une certaine asymétrie entre les tensions VPW et VNW peut être souhaitable.
Le générateur d’horloge variable 418 reçoit par exemple un signal d’activation (ENABLE) et un signal de sélection d’horloge interne CK_I_SEL, et génère un signal d’horloge interne CK_I pour contrôler le fonctionnement temporel du circuit de prétraitement 406, de la boucle de commande 408, du circuit de commande de pompe de charge 410 et du détecteur d’asymétrie 416.
Un circuit de commande de système (SYSTEM CONTROL) 428 génère par exemple un signal de commande SLACK_SEL[] fourni aux détecteurs de marge 404 et à la boucle de commande 408. Le circuit de commande de système 428 reçoit par exemple le signal de verrouillage LOCK généré par la boucle de commande 408, et peut additionnellement recevoir d’autres entrées (non représentées), et aussi génère par exemple le signal d’activation ENABLE et le signal de sélection d’horloge interne CK_I_SEL.
La représente schématiquement le générateur d’horloge variable 418 de la plus en détail selon un exemple de réalisation.
Le générateur 418 est par exemple activé par le signal ENABLE. Par exemple, le générateur 418 comprend une porte NON ET 502 recevant sur une de ses entrées le signal ENABLE, et sur l’autre entrée le signal d’horloge interne CK_I généré par le générateur 418. La sortie de la porte NON ET 502 est par exemple couplée à une chaîne d’inverseurs 504, six inverseurs 504 se trouvant dans la chaîne dans l’exemple de la . Une sortie de l’inverseur final de la chaîne est couplée à une entrée d’un multiplexeur 506. Une autre entrée du multiplexeur 506 est couplée à un nœud intermédiaire dans la chaîne d’inverseurs, qui dans l’exemple de la est le nœud au niveau de la sortie du deuxième inverseur 504 de la chaîne. Une sortie du multiplexeur 506 fournit le signal d’horloge interne CK_I. Dans certains modes de réalisation, une autre version CK_I’ du signal d’horloge interne est fournie par un dispositif de décalage de niveau (LS) 508 couplé à la sortie du multiplexeur 506. Par exemple, bien que cela ne soit pas illustré en , le circuit de commande de pompe de charge 410 reçoit le signal d’horloge CK_I’ comportant des impulsions à niveau haut à une tension supérieure à celle du signal CK_I.
Bien que la illustre un exemple dans lequel le générateur d’horloge variable 418 peut générer une horloge ayant l’une de deux fréquences différentes, il sera clair pour la personne du métier qu’on pourrait prévoir plus de deux fréquences en ajoutant des inverseurs et des prises additionnelles couplées à d’autres entrées du multiplexeur 506. En outre, on pourrait utiliser un autre type d’oscillateur en anneau, comme un oscillateur basé sur des inverseurs appauvris.
La représente schématiquement les détecteurs de marge 404 et le circuit de prétraitement 406 du circuit 400 de la plus en détail selon un exemple de réalisation.
Les détecteurs de marge 404 comprennent par exemple un ou plusieurs modules de retard 602. Dans l’exemple de la , il y a P+1 modules de retard (DELAY MODULE VT_0 à DELAY MODULE VT_P), chaque module étant adapté à un type structurel de transistor différent, et par exemple à des transistors ayant différentes variantes de tension de seuil VT_0 à VT_P. Comme on va le décrire plus en détail ci-après, chaque module de retard 602 comprend des éléments logiques mis en œuvre par des transistors du type structurel correspondant, et comportant un puits N piloté par la tension de polarisation VNW’, ou un puits P piloté par la tension de polarisation VPW’.
Chaque module de retard 602 reçoit par exemple un signal d’horloge correspondant CK_0 à CK_P, correspondant au signal d’horloge locale CK de l’îlot, propagé par un contrôleur d’horloge sur la puce (OCC0, OCCP) 604 correspondant. Les contrôleurs d’horloge sur la puce 604 sont par exemple activés par un signal START, et par exemple propagent seulement un certain nombre de fronts du signal d’horloge locale CK vers les modules de retard 602 afin d’éviter une consommation non nécessaire. Par exemple, les contrôleurs d’horloge sur la puce sont agencés pour propager deux fronts d’horloge. Une fois que le nombre approprié de fronts a été propagé par chaque OCC, celui-ci active par exemple un signal OCC_END.
Chaque module de retard 602 comprend par exemple une pluralité de cellules de retard en série, ces cellules de retard fournissant des sorties avec des retards différents par rapport au signal d’horloge d’entrée CK_0 à CK_P, et ces sorties provenant de chaque module de retard 602 sont couplées à un ensemble correspondant de dispositifs de surveillance de marge (SMs) 606. Les ensembles de dispositifs de surveillance de marge 606 génèrent des signaux de sortie OP_0 à OP_P respectivement, qui sont par exemple fournis au circuit de prétraitement 406, et en particulier à des entrées correspondantes d’un multiplexeur/sélecteur (MUX) 608. Des sorties du multiplexeur/sélecteur 608 sont couplées à un circuit de détection (DETECTION CIRCUIT) 610, qui par exemple réalise un moyennage et/ou une détection de minimum et de maximum et/ou d’autres traitements pour indiquer par exemple à la boucle de commande 408 de la quelles actions doivent être effectuées pour ajuster le fonctionnement. Cela permet une mesure plus fine en utilisant des données provenant de multiples instances de paires module de retard/dispositif de surveillance de marge 602, 606, qui sont par exemple placées à différents emplacements dans les îlots 302, 304. Par exemple, ces paires module de retard/dispositif de surveillance de marge 602, 606 sont agencées pour capturer des gradients de procédé, c’est-à-dire des variations locales, et des variations dépendant de l’emplacement des conditions de fonctionnement, à savoir des conditions de température et de tension.
Le signal SLACK_SEL[] est par exemple fourni aux modules à retard 602, aux dispositifs de surveillance de marge 606 et au multiplexeur 608 dans un but de configuration des détecteurs de marge 404. Ce signal de sélection active par exemple une sélection de l’une des valeurs de retard dans les modules de retard 602, une sélection d’un ou plusieurs signaux de sortie des dispositifs de surveillance 606 et une sélection d’une ou plusieurs des entrées du multiplexeur 608.
Bien que dans le mode de réalisation de la toutes les chaînes de blocs 604, 602 et 606 soient pilotées par un même signal d’horloge CK, correspondant par exemple au signal d’horloge d’un îlot, dans des variantes de réalisation on pourrait utiliser des signaux d’horloge différents pour piloter des chaînes de blocs 604, 602 et 606 différentes. Par exemple, ces différents signaux d’horloge pourraient correspondre à des signaux d’horloge d’îlots différents, ou des signaux d’horloge de domaines d’horloge différents dans un même îlot. À titre d’exemple, le contrôleur d’horloge OCC0 et le module de retard 602 et les dispositifs de surveillance de marge 606 associés, pourraient être pilotés par un premier signal d’horloge CK1 à une première fréquence, et le contrôleur d’horloge OCCP et le module de retard 602 et les dispositifs de surveillance de marge 606 associés pourraient être pilotés par un deuxième signal d’horloge CK2 à une deuxième fréquence différente de la première fréquence. Il n’y a pas de limitation sur le nombre de signaux d’horloge différents et de fréquences différentes qui pourraient être utilisés simultanément parmi les détecteurs de marge 404.
La représente schématiquement le module de retard 602 recevant l’horloge CK_0, et l’ensemble correspondant de dispositifs de surveillance de marge 606 de la plus en détail selon un exemple de réalisation. Les autres modules de retard 602 sont par exemple mis en œuvre par des circuits similaires.
Le module de retard 602 comprend par exemple une bascule 702 ayant son entrée de donnée reliée à la tension d’alimentation VDDC de l’îlot, et son entrée d’horloge recevant le signal d’horloge CK_0. Cela permet par exemple de lancer une opération de mesure sur un premier front montant du signal d’horloge CK_0. La bascule 702 reçoit aussi par exemple un signal de réinitialisation RESET sur son entrée de réinitialisation, ce signal de réinitialisation étant par exemple activé afin de placer la bascule 702 dans un état donné au début du processus de mesure.
Le module de retard 602 comprend aussi par exemple des circuits de retard 703_0 à 703_n, qui dans l’exemple de la sont couplés en série afin de propager un front montant généré par la bascule 702 en réponse à un front montant du signal d’horloge CK_0. La sortie Co de la bascule 702 correspond par exemple à un premier front montant du signal d’horloge CK_0, pendant que le signal de réinitialisation n’est pas activé, retardé par le retard de la bascule 702. Les circuits de retard 703_0 à 703_n ensemble assurent un retard par rapport au signal d’horloge locale CK_0 supérieur ou égal à celui du chemin de transmission le plus long de l’îlot. Le chemin de transmission à surveiller est sélectionné par un sélecteur 709 en fonction du signal de sélection SLACK_SEL[].
Les circuits de retard 703_0 à 703_n sont par exemple des cellules de référence qui sont représentatives du comportement d’autres circuits de l’îlot, et fournissent ainsi une indication des délais de propagation qui seront subis par les chemins de données effectifs dans le circuit.
Par exemple, chacun des circuits de retard 703_0 à 703_n d’un module de retard 602 donné est mis en œuvre par le même circuit, en utilisant le même type structurel de transistor comme décrit précédemment.
La illustre aussi un exemple du circuit de retard 703_0, les autres circuits de retard ayant par exemple la même structure. Dans l’exemple de la , le circuit de retard 703_0 comprend la connexion en série d’une porte NON OU 704, d’un inverseur (INV) 705, d’une porte NON ET 706 ayant l’une de ses entrées (i1) reliée au rail d’alimentation VDDC et son autre entrée (i2) couplée à la sortie de l’inverseur 705, et d’un autre inverseur (INV) 707 fournissant un signal de sortie OUT1 du circuit de retard 703_0. La porte NON OU 704 reçoit par exemple sur l’une de ses entrées (i1) le signal SLACK_SEL[0] destiné au circuit de retard 703_0, et sur l’autre de ses entrées (i2) le signal d’entrée IN du circuit de retard 703_0. Pour le circuit 703_0, le signal d’entrée IN est la sortie de la bascule 702, mais pour les autres circuits de retard, c’est la sortie du circuit de retard précédent. Pour le circuit de retard 703_0 et les autres circuits de retard excepté le dernier circuit 703_n, la sortie OUT1 de l’inverseur 707 est par exemple couplée à l’entrée du circuit de retard suivant dans la série.
Le circuit de retard 703_0 comprend aussi par exemple une porte NON ET 708 recevant sur l’une de ses entrées (i1) le signal SLACK_SEL[0] et sur l’autre de ses entrées (i2) le signal d’entrée IN du circuit de retard 703_0. Une sortie OUT2 de la porte NON ET 708 est par exemple couplée, par l’intermédiaire d’un sélecteur (MUX) 709 du module de retard 602, aux dispositifs de surveillance de marge 606. Dans un mode de réalisation, le sélecteur 709 est mis en œuvre par un multiplexeur. En outre, on pourrait utiliser une combinaison quelconque de portes logiques dans chaque circuit de retard 703_0 à 703_n, en fonction du retard souhaité de chaque circuit de retard, et des types de cellules logiques qui peuvent représenter les éléments de circuits typiques dans le reste de l’îlot.
Les puits des transistors (non illustrés en ) formant les portes logiques de chaque circuit de retard 703_0 à 703_n sont par exemple polarisées par les tensions VNW’ et VPW’, comme cela a été indiqué précédemment.
Le sélecteur 709 utilise par exemple un signal dédié parmi les signaux de commande SLACK_SEL[] pour sélectionner une ou plusieurs des sorties fournies par les circuits de retard 703_0 à 703_n.
Dans l’exemple de la , l’ensemble de dispositifs de surveillance de marge 606 est constitué d’une pluralité de circuits de surveillance de marge (SMs) 710_0 à 710_m, chacun recevant un signal DIN sélectionné par le multiplexeur 709, et chacun générant une valeur de drapeau correspondante. Dans certains modes de réalisation, un multiplexeur 720 est par exemple utilisé pour sélectionner une ou plusieurs des sorties des circuits de surveillance de marge 710_0 à 710_m pour fournir des signaux de drapeaux de sortie de l’ensemble de dispositifs de surveillance de marge 606. Par exemple, le multiplexeur 720 est commandé par un signal dédié parmi les signaux de commande SLACK_SEL[]. Dans l’exemple de la , le multiplexeur 720 sélectionne deux signaux de sortie d’un ou plusieurs des circuits de surveillance de marge, les sorties étant représentées notées FLAG1 et FLAG2. Toutefois, de manière plus générale, le multiplexeur 720 est commandé de manière à sélectionner un ou plusieurs des signaux de sortie.
Par exemple, dans certains modes de réalisation, le circuit sélecteur 709 est commandé de manière à sélectionner le signal de sortie provenant de l’un des circuits de retard 703_0 à 703_n, et à fournir ce signal comme signal d’entrée DIN à un ou plusieurs des circuits de surveillance de marge. Chaque circuit de surveillance de marge 710_0 à 710_m reçoit aussi par exemple le signal d’horloge CK_0, et est agencé pour détecter une fourchette de marge donnée.
Chaque signal de drapeau indique par exemple si le temps de marge du circuit de retard donné est au-dessus ou est descendu en dessous d’un certain seuil. Dans un mode de réalisation, le signal de drapeau FLAG1 est activé lorsque le temps de marge est en dessous d’un seuil bas, impliquant qu’il est proche du temps d’établissement de dispositifs synchrones dans le circuit. Le signal de drapeau FLAG2 est par exemple activé lorsque le temps de marge est supérieur à une marge maximum souhaitée.
Ainsi :
- lorsque le drapeau FLAG1 est activé, les tensions de polarisation de transistors doivent être modifiées pour fournir une polarisation directe plus grande ;
- lorsque le drapeau FLAG2 est activé, les tensions de polarisation de transistors doivent être modifiées pour fournir moins de polarisation directe ; et
- lorsque ni l’un ni l’autre des drapeaux FLAG1, FLAG2 n’est activé, les tensions de polarisation de transistors sont par exemple maintenues à un niveau courant.
Bien sûr, on pourrait utiliser d’autres règles de codage pour la génération des drapeaux, et on pourrait appliquer d’autres procédés de commande de polarisation en tension.
Chaque circuit de surveillance de marge 710_0 à 710_m fournit aussi par exemple le signal Q correspondant au signal de sortie du circuit de retard correspondant couplé à partir des circuits 703_0 à 703_n, recevant comme horloge le signal d’horloge CK_0. Dans un mode de réalisation, chaque circuit de surveillance de marge est mis en œuvre par le circuit SlackGuard décrit dans la demande de brevet français déposée le 24 décembre 2018 et portant le numéro FR 1874138, dont le contenu est inclus ici comme référence dans les limites autorisées par la loi. En variante, on va maintenant décrire un autre exemple de mise en œuvre en faisant référence à la .
La représente schématiquement le circuit de surveillance de marge 710_0 plus en détail selon un exemple de réalisation. Les autres circuits de surveillance de marge 710_1 à 710_m, s’il y en a, ont par exemple une structure similaire.
Le circuit de surveillance de marge 710_0 reçoit par exemple le signal DIN, et fournit le signal DIN à une ligne à retard constituée de la connexion en série de circuits de retard 731 à 735. Dans l’exemple de la , les circuits de retard 731 à 735 n’introduisent pas des retards égaux. Par exemple, les circuits 731 à 733 comprennent chacun un seul élément de retard et les éléments 734 et 735 comprennent par exemple chacun la connexion en série de quatre éléments de retard. Les éléments de retard des circuits de retard 731 à 735 sont par exemple des tampons, bien qu’on puisse aussi utiliser d’autres types d’éléments de retard.
Le signal d’entrée DIN et les sorties des circuits de retard 731 à 735 sont couplés respectivement à une entrée de bascules 740 à 745 correspondantes. Les bascules 740 à 745 sont par exemple des bascules de type D (DFF), et reçoivent par exemple comme horloge le signal d’horloge CK_0, et sont réinitialisées par le signal de réinitialisation RESET. Les bascules 740 à 745 fournissent respectivement des signaux de sortie qref et q[0] à q[r], où r est par exemple égal à 4 dans le cas où il y a cinq circuits de retard, mais pourrait plus généralement être égal à 2 ou plus.
Les sorties des bascules 740 à 745 sont par exemple fournies au multiplexeur 720, qui par exemple sélectionne sur la base du signal SLACK_SEL[] une ou plusieurs de ces sorties pour fournir les signaux de sortie de drapeau.
Dans certains modes de réalisation, les bascules qui ne sont pas sélectionnées par le multiplexeur 720 pourraient être désactivées. Par exemple, cela est mis en œuvre en plaçant une cellule de contrôle de passage (non illustrée) au niveau de l’entrée d’horloge CK_0 de chaque bascule, chaque cellule de contrôle de passage étant commandée par le signal de sélection SLACK_SEL[] par l’intermédiaire d’une fonction de décodage de couplage appropriée.
En faisant de nouveau référence à la , dans un mode de réalisation, la boucle de commande 408 de la met en œuvre l’algorithme de commande défini par le tableau suivant :
Q FLAG1 FLAG2 REACTION
Q-1 0 0 La marge est négative (chemin trop lent impliquant que Q ne change pas) et le signal de commande CP_CTRL est généré de telle sorte que la tension de polarisation de transistors augmente avec une première pente, relativement forte. Le signal LOCK n’est pas activé.
Bascule 0 1 La marge est trop longue (supérieure à la fenêtre prédéfinie) et le signal de commande CP_CTRL est généré de telle sorte que la tension de polarisation de transistors diminue. Le signal LOCK reste activé.
Bascule 0 0 La marge est dans la fenêtre définie, le signal CP_CTRL est généré de telle sorte que la tension de polarisation de transistors ne soit pas modifiée, et le signal LOCK est activé.
Bascule 1 0 La marge est trop courte (inférieure à la fenêtre définie), et le signal de commande CP_CTRL est généré de telle sorte que la tension de polarisation de transistors soit augmentée, par exemple avec une deuxième pente moins forte que la première pente. Le signal LOCK n’est pas activé.
Les figures 8 et 9 représentent schématiquement des exemples de pompes de charge de puits N et de puits P 412, 414 respectivement du circuit de la plus en détail selon un exemple de réalisation.
Dans l’exemple de la , la pompe de charge de puits N 412 comprend un condensateur 802 couplé entre un rail VSSIO et un nœud 804, un commutateur 806 couplant le nœud 804 au rail VSSIO, un commutateur 808 couplant le nœud 804 au rail VDDIO, et un commutateur 810 couplant le nœud 804 à la sortie 812 de la pompe de charge 412. Le condensateur 802 et les commutateurs sont par exemple dimensionnés en fonction de la capacité et de la fuite du NWELL, cette capacité et cette fuite étant représentées en par une diode 814. Les rails VDDIO et VSSIO pourraient être remplacés par des rails VDDC et VSSC.
Les commutateurs 806, 808 et 810 sont par exemple contrôlés respectivement par des signaux de commande SW1DN, SW1UP et SW2.
Dans l’exemple de la , la pompe de charge de puits P 414 comprend par exemple un condensateur 902 couplé entre des nœuds 903 et 904, le nœud 903 étant couplé au rail VSSIO par l’intermédiaire d’un commutateur 906 et au rail VDDIO par l’intermédiaire d’un commutateur 908, et le nœud 904 étant couplé au rail VSSIO par l’intermédiaire d’un commutateur 909, et à la sortie 912 de la pompe de charge 414 par l’intermédiaire d’un commutateur 910. Le condensateur 902 et les commutateurs sont par exemple dimensionnés en fonction de la capacité et de la fuite du PWELL, cette capacité et cette fuite étant représentées par une diode 914.
Les commutateurs 906, 908, 909 et 910 sont par exemple commandés respectivement par des signaux de commande SW1DN, SW1UP, SW1 et SW2.
Dans un mode de réalisation, les condensateurs 802 et 902 des figures 8 et 9 ont des capacités égales à environ 1/300 de la capacité du puits correspondant. Ce rapport est par exemple choisi en fonction de la fuite du puits, de la température de fonctionnement maximum (plus la température est élevée, plus la fuite est élevée, et plus la valeur de capacité doit être élevée), de la fréquence de commutation (plus la fréquence de commutation est élevée, plus la valeur de capacité doit être faible), et aussi en fonction de la tension maximum à fournir (plus la valeur absolue de la tension de puits maximum est proche de la tension VDDIO, plus la valeur de la capacité doit être élevée). Le rapport peut aussi être décidé en fonction d’un temps d’établissement ciblé de la tension de puits, et de la surface disponible. Par exemple, en supposant une capacité de puits d’environ 0,3 nF, les condensateurs 802, 902 ont par exemple des capacités d’environ 1 pF.
En fonctionnement, le circuit de commande de pompe de charge 410 commande par exemple les commutateurs des pompes de charge 412, 414 en utilisant des cycles à trois phases, la première phase PHASE1 étant destinée à charger le condensateur 802/902, la deuxième phase PHASE2 étant destinée à transférer la charge du condensateur 802/902 vers le puits correspondant, et la troisième phase PHASE3 étant une phase de repos entre les commutations. Par exemple, la fréquence de commutation est dans une plage de 1 à 50 MHz. Dans un mode de réalisation, les commutateurs sont commandés de façon à augmenter la valeur absolue de la tension de polarisation correspondante (CP-NW UP, CP-PW UP), diminuer la valeur absolue de la tension de polarisation correspondante (CP-NW DN, CP-PW DN), ou maintenir le niveau courant (SKIP), en activant (ON) et en désactivant (OFF) les signaux pendant les trois phases comme défini dans le tableau suivant :
Opération Signal PHASE1 PHASE2 PHASE3
CP-NW UP

SW1UP
SW1DN
SW2
ON
OFF
OFF
OFF
OFF
ON
OFF
ON
OFF
CP-NW DN SW1UP
SW1DN
SW2
OFF
ON
OFF
OFF
OFF
ON
OFF
ON
OFF
CP-NW SKIP SW1UP
SW1DN
SW2
OFF
ON
OFF
OFF
ON
OFF
OFF
ON
OFF
CP-PW UP SW1UP
SW1DN
SW1
SW2
ON
OFF
ON
OFF
OFF
ON
OFF
ON
OFF
ON
ON
OFF
CP-PW DN SW1UP
SW1DN
SW1
SW2
OFF
ON
ON
OFF
OFF
ON
OFF
ON
OFF
ON
ON
OFF
CP-PW SKIP SW1UP
SW1DN
SW1
SW2
OFF
ON
ON
OFF
OFF
ON
ON
OFF
OFF
ON
ON
OFF
Dans un mode de réalisation, le détecteur d’asymétrie 416 de la , lorsqu’il est activé, est aussi agencé pour modifier la commande des commutateurs dans les pompes de charge 412, 414. Par exemple, les opérations UP, DN et SKIP pour chacune des pompes de charge sont contrôlées comme cela est défini dans le tableau suivant, dans lequel NW LOW implique que la tension de polarisation de puits N est faible par rapport à la tension de polarisation de puits P et doit être augmentée, et PW LOW implique que la tension de polarisation de puits P est faible par rapport à la tension de polarisation de puits N et doit être augmentée :
BOUCLE PRINCIPALE BOUCLE D’ASYMETRIE CP-NW CP-PW
UP DN NW LOW PW LOW OPERATION
0 0 0 0 SKIP SKIP
0 0 0 1 SKIP UP
0 0 1 0 UP SKIP
0 1 0 0 DN DN
0 1 0 1 DN SKIP
0 1 1 0 SKIP DN
1 0 0 0 UP UP
1 0 0 1 SKIP UP
1 0 1 0 UP SKIP
1 1 X X SKIP SKIP
X X 1 1 SKIP SKIP
Les deux dernières rangées du tableau correspondent à des commandes illégales, qui provoquent par exemple des opérations de saut.
La est un chronogramme représentant le fonctionnement du circuit de polarisation adaptative de substrat de la selon un exemple de réalisation. En particulier, la représente un exemple de périodes dans lesquelles la détection de marge (SLACK DETECT.) est activée, de périodes dans lesquelles la détection d’asymétrie (ASYMM DETECT.) est activée, de périodes dans lesquelles la fréquence de l’horloge interne CK_I est modifiée (CK_I ACT.), et le signal de verrouillage LOCK. La modification de la fréquence de CK_I est optionnelle, mais permet par exemple une économie dans la consommation d’énergie.
La détection de marge est par exemple réalisée soit avec un temps d’attente régulier soit avec un temps d’attente variable, et, pendant chaque période de détection de marge, la fréquence de l’horloge interne CK_I est aussi augmentée. La détection d’asymétrie est par exemple effectuée une fois toutes les M activations de la détection de marge, où M est par exemple égal à au moins un, et égal à trois dans l’exemple de la .
La représente schématiquement un circuit 1100 de polarisation adaptative de substrat selon une variante de réalisation par rapport à la . Le circuit 1100 de la a de nombreux éléments en commun avec le circuit 400 de la , et ces éléments portent les mêmes références numériques en , et ne seront pas décrits de nouveau en détail.
Par rapport au circuit 400, le circuit 1100 comprend en plus un autre capteur d’informations temporelles ou de PVT (OTHER TIMING OR PVT SENSOR) 1102, qui par exemple est un type connu du capteur d’informations temporelles ou PVT comme un capteur basé sur un oscillateur en anneau ou similaire. Le capteur 1102 reçoit par exemple les tensions VNW’ et VPW’, et est couplé à la boucle de commande 408. Dans certains modes de réalisation, le capteur 1102 peut aussi recevoir un ou plusieurs des signaux de commande SLACK_SEL[].
Le capteur 1102 est par exemple agencé pour interagir avec la boucle de commande 408 pour ajuster les tensions VNW et VPW. Dans ce mode de réalisation, les détecteurs de marge 404 fournissent des informations additionnelles complémentaires à la boucle de commande 408 pour contrôler le fonctionnement de la boucle, de manière à ajuster son fonctionnement, par exemple en ajustant des coefficients internes utilisés pour contrôler la boucle de rétroaction, pour fournir une détection plus précise de la plage de tension de polarisation de substrat appropriée de l’îlot 302, 304.
Un avantage des modes de réalisation décrits ici est que, en prévoyant des détecteurs de marge comprenant des circuits de retard et des moyens pour sélectionner le délai de propagation utilisé pendant la détection de marge, un même circuit de polarisation adaptative de substrat peut être ajusté pour une région de circuit donnée, sur la base par exemple de la longueur d’un ou plusieurs chemins temporels critiques de la région de circuit. D’autres modes de réalisation décrits ici permettent aussi par exemple qu’un même circuit de polarisation adaptative de substrat, ayant une plage de paramétrage, et en particulier une gamme de détecteurs de marge différents, assure une polarisation adaptative de substrat pour une pluralité d’îlots de circuit d’une même puce et/ou de puces différentes.
Divers modes de réalisation et variantes ont été décrits. La personne du métier comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaitront à la personne du métier. Par exemple, bien qu’on ait décrit des modes de réalisation basés sur certains types structurels de transistors, il sera clair pour la personne du métier que les principes décrits ici pourraient être appliqués à des transistors ayant un type quelconque de structure permettant d’appliquer des tensions de polarisation de substrat.

Claims (15)

  1. Circuit de polarisation adaptative de substrat pour une région d’un circuit (302, 304), comprenant :
    - un premier module de retard (602) comportant une pluralité de circuits de retard (703_0, 703_n) agencés pour retarder au moins un front d’un signal d’horloge locale (Co) de la région de circuit, un premier des circuits de retard (703_0, 703_n) fournissant un premier signal de sortie retardé d’un premier retard par rapport au signal d’horloge locale, et un deuxième des circuits de retard (703_0, 703_n) fournissant un deuxième signal de sortie retardé d’un deuxième retard par rapport au signal d’horloge locale (CK) ;
    - un multiplexeur (709) agencé pour sélectionner l’un des premier et deuxième signaux de sortie ;
    - un premier circuit de surveillance de marge (710_0, 710_m) agencé pour générer un premier signal de détection (FLAG1, FLAG2) indiquant quand un temps de marge du signal sélectionné parmi les premier et deuxième signaux de sortie est inférieur à un premier seuil ; et
    - un circuit de polarisation (410, 412, 414) agencé pour générer au moins une tension de polarisation (VNW, VPW) pour polariser des puits de transistors dans la région de circuit sur la base du premier signal de détection (FLAG1, FLAG2).
  2. Circuit de polarisation adaptative de substrat selon la revendication 1, dans lequel le premier dispositif de surveillance de marge (710_0, 710_m), ou un deuxième dispositif de surveillance de marge (710_0, 710_m), est agencé pour générer un deuxième signal de détection (FLAG1, FLAG2) indiquant quand un temps de marge du signal sélectionné parmi les premier et deuxième signaux de sortie est supérieur à un autre seuil, dans lequel le circuit de polarisation (410, 412, 414) est agencé pour générer ladite au moins une tension de polarisation (VNW, VPW) sur la base des premier et deuxième signaux de détection.
  3. Circuit selon la revendication 1 ou 2, dans lequel les circuits de la pluralité de circuits de retard (703_0, 703_n) sont couplés en série entre eux pour retarder la propagation d’au moins un front du signal d’horloge locale (Co).
  4. Circuit selon l’une quelconque des revendications 1 à 3, dans lequel chaque circuit de retard (703_0, 703_n) comprend un ou plusieurs éléments logiques constitués de transistors ayant des puits polarisés par au moins une tension de polarisation (VNW, VPW).
  5. Circuit selon l’une quelconque des revendications 1 à 4, dans lequel le circuit de polarisation (410, 412, 414) est agencé pour générer une première tension de polarisation (VNW) pour polariser des puits de type N de transistors d’un premier type de conductivité dans la région de circuit, et une deuxième tension de polarisation (VPW) pour polariser des puits de type P de transistors d’un deuxième type de conductivité dans la région de circuit.
  6. Circuit selon la revendication 5, comprenant en outre un premier générateur de tension (412) agencé pour générer la première tension de polarisation et un deuxième générateur de tension (414) agencé pour générer la deuxième tension de polarisation.
  7. Circuit selon la revendication 6, dans lequel les premier et/ou deuxième générateurs de tension sont des pompes de charge.
  8. Circuit selon l’une quelconque des revendications 5 à 7, comprenant en outre un détecteur d’asymétrie (416) agencé pour détecter si les première et deuxième tensions de polarisation (VNW, VPW) provoquent une asymétrie entre les polarisations de puits N et de puits P, dans lequel le circuit de polarisation (410, 412, 414) est agencé pour générer ladite au moins une tension de polarisation (VNW, VPW) sur la base de la détection d’asymétrie.
  9. Circuit selon l’une quelconque des revendications 1 à 8, dans lequel les circuits de retard (703_0, 703_n) du premier module de retard (602) comprennent chacun un ou plusieurs éléments logiques constitués de transistors d’un premier type structurel ayant des tensions de seuil (VT1) tombant dans une première plage, le circuit de polarisation adaptative de substrat comprenant en outre :
    - un deuxième module de retard (602) comportant une pluralité de circuits de retard (703_0, 703_n) agencés pour retarder ledit au moins un front du signal d’horloge locale (Co) de la région de circuit, dans lequel les circuits de retard (703_0, 703_n) du deuxième module de retard comprennent chacun un ou plusieurs éléments logiques d’un type différent de ceux constituant le premier module de retard, lesdits un ou plusieurs éléments logiques du deuxième module de retard étant constitués de transistors du premier type structurel.
  10. Circuit selon la revendication 9, comprenant en outre :
    - un troisième module de retard (602) comportant une pluralité de circuits de retard (703_0, 703_n) agencés pour retarder ledit au moins un front du signal d’horloge locale (Co) de la région du circuit, dans lequel les circuits de retard (703_0, 703_n) du troisième module de retard comprennent chacun un ou plusieurs éléments logiques constitués de transistors d’un deuxième type structurel ayant des tensions de seuil (VT2) tombant dans une deuxième plage.
  11. Circuit selon la revendication 10, dans lequel le premier dispositif de surveillance de marge est mis en œuvre par des transistors du premier type structurel, et le circuit comprend en outre un deuxième circuit de surveillance de marge (710_0, 710_m) mis en œuvre par des transistors du deuxième type structurel.
  12. Circuit selon l’une quelconque des revendications 1 à 11, comprenant en outre un circuit de commande de système (428) agencé pour générer un signal de sélection (SLACK_SEL[]) pour réaliser la sélection de l’un des premier et deuxième signaux de détection.
  13. Circuit selon l’une quelconque des revendications 1 à 12, comprenant en outre une autre boucle de commande comprenant un capteur d’informations temporelles, de procédé, de tension et/ou de température (1102), le circuit de polarisation (410, 412, 414) étant agencé pour générer ladite au moins une tension de polarisation (VNW, VPW) sur la base en outre de l’autre boucle de commande.
  14. Circuit intégré comprenant :
    - une première région de circuit (302) recevant un premier signal d’horloge locale (CK1) ;
    - une deuxième région de circuit (304) recevant un deuxième signal d’horloge locale (CK2) ; et
    - le circuit de polarisation adaptative de substrat (320) selon l’une quelconque des revendications 1 à 13, dans lequel les circuits de la pluralité de circuits de retard du premier module de retard sont agencés pour retarder au moins un front du premier signal d’horloge locale (CK1), ou d’un signal d’horloge (Co) généré sur la base du premier signal d’horloge locale (CK1), le circuit de polarisation adaptative de substrat (320) comprenant en outre un autre module de retard comprenant une autre pluralité de circuits de retard agencés pour retarder au moins un front du deuxième signal d’horloge locale (CK2), ou d’un signal d’horloge (Co) généré sur la base du deuxième signal d’horloge locale (CK2), pour générer un ou plusieurs autres signaux de sortie, et un autre circuit de surveillance de marge (710_0, 710_m) agencé pour générer un autre signal de détection (FLAG1, FLAG2) indiquant quand un temps de marge d’un signal sélectionné parmi les autres signaux de sortie est inférieur à un premier seuil.
  15. Procédé de polarisation adaptative de substrat de transistors dans une région de circuit (302, 304) d’un circuit intégré, le procédé comprenant :
    - retarder, par un premier module de retard comportant une pluralité de circuits de retard (703_0, 703_n), au moins un front d’un signal d’horloge locale (Co) de la région de circuit, dans lequel un premier des circuits de retard (703_0, 703_n) fournit un premier signal de sortie retardé d’un premier retard par rapport au signal d’horloge locale, et un deuxième des circuits de retard fournit un deuxième signal de sortie retardé d’un deuxième retard par rapport au signal d’horloge locale ;
    - sélectionner l’un des premier et deuxième signaux de sortie ;
    - générer, par un premier dispositif de surveillance de marge (710_0, 710_m), un premier signal de détection (FLAG1, FLAG2) indiquant quand un temps de marge du signal sélectionné parmi les premier et deuxième signaux d’horloge de sortie est inférieur à un premier seuil ; et
    - générer, par un circuit de polarisation (410, 412, 414), au moins une tension de polarisation (VNW, VPW) pour polariser des puits de transistors dans la région de circuit sur la base du premier signal de détection.
FR2009234A 2020-09-11 2020-09-11 Polarisation adaptative de substrat utilisant des détecteurs de marge Active FR3114188B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR2009234A FR3114188B1 (fr) 2020-09-11 2020-09-11 Polarisation adaptative de substrat utilisant des détecteurs de marge
US17/468,982 US20220082615A1 (en) 2020-09-11 2021-09-08 Adaptive body biasing or voltage regulation using slack sensors
DE102021210046.5A DE102021210046A1 (de) 2020-09-11 2021-09-10 Adaptive Vorspannung oder Spannungsregelung mit Schlupfsensoren
CN202111068394.0A CN114172495A (zh) 2020-09-11 2021-09-13 使用松弛传感器的自适应体偏置或电压调节

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2009234 2020-09-11
FR2009234A FR3114188B1 (fr) 2020-09-11 2020-09-11 Polarisation adaptative de substrat utilisant des détecteurs de marge

Publications (2)

Publication Number Publication Date
FR3114188A1 true FR3114188A1 (fr) 2022-03-18
FR3114188B1 FR3114188B1 (fr) 2024-01-12

Family

ID=73497972

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2009234A Active FR3114188B1 (fr) 2020-09-11 2020-09-11 Polarisation adaptative de substrat utilisant des détecteurs de marge

Country Status (4)

Country Link
US (1) US20220082615A1 (fr)
CN (1) CN114172495A (fr)
DE (1) DE102021210046A1 (fr)
FR (1) FR3114188B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117352509A (zh) * 2023-11-03 2024-01-05 广芯微电子(广州)股份有限公司 一种多电压区域衬底偏置结构

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377103B1 (en) * 2000-06-28 2002-04-23 Intel Corporation Symmetric, voltage-controlled CMOS delay cell with closed-loop replica bias
US20050251700A1 (en) * 2004-05-05 2005-11-10 Henderson Eric L Dynamic voltage scaling system
US20070096775A1 (en) * 2005-10-31 2007-05-03 Mohamed Elgebaly Adaptive voltage scaling for an electronics device
US20070132021A1 (en) 2005-12-08 2007-06-14 Mitsubishi Denki Kabushiki Kaisha Semiconductor device and method of manufacturing the semiconductor device
US20100182055A1 (en) * 2009-01-16 2010-07-22 Anton Rozen Device and method for detecting and correcting timing errors
US20120216067A1 (en) * 2011-02-18 2012-08-23 Paul Nicholas Whatmough Data processing apparatus and method using monitoring circuitry to control operating parameters
EP3179260A1 (fr) * 2015-12-10 2017-06-14 Stichting IMEC Nederland Appareil et procédé pour surveiller la performance d'un circuit intégré
US20170299651A1 (en) * 2016-04-18 2017-10-19 Stmicroelectronics (Crolles 2) Sas Method and device for monitoring a critical path of an integrated circuit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH464026A (de) 1968-05-24 1968-10-15 W Krause Hans Verfahren zum Parallelisieren von Stapelfasern in einem Speisekanal zu einer Spinnkammer einer Offenend-Spinnvorrichtung und Vorrichtung zur Durchführung des Verfahrens
US7714674B2 (en) * 2007-10-01 2010-05-11 Silicon Laboratories Inc. System and method for calibrating bias current for low power RTC oscillator
US9417657B2 (en) * 2014-10-02 2016-08-16 Nxp B.V. Timing control with body-bias
US9853545B2 (en) * 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Power regulator having current and voltage modes
EP3472738A1 (fr) * 2017-08-04 2019-04-24 Racyics GmbH Procédé de caractérisation de cellules prédéfinies par polarisation adaptative appliquée au substrat

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377103B1 (en) * 2000-06-28 2002-04-23 Intel Corporation Symmetric, voltage-controlled CMOS delay cell with closed-loop replica bias
US20050251700A1 (en) * 2004-05-05 2005-11-10 Henderson Eric L Dynamic voltage scaling system
US20070096775A1 (en) * 2005-10-31 2007-05-03 Mohamed Elgebaly Adaptive voltage scaling for an electronics device
US20070132021A1 (en) 2005-12-08 2007-06-14 Mitsubishi Denki Kabushiki Kaisha Semiconductor device and method of manufacturing the semiconductor device
US20100182055A1 (en) * 2009-01-16 2010-07-22 Anton Rozen Device and method for detecting and correcting timing errors
US20120216067A1 (en) * 2011-02-18 2012-08-23 Paul Nicholas Whatmough Data processing apparatus and method using monitoring circuitry to control operating parameters
EP3179260A1 (fr) * 2015-12-10 2017-06-14 Stichting IMEC Nederland Appareil et procédé pour surveiller la performance d'un circuit intégré
US20170299651A1 (en) * 2016-04-18 2017-10-19 Stmicroelectronics (Crolles 2) Sas Method and device for monitoring a critical path of an integrated circuit

Also Published As

Publication number Publication date
DE102021210046A1 (de) 2022-03-17
US20220082615A1 (en) 2022-03-17
CN114172495A (zh) 2022-03-11
FR3114188B1 (fr) 2024-01-12

Similar Documents

Publication Publication Date Title
EP1863179B1 (fr) Circuit décaleur de niveau
FR2668668A1 (fr) Generateur de tension de substrat pour un dispositif a semiconducteurs.
FR2779886A1 (fr) Amplificateur-separateur utilisant un transistor mos a tension de seuil dynamique
FR2752335A1 (fr) Circuit integre incorporant un circuit pour piloter des transistors de puissance montes selon une configuration en demi-pont permettant une oscillation negative excessive du noeud de sortie
FR2714550A1 (fr) Arbre de portes logiques OU-Exclusif et multiplieur de fréquence l'incorporant.
FR2644651A1 (fr) Circuit de commande de transistor mos de puissance sur charge inductive
FR2977749A1 (fr) Cellule elementaire d'un circuit integre peu sensible aux perturbations exterieures
EP0130645B1 (fr) Diviseur de fréquence par deux
FR3114188A1 (fr) Polarisation adaptative de substrat utilisant des détecteurs de marge
FR3003996A1 (fr) Procede de commande d'un circuit integre
EP2184855B1 (fr) Circuit intégré avec polarisation de grille de transistor de puissance contrôlée par le courant de fuite
EP0237094A1 (fr) Dispositif semi-conducteur du type réseau de portes prédiffusé pour circuits à la demande
EP0194195A1 (fr) Bascule bistable statique en technologie CMOS
FR2875950A1 (fr) Structure tolerante a la tension pour des cellules d'entree/ sortie
EP3079260A1 (fr) Procede et dispositif d'auto-calibration de circuits multi-grilles
FR2970611A1 (fr) Étage de sortie forme dans et sur un substrat de type soi
FR2697109A1 (fr) Circuit à semiconducteurs ayant une configuration d'implantation perfectionnée.
EP0977407A1 (fr) Amplificateur dont la sortance varie en fonction du temps
EP4030621B1 (fr) Comparateur dynamique
EP0098203B1 (fr) Bascule logique, fonctionnant du continu à 10 GHz, et diviseur de fréquence comportant cette bascule
EP3343427B1 (fr) Procédé et dispositif de gestion de la consommation en courant d'un module intégré
EP0860948B1 (fr) Amplicateur-tampon de commande de bus
FR2648643A1 (fr) Circuit d'interface entre deux circuits numeriques de natures differentes
EP4012924A1 (fr) Comparateur dynamique
EP0027884B1 (fr) Circuit comportant au moins deux dispositifs semi-conducteurs en technologie MTL présentant des temps de montée différents et circuits logiques en dérivant

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220318

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4