GELE5340 Circuits ITGÉ (VLSI) Chapitre 7: Circuits arithmétiques
Contenu du chapitre On verra dans ce chapitres les éléments de base des circuits de traitement mathématique des microprocesseurs: Additionneurs Multiplicateurs Déphaseurs GELE5340 Gabriel Cormier, Université de Moncton 2
Organisation d un microprocesseur Le microprocesseur est composé de 4 composantes principales: Mémoire Bloc de contrôle Unité arithmétique Bloc entrée / sortie L unité arithmétique est la composante où les calculs mathématiques ont lieu. C est cette composante qui nous intéresse. GELE5340 Gabriel Cormier, Université de Moncton 3
Registre Additionneur Déphaseur Multiplicateur Unité arithmétique: organisation Contrôle Bit 3 Données (entrée) Bit 2 Bit 1 Bit 0 Données (sortie) Les opérations sont typiquement effectuées sur des groupes de bits en même temps, plutôt qu un seul bit à la fois. GELE5340 Gabriel Cormier, Université de Moncton 4
Unité arithmétique Dans la figure précédente, les opérations sont effectuées sur des blocs de 4 bits à la fois. Si on voudrait un microprocesseur à 24 bits, on utiliserait 6 blocs semblables. On a donc seulement besoin de faire le design d un bloc de 4 bits, et les 5 autres blocs sont des copies. GELE5340 Gabriel Cormier, Université de Moncton 5
L additionneur
Additionneurs L addition est l opération la plus commune. C est aussi l opération la plus lente, typiquement, et donc il faut bien optimiser le design de l additionneur. Comme dans les circuits vus auparavant, il y a deux méthodes pour optimiser la performance: Optimisation au niveau logique: On réarrange les équations pour obtenir un circuit plus petit ou plus rapide. Optimisation au niveau électronique: On redimensionne ou repositionne les transistors pour obtenir un circuit plus rapide. GELE5340 Gabriel Cormier, Université de Moncton 7
L additionneur complet à 1 bit C i A B C i C o S Report A B Additionneur 1 bit S 0 0 0 0 0 delete 0 0 1 0 1 delete 0 1 0 0 1 propagate 0 1 1 1 0 propagate 1 0 0 0 1 propagate C o 1 0 1 1 0 propagate 1 1 0 1 0 generate 1 1 1 1 1 generate A et B sont les entrées. C i est le report (carry) d entrée. S est la somme. C o est le report de sortie. La somme dépend de A et B (évidemment) et aussi du report d entrée. S A B C in C o A B BC i AC i GELE5340 Gabriel Cormier, Université de Moncton 8
L additionneur complet à 1 bit C i A B C i C o S Report A B Additionneur 1 bit S 0 0 0 0 0 delete 0 0 1 0 1 delete 0 1 0 0 1 propagate 0 1 1 1 0 propagate 1 0 0 0 1 propagate S A C o B C in 1 0 1 1 0 propagate 1 1 0 1 0 generate 1 1 1 1 1 generate C o A B BC i AC Le report fonctionne selon les 3 équations suivantes, indépendantes de C i : i D A B P A B G A B Delete: C 0 = 0. Propagate: C 0 = C in. Generate: C 0 = 1. GELE5340 Gabriel Cormier, Université de Moncton 9
L additionneur complet à 1 bit C i Les équations du circuit : A B Additionneur 1 bit S S A B C o A B C in BC i AC i C o On peut réécrire en fonction des 3 équations de report: S P C o G i C in PC i GELE5340 Gabriel Cormier, Université de Moncton 10
Réalisation d un additionneur Il existe plusieurs méthodes pour implanter un additionneur à plusieurs bits. Additionneur à propagation de report Additionneur statique (CMOS complémentaire) Additionneur miroir Additionneur à base de portes de transmission Chaîne de report Manchester Additionneur à dérivation de report Additionneur à sélection de report Linéaire Racine carrée GELE5340 Gabriel Cormier, Université de Moncton 11
L additionneur à report propagé L additionneur à report propagé (carry-ripple) est le type d additionneur de base. On construit un additionneur à report propagé à N bits en mettant en cascade N additionneurs complets. Dans ce cas-ci, le report d entrée du premier bit doit se propager jusqu à la sortie pour obtenir la valeur correcte de la somme. GELE5340 Gabriel Cormier, Université de Moncton 12
L additionneur à report propagé A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 C i,0 t report FA t sum C o,0 (C i,1 ) FA C o,1 (C i,2 ) FA C o,2 (C i,3 ) FA C o,3 S 0 S 1 S 2 S 3 Le pire délai est fonction du nombre de bits. t d ( N 1) t report t sum Où t report = délai pour que le report d entrée se propage au report de sortie, et t sum = délai pour que le report se propage à la somme. L objectif est donc de rendre la génération du report le plus rapide possible. GELE5340 Gabriel Cormier, Université de Moncton 13
L additionneur à report propagé Selon l équation du pire délai: On peut conclure que: t d ( N 1) t report t sum Le délai de propagation dans cette configuration est linéaire par rapport au nombre de bits. Ceci est important lorsqu on design des circuits à plusieurs bits (N = 32, 64, 128, ) Pour améliorer la vitesse, il est plus important d optimiser t report que t sum. GELE5340 Gabriel Cormier, Université de Moncton 14
Additionneur RP: CMOS complémentaire V DD V DD V DD A B C i A B B C o A A C i B V DD C i C i A S A B B C i A B C i A 28 transistors B GELE5340 Gabriel Cormier, Université de Moncton 15
Additionneur RP: CMOS complémentaire L additionneur précédent, en plus d être gros, est lent: Il y a des PMOS en série (les PMOS ont environ 2.5x la résistance d un NMOS) dans le calcul de C o et S. La capacitance d entrée de C i est grande (6 capacitances de grille et 2 capacitances de drain). Cependant, quelques astuces sont présentes: C i est placé le plus près possible de la sortie; c est un chemin critique. Effort logique de C i = 2 (dans le parcours pour générer C o ). GELE5340 Gabriel Cormier, Université de Moncton 16
GELE5340 Gabriel Cormier, Université de Moncton 17 Propriété: inversion FA A B C i S C o On peut prendre avantage de la propriété d inversion de l additionneur pour réduire le nombre d inverseurs dans le circuit. FA A B C i S C o ),, ( ),, ( ),, ( ),, ( i o i o i i C B A C C B A C C B A S C B A S
Propriété: inversion Cellule paire Cellule impaire A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 C i FA C o,0 FA C o,1 FA C o,2 FA C o,3 S 0 S 1 S 2 S 3 On utilise la propriété d inversion pour réduire le nombre d inverseurs dans la chaîne de report. FA indique un additionneur complet sans l inverseur dans le circuit de génération du report. GELE5340 Gabriel Cormier, Université de Moncton 18
Additionneur miroir L additionneur miroir est basé sur les équations de S et C o en fonction de P et G. L additionneur miroir permet de réduire le nombre de transistors utilisés. GELE5340 Gabriel Cormier, Université de Moncton 19
Additionneur miroir V DD V DD V DD A A B B A B C i B C i A A C o C i C i S A B B A B C i B A 24 transistors GELE5340 Gabriel Cormier, Université de Moncton 20
Additionneur miroir Avantages: Il faut seulement 24 transistors (plutôt que 28). Un maximum de 2 transistors sont en série dans le circuit pour générer C o. Les transistors branchés à C i sont placés le plus près de la sortie. Seuls les transistors du circuit pour générer C o ont besoin d être dimensionnés pour la vitesse. Les autres peuvent être de dimension minimale. GELE5340 Gabriel Cormier, Université de Moncton 21
Additionneur: portes de transmission On peut faire un additionneur complet avec des portes de transmission. Dans ce cas-ci, on utilise les équations de G et P pour obtenir les circuits. Les circuits internes de l additionneur sont des portes XOR et des multiplexeurs. GELE5340 Gabriel Cormier, Université de Moncton 22
Additionneur: portes de transmission P V DD A C i V DD A A P C i P S B A B P V DD V DD P A P C o C i C i A Setup C i P 24 transistors GELE5340 Gabriel Cormier, Université de Moncton 23
Chaîne de report Manchester On peut simplifier le circuit précédent de génération du report si on utilise les signaux generate et delete. L implantation peut se faire de deux méthodes: Statique, avec des portes de transmission Dynamique GELE5340 Gabriel Cormier, Université de Moncton 24
Chaîne de report Manchester V DD V DD P i P i G i C i C o C i C o D i G i P i a) Implantation statique b) Implantation dynamique GELE5340 Gabriel Cormier, Université de Moncton 25
Chaîne de report Manchester V DD P 0 P 1 P 2 P 3 C i,0 G 0 G 1 G 2 G 3 C o,0 C o,1 C o,2 C o,3 Implantation dynamique d une section à 4bits d une chaîne de report Manchester. GELE5340 Gabriel Cormier, Université de Moncton 26
Délai: chaîne de report Manchester Le délai d une chaîne de report Manchester peut être évalué avec le délai Elmore: N( N 1) t p 0.69 2 RC si tous les transistors ont la même dimension. Il y a donc une relation quadratique avec le nombre d étages. GELE5340 Gabriel Cormier, Université de Moncton 27
Additionneurs: considérations logiques On cherche maintenant à optimiser la vitesse des additionneurs en manipulant les équations logiques. Les additionneurs à propagation de report fonctionnent bien pour des microprocesseurs à peu de bits, mais pour des applications à beaucoup de bits (ex: 64bits dans les serveurs, 128bits dans le PlayStation3), ils sont trop lents. GELE5340 Gabriel Cormier, Université de Moncton 28
Additionneur à dérivation de report L additionneur à dérivation de report (carrybypass) se sert des équations de P et G pour accélérer l additionneur. Rappel: C o G i PC i On cherche à savoir si on a besoin du C i, ou sinon, on n a pas besoin d attendre et on peut continuer les calculs. GELE5340 Gabriel Cormier, Université de Moncton 29
Additionneur à dérivation de report P 0 G 0 P 1 G 1 P 2 G 2 P 3 G 3 C i,0 FA C o,0 C o,1 C o,2 C o,3 FA FA FA Le seul cas où C i,0 se propage à la sortie est quand tous les P (P 0, P 1, P 2, P 3 ) sont 1. Pour chaque bit, si P = 0, alors C o = G. C o G i PC i GELE5340 Gabriel Cormier, Université de Moncton 30
Additionneur à dérivation de report P 0 G 0 P 1 G 1 P 2 G 2 P 3 G 3 BP C i,0 FA C o,0 C o,1 C o,2 FA FA FA mux C o,3 BP P PP 0 1 2P3 Fonctionnement: Si BP = 1, alors C o,3 = C i,0. Il faut attendre pour C i,0 pour avoir la valeur de C o,3. Si BP = 0, alors C o,3 ne dépend pas de C i,0. On n a donc pas besoin d attendre C i,0 pour obtenir C o,3. GELE5340 Gabriel Cormier, Université de Moncton 31
Délai: additionneur DR Bit 0 3 Bit 4 7 Bit 8 11 Bit 12 15 Setup t setup Setup Setup Setup t bypass Prop. carry Prop. carry Prop. carry Prop. carry Somme Somme Somme t sum Somme M bits Pire délai: t p N tsetup Mtcarry 1tbypass ( M 1) t M carry t sum GELE5340 Gabriel Cormier, Université de Moncton 32
Délai: additionneur DR Pour des additionneurs à plus de 8 bits, l additionneur à dérivation de report est plus rapide. Cependant, la dépendance du délai sur le nombre de bits est quand même linéaire. t p Additionneur PR Additionneur DR 4 8 N L additionneur à dérivation de report occupe cependant un peu plus de superficie (10% - 20%) que l additionneur à propagation de report. GELE5340 Gabriel Cormier, Université de Moncton 33
Additionneur à sélection de report Dans l additionneur à propagation de report, il faut attendre le calcul du report de l étape précédente avant de faire le calcul du report de sortie. On peut accélérer le processus en faisant le calcul pour les deux valeurs possibles du report d entrée (0 ou 1) et en choisissant la bonne valeur lorsque le report d entrée arrive. On calcul donc deux valeurs de C o, une pour C i = 0 et l autre pour C i = 1. Un multiplexeur choisi la valeur correcte, selon la valeur réelle de C i. GELE5340 Gabriel Cormier, Université de Moncton 34
Additionneur à sélection de report k bits Setup C i,0 P, G Calcul pour C i = 0 Calcul pour C i = 1 Multiplexeur C o,k-1 Au lieu d attendre pour C i, on calcul les 2 valeurs possibles. Lorsque la valeur de C i,0 est disponible, on choisit la bonne valeur. La somme est calculée par après avec la bonne valeur de C o. Somme GELE5340 Gabriel Cormier, Université de Moncton 35
Additionneur à sélection de report Bit 0 3 Bit 4 7 Bit 8 11 Bit 12 15 Setup Setup Setup Setup 0: Report 0: Report 0: Report 0: Report 1: Report 1: Report 1: Report 1: Report C i,0 Mux Mux Mux Mux C o,15 Somme Somme Somme Somme S 0-3 S 4-7 S 8-11 S 12-15 Pire délai: t add t setup Mt carry N M t mux t sum GELE5340 Gabriel Cormier, Université de Moncton 36
Sélection de report: délai Bit 0 3 Bit 4 7 Bit 8 11 Bit 12 15 Setup Setup Setup Setup (1) 0: Report 0: Report 0: Report 0: Report (1) 1: Report 1: Report 1: Report 1: Report (5) (5) (5) (5) (5) C i,0 Mux Mux Mux Mux C o,15 (6) (7) (8) (9) Somme Somme Somme Somme S 0-3 S 4-7 S 8-11 S 12-15 (10) Délai: il y a un écart significatif entre les temps d arrivée au dernier mux. GELE5340 Gabriel Cormier, Université de Moncton 37
Sélection de report: délai Pour réduire cet écart entre les temps d arrivée, on essaie d égaliser les délais entre les chemins. On réalise ceci en ajoutant de plus en plus de bits aux étages supérieurs. Ex: le premier étage peut ajouter 2 bits, le 2e étage 3 bits, le 3e étage 4bits, etc La dépendance est maintenant sous-linéaire. GELE5340 Gabriel Cormier, Université de Moncton 38
Sélection de report: racine carrée Bit 0 1 Bit 2 4 Bit 5 8 Bit 9 13 Bit 14 19 Setup Setup Setup Setup Setup (1) 0: Report 0: Report 0: Report 0: Report 0: Report (1) C i,0 1: Report 1: Report 1: Report 1: Report (3) (3) (4) (5) (6) Mux Mux Mux Mux (4) (5) (6) (7) 1: Report (7) Mux (8) Somme Somme Somme Somme Somme S 0-1 S 2-4 S 5-8 S 9-13 (8) S 14-19 (9) Dans ce cas-ci, les bits arrivent tous aux multiplexeurs en même temps. GELE5340 Gabriel Cormier, Université de Moncton 39
Sélection de report: racine carrée Pour calculer le délai, on suppose: N est le nombre total de bits M est le nombre de bits du premier étage P est le nombre d étages N M ( M 1) ( M 2) ( M 3) ( M P 1) MP P( P 1) 2 P 2 2 PM 1 2 Si M << N, on peut simplifier à: 2 N P / 2 ou P 2N GELE5340 Gabriel Cormier, Université de Moncton 40
Sélection de report: racine carrée Le délai de l additionneur à sélection de report peut donc être exprimé par l équation suivante: t add t Mt 2 setup carry N tmux tsum On voit bien la dépendance «racine carrée» du délai sur le nombre de bits. GELE5340 Gabriel Cormier, Université de Moncton 41
Délai Additionneurs: comparaison 50 40 Additionneur PR 30 20 Additionneur SR linéaire 10 0 0 20 40 N Additionneur SR racine carrée 60 GELE5340 Gabriel Cormier, Université de Moncton 42
Multiplicateurs
Multiplicateurs La multiplication est un processus lent. La performance de plusieurs problèmes est souvent limitée par la multiplication. La multiplication est, en fait, une série d additions. Les analyses des additionneurs sont en grande partie applicables aux multiplicateurs. On verra un peu comment la multiplication est effectuée, et comment optimiser les circuits. GELE5340 Gabriel Cormier, Université de Moncton 44
GELE5340 Gabriel Cormier, Université de Moncton 45 Multiplication binaire Soit deux chiffres binaires, X et Y: 1 0 2 M i i X i X 1 0 2 N j j Y j Y La multiplication des deux chiffres donne: 1 0 1 0 1 0 1 0 1 0 2 2 2 2 M i N j j i j i N j j j M i i i N M k k k X Y Y X Z Y X Z
Multiplication binaire La méthode la plus simple de faire une multiplication binaire est de faire une série d additions. Pour des entrées de M bits et N bits, la multiplication prend M cycles en utilisant un additionneur à N bits. On additionne M produits partiels. La multiplication est essentiellement une série d opérations AND. GELE5340 Gabriel Cormier, Université de Moncton 46
Multiplication binaire N bits 1 0 1 0 1 0 Multiplicande M bits x 1 0 1 1 Multiplicateur 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 Produits partiels 1 0 1 0 1 0 1 1 1 0 0 1 1 1 0 Résultat On a M additions de N bits. Le résultat a (M + N 1) bits. GELE5340 Gabriel Cormier, Université de Moncton 47
Produits partiels La multiplication de deux chiffres est équivalent à l opération AND. A B A B 0 0 0 0 1 0 1 0 0 1 1 1 Pour créer les produits partiels, on a besoin que de portes AND. a b a b GELE5340 Gabriel Cormier, Université de Moncton 48
Produits partiels Ex: multiplication à 4 bits: X Y X 3 X 2 X 1 X 0 Y i PP 3 PP 2 PP 1 PP 0 On doit répéter ce processus 4 fois (pour chaque valeur de Y). GELE5340 Gabriel Cormier, Université de Moncton 49
Multiplicateur matriciel Le multiplicateur matriciel est le multiplicateur de base. C est une implantation directe de la multiplication manuelle (voir diapo #47). On a N M portes AND. Pour additionner les produits partiels, il faut N 1 additionneurs de M bits. GELE5340 Gabriel Cormier, Université de Moncton 50
Multiplicateur matriciel Ex: multiplicateur 4 bits Z = X Y X 3 X 3 X 2 X 1 X 2 X 1 X 0 X 0 Y 0 Y 1 Z 0 X 3 HA FA FA HA X 2 X X 0 1 Y 2 Z 1 X 3 FA FA FA HA X X 0 2 X 1 Y 3 Z 2 FA FA FA HA Z 7 Z 6 Z 5 Z 4 Z 3 Rappel: FA: Full adder, (3 entrées) HA: Half-adder, (2 entrées) GELE5340 Gabriel Cormier, Université de Moncton 51
Multiplicateur matriciel: chemin critique Il y a plusieurs chemins critiques. Note: les portes AND ne sont pas montrées. HA FA FA HA FA FA FA HA FA FA FA HA Chemin critique 1 Chemin critique 2 GELE5340 Gabriel Cormier, Université de Moncton 52
Multiplicateur matriciel: chemin critique Il existe plusieurs chemins de même délai dans ce multiplicateur. En observant les chemins critiques de la figure précédente, on peut approximer le délai de ce multiplicateur par l équation suivante: t mult M 1 N 2 tcarry N tsum tand 1 GELE5340 Gabriel Cormier, Université de Moncton 53
Multiplicateur à sauvegarde de report Parce qu il y a plusieurs chemins critiques dans le multiplicateur matriciel, il y aura peu d amélioration à la performance si on dimensionne les transistors. Cependant, on peut réorganiser le multiplicateur lorsqu on remarque que le résultat de la multiplication ne change pas si le report est passé de façon diagonale à l étage suivant. Cependant, on doit ajouter un nouvel étage d addition. GELE5340 Gabriel Cormier, Université de Moncton 54
Multiplicateur à sauvegarde de report Ex: multiplicateur 4 4 HA HA HA HA HA FA FA FA HA FA FA FA Chemin critique HA FA FA HA Additionneur de fusionnement Il y a un seul chemin critique, facilement identifiable. GELE5340 Gabriel Cormier, Université de Moncton 55
Multiplicateur à sauvegarde de report Dans ce cas-ci, le chemin critique est facilement identifiable et on peut donc écrire une équation pour le délai: t mult t 1 and N tcarry tmerge Le délai t merge représente le délai dans le bloc de fusionnement. Il s agit d un additionneur à propagation de report, et donc les techniques vues auparavant pour accélérer ce genre d additionneur sont applicables. GELE5340 Gabriel Cormier, Université de Moncton 56
Multiplicateur: topologie X 0 X 1 X 2 X 3 Y 0 Y 1 C S C S C S C S Z 0 HA FA Y 2 C S C S C S C S Cellule de fusionnement Y 3 C S C S C S C S Z 1 Z 2 Les signaux X et Y se propagent à travers la structure. Z 7 C C C C S S S S Z 6 Z 5 Z 4 Z 3 Noter la régularité de la structure. Ceci rend l automation possible. GELE5340 Gabriel Cormier, Université de Moncton 57
Multiplicateur Wallace-Tree On peut réarranger les produits partiels de sorte qu ils forment un arbre. Cette structure peut ensuite être utilisée pour réduire le nombre de produits partiels. On appelle ce type de multiplicateur le Wallace-Tree Mulitiplier. GELE5340 Gabriel Cormier, Université de Moncton 58
Multiplicateur Wallace-Tree Produits partiels 6 5 4 3 2 1 0 Position du bit On modifie pour faire un arbre 6 5 4 3 2 1 0 HA 6 5 4 3 2 1 0 6 5 4 3 2 1 0 FA Résultat final GELE5340 Gabriel Cormier, Université de Moncton 59
Multiplicateur Wallace-Tree Comment fonctionne cette réduction? 6 5 4 3 2 1 0 6 5 4 3 2 1 0 HA Un HA prend deux bits comme entrées, et produit 2 bits de sortie: le premier à la même position (la somme), et le second dans la position d après (report). Le FA prend trois bits comme entrées, et produits 2 bits de sortie de la même façon que le HA. i+1 i i+1 i i+1 i i+1 i FA GELE5340 Gabriel Cormier, Université de Moncton 60
Multiplicateur Wallace-Tree Ex: multiplicateur 4 4 Produits partiels x 3 y 3 x 3 y 2 x 2 y 3 x 2 y 2 x 3 y 1 x 1 y 2 x 3 y 0 x 1 y 1 x 2 y 0 x 0 y 1 x 1 y 3 x 0 y 3 x 2 y 1 x 0 y 2 x 1 y 0 x 0 y 0 Premier étage HA HA Deuxième étage FA FA FA HA Additionneur final z 7 z 6 z 5 z 4 z 3 z 2 z 1 z 0 GELE5340 Gabriel Cormier, Université de Moncton 61
Multiplicateur Wallace-Tree Si on compare avec le multiplicateur à sauvegarde de report: Sauvegarde de report: 6 HA, 6 FA, 1 additionneur Wallace-Tree: 3 HA, 3 FA, 1 additionneur L additionneur final est un simple additionneur. On peut utiliser n importe quel type d additionneur, mais l additionneur à dérivation est un choix populaire. Cependant, la topologie du multiplicateur Wallace- Tree est très irrégulière, et rend son implantation pratique plus difficile. GELE5340 Gabriel Cormier, Université de Moncton 62
Multiplicateurs: sommaire Buts différents de l additionneur Dans certaines structures, délai carry = délai somme Analyse plus difficile: chemins critiques multiples D autre techniques possibles Encodage de Booth (très populaire) Pipelining Exemple de performance: Multiplicateur 54 bits 54 bits, délai: 1.58ns, 0.18m GELE5340 Gabriel Cormier, Université de Moncton 63
Déphaseur
Déphaseur L opération de déphasage («shift») est une autre composante importante d une unité arithmétique. On s en sert dans les unités à virgule flottante («floating-point unit»), ou la multiplication par une constante. L implantation d un déphaseur qui déphase d un montant constant est facile, mais un déphaseur programmable est plus complexe. À la base, un déphaseur est un multiplexeur complexe. GELE5340 Gabriel Cormier, Université de Moncton 65
Déphaseur binaire Droite Nop Gauche Ce déphaseur permet de déphaser un bit d une position (droite ou gauche). A i A i+1 B i B i-1 Selon le signal de contrôle, le bit est déphasé vers la droite, vers la gauche, ou pas du tout. GELE5340 Gabriel Cormier, Université de Moncton 66
Déphaseur binaire drt nop gch A i B i A i A i-1 drt nop gch B i B i-1 A 1 A 0 0 1 0 A 1 A 0 A 1 A 0 1 0 0 0 A 1 A 1 A 0 0 0 1 A 0 0 A i+1 B i-1 GELE5340 Gabriel Cormier, Université de Moncton 67
Déphaseur binaire Le déphaseur binaire est simple d opération, mais il ne permet de déphaser que d un seul bit. Pour construire des déphaseurs multi-bit, on peut mettre plusieurs déphaseurs binaires en cascade. Cependant, ceci implique que le circuit devient rapidement complexe, et aussi très lent pour être utile. On doit donc avoir des circuits plus structurés: Déphaseur barrel Déphaseur logarithmique GELE5340 Gabriel Cormier, Université de Moncton 68
Déphaseur barrel A 3 B 3 Sh 3 A 2 B 2 Sh 2 A 1 B 1 Sh 1 A 0 B 0 Sh 0 Sh 1 Sh 2 Sh 3 Données Contrôle GELE5340 Gabriel Cormier, Université de Moncton 69
Déphaseur barrel A 3 B 3 Exemples: Sh0 = 1 B 3 B 2 B 1 B 0 = A 3 A 2 A 1 A 0 A 2 Sh 3 B 2 Sh2 = 1 B 3 B 2 B 1 B 0 = A 3 A 3 A 3 A 2 Sh 2 A 1 B 1 Sh 1 A 0 B 0 Sh 0 Sh 1 Sh 2 Sh 3 GELE5340 Gabriel Cormier, Université de Moncton 70
Déphaseur barrel A 3 A 2 A 1 A 0 Sh0 Sh1 Sh2 Sh3 Exemple de topologie: déphaseur 4x4 Buffer GELE5340 Gabriel Cormier, Université de Moncton 71
Déphaseur barrel La topologie du déphaseur barrel n est pas dominée par les transistors, mais plutôt par les fils. La densité de la topologie est limitée par la distance minimale entre les fils. Le déphaseur barrel est relativement rapide, puisque les signaux ont seulement besoin de passer à travers un seul transistor passant. GELE5340 Gabriel Cormier, Université de Moncton 72
Déphaseur logarithmique Le déphaseur logarithmique utilise des étages pour réaliser le déphasage. La valeur totale du déphasage est répartie sur des signaux ayant une puissance de 2. Pour un déphasage maximum de M 1, il faut log 2 M étages. Ex: pour un déphaseur de 7 bits, il faut 3 étages. On aurait donc 3 signaux de contrôle. GELE5340 Gabriel Cormier, Université de Moncton 73
Déphaseur logarithmique Sh 1 Sh 1 Sh 2 Sh 2 Sh 4 Sh 4 A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 GELE5340 Gabriel Cormier, Université de Moncton 74
Déphaseur logarithmique: exemple Sh 1 Sh 1 Sh 2 Sh 2 Sh 4 Sh 4 Sh 1 = 1 Sh 2 = 1 Déphasage = 3 A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 GELE5340 Gabriel Cormier, Université de Moncton 75
Déphaseur logarithmique A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 Déphaseur 0 7 bits. GELE5340 Gabriel Cormier, Université de Moncton 76
Déphaseur logarithmique La vitesse du déphaseur logarithmique dépend de la quantité de déphasage; plus on déphase, plus c est lent. Le déphaseur barrel est meilleur pour de petits déphasages, tandis que le déphaseur logarithmique est meilleur pour de grand déphasages (il est meilleur en termes de superficie et de vitesse). GELE5340 Gabriel Cormier, Université de Moncton 77
Conclusion On a vu les circuits pour réaliser les opérations mathématiques de base: Addition: il existe plusieurs types de circuits pour implanter des additionneurs. Multiplication: la multiplication est une série d additions. Déphasage. GELE5340 Gabriel Cormier, Université de Moncton 78