GELE5340 Circuits ITGÉ (VLSI) Chapitre 5: Design de fonctions logiques combinatoires Contenu du chapitre • On verra dans ce chapitre comment faire le design de fonctions logiques combinatoires. • On étudiera leur comportement dynamique, ainsi que des stratégies pour optimiser la vitesse. • On verra aussi comment dimensionner les circuits pour optimiser le délai. • Et on verra aussi une méthode pour faciliter le design de la topologie des circuits. GELE5340 – Gabriel Cormier, Université de Moncton 2 Logique combinatoire vs séquentielle In Circuit logique combinatoire Out In Circuit logique combinatoire Out États Logique combinatoire Sortie = f(In) Logique séquentielle Sortie = f(In, In précédent) En logique combinatoire, la sortie n’est fonction que des entrées. En logique séquentielle, la sortie est fonction des entrées actuelles et des entrées précédentes. GELE5340 – Gabriel Cormier, Université de Moncton 3 Types de circuits • Il y a deux techniques de construction de circuits qu’on peut utiliser pour créer des fonctions logiques combinatoires: ○ Statique: À tout moment (sauf pendant le temps de transition), il existe un chemin de faible résistance entre VDD ou GND. ○ Dynamique: La valeur de la fonction logique (le « 0 » ou « 1 ») est stocké temporairement sur un condensateur. • Pour chaque type de circuit, il existe plus d’une façon pour implanter la fonction voulue. GELE5340 – Gabriel Cormier, Université de Moncton 4 CMOS statique complémentaire • Le premier type de circuit statique est le CMOS complémentaire. • En CMOS statique complémentaire, on a deux réseaux de transistors: un réseau est composé de PMOS, et l’autre réseau est composé de NMOS. Réseau PMOS: On l’appelle PUN (Pull Up Network). Ce réseau permet à la sortie d’atteindre la valeur de VDD, pour créer un « 1 » logique. ○ Réseau NMOS: On l’appelle PDN (Pull Down Network). Ce réseau permet à la sortie d’atteindre la valeur de GND, pour créer un « 0 » logique. ○ GELE5340 – Gabriel Cormier, Université de Moncton 5 CMOS statique complémentaire In1 In2 InN … VDD PUN PMOS seulement In1 In2 InN … F(In1, In2, …, InN) PDN NMOS seulement Le PUN et le PDN sont des réseaux complémentaires. La fonction du PUN est de brancher la sortie à VDD lorsqu’un « 1 » est nécessaire. La fonction du PDN est de brancher la sortie à GND lorsqu’un « 0 » est nécessaire. GELE5340 – Gabriel Cormier, Université de Moncton 6 Construction du PDN et PUN • On verra que le PDN est construit uniquement de NMOS, et que le PUN est construit uniquement de PMOS. • En effet, un PMOS fait une bonne connexion à VDD et une mauvaise connexion à GND. • Pour un NMOS, c’est le contraire: il fait une bonne connexion à GND et une mauvaise connexion à VDD. GELE5340 – Gabriel Cormier, Université de Moncton 7 NMOS: logique VDD Vin = 1 Vout : VDD → 0 D Mp S Vout : 0 → VDD – VTn Vin = 1 Mp CL S CL 1. Si on fait une transition de 0 → 1 à la sortie, le condensateur (initialement à 0V) se charge jusqu’à VDD – VTn. D 2. Si on fait une transition de 1 → 0 à la sortie, le condensateur (initialement à VDD) se décharge jusqu’à 0V. Le NMOS fait un bon « 0 » mais un mauvais « 1 ». GELE5340 – Gabriel Cormier, Université de Moncton 8 PMOS: logique VDD Vin = 0 Vout : VDD → |VTp| S Mp D Vout : 0 → VDD Vin = 0 Mp CL D CL 1. Si on fait une transition de 0 → 1 à la sortie, le condensateur (initialement à 0V) se charge jusqu’à VDD. S 2. Si on fait une transition de 1 → 0 à la sortie, le condensateur (initialement à VDD) se décharge jusqu’à |VTp|. Le PMOS fait un bon « 1 » mais un mauvais « 0 ». GELE5340 – Gabriel Cormier, Université de Moncton 9 Combinaisons série / parallèle: NMOS A Y = X seulement si les deux NMOS sont ON. Il s’agit de la fonction AND. B Combinaison série Y X YX si A B A Combinaison parallèle Y = X si un des deux NMOS est ON. Il s’agit de la fonction OR. B X Y YX GELE5340 – Gabriel Cormier, Université de Moncton si A B 10 Combinaisons série / parallèle: PMOS A Y = X seulement si les deux PMOS sont ON. Il s’agit de la fonction NOR. B Combinaison série Y X YX si A B A Combinaison parallèle Y = X si un des deux PMOS est ON. Il s’agit de la fonction NAND. B X Y YX GELE5340 – Gabriel Cormier, Université de Moncton si A B 11 CMOS: logique complémentaire • En logique complémentaire, le PUN est le complémentaire du PDN. On peut démontrer à l’aide du théorème de DeMorgan: A B A B A B A B • Ce qu’on veut dire, c’est qu’une combinaison parallèle des transistors dans le réseau PUN correspond à une combinaison série des transistors dans le PDN, et vice-versa. GELE5340 – Gabriel Cormier, Université de Moncton 12 Exemple de porte : NAND A B OUT 0 0 1 0 1 1 1 0 1 1 1 0 Table de vérité d’une porte NAND à 2 entrées La fonction logique dans ce cas est: OUT A B A B Le circuit est donc: VDD A B Si A ou B est 0, un PMOS est ON, et la sortie est VDD. OUT A Le seul cas où la sortie est 0 est quand A et B sont 1. B GELE5340 – Gabriel Cormier, Université de Moncton Si A et B sont 1, les NMOS sont ON, et la sortie est 0. 13 Exemple de porte : NOR A B OUT 0 0 1 0 1 0 1 0 0 1 1 0 La fonction logique dans ce cas est: OUT A B A B Le circuit est donc: VDD Table de vérité d’une porte NOR à 2 entrées A Si A et B sont 0, les PMOS sont ON, et la sortie est VDD. B Le seul cas où la sortie est 1 est quand A et B sont 0. OUT A B GELE5340 – Gabriel Cormier, Université de Moncton Si A ou B sont 1, un NMOS est ON, et la sortie est 0. 14 Exemple de porte complexe VDD B A C D F D A (B C) A D B C Étant donné la fonction, comment construire les réseaux PUN et PDN? GELE5340 – Gabriel Cormier, Université de Moncton 15 Design d’une porte complexe: PDN F D A (B C) Remarque: la fonction est inversante (le tout est NOT) A Puisque A multiplie (B+C), on le met en série avec ces deux FETs. D B Puisque D est additionné à (A•(B+C)), on le met en parallèle. C Puisqu’on a B+C dans la fonction, on les mets en parallèle. GELE5340 – Gabriel Cormier, Université de Moncton 16 Design d’une porte complexe: PUN F D A (B C) VDD B A A C D B C D PDN GELE5340 – Gabriel Cormier, Université de Moncton PUN 17 Design d’une porte complexe • Pour construire une fonction quelconque, on suit les procédures suivantes: S’assurer que la fonction est inversante (le tout est NOT) ○ Construire le PDN ○ ○ Si on a un « + », les transistors sont en parallèle Si on a un « • », les transistors sont en série Construire le PUN Si des transistors sont en série dans le PDN, ils sont en parallèle dans le PUN. Si des transistors sont en parallèle dans le PDN, ils sont en série dans le PUN. GELE5340 – Gabriel Cormier, Université de Moncton 18 Propriétés des portes statiques CMOS • Marges de bruit élevées: ○ VOL et VOH sont GND et VDD, respectivement. • Aucune consommation statique de puissance. ○ Il n’y a jamais de chemin direct entre VDD et GND. • Temps de montée et de descente sont comparables ○ Avec un dimensionnement approprié. • Les niveaux logiques ne dépendent pas du rapport de dimensions des transistors « ratioless logic ». • Le délai de propagation est fonction de la capacitance de la charge et la résistance des transistors. • Aucun courant à l’entrée. GELE5340 – Gabriel Cormier, Université de Moncton 19 Calcul du délai • Pour faire le calcul du délai des porte logiques, on utilise le modèle d’interrupteur du MOSFET. ○ Les PMOS et NMOS sont remplacés par des interrupteurs ayant une résistance infinie lorsqu’ils sont OFF et une résistance finie lorsqu’ils sont ON. • Un point important: ○ Le délai dépend de la combinaison des entrées. GELE5340 – Gabriel Cormier, Université de Moncton 20 Modèle pour le délai VDD VDD A B B VDD Cint CL A A B CL CL Cint A A Inverseur NAND2 GELE5340 – Gabriel Cormier, Université de Moncton A B NOR2 21 Effet de l’entrée sur le délai VDD Le délai dépend de la combinaison d’entrées. Rp A Rp B Transition de bas à haut: A = 0 ou B = 0: Rn CL A = 0 et B = 0: B Rn A NAND2 Cint t pr 0.69RpCL Rp t pr 0.69 CL 2 Transition de haut à bas: Le nœud interne a un impact A = 1 et B = 1: t pf 0.69Rn 2CL Cint On a donc 3 délais différents pour le NAND2. GELE5340 – Gabriel Cormier, Université de Moncton 22 Délai d’une porte NAND 3 Délai (ps) A=B=01 67 A=1, B=01 64 A= 01, B=1 61 A=B=10 45 A=1, B=10 80 A= 10, B=1 81 A=B=10 2.5 2 Tension Entrée A=1 0, B=1 1.5 1 A=1, B=10 0.5 0 0 100 200 300 400 Temps (ps) NMOS = 0.5m/0.25 m PMOS = 0.75m/0.25 m CL = 100 fF GELE5340 – Gabriel Cormier, Université de Moncton 23 Délai d’une porte NAND VDD Transition la plus rapide: A = B = 1 → 0 ? Rp A Rp B Rn CL Ce cas implique que CL et Cint sont branchés à GND en premier, et qu’ensuite on a deux PMOS en parallèle qui vont charger CL. Transition la plus lente: A = 1 → 0 , B = 1 ? B Rn A Cint Ce cas implique que CL et Cint sont branchés à GND en premier, et qu’ensuite on a un PMOS qui doit charger CL et Cint. NAND2 GELE5340 – Gabriel Cormier, Université de Moncton 24 Dimensionnement des portes: NAND VDD Pour dimensionner les FET, on doit considérer de quelle façon ils sont branchés. A 2 B 2 CL B 2 Cint A 2 NAND2 On compare à un inverseur auquel les PMOS sont de dimension 2 et les NMOS sont de dimension 1. On veut donc s’assurer que la combinaison des NMOS donne toujours 1, et que la combinaison des PMOS donne toujours 2, en termes de résistances. Ex: NAND2 Les NMOS sont en série. Pour obtenir la même résistance qu’un seul NMOS, il faut les faire deux fois plus gros (et donc la moitié de la résistance). Les PMOS sont en parallèle. Dans le pire cas, un sera ON et l’autre OFF. Donc ils peuvent avoir la même dimension que le PMOS de l’inverseur. GELE5340 – Gabriel Cormier, Université de Moncton 25 Dimensionnement des portes: NOR VDD B Le travail est le même: on compare avec un inverseur où le PMOS est de dimension 2 et le NMOS de dimension 1. 4 Cint A 4 CL A 1 B 1 NOR2: Les NMOS sont en parallèle. Donc, dans le pire cas, il y aura 1 NMOS ON. On peut donc faire les deux NMOS de dimension minimale, soit 1. Il y a deux PMOS en série dans le pire cas; il faut donc faire les deux PMOS 2 fois plus gros (pour réduire la résistance de moitié). Ils seront donc de dimension 4. NOR2 GELE5340 – Gabriel Cormier, Université de Moncton 26 Dimensionnement: porte complexe VDD A B 43 8 6 C 8 6 D 4 6 F D A (B C) 2 A D 1 B 2C 2 GELE5340 – Gabriel Cormier, Université de Moncton 27 Entrance: effet sur le délai VDD A B C D CL A B C3 Délai (si les NMOS sont égaux): NAND4 C D C2 C1 t pHL 0.69Reqn C1 2C2 3C3 4CL Le délai se détériore rapidement en fonction de l’entrance. GELE5340 – Gabriel Cormier, Université de Moncton 28 Entrance: effet sur le délai 1250 quadratique tp (ps) 1000 750 On devrait éviter des portes avec une entrance plus grande que 4. tpHL tp 500 tpLH 250 linéaire 0 2 4 6 8 10 12 14 16 entrance GELE5340 – Gabriel Cormier, Université de Moncton 29 Techniques de design • On cherche maintenant à améliorer le design des circuits. • Certaines techniques sont reliées à la structure physique du circuit: ○ Dimensionnement • D’autres sont reliées à la logique du circuit: ○ ○ ○ Organisation des entrées Structures logiques alternatives Utilisation de portes de transfert GELE5340 – Gabriel Cormier, Université de Moncton 30 Technique de design #1 Dimensionnement progressif InN CL MN In3 M3 In2 M2 In1 M1 C3 C2 C1 Le NMOS le plus près de la sortie a seulement besoin de décharger CL. On peut le faire de dimension minimum (ou le plus petit). On fait les autres transistors de plus en plus gros (parce qu’ils doivent décharger de plus en plus de capacitances). M1 > M2 > M3 > … > MN On peut réduire le délai jusqu’à 20% en utilisant cette technique. Cependant, les bénéfices diminuent au fur et à mesure que la technologie diminue. GELE5340 – Gabriel Cormier, Université de Moncton 31 Technique de design #2 Organisation des transistors: concept du chemin critique CL chargé In3 0→1 1 In2 C2 chargé In2 1 In1 CL chargé In1 C2 déchargé 1 C1 chargé 0→1 In3 C1 déchargé 1 Le délai est fonction du temps nécessaire pour décharger CL, C1 et C2. Le délai est fonction du temps nécessaire pour décharger CL. Le chemin critique doit être le plus près de la sortie. GELE5340 – Gabriel Cormier, Université de Moncton 32 Technique de design #3 VDD Organisation des FET: M7 B M6 C D M1 B La capacitance CL est composée des capacitances de drain de M5, M1 et M2. M5 A D L’ordre dans lequel on met les FET influence la vitesse de sortie. M8 A CL M2 M3 C C’est CL qui a le plus d’impact sur le délai, et donc on doit la minimiser autant que possible. M4 GELE5340 – Gabriel Cormier, Université de Moncton 33 Technique de design #3 VDD M5 D M7 B M8 A B La fonction logique réalisée est la même, mais ce circuit est plus lent que le précédent. M6 C D Dans ce cas-ci, la capacitance CL est composée des capacitances de drain de M1, M3, M4, M6, et M8. M3 CL C M4 M1 A M2 On doit avoir le minimum possible de transistors branchés à la sortie. GELE5340 – Gabriel Cormier, Université de Moncton 34 Technique de design #4 Structures logiques alternatives Au lieu d’une porte à 6 entrées, on utilise deux portes avec une entrance de 3. L’inverseur devient un NAND. Le tout est plus rapide, à cause de la dépendance quadratique du délai sur l’entrance. GELE5340 – Gabriel Cormier, Université de Moncton 35 Technique de design #5 Isoler l’entrance de la sortance en utilisant des portes de transfert. CL CL On a vu ceci au chapitre précédent. GELE5340 – Gabriel Cormier, Université de Moncton 36 Dimensionnement des portes Dimensionnement des portes • Si on a plusieurs portes branchées ensemble à une charge, comment faire pour minimiser le délai? • Quelle dimension doit-on donner aux portes pour obtenir un délai minimum? • On a déjà résolu ce problème pour des inverseurs. • On va donc généraliser la méthode utilisée auparavant à des portes complexes. GELE5340 – Gabriel Cormier, Université de Moncton 38 Rappel: dimensionnement de l’inverseur In Out 1 2 3 N CL On avait trouvé que: Si le nombre d’étages est fixe (connu): f F N C où F L Cin,1 Si le nombre d’étages est variable: ln F N ln f opt GELE5340 – Gabriel Cormier, Université de Moncton 39 Dimensionnement des portes On va réécrire l’équation de délai sous une forme plus générale; de: Cext t p t p 0 1 C g t p 0 1 f On écrit: gf t p t p 0 p où tp0 = délai intrinsèque de l’inverseur f = sortance effective ou effort électrique p = délai intrinsèque de la porte (sans charge) g = effort logique GELE5340 – Gabriel Cormier, Université de Moncton 40 Dimensionnement des portes • On a ajouté deux nouveaux termes à l’équation du délai: ○ ○ p: rapport du délai de la porte au délai de l’inverseur. C’est une mesure de combien plus complexe est la porte par rapport à l’inverseur. g: représente le fait qu’une porte complexe doit travailler plus fort pour produire la même réponse. C’est aussi une mesure de combien de capacitance la porte présente à l’entrée pour produire le même courant de sortie qu’un inverseur. GELE5340 – Gabriel Cormier, Université de Moncton 41 Délai intrinsèque p Type de porte p Inverseur 1 NAND à n entrées n NOR à n entrées n Multiplexeur à n directions 2n XOR, XNOR n2n -1 GELE5340 – Gabriel Cormier, Université de Moncton 42 Effort logique L’effort logique est le rapport de la capacitance d’entrée d’une porte sur la capacitance d’entrée d’un inverseur ayant le même courant de sortie. VDD VDD A A 2 B VDD 2 A 4 B 4 OUT 2 OUT A 2 OUT A 1 B 2 A 1 B g=1 g = 4/3 g = 5/3 Inverseur NAND2 NOR2 GELE5340 – Gabriel Cormier, Université de Moncton 1 43 Effort logique g Nombre d’entrées Type de porte 1 2 3 n NAND 4/3 5/3 (n+2)/3 NOR 5/3 7/3 (2n+1)/3 Multiplexeur 2 2 2 XOR 4 12 Inverseur 1 Effort logique, si le rapport PMOS / NMOS est 2, pour du CMOS complémentaire. GELE5340 – Gabriel Cormier, Université de Moncton 44 Effort logique • Portes non standard: ○ ○ On peut avoir un effort logique différent pour chaque entrée. Effort logique différent pour une transition L H ou H L. GELE5340 – Gabriel Cormier, Université de Moncton 45 Délai en fonction de la sortance Le modèle du délai d’une porte est une fonction linéaire. 6 La pente de la courbe représente l’effort logique, et l’abscisse à l’origine représente le délai intrinsèque. 5 4 3 Effort de la porte 2 Le produit fg est appelé l’effort de porte, h. h fg 1 Délai intrinsèque 1 2 3 4 5 6 f GELE5340 – Gabriel Cormier, Université de Moncton 46 Délai d’un circuit complexe Le délai total d’un circuit logique complexe (composé de différentes portes: AND, NOT, OR, etc…) peut donc être écrit comme suit: N t p t p, j j 1 gj fj t p 0 p j j 1 N On fait l’analyse de la même manière que pour l’inverseur: on trouve N – 1 dérivées partielles, et on les met à 0. On obtient comme résultat: f1 g1 f 2 g 2 f N g N ou h1 h2 hN Chaque étage doit fournir le même effort de porte. GELE5340 – Gabriel Cormier, Université de Moncton 47 Effort de branchement • Il reste un autre paramètre à calculer: l’effort de branchement (b). ○ L’effort de branchement est une mesure du nombre de sorties auxquelles une porte est branchée. Ces sorties vont réduire le courant disponible pour charger ou décharger la capacitance voulue. GELE5340 – Gabriel Cormier, Université de Moncton 48 Effort de branchement Effort de branchement: b Csur parcours Chors parcours Csur parcours CL GELE5340 – Gabriel Cormier, Université de Moncton 49 Méthode de l’effort logique Il reste 3 termes à définir ayant rapport au parcours total: N G g1 g 2 g n g i i 1 Effort logique du parcours N B b1b2 bn bi i 1 N fi N fi CL F Cin,1 i 1 bi i 1 B Effort de branchement du parcours Effort électrique du parcours GELE5340 – Gabriel Cormier, Université de Moncton 50 Méthode de l’effort logique On peut maintenant calculer l’effort total du parcours: H BFG De façon semblable à l’inverseur, l’effort de porte qui minimise le délai est: hN H Et le délai minimum dans le parcours est: N NNH D t p 0 p j j 1 GELE5340 – Gabriel Cormier, Université de Moncton 51 Méthode de l’effort logique Pour calculer la dimension s de chaque porte, on utilise l’équation suivante: g1s1 i 1 f j si b g j 1 i j Typiquement, s1 = 1: le premier élément d’une suite de portes est de dimension minimale. GELE5340 – Gabriel Cormier, Université de Moncton 52 Méthode de l’effort logique • La procédure générale est la suivante: 1. 2. 3. 4. 5. 6. Calculer l’effort logique G du parcours. Calculer les efforts de branchement (b), et l’effort de branchement du parcours (B). Calculer la sortance effective du parcours (F). Déterminer l’effort de chaque étage (h). Calculer la sortance (f) de chaque étage. Calculer la dimension (s) de chaque étage. GELE5340 – Gabriel Cormier, Université de Moncton 53 Exemple 1 a b c CL = 5 Dimensionner les portes pour minimiser le délai. Selon les tableaux: g1 = 1; g2 = 5/3; g3 = 5/3; g4 = 1 5 5 25 G 1 1 3 3 9 Branchement: il n’y a pas de branchement, donc b1 = b2 = b3 = b4 = 1 B=1 F = 5/1 = 5 GELE5340 – Gabriel Cormier, Université de Moncton 54 Exemple 1 a b c CL = 5 Dimensionner les portes pour minimiser le délai. H = GFB = (5)(25/9) = 125/9 = 13.9 h 4 H 1.93 f1 h h 1.16 1.93 f 2 g2 g1 f3 h 1.16 g3 GELE5340 – Gabriel Cormier, Université de Moncton f4 h 1.93 g4 55 Exemple 1 a b c CL = 5 Dimensionner les portes pour minimiser le délai. On calcule les dimensions: f1 g1 f1 f 2 g1 a 1.16 b 1.34 g2 g3 f1 f 2 f 3 g1 c 2.60 g4 GELE5340 – Gabriel Cormier, Université de Moncton 56 Logique proportionnée Logique proportionnée • Autre méthode pour réaliser des fonctions logiques. • But: réduire le nombre de transistors utilisés par rapport au CMOS complémentaire. ○ Implique une réduction dans la performance du circuit. • Les trois techniques de logique proportionnée remplacent le circuit PUN par une charge. GELE5340 – Gabriel Cormier, Université de Moncton 58 Logique proportionnée VDD VDD Charge NMOS VT < 0 InN PDN a) Charge résistive F In1 In2 InN … In1 In2 … F Charge PMOS PDN b) Charge NMOS GELE5340 – Gabriel Cormier, Université de Moncton F In1 In2 InN … Charge résistive VDD PDN c) Pseudo-NMOS 59 Logique proportionnée Charge résistive Caractéristiques: VDD • N transistors nécessaires (pour N entrées) Charge résistive RL • VOH = VDD F InN • Réponse non-symétrique … In1 In2 • VOL RPDN VDD RPDN RL PDN • Consommation statique de puissance • tpLH = 0.69RLCL GELE5340 – Gabriel Cormier, Université de Moncton 60 Logique proportionnée Charges actives VDD VDD Charge NMOS VT < 0 Charge PMOS F InN PDN Charge NMOS In1 In2 InN … In1 In2 … F PDN Pseudo-NMOS GELE5340 – Gabriel Cormier, Université de Moncton 61 Pseudo-NMOS • Il faut N+1 transistors pour réaliser une fonction à N entrées, plutôt que 2N transistors. • La sortie haute VOH = VDD, puisque les NMOS sont OFF quand la sortie devient haute. • Cependant, la sortie basse VOL n’est pas 0V. • De plus, il y a consommation statique de puissance quand la sortie est basse. • La valeur de sortie dépend du rapport de dimension entre les NMOS et le PMOS: on appelle ça la logique proportionnée. GELE5340 – Gabriel Cormier, Université de Moncton 62 Pseudo-NMOS VDD VOH = VDD CL A B C D Pour calculer VOL, il faut que le courant dans le PMOS soit le même que dans les NMOS. Le PMOS devrait être plus petit que les NMOS. La puissance statique dissipée est P = VDDIlow où Ilow est le courant dans le PMOS quand la sortie est basse (« 0 » logique). GELE5340 – Gabriel Cormier, Université de Moncton 63 Inverseur pseudo-NMOS Effet de la taille du PMOS sur la courbe VTC de l’inverseur pseudo-NMOS. 3.0 2.5 W/Lp = 4 Vout (V) 2.0 1.5 W/Lp = 2 1.0 0.5 W/Lp = 0.5 W/Lp = 1 W/Lp = 0.25 0.0 0.0 0.5 1.0 1.5 2.0 2.5 Vin (V) GELE5340 – Gabriel Cormier, Université de Moncton 64 DCVSL • Une technique utilisée pour améliorer la performance du pseudo-NMOS est la technique du DCVSL (differential cascode voltage swing logic), la logique de commutation cascode différentielle. • On utilise deux réseaux PDN, le deuxième réseau étant le complément du premier (un seul réseau permet un chemin à GND). • On implémente alors la fonction logique voulue et son complément. • Ceci permet d’obtenir une variation à la sortie de GND à VDD. GELE5340 – Gabriel Cormier, Université de Moncton 65 DCVSL Exemple: VDD VDD M1 M2 F F InN PDN1 … … In1 In1 InN État initial: F = 1, F = 0. PDN2 Supposons que la combinaison d’entrées fait en sorte que PDN1 conduit (donc PDN2 ne conduit pas). PDN1 va commencer à faire descendre la tension F. Ceci allume M2, qui commence à faire monter la tension F. Lorsque F a monté haut assez, M1 devient OFF, et PDN1 peut décharger la charge jusqu’à GND. GELE5340 – Gabriel Cormier, Université de Moncton 66 DCVSL VDD VDD M1 F A B Tension [V] M2 F A 2.5 AB 1.5 0.5 AB A,B A, B B -0.5 0 0.2 GELE5340 – Gabriel Cormier, Université de Moncton 0.4 0.6 Time [ns] 0.8 1.0 67 Logique passante Logique passante • En logique passante, on utilise le transistor pour passer le signal d’une entrée à une sortie. • L’entrée n’est pas nécessairement à la grille du NMOS, mais peut être à la source ou au drain. • On utilise un NMOS parce qu’il est plus rapide qu’un PMOS. GELE5340 – Gabriel Cormier, Université de Moncton 69 Logique passante B Pour trouver la fonction logique de ce circuit, on procède cas-par-cas: A B F Si B = 0, le NMOS supérieur est OFF, et celui d’en bas est ON: la sortie F = 0. Si B = 1, le NMOS supérieur est ON et celui du bas est OFF: la sortie F = A. Porte AND À l’aide d’une table de vérité, on peut confirmer qu’il s’agit de la fonction AND. F A B GELE5340 – Gabriel Cormier, Université de Moncton 70 Logique passante: NMOS • Cependant, il y a un problème avec ce type de circuit. • Le nœud de sortie peut seulement se charger jusqu’à une valeur de VDD – VT: le NMOS devient OFF quand VGS < VT. • Il faudra donc faire attention pour ne pas brancher trop de transistors passants en série. GELE5340 – Gabriel Cormier, Université de Moncton 71 Logique passante: NMOS IN 3.0 VDD x Le nœud x peut seulement se charger jusqu’à une valeur de VDD – VT. OUT Tension [V] In Out 2.0 x 1.0 0.0 0 0.5 De plus, l’effet du substrat, qu’on ne peut ignorer ici, fait augmenter la tension seuil (et donc Vout est plus faible). GELE5340 – Gabriel Cormier, Université de Moncton 1 1.5 2 Temps [ns] 72 Porte de transmission • Une solution au problème du chargement du nœud de sortie du transistor passant est la porte de transmission. • On met un PMOS en parallèle avec le NMOS. Ce PMOS s’occupera de faire monter le nœud jusqu’à VDD après que le NMOS sera OFF. GELE5340 – Gabriel Cormier, Université de Moncton 73 Porte de transmission B A F B a) Circuit B A F B b) Symbole La porte de transmission fonctionne comme le transistor passant, sauf qu’il y a un PMOS pour faire monter la tension jusqu’à VDD. GELE5340 – Gabriel Cormier, Université de Moncton 74 Résistance d’une porte de transmission 30 Résistance, kW Rn 20 B Rp Rn A 10 F Rn || Rp Rp B 0 0.0 1.0 Vout , V 2.0 Remarque: la résistance d’une porte de transmission est pratiquement constante. GELE5340 – Gabriel Cormier, Université de Moncton 75 Porte de transmission: exemple S VDD A F A S B S S B S Multiplexeur 2x1 GELE5340 – Gabriel Cormier, Université de Moncton 76 Porte de transmission: exemple B B F A A Cette implémentation ne nécessite que 6 transistors (incluant l’inverseur pour inverser B); une implémentation en CMOS complémentaire nécessiterait 12 transistor. B B XOR GELE5340 – Gabriel Cormier, Université de Moncton 77 Porte de transmission: exemple A A Out B Cette implémentation nécessite 5 transistors (incluant l’inverseur pour inverser A); une implémentation en CMOS complémentaire nécessiterait 6 transistor. A OR GELE5340 – Gabriel Cormier, Université de Moncton 78 Logique dynamique Logique dynamique • Dans des circuits statiques, à chaque point dans le temps (sauf pendant la commutation) la sortie est branchée à GND ou VDD par un chemin de résistance faible. • Les circuits dynamiques fonctionnement en stockant temporairement la valeur des signaux sur la capacitance de noeuds à haute impédance. GELE5340 – Gabriel Cormier, Université de Moncton 80 Logique dynamique • Les circuits dynamiques utilisent le même réseau PDN que le CMOS complémentaire, mais aucun réseau PUN. • Dans les circuits dynamiques, on ajoute une horloge pour faire le contrôle du circuit. • Il faudra donc utiliser deux transistors supplémentaires, un PMOS et un NMOS. • Le fonctionnement du circuit se fait en deux phases: ○ Précharge ○ Évaluation GELE5340 – Gabriel Cormier, Université de Moncton 81 Porte dynamique VDD On opère en deux phases: Clk Mp Out InN CL … In1 In2 Clk PDN Me Précharge: Clk = 0. Pendant la précharge, le condensateur de sortie est chargé à VDD. Évaluation: Clk = 1. Pendant l’évaluation, si la combinaison d’entrées fait en sorte que la sortie doit être 0, le PDN va décharger le condensateur. Sinon, CL garde sa valeur de VDD. Note: on utilise souvent le symbole pour l’horloge. GELE5340 – Gabriel Cormier, Université de Moncton 82 Porte dynamique: exemple VDD Clk Mp on off Out 1 Out A B C Précharge: Clk = 0 Évaluation: Clk = 1 A C B Clk Me off on GELE5340 – Gabriel Cormier, Université de Moncton 83 Conditions à la sortie • Lorsque la sortie d’une porte dynamique est déchargée, elle ne peut pas être chargée à nouveau avant la prochaine opération. • Les entrées à la porte ne peuvent faire qu’au plus une transition pendant l’évaluation. • La sortie peut être dans l’état de haute impédance pendant et après l’évaluation (PDN off); l’état est stocké sur CL. GELE5340 – Gabriel Cormier, Université de Moncton 84 Propriétés des portes dynamiques • Fonction logique implantée par le PDN seulement: ○ Il y a N + 2 transistors (vs 2N en CMOS statique complémentaire) • Sortie à variation max (VOL = GND et VOH = VDD) • Logique non proportionnée – la dimension des transistors n’affecte pas les niveaux logiques. • Commutation plus rapide ○ ○ ○ Capacitance de charge réduite à cause d’une capacitance d’entrée plus faible (Cin) Capacitance de charge réduite à cause d’une capacitance de sortie plus faible (Cout) Pas de Isc, donc la totalité du courant du PDN décharge CL. GELE5340 – Gabriel Cormier, Université de Moncton 85 Propriétés des portes dynamiques • Dissipation totale de puissance habituellement plus élevée que le CMOS statique ○ ○ ○ ○ Pas de chemin direct entre VDD et GND (Psc) Pas d’erreurs Probabilité de transition plus élevée Charge supplémentaire sur CLK • PDN fonctionne aussitôt que les entrées dépassent VTn, donc VM, VIH et VIL = VTn ○ Marge de bruit faible (NML) • Nécessite une horloge pour précharge / évaluation GELE5340 – Gabriel Cormier, Université de Moncton 86 Désavantage #1: fuite de charge • Un premier problème rencontré avec l’utilisation de circuits dynamiques est la fuite de charge. • Des diodes parasites dans le circuit et les courants sous-seuil produisent un très faible courant qui, à la longue, va décharger le condensateur CL. • Il y a donc une fréquence minimale à laquelle le circuit peut opérer. GELE5340 – Gabriel Cormier, Université de Moncton 87 Désavantage #1: fuite de charge VDD CLK Clk Mp VOut CL A Évaluation VOut Clk Me Précharge Sources de fuites. Le courant sous-seuil est dominant. GELE5340 – Gabriel Cormier, Université de Moncton 88 Désavantage #1: fuite de charge SOLUTION: Clk VDD Rétablisseur de niveau. Mp Out CL A B Clk Le rétablisseur de niveau permet de maintenir le niveau logique « 1 » sur CL quand la sortie est 1. Me GELE5340 – Gabriel Cormier, Université de Moncton 89 Désavantage #2: partage de charges • Le partage de charges est un effet qui se produit plus rapidement que la fuite de charge: ○ La charge stockée sur CL se répartit entre les différentes capacitances parasites des NMOS, ce qui réduit la tension aux bornes de CL. • Une fois la charge répartie, la sortie est quand même susceptible à la fuite de charge, qui va réduire la tension à la sortie encore plus. GELE5340 – Gabriel Cormier, Université de Moncton 90 Désavantage #2: partage de charges VDD Clk La charge originalement stockée sur CL est répartie sur CL et Ca, ce qui réduit la tension à la sortie. Mp CL A Ca B=0 Clk Me Cb Il faut qu’il y ait conservation de charge: Qt CLVDD CLV f CaV f Il n’y a plus de redistribution de charge lorsque la tension est équilibrée. Vf GELE5340 – Gabriel Cormier, Université de Moncton CL VDD C L Ca 91 Désavantage #2: partage de charges VDD Clk A Mp CL Ma Ca B=0 Clk Cependant, si la tension Va (sur la capacitance Ca) devient trop élevée, le FET Ma devient OFF. Me Cb Dans ce cas-ci, l’effet du substrat ne peut être ignoré, ce qui augmente la tension seuil. La condition limite (juste quand Ma devient OFF) est: Ca Vtn CL VDD Vtn GELE5340 – Gabriel Cormier, Université de Moncton 92 Désavantage #2: partage de charges VDD Clk A Cas 1: Mp Vf CL a Cas 2: Ca B=0 Clk Ca Vtn CL VDD Vtn Me Cb MA = OFF CL Ca VDD CaVtn CL Ca Vtn CL VDD Vtn Vf CL VDD C L Ca GELE5340 – Gabriel Cormier, Université de Moncton 93 Désavantage #2: partage de charges • Solution: ○ Précharger les nœuds internes à VDD en utilisant un transistor alimenté par l’horloge. ○ Ceci rajoute beaucoup de connexions pour des fonctions complexes. La fonction logique est aussi plus lente pour générer un 0: il faut décharger plusieurs capacitances. GELE5340 – Gabriel Cormier, Université de Moncton 94 Désavantages • Il existe plusieurs autres désavantages des circuits dynamiques, dont le plus important est le couplage capacitif. • Le couplage capacitif permet à certains nœud de monter plus haut que la tension d’alimentation. Si la tension augmente trop, les diodes parasites qui sont normalement polarisées inverses peuvent commencer à conduire, et détruire le signal stocké. GELE5340 – Gabriel Cormier, Université de Moncton 95 Portes dynamiques en cascade • Autre que les effets de dégradation du signal, il y a un autre désavantage majeur aux circuits dynamiques: la difficulté de les mettre en cascade. • On verra qu’il faut s’assurer que les entrées soient tous 0 pendant la phase de précharge, et que seules les transitions 0 → 1 sont permises pendant la phase d’évaluation. GELE5340 – Gabriel Cormier, Université de Moncton 96 Portes dynamiques en cascade VDD Clk Mp VDD Clk V Clk Mp Out2 Out1 In In Out1 Clk Me Clk VTn Me Out2 V t Seules des transitions 0 → 1 sont permises aux entrées. GELE5340 – Gabriel Cormier, Université de Moncton 97 Logique domino • Pour s’assurer que les entrées à chaque PDN sont « 0 » pendant la phase de précharge, on ajoute un inverseur statique à la sortie de chaque porte dynamique. • On appelle ce nouveau type de circuit domino, puisque que l’entrée se propage vers la sortie en faisant décharger les sorties intermédiaires. GELE5340 – Gabriel Cormier, Université de Moncton 98 Logique domino VDD VDD Inverseur statique Clk Mp Clk Mp Out2 Out1 In1 In2 PDN In3 Clk In4 PDN In5 Me Clk Me Avec l’inverseur statique, on peut précharger chaque sortie à VDD, et s’assurer que chaque entrée est 0. GELE5340 – Gabriel Cormier, Université de Moncton 99 Logique domino • La phase évaluation doit avoir une période qui est assez longue pour permettre à tous les étages de se décharger. • Ceci affecte la fréquence maximale d’opération. • Les mêmes contraintes de fuite de charge et partage de charges s’appliquent à ce type de circuit. GELE5340 – Gabriel Cormier, Université de Moncton 100 Topologie des circuits Topologie des circuits • On explore ici différentes méthodes pour faire le design de la topologie des circuits. • L’expérience est le meilleur atout pour faire la topologie de fonctions complexes, mais une technique aide dans le design: ○ Méthode du parcours d’Euler • On verra aussi les techniques de cellules standards, qui permet de simplifier la construction de circuits complexes. GELE5340 – Gabriel Cormier, Université de Moncton 102 Schémas squelettisés • Les schémas squelettisés sont des diagrammes sans dimension de la topologie des circuits. • Ils permettent de rapidement faire un croquis de la topologie du circuit, sans tenir compte des petits détails de fabrication. • Ils permettent aussi d’identifier les transistors, les entrées et les sorties, et l’alimentation. GELE5340 – Gabriel Cormier, Université de Moncton 103 Schémas squelettisés: exemples VDD VDD Out Out In GND Inverseur GND A B NAND2 On essaie d’utiliser les même couleurs que dans l’éditeur de topologie. GELE5340 – Gabriel Cormier, Université de Moncton 104 Graphe logique • Le graphe logique est une représentation des parcours utilisés par les signaux. • Chaque nœud du graphe représente un nœud dans le circuit où deux (ou plus) transistors sont branchés ensemble, ou le lieu où il y a une connexion à VDD ou GND. • La courbe qui relie deux nœud représente un transistor. • On construit un graphe pour le PDN et un graphe pour le PUN. GELE5340 – Gabriel Cormier, Université de Moncton 105 Graphe logique VDD X B j C C A VDD X i X C A B A C j B i A B GELE5340 – Gabriel Cormier, Université de Moncton GND 106 Parcours d’Euler • Une fois le graphe logique construit, il faut définir un parcours qui permet de passer sur chaque courbe une seule fois et visiter chaque noeud. • Le parcours utilisé devient le parcours d’Euler, et permet de minimiser les connexions dans la création de la topologie du circuit. • Si on peut trouver un tel parcours, on aura besoin d’utiliser qu’une seule bande de diffusion pour les NMOS et les PMOS. GELE5340 – Gabriel Cormier, Université de Moncton 107 Parcours d’Euler X X C C VDD X X i A VDD i j B A GND j B GND Parcours d’Euler: A B C GELE5340 – Gabriel Cormier, Université de Moncton 108 Topologie du circuit • À l’aide du parcours d’Euler, on peut construire le diagramme de bâtons correspondant au circuit. • On commence en plaçant deux bande horizontales de métal 1, une pour VDD et une pour GND. • On ajoute ensuite (horizontalement) une bande de diffusion pour le PDN et une bande pour le PUN. • On place par après une bande verticale de polysilicone pour chaque entrée. • On finit le diagramme en faisant les connexions selon le parcours d’Euler. GELE5340 – Gabriel Cormier, Université de Moncton 109 Topologie du circuit X VDD C X VDD i A j B X GND A B C GND GELE5340 – Gabriel Cormier, Université de Moncton 110 Cellules standard • Dans la construction de cellules standard, les signaux (entrées / sorties) sont routées de façon perpendiculaire à l’alimentation et la mise à terre. • Généralement, le polysilicone est placé verticalement, et l’alimentation et GND sont placés horizontalement. • La hauteur des cellules est constante. C’est un point important; ça permet de facilement brancher plusieurs cellules ensemble pour réaliser des fonctions complexes. GELE5340 – Gabriel Cormier, Université de Moncton 111 Cellules standard: exemple VDD VDD A B Inverseur In NAND2 Out Out GND GELE5340 – Gabriel Cormier, Université de Moncton GND 112 Cellules standard: exemple VDD VDD Il est facile de brancher les deux cellules ensemble. Les deux alimentations sont automatiquement connectés. A In B Out Out GND Les deux mises à terre sont automatiquement connectés. Il suffit tout simplement d’ajouter un lien en métal 1 pour brancher les deux cellules. GND GELE5340 – Gabriel Cormier, Université de Moncton 113 Conclusion • On a vu comment construire des fonctions logiques de plusieurs façons: ○ ○ ○ ○ ○ ○ CMOS statique complémentaire Pseudo-NMOS Logique passante Portes de transmission CMOS dynamique CMOS domino • On a aussi vu comment dimensionner des circuits (méthode de l’effort logique), et comment faciliter la construction de la topologie. GELE5340 – Gabriel Cormier, Université de Moncton 114